# برنامه نویسی میکروکنترلر (MicroController) ها و MicroProcessor ها > برنامه نویسی سیستم های Embeded >  حرکت به سمت استفاده از FPGA ها به جای میکروکنترلرها

## shaniaki

با عرض ادب:
مدتی بود دنبال مقاله ای در این زمینه برای اشاره به این موضوع می گشتم که امروز مقاله زیر را پیدا کردم.

توضیح مختصر اینکه امروزه چیپ های پردازنده متنوعی اعم از میکروکنترلرها و DSPها برای کاربردهای عمومی و کاربردهای خاص در بازار عرضه شده است. در برخی کاربردها مانند کاربردهای مربوط به وسائل نقلیه-که موضوع این مقاله نیز هست- گاهی بیش از ۱۰۰ پردازنده در یک اتومبیل برای ترمز٬ سیستم ایربگ٬ سیستم های صوتی٬ GPS و ... به کار می رود. استفاده از تعداد فراوانی چیپ پردازنده رفته رفته ریسک بالایی را بر دوش طراحان می گذارد. تسلط به ساختار و شیوه برنامه نویسی میکرو ها و DSP های متعدد٬ هر یک با قابلیت های ویژه٬ کار دشواری است٬ ممکن است در مراحل میانی کار مشخص شود که انتخاب یک پردازنده اشتباه بوده و باید با چیپ های مکمل٬ نرم افزار سنگین تر و یا تعویض چیپ و طراحی مجدد کار را ادامه داد و بسیاری مشکلات دیگر.
راه حل جایگزین استفاده از FPGAها است. FPGAها چیپ هایی هستند که کاربر می تواند هر سخت افزاری دلخواهی را روی آن ها پیاده کند. تصور کنید که میکرو کنترلر و یا DSP تان به صورت یک ICاز قبل طراحی شده نباشد٬ بلکه بتوانید هسته پردازنده تان را پیکربندی کنید و ابزارهای جانبی مورد نیاز خود را به آن اضافه کنید و یا حتی چندین پردازنده مختلف را به صورت موازی برای کاربردهای مختلف و همچنین افزایش سرعت و کوچک کردن سیستم نهایی روی یک FPGA پیاده کنید.

قسمت اول مقاله

قسمت دوم 

یه ... ...

----------


## robochoo

به نظر من نباید این دو دسته رو با هم مقایسه کرد! حداقل نباید به همین سادگی مقایسه کرد.
بیشتر شبیه به اینه که بگیم چرا واسه کامپیوتر و یه CPU میزارن، یهGPU میزارن،  یه Chipset میزارن... همشون رو یکی نمیکنن؟
من خودم تویه پروژه های صنعتی طرف داره چند CPU جدا به جایه یه CPU واحد هستم.
اگه اینتوری باشه برنامه نویسی ثابتی دارن هر چند راه اندازی GPS, LCD,... رو باید یاد گرفت. ولی بهتر از اینه که واسه هر وسیله یه پروسسور رو یاد گرفت.
اما میکرو کنترلر و FPGA دو بحث جداگانه برنامه نویسی دارن که میکرو کنترلر ها و میکرو پروسسورها از برنامه نویسی خاص ترتیبی استفاده میکنن ولی FPGA از برنامه نویسی موازی استفاده میکنن. که جای بحث زیادی داره
اما از نظر من همه فقط ابزار پیاده سازی هستند و بنا به شریط پروژه باید تصمیم گرفت که از کدام استفاده کرد

----------


## siavashgm

من با robochoo موافقم، 
این دو اصلا در کاربرد با هم یکسو نیستند.
میکرو با قیمت پایین هرگز جاشو به FPGA نمیده
در ثانی ، اون مطلبی که اول نوشتی مربوط به شبکه های صنعتی میشه و بحث اونجا استفاده از چند کنترلر به جای یکی است. (ماشین که گفتی پروتکلش CAN است)

----------

