مهندس موفق الکترونیک

کاربردهای تراشه های FPGA

با گذر از نسل سیستم های آنالوگ، طراحی مدارات دیجیتال به یکی از حوزه های رو به گسترش و پرطرفدار رشته الکترونیک تبدیل شده است. در این بین میکروکنترلرها شاید جزء اولین و پرکاربرد ترین قطعاتی هستند که در ساخت سیستم های کنترل کننده و پردازنده دیجیتالی کاربرد پیدا کردند و همچنان نیز جزء پرفروش ترین قطعات الکترونیکی در دنیا می باشند.

امروزه در کنار میکروکنترلرها، تراشه های FPGA نیز با توجه به ویژگی های منحصر به فرد خود کاربردهای بسیاری پیدا کرده است. در اغلب موارد یکی از سوالات مطرح در هنگام شروع طراحی یک سیستم انتخاب بین میکروکنترلر یا FPGA است. با توجه به این که این سوال بسیار مهم است و میتواند در هزینه نهایی و مدت زمان طراحی تاثیر بسیار مهمی داشته باشد، در این مطلب سعی می کنیم تعدادی از کاربردهای تراشه های FPGA را بررسی کنیم تا بهتر بتوانیم در مورد انتخاب FPGA تصمیم گیری کنیم.

کاربردهای FPGA

(FPGA سری Stratix از شرکت ALTERA)

محدوده کاربردهای FPGA

به طور کلی هر پردازش محاسباتی را میتوان با FPGA انجام داد. این مسئله به این دلیل است که عملا میتوان توسط یک FPGA یک پردازنده را طراحی کرد (به عنوان مثال Xilinx MicroBlaze) و در نتیجه میتوان همه ی پردازش هایی که با پردازنده های دیگر انجام می شود را با FPGA انجام داد.

نکته ای که FPGA را در زمینه پردازش و محاسبات از سایر رقبا مانند پردازنده ها برتر می کند، ساختار موازی FPGA و توانایی بهینه سازی تعداد گیت های مصرفی برای پیاده سازی یک عملیات محاسباتی است. به لحاظ تاریخی، FPGA ها در ابتدا رقبای CPLD ها محسوب می شدند اما رفته رفته با افزایش توان پردازشی آنها امروزه FPGA ها تحت عنوان یک سیستم کامل بر روی تراشه (SOC) در بازار ارائه می شوند. منظور از SOC پیاده سازی کامل یک سیستم بر روی تراشه است که از معروف ترین آنها SOC های مبتنی بر FPGA ها است.

امروزه FPGA ها با پردازنده سیگنال های دیجیتالی (DSP) ها نیز در برخی از زمینه ها رقابت می کنند. اولین کاربردهای FPGA به جای DSP ها در دهه 1990 اتفاق افتاد که واحد ضرب کننده (Multiplier) در FPGA ها استفاده شد.

کاربردهای FPGA

(برد توسعه مبتنی بر FPGA  های شرکت Xilinx سری Virtex)

یکی از روندهای دیگر کاربردهای رو به گسترش FPGA استفاده از آنها در افزایش سرعت برخی از الگوریتم های پردازشی است. در این کاربردها بخش هایی از الگوریتم که پیاده سازی آنها توسط ساختار موازی FPGA با سرعت بالاتر و توان مصرفی کمتری امکان پذیر است در FPGA پیاده سازی شده و بخش های دیگر الگوریتم در پردازنده های عمومی پیاده سازی می شود. در بخش بعدی به صورت خلاصه به تعدادی از کاربردهای عملی که در آنها از FPGA استفاده می شود اشاره می کنیم.

مثال هایی از کاربردهای عملی FPGA

  • سیستم های مخابراتی
  • سیستم های نظامی (رادارها، کنترل و هدایت موشک و…)
  • کاربردهایی که در آنها نیاز به الگوریتم های پیشرفته و پرسرعت رمزگذاری وجود دارد
  • رادیو نرم افزاری
  • پردازش سیگنال های تصویر با کیفیت بالا
  • جایگزین DPS ها
  • پیاده سازی الگوریتم های پردازش و تشخیص صدا
  • روترها و سوییچ های شبکه های مخبراتی
  • وسایل حمل و نقل
  • ستاپ باکس
  • سیستم های مبتنی بر سرورها
  • کنترل موتورهای صنعتی
  • و…

کاربردهای FPGA

(ماژول پردازشی شرکت Xilinx مناسب برای سیستم های مخابراتی)

با توجه به روند رو به گسترش استفاده از FPGA ها، امیدوارم این مطلب به شما کمک کرده باشد تا دید خوبی نسبت به برخی از کاربردهای این تراشه ها داشته باشد. در کشور ما هم FPGA بصورت گسترده در پروژه های نظامی و های_تک استفاده میشه و اگر بلد باشید میتوانید در این مراکز مشغول به کار بشید. شرکت های خفنی در ایران هستن که برای کاربردهای مخابراتی و نمونه برداری بردهای خاص حرفه ای تولید میکنن. برای شروع یادگیری میتوانید مقاله آموزش FPGA را مطالعه کنید. و اگر هم دنبال مدل حرفه ای تری از FPGA هستین که داخلش میکروکنترلر هم داشته باشه مقاله ZYNQ چیست را مطالعه کنید و اگر دنبال یک نرم افزار مناسب برای کد نوشتن برای FPGA ها هستین نوشته آموزش نرم افزار Vivado را مطالعه کنید.

منبع: با تلخیص از ویکیپدیا

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 دیدگاه

  1. رسول اکبرپور

    با سلام من شروع به کار با میکرو کنترلر های سری Arm stm32 F103 کردم و میخواستم ببینم آیا FPGA یاد بگیرم ؟
    چون ظاهرا بهتر هستش و اینکه موارد کاربرد اش هم بیشتر هستش
    علاوه براین که رشته تحصیلی ام کارشناسی برق قدرت است و دانشجوی این رشته هستم الان و ترم 2 در حال تحصیل هستم
    البته من خودم رو محدود به رشته نمیکنم
    نظر شما چیه؟
    چه کنم
    چون برای آموزشArm هزینه هایی کردم
    ؟
    متشکر میشم جواب رو در ایمیل من هم بفرستید

    • میلاد جهاندیده

      سلام، یادگیری زمینه های مختلف خوب هستش و میتونه تو آینده کمکتون کنه و حداقل دید سیستمی و الکترونیکی یا برنامه نویسی بهتون بده حتی در پروژه های برق قدرت فقط داستان سر وقت و تمرکز هستش که بهتره روی یکسری کارها 80 درصد وققتتون را بذارید و برای بقیه کارها 20 درصد وقت بذارید. در مورد FPGA باید خدمتون عرض کنم در حال حاضر اکثرا شرکت های مرتبط به مخابرات و صنایع نظامی از این قطعه در کشور ما استفاده میکنن و در همه ی شهرها کار براش نیست ولی علم حرفه ای و خفنی است. با ترکیبش با DSP و پردازش سیگنال و یا کاربردهای دیگرش که همشون حرفه ای هستن. ولی خب در خارج از کشور کاربرهای بیشماری داره. مثلا به تازگی پیاده سازی الگوریتم های هوش مصنوعی روی FPGA و استفاده از محصول نهایی آن در تلویزیون های هوشمند و بقیه دیوایس های هوشمند…

  2. ممنون اطلاعات خیلی جزیی هستند کامل شرح دهید