
معیار انتخاب میکروکنترلر
معیار انتخاب میکروکنترلر
میکروکنترلر مناسب را چگونه انتخاب کنیم؟
همانطور که میدانید میکروکنترلرها انواع زیادی دارند. چند خانواده رایج و پرکاربرد میکروکنترلر در ایران و جهان عبارتند از :
AVR family: ATmega, AT90S, AT tiny & ATXmega series
PIC family: PIC10F,PIC12F, PIC16F, PIC18F, ...
ARM family: LPC1xxx, LPC2xxx, LPC3xxx, LPC4xxx, & ARM7 series
طراحی سیستم های نهفته یا Embedded System ها مراحلی دارد که لازم است بترتیب طی شود و مثلا در ابتدا باید چکیده ای از طرح نوشته شده و از ابتدا تا انتهای طرح بصورت خلاصه در آن اورده شود و سپس معماری سخت افزار و نرم افزار سیستم طراحی گردد و همینطور سایر مراحل در ادامه بترتیب انجام شود تا طرح تکمیل گردد که انشالله در آینده درباره این مراحل صحبت خواهیم کرد اما آنچه که در این نوشتار قصد داریم بیان کنیم معیار و ملاک انتخاب نوع میکروکنترلر در طراحی سیستم های نهفته است.
پس از این که چکیده طرح و پروژه مشخص شد و برای طراحان سیستم معلوم شد که پروژه دارای چه مشخصاتی است اولین قدم طراحی سخت افزار سیستم بصورت بلاک دیاگرام است. و البته مهمترین بخش در طراحی معماری یک Embedded System انتخاب میکروکنترلر آن است.
همانطور که از مقاله قبل با عنوان میکروکنترلر و کامپیوتر شباهتها و تفاوتها بخاطر دارید گفتم که معماری داخلی یک میکروکنترلر از چهار بخش اساسی تشکیل شده که عبارت بودند از
۱- سی پی یو
۲- حافظه
۳-کلاک
۴-لوازم جانبی
حال میخواهیم ببینیم که تقسیم بندی بالا چطور به عنوان ملاکی برای انتخاب میکروکنترلر در طراحی سیستم های نهفته یا Embedded System ها به ما کمک میکند.
اولین واحد در معماری یک میکروکنترلر سی پی یو CPU است که میتواند دارای مشخصات ویژه خود باشد بعنوان مثال در میکروکنترلر های AVR معماری سیستم دارای یک دیتا باس ۸ بیتی است بدین معنی که در هر لحظه ۸ بیت دیتا در داخل معماری منتقل میشود و در CPU بصورت ۸ بیتی پردازش میشود در حالیکه در میکروکنترلر های با معماری ARM میتواند ۳۲ بیت باشد. لذا یکی از ملاک های انتخاب میکروکنترلر انتخاب بر اساس نوع CPU و توانمندی های آن در مقایسه با قیمت آنهاست، مثلا اگر در چکیده طرح یک پروژه یک سی پی یو ی ۸ بیتی پاسخگوی نیاز پروژه باشد منطقی است که هزینه تولید را با انتخاب سی پی یو ی ۳۲ بیتی بالا نبریم. پس اولین معیار در انتخاب میکروکنترلر با توجه به اولین بخش دسته بندی فوق یعنی سی پی یو CPU صورت میگیرد.
دومین معیار در انتخاب میکروکنترلر در طراحی سیستم های نهفته بر اساس دومین واحد در دسته بندی فوق یعنی میزان و حجم حافظه موجود در میکروکنترلر است. میکروکنترلر ها همانطور که میدانیم در انواع مختلفی از نظر حجم حافظه در بازار وجود دارند مثلا در میکروکنترلر های AVR از سری ATmega مدل ATmega8 دارای 8KB حافظه برنامه از نوع FLASH هست در حالیکه مثلا ATmega 16 دارای 16KB و یا ATmega32 دارای 32KB حافظه برنامه از نوع FLASH هستند، پس همانطور که متوجه شده ایم در پروژه ای که حجم برنامه آن حجمی بیش از 8KB داشته باشد نمیتوان از ATmega8 استفاده کرد و باید از میکروکنترلری با ظرفیت حافظه برنامه بیشتر در آن استفاده نمود.
معیار بعدی که از چکیده طرح سیستم نتیجه میشود سرعت مورد نیاز پروژه است. بعنوان مثال اگر بر اساس چکیده اولیه پروژه مدت زمان لازم برای اندازه گیری رویدادهایی که در طرح پروژه مشخص شده به میزانی است که حداقل فرکانس کاری مورد نیاز نمیتواند از میزان مشخصی کمتر باشد بایداز میکروکنترلری که سرعت کلاک آن بیش از حداقل تعیین شده باشد استفاده نمود، بنابراین سرعت و فرکانس پالس کلاک نیز ملاک دیگری در تعیین و انتخاب میکروکنترلر در پروژه خواهد بود.
و چهارمین بخش از دسته بندی بالا نیز ملاک های بعدی برای انتخاب میکروکنترلر را بدست میدهد.
مثلا در پروژه ای که تعداد رله های خروجی از حد مشخصی بیشتر باشد و یا تعداد معینی مبدل آنالوگ به دیجیتال در ورودی میکروکنترلر مورد نیاز باشد یا درطراحی سیستم نهفته یا Embedded System نیاز به مبدل های USART یا SPI برای برقراری ارتباط با دیوایس ها و چیپ های دیگر باشد باید میکروکنترلری انتخاب شود که این نیازها را برآورده سازد.
بنابراین یکی از محاسن دسته بندی ای که درباره معماری داخلی میکروکنترلر ها کردیم همین ارائه ملاک و معیاری در انتخاب میکروکنترلر ها برای طراحی سیستم های نهفته یا همان Embedded System ها است؛ و با توجه به مشخصات طرح که در چکیده بیان شده است ابتدا نوع Cpu و حداقل میزان حافظه، سرعت و فرکانس کاری میکروکنترلر یا همان کلاک سیستم و همچنین دیوایس های جانبی را تعیین میکنیم و بر این اساس میکروکنترلر مورد نیاز طرح را انتخاب مینماییم.