در این مقاله، قصد دارم شما را با این اشتباه رایج آشنا کنم و خصوصیات یک برد آموزشی FPGA مناسب برای یادگیری را برای شما تشریح کنم تا مثل بسیاری از افراد از جمله خود من، هزینه اضافی برای این کار هدر ندهید.
اشتباه رایج در خرید برد آموزشی FPGA
وقتی اسم برد آموزشی FPGA به میان میآید، ممکن است به یاد بردهای گرانقیمتی بیفتید که احتمالا به دلیل همین گرانی، همیشه از خرید آن صرفنظر کردهاید. اما واقعیت چیز دیگری است…
بسیاری از علاقمندان به یادگیری عملی FPGA قبلا با میکروکنترلرها و بردهای آموزشی آنها تجربهای هرچند کم داشتهاند. احتمالا شما هم با این بردها کار کردهاید. یکی از مسایل مهم در کار با میکروکنترلرها، انجام اینترفیسهای مختلف با قطعات جانبی است.
مثلا ممکن است شما بخواهید تمرین اتصال یک LCD به میکروکنترلر را انجام دهید. بنابراین، باید روی برد آموزشی که استفاده میکنید، حتما یک LCD وجود داشته باشد. پیادهسازی انواع پروتکلهای ارتباطی مثل RS232، LAN، USB و … از جمله موارد دیگری است که قابلیت انجام تمرین عملی با آنها معمولا جزء ملزومات یک برد آموزشی برای میکروکنترلرها است.
در بسیاری از بردهای آموزشی FPGA، همین امکانات در کنار قابلیتهای دیگری قرار داده شدهاند و در مجموع باعث افزایش هزینه برد شدهاند. اما آیا نیازی به این همه قطعات جانبی روی یک برد آموزشی FPGA است؟ و اصولا چه امکاناتی باید در چنین بردی وجود داشته باشد؟
واقعیت این است که برای یادگیری FPGA نیاز به این همه قطعات جانبی روی یک برد آموزشی نیست. از دیدگاه حرفهای، آنچه بیشتر مورد نیاز است، تسلط شما به پیادهسازی اصولی روتینهای کنترلی و الگوریتمهای پردازشی است. برای پیادهسازی و تست و آزمایش این الگوریتمها، شما نیاز به بردهای آموزشی پیچیده با دهها قطعه جانبی ندارید.
خوشبختانه امکاناتی که FPGA و نرمافزار مخصوص پیادهسازی آن به شما میدهد، شما را قادر میسازد تا نه تنها انواع مدارات دیجیتال را بر روی یک FPGA در بردی ساده پیادهسازی کنید، بلکه میتوانید آن را به صورت عملی و روی برد هم تست کنید. به عبارت دیگر، علاوه بر شبیهسازی در محیط نرمافزار مخصوص پیادهسازی، شما میتوانید عملکرد مدارتان را به کمک ابزاری که نرمافزار و FPGA در اختیارتان قرار میدهند به صورت عملی تست کنید.
بنابراین، آنچه در فرآیند یادگیری FPGA دارای اولویت است، دستیابی به تسلط قابل قبول در پیادهسازی اصولی انواع مدارات دیجیتال برای انجام روتینهای کنترلی و الگوریتمهای پردازش سیگنال است. البته معمولا در هر پروژهای، تعدادی هم ارتباط خارجی و اینترفیس با قطعات خارجی وجود دارد و حتما نیاز خواهید داشت با این قطعات خارجی ارتباط برقرار کنید یا بعضی از پروتکلهای ارتباطی را پیادهسازی کنید. اما اولویت در یادگیری، مربوط به آشنایی با اصول صحیح پیادهسازی است و اگر این مرحله را به خوبی طی کنید، پیادهسازی مدارات برای اینترفیس کار سادهای خواهد بود.
بنابراین، در صورتی که قصد تهیه یک برد آموزشی برای یادگیری FPGA را دارید، به جای اینکه به تعداد قطعات جانبی موجود روی برد توجه کنید، بیشتر به کیفیت، کارایی و قیمت آن توجه داشته باشید.
چه امکاناتی باید در یک برد آموزشی FPGA وجود داشته باشد؟
همانطور که در بخش قبل اشاره کردم، موضوع مهم در فرآیند یادگیری پیادهسازی مدارات با FPGA آشنایی و تسلط بر روشهای اصولی پیادهسازی از طریق کدنویسی و انجام تستها و روالهای درستیآزمایی است. بنابراین، مهمترین موردی که در یک برد آموزشی FPGA باید وجود داشته باشد، یک تراشه مناسب FPGA است.
امکان مهم دیگر، قابلیت پروگرام شدن از طریق نرمافزار مخصوص پیادهسازی است. اگر برد آموزشی مورد نظر شما، شامل یکی از FPGAهای شرکت Xilinx است، نرمافزار مخصوص پیادهسازی آن، نرمافزار ISE است. حتما به این نکته دقت داشته باشید که برد آموزشی باید بتواند با این نرمافزار و پروگرامر آن که نرمافزار iMPACT نام دارد ارتباط برقرار کند. در حال حاضر، بردهای ارزانقیمتی وجود دارند که برای پروگرام کردن آنها باید از یک نرمافزار مخصوص استفاده کرد و نمیتوان به کمک نرمافزار ISE به آن متصل شد.
یک حافظه دائمی که قابلیت ذخیرهسازی فایل پروگرام FPGA را داشته باشد، از دیگر ملزومات یک برد آموزشی FPGA است. همانطور که احتمالا میدانید، FPGAها نمیتوانند اطلاعاتی را که با آن پروگرام شدهاند را به صورت دائمی نگه دارند و با خاموش و روشن کردن برد، آنچه در FPGA پروگرام کردهاید پاک خواهد شد. بنابراین، نیاز به یک حافظه دائمی در کنار آنها وجود دارد تا اطلاعات پیکرهبندی در آن ذخیره شود.
اگر بردی که استفاده میکنید دارای یک یا چند هدر توسعه برای اتصال به قطعات جانبی باشد، انعطاف زیادی در بکارگیری آن به وجود خواهد آمد. منظور از هدر توسعه این است که پینهای ورودی/خروجی FPGA که در طراحی برد، بدون استفاده ماندهاند از طریق یک سوکت یا هدر برای شما قابل دسترسی باشند. به این ترتیب، در صورتی که بخواهید یک قطعه جانبی را که روی برد نیست به FPGA وصل کنید، میتوانید از طریق این هدر، اتصالات لازم را برقرار کنید.
آخرین قابلیت لازم بر روی هر برد آموزشی، حداقل یک LED و یک دکمه فشاری یا Push Button است. وجود یک LED به شما این امکان را میدهد که با یک کد ساده که LED را به یک چشمکزن تبدیل میکند و قرار دادن این کد در کنار کدهای اصلی، همواره از سلامت و عملکرد صحیح FPGA به طور کلی مطلع باشید.
قابلیتهای دیگری که در صورت وجود میتوانند مفید باشند، وجود یک حافظه RAM جانبی برای ذخیرهسازی دادهها و کدهای بزرگ است. همچنین، وجود بستر پیادهسازی یک یا چند پروتکل ارتباطی مثل RS232 یا USB میتواند به شما امکان پیادهسازی پروژههایی را که نیاز به ارتباط با کامپیوتر یا بردهای دیگر را دارند بدهد.
خانواده از FPGAها برای یادگیری مناسب هستند؟
تقریبا با هر کدام از انواع FPGA میتوان تمرینهای متنوع و مناسبی برای یادگیری FPGA انجام داد. البته بهتر است که از FPGAهای مدرنتر و به روز یک شرکت استفاده کنید تا بتوانید با قابلیتهای جدید آنها نیز آشنا شوید.
در مورد شرکت Xilinx، پنج خانواده از FPGAها وجود دارند که جزء محصولات به روز آن محسوب میشوند. این FPGAها عبارتند از خانوادههای Virtex-7، Kintex-7، Artix-7، Zynq و Spartan-6.
با توجه به اینکه موضوع قیمت یک برد آموزشی، یکی از عوامل مهم در انتخاب و خرید آن محسوب میشود، خانواده FPGAهای Spartan-6 میتواند بهترین گزینه برای یک برد آموزشی باشد. این گروه از FPGAهای شرکت Xilinx، علیرغم اینکه دارای معماری مدرن و پشتیبانی گسترده توسط شرکت Xilinx هستند، از قیمت بسیار کمتری نسبت به FPGAهای دیگر این شرکت برخوردارند.
شرکت Xilinx البته یک گروه معروف دیگری از FPGAهای قدیمی را با نام Spartan-3 تولید میکرد که هنوز هم در بعضی از شرکتهای داخلی استفاده شوند. این خانواده از FPGAها معماری قدیمی و قابلیتهای سختافزاری بسیار محدودتری نسبت به دیگر FPGAها دارند. بنابراین، با اینکه بردهای آموزشی مبتنی بر این FPGAها از قیمت کمتری برخوردارند، بهتر است که برای یادگیری استفاده نشوند.
چه عواملی یک برد آموزشی FPGA را گران میکنند؟
در ابتدای این مقاله، تعداد زیاد قطعات جانبی روی برد آموزشی را به عنوان یکی از مهمترین عوامل افزایش قیمت یک برد آموزشی FPGA مطرح کردم. هر کدام از این قطعات به تنهایی، مقداری بر قیمت تمام شده یک برد آموزشی اضافه میکنند. از طرف دیگر، تعدد قطعات جانبی باعث میشود که این بردها با تعداد لایههای زیاد طراحی شوند که این نیز یکی دیگر از عوامل افزایش قیمت این بردها است.
عامل دیگری که قیمت برد را به نحو قابل ملاحظهای افزایش میدهد، نوع FPGA استفاده شده در آن است. همانطور که در بخش قبلی اشاره کردم، شرکتهای تولید کننده FPGA عموما دارای خانوادههای مختلفی از FPGAها هستند که کارایی، توان مصرفی و منابع دیجیتالی موجود در آنها با یکدیگر متفاوت هستند.
قیمت بعضی از FPGAهای شرکت Xilinx بیش از ۱۰ میلیون تومان است. در نتیجه، انتخاب یک FPGA مدرن و در عین حال ارزانقیمت میتواند در نهایت باعث ساخت برد آموزشی با قیمت مناسب شود. بردهایی که مبتنی بر FPGAهای گرانقیمت هستند، معمولا برای تست و مدلسازی پروژههای حرفهای استفاده میشوند و انتخاب آنها به عنوان یک برد آموزشی، باعث هدر شدن پول شما خواهد شد.
آخرین موردی که میتواند قیمت یک برد آموزشی را تحت تاثیر قرار دهد، پروگرامر آن است. FPGAهای شرکت Xilinx را میتوان به کمک دو نوع پروگرامر USB و پارالل پروگرام کرد. پروگرامرهای USB شرکت Xilinx از سرعت بسیار بیشتری برخوردارند اما قیمت آنها بیش از ۱۰ برابر پروگرامرهای پارالل است.
برای بردهای آموزشی که از FPGAهای کوچک استفاده میکنند، استفاده از پروگرامر پارالل میتواند انتخاب مناسبی باشد، اما مشکل به کار گیری این پروگرامرها این است که امروزه کمتر کامپیوتری را میتوانید پیدا کنید که دارای پورت پارالل باشد.
راهحلی که برای مشکل پروگرامر و کم کردن هزینه برد آموزشی FPGA در بعضی از بردهای آموزشی به کار گرفته شده است، استفاده از پروگرامر USB به صورت روی-برد یا on-board است. در این روش، پروگرامر USB، روی برد تعبیه شده است و شما نیاز به تهیه یک پروگرامر USB گرانقیمت جداگانه برای پروگرام کردن ندارید. استفاده از این نوع بردها، از نظر اقتصادی بسیار به صرفهتر هستند. تنها نکتهای که در تهیه این نوع بردها باید به آن دقت کنید این است که برد بتواند با نرمافزار ISE هم ارتباط برقرار کند و برای پروگرام شدن، نیاز به نرمافزار دیگری نداشته باشد.
منبع faradandish.com
چطور یک برد آموزشی FPGA مناسب برای یادگیری انتخاب کنیم؟
در اين بخش ميتوانيد در مورد تمامي مسائل مرتبط با مدار مجتمع برنامه پذیر FPGA به بحث بپردازيد
مدیران انجمن: Mahdi Mahdavi, SAMAN, sinaset, شوراي نظارت
- پست: 7545
- تاریخ عضویت: سهشنبه ۲۶ آذر ۱۳۸۷, ۴:۲۰ ب.ظ
- سپاسهای ارسالی: 9280 بار
- سپاسهای دریافتی: 22106 بار
چطور یک برد آموزشی FPGA مناسب برای یادگیری انتخاب کنیم؟
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.
با عرض پوزش،دیگر در انجمن حضور ندارم،که به پیام ها پاسخ بدم.
بازگشت به “مدار مجتمع برنامه پذیر FPGA”
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها