به امید خدا اولین مجموعه فیلم آموزشی برای برد پازج را همانطور که قول داده بودیم شروع خواهیم کرد. در این مجموعه تصمیم گرفتیم به آموزش طراحی Embedded System با FPGA بپردازیم.
بیشتر ما کار با سیستمهایEmbedded را با میکروکنترلر شروع کردیم و با استفاده از آنها پروژههای زیادی را انجام دادیم ولی همیشه این موضوع ناراحتمون میکنه که چرا برای یک پروژه خاص هیچوقت میکروکنترلری پیدا نمیشه که همهی نیازهای ما را برطرف کنه.
معمولا میکروها رابطها و اینترفیسهای خیلی زیادی دارند ولی در بیشتر پروژهها از همه اونها استفاده نمیشه. حتما تا حالا به این مشکل برخورد داشتید که اون رابط سختافزاری که ما برای پروژه لازم داریم داخل چیپ میکروکنترلر پیدا نمیشه و از اون بخشهای سختافزاری که ما نمیخواهیم خیلی زیاده. مثلا پیش میاد تعداد زیادی از یک رابط مثل UART نیازه ولی هیچ میکرویی پیدا نمیشه که این تعداد را برای ما فراهم کنه و اگر هم پیدا بشه در کنار شمار زیادی از قابلیتها است که اصلا نیازی به اونها نیست.
در بعضی پروژهها هم پیش میاد که نیازه پردازش سنگینی توسط میکرو انجام بشه ولی متوجه میشویم که میکروی مورد استفاده ما توان آن را نداره و اگر هم بتونه انجام بده زمانی برای انجام سایر وظایفش نمیمونه. در این موارد مجبوریم یک میکرو اضافه کنیم تا این فعالیت را انجام بده و یا یک تراشه مخصوص اون پردازش کنار میکرو اصلی ما باشه و یا در بعضی موارد مجبوریم از PC استفاده کنیم. کلا در این نوع پروژهها درگیر راهاندازی تراشههای مختلف، راههای ارتباط بین بخشهای مختلف، طراحی برد و خیلی مشکلات دیگر میشویم.
خلاصه زیاد نمیخوام طرفدارهای میکروکنترلرها را به چالش بکشم. و باید این نکته را هم بگم که میکروها برای کاربردهای عمومی ابزارهای بسیار عالی و مفیدی هستند ولی متاسفانه برای کاربردهای خاص نمیشه سراغشون رفت. همانطور که میدونید FPGAها مخصوص طراحیها و کاربردهای خاص ساخته شدهاند ولی بعضی مواقع اونقدر خوب هستند که حتی برای پروژههای معمولی هم از آنها استفاده بشه. طراحی سیستم Embedded با استفاده از FPGA مزیتهای زیادی به همراه دارد. یک سیستم Embedded شامل بخشهای زیادی از جمله پردازنده، حافظه و رابطهای مختلف برای ارتباط با بیرون است. با استفاده از FPGA نهایت سفارشیسازی در بخشهای مختلف یک سیستم Embedded را میتوانیم داشته باشیم.
امید به خدا در مجموعه هدفمون بیان قابلیتهای FPGA در طراحی سیستم Embedded است تا علاقهمندان این حوزه بتوانند با استفاده از این آموزشها خیلی راحتتر و سریعتر گام در مسیر طراحی بردارند.
سعی میکنیم در این مجموعه فیلم آموزشی این سرفصلها پوشش داده شود.
- معرفی و شروع کار با پردازنده میکروبلیز
- راهاندازی رابطها و حافظههای مختلف با استفاده از پردازنده میکروبلیز مثل:
- UART
- GPIO
- SPI
- I2C
- …
- راهاندازی سیستم عامل بلادرنگ مثل FreeRTOS ویا Xikernel روی پردازنده میکروبلیز
- طراحی هسته شتابدهنده سختافزاری خاص برای پردازنده میکروبلیز
- …
امیدواریم با نظرات و پیشنهادات شما عزیزان بتوانیم این مسیر را هرچه بهتر طی کنیم.