FPGA چیست؟ تفاوت میکروکنترلر با FPGAچیست؟


۱۷ اردیبهشت ۱۳۹۹ / ۱۳:۱۴:۱۱
۱۹۱


آیا می دانید fpga چیست 

احتمالا واژه‌ی FPGA به گوشتان خورده است. FPGA سرواژه‌ی عبارت Field Programmable Gate Array (آرایه درگاه قابل برنامه‌ریزی) است. FPGAها، دستگاه‌های شگفت‌انگیزی هستند که افراد را قادر می‌سازند، مدارهای دیجیتالی مورد نظر خود را طراحی کنند. هزینه‌های استفاده از FPGA آن‌قدر پایین آمده که اشخاص حقیقی هم می‌توانند به راحتی از آن استفاده کنند. FPGA در واقع یک تخته‌ی خالی است که به خودی خود، هیچ کارایی خاصی ندارد؛ همه چیز به شما و چگونگی پیکربندی دستگاه بستگی دارد. در این مقاله از فنولوژی، تفاوت FPGA با میکروکنترلر را بررسی می‌کنیم و به این سوال پاسخ می‌دهیم که FPGA چیست؟

یکی از دلایل جذاب بودن FPGA این است که برخلاف ASIC (برنامه مدار مجتمع)، مدار از قبل طراحی نشده و می توانید آن را هر چند بار که دوست دارید مجدداً تنظیم کنید! ساخت ASIC میلیون‌‌ها دلار هزینه دارد و هفته‌ها یا ماه‌ها طول می کشد.

تفاوت FPGA با میکروکنترلر

میکروکنترلر با FPGA کاملا فرق دارد! در میکروکنترلرهایی مانند آردوئینو، تراشه (chip) از قبل طراحی شده است. کاری که باید انجام دهید آن است که با استفاده از زبان C یا ++C، برنامه‌ای بنویسید و پس از تبدیل آن به فایل hex، بر روی میکروکنترلر بارگذاری کنید. میکروکنترلر فایل hex را بر روی فلش مموری ذخیره می‌کند. در واقع، با استفاده از میکروکنترلر می‌توانید نرم‌افزار را کنترل کنید.

آردوئینو arduino

در FPGA، بر خلاف میکروکنترلر، شما هستید که مدار را طراحی می‌کنید. هیچ پردازنده‌ای برای اجرای برنامه‌ها وجود ندارد؛ حداقل قبل از این‌که آن‌را طراحی کنید! اما به طور دقیق‌تر FPGAچیست؟ اف‌پی‌جی‌ای می‌تواند به سادگی یک درگاه (gate) باشد یا به پیچیدگی یک پردازنده‌ی چند هسته‌ای! با کمک زبان توضیحی سخت‌افزار (Hardware Description Language یا HDL)، می‌توانید مدار مورد نظر خود را طراحی کنید. دو HDL خیلی معروف Verilog و VHDL هستند. پس از آن با تبدیل HDL به یک فایل بیت (bit file)، می‌توانید FPGA را پیکربندی کنید. دقت کنید که اطلاعات FPGA بر خلاف میکروکنترلر بر روی رم ذخیره می‌شود؛ بنابراین با قطع اتصال برق، اطلاعات و در نتیجه پیکربندی از دست می‌رود. با FPGA، در واقع می‌توانید سخت‌افزار را کنترل کنید.

vhdl vs verilog

یکی از نکات جذاب اف‌پی‌جی‌ای آن‌ است که توانایی ساخت پردازنده را برای شما فراهم می‌کند. شرکت‌هایی مانند Intel و Nvidia، پروتوتایپ تراشه‌های خود را با استفاده از FPGA‌ می‌سازند و پس از انجام تست‌های مورد نیاز، اقدام به ساخت تراشه‌ی واقعی می‌کنند.

در ویدیو زیر، توضیحات بیشتری عنوان شده است.

 

متن پیاده‌سازی‌شده‌ی ویدیو – FPGA چیست؟

سلام. من جاستین هستم از Embedded Micro. به این ویدیوی آموزشی خوش آمدید. در این ویدیو، درباره‌ی چیستی FPGA و تفاوت آن با میکروکنترلرها، توضیح می‌دهم. FPGA سرواژه‌ی عبارت Field Programmable Gate Array (آرایه گیت قابل برنامه‌ریزی) است. در واقع با استفاده از FPGA، به جای نوشتن برنامه‌هایی که روی سخت‌افزارهای از پیش ساخته اجرا می‌شوند، می‌توانید یک سخت‌افزار را به طور کامل برنامه‌ریزی کنید.

یک مثال عملی

برای روشن‌تر کردن موضوع، مثالی می‌زنم که می‌توانید با FPGA یا میکروکنترلر انجام دهید. در پروژه، هدف ما این است که با فشردن یک دکمه، لامپ LED روشن شود و با فشردن مجدد آن، لامپ خاموش گردد. برای اجرای این پروژه با استفاده از یک میکروکنترلر، کافی است دکمه و لامپ را به میکروکنترلر متصل کنید. با برنامه‌نویسی، می‌توانید پروژه‌ را به پایان برسانید. در واقع، در این‌جا، CPU موجود در میکروکنترلر، رابطی بین کاربر، دکمه و لامپ است و دستورات را اجرا می‌کند. حال اگر بخواهید این پروژه را به وسیله‌ی FPGA اجرا کنید، کافی است دکمه را با استفاده از تکه‌ای سیم به لامپ متصل کنید! در واقع، شما سعی کرده‌اید، سخت‌افزار را برنامه‌ریزی کنید. اگر بخواهید با فشردن دکمه لامپ خاموش شود و با فشردن مجدد آن روشن، چه کار می‌کنید؟ کافی است از یک درگاه معکوس (Not Gate) استفاده کنید.

اف پی جی ای fpga

تفاوت FPGA و میکروکنترلر

مدار مد نظر ما، مستقل از هر وسیله‌ی دیگری که در FPGA موجود است، عمل می‌کند. این نکته، بسیار اهمیت دارد. فرض کنید به موازات مدار ذکر شده، مدار دیگری با عملکرد مشابه در FPGA قرار دهیم. به علت آن‌که این مدارها کاملا مستقل عمل می‌کنند با هیچ‌گونه تاخیری مواجه نخواهیم شد؛ اما در میکروکنترلرها، موضوع کمی متفاوت است. میکروکنترلر برای پردازش اعمال گوناگون، زمان و قدرت پردازشی خود را، بین آن اعمال تقسیم می‌کند. مزیت ذکرشده‌ی FPGA نسبت به میکروکنترلر بسیار اهمیت دارد.

کاربردهای واقعی FPGAچیست؟

FPGAها، ابزارهای بسیار قدرتمندی هستند. در واقع هر نوع مدار دیجیتال، حتی پردازنده‌ها را می‌توانید با استفاده از اف‌پی‌جی‌ای پیاده‌سازی کنید. البته اگر از قدرت FPGA در کنار میکروکنترلر استفاده کنید، نتایج بسیار حیرت‌انگیزی به دست می‌آورید. من در حال حاضر، در حال کار بر روی پروژه‌ی Hexapod (شش‌ پا) هستم. در این وسیله، میکروکنترلر با اجرای کدهایی، تعیین می‌کند که پاها باید در چه جایی قرار بگیرند. FPGA نیز حدود ۲۰ سیگنال PWM (مدل‌سازی عرض پالس یا Pulse Width Modulation) مختلف را کنترل می‌کند. انجام این کار با استفاده از یک میکروکنترلر غیر ممکن است؛ زیرا، تنها ۳ تا ۶ خروجی PWM دارند. FPGA همچنین، کار دریافت تصاویر از دوربین، ذخیره‌سازی آن‌ها در یک رم و پردازش تصاویر را انجام می‌دهد. امیدوارم این ویدیو، به شما دید خوبی نسبت به FPGA داده باشد.

کاربردهای بیش‌تر FPGA چیست؟

به دلیل ذات برنامه‌پذیر بودن خود، FPGA کاربردهای فراوان و در حوزه‌های متنوعی دارد. برخی از این کاربردها عبارتند از:

  • استفاده در پردازش تصویر، تولید موج و پیکربندی جزئی برای SDRها
  • استفاده گسترده در ارتباطات و کاربردهای مولتی مدیا
  • راهکار مقرون به صرفه برای نمایشگرهای صفحه دیجیتال تخت، لوازم اطلاعاتی و شبکه خانگی
  • کاربرد در دیتاسنترها
  • پردازش و ذخیره‌سازی اطلاعات با کارایی بسیار بالا
  • کاربردهای تشخیصی، نظارتی و درمانی در پزشکی


چندرسانه‌ای :


نمايش ديدگاه‌هاي بيشتر

برای درج دیدگاه باید ابتدا به عنوان کاربر به سایت وارد شده باشید.