تاریخچه میکروکنترولر
اولین میکروکنترلر ها حافظه کوچک ROM و حافظه داده RAM و تعدادی ورودی/خروجی داشتند که با توسعه تکنولوژی دستورالعملها، تایمر، امکانات وقفه و خطوط I/O دراین ریزکنترلر ها بهینه شدند. محدود بودن حافظه نیز با استفاده از حافظه EPROM که با اشعه ماورابنفش قابل پاک شدن بود، ارتقا یافت. شرکت اینتل که بهترین CPU ها را به بازار ارائه میدهد، نزدیک به ۴ دهه گذشته اولین میکروکنترولر را در سال ۱۹۷۱ ساخت و در سال ۱۹۸۰ اولین میکروکنترلر بانام ۸۰۸۰ را روانه بازار کرد. برای اینکه به تولید انبوه برساند مجوز ساخت آن را به شرکتهای Semiconductor Dallas، Xeimens، Atmel و Motorolaداد مشروط براینکه برنامههایی که برای ۸۰۵۱ نوشته میشود با همه میکروکنترولرهای این شرکت سازگاری داشته باشد. در سال ۱۹۸۶ شرکت Atmel میکروکنترلر AVR را ارائه کرد که به نوعی تکمیل شده ۸۰۵۱ بود.
میکروکنترلر چیست؟
میکروکنترلر یک مدار مجتمع یا چیپ الکترونیکی است که عملکرد آنها از قبل برنامهریزی شده است. امروزه انواع میکروکنترولرها با طول کلمه متفاوت ۱۲۸،۶۴،۸،۴ بیتی در بازار موجود است که برای کنترل دستگاههایی که نیازبه کنترل دارند جاسازیمیشود، مانند ماشینهای اداری، لوازمخانگی، رباتها، وسایلنقلیه و بسیاری از ابزارها. میکروکنترلر از اجزایی تشکیل میشود که مهمترین آن پردازنده است. هروسیله ای که اطلاعاتی را ذخیره و اندازهگیریمیکند، ازمیکروکنترولر درآن استفادهشدهاست.
اجزای میکروکنترولر(ریزکنترلر) :
میکروکنترولرها اجزایی مانند اجزای کامپیوتر دارند که در زیر به آنها اشارهشدهاست.
واحد پردازش (CPU) :
CPU را مغز میکروکنترولر مینامند و این پردازنده عملیات استخراج داده، رمزگشایی و درنهایت انجام وظایف اختصاصداده شده را به عهده دارد. حافظه قابلبرنامهریزی دستورالعملها را استخراج و CPU آنها را رمزگشایی میکند.
حافظه (Memory) :
درمیکروکنترولرها حافظه همانند میکروپروسسورها تمام برنامهها و دادههارا ذخیره میکند. میکروکنترولرها با مقدار مشخصی از ROM، RAM یا حافظهفلش برای ذخیره کد برنامه ساختهشدهاست.
ورودی و خروجی ها (I/O) :
پورتهای ورودی و خروجی برای اتصال به دستگاههای مختلف مثل پرینتر، نمایشگرها و… استفاده میشوند.
پورتهای سریال Serial Ports :
این پورتها میتوانند بین میکروکنترولر و انواع لوازم جانبی مثل پورتهای موازی ارتباط سریال برقرارکنند.
تایمر Timers :
یک میکروکنترولر میتواند از یک یا چند تایمر یا شمارنده ساخته شود. تایمرها و شمارندهها تمام عملیات زمانبندی و شمارش را در یک میکروکنترولر کنترل میکند. تایمر شمارش پالس خارجی و عملیات اصلی تولید پالس، توابع کلاک، اندازهگیری فرکانس، ساخت نوسانات و … را انجام میدهد.
مبدل آنالوگ به دیجیتال (ADC(Analog to Digital converter :
ADC برای تبدیل سیگنال آنالوگ به دیجیتال استفاده میشود و سیگنالهای ورودی برای ADC باید آنالوگ باشند. تولید سیگنال دیجیتال برای برنامههای جانبی مختلف استفاده میشود.
مبدل دیجیتال به آنالوگ (DCA (Digital to Analog converter :
این مبدل توابع مقابل ADC را اجرامیکند و عموما برای نظارت بردستگاههای آنالوگ مثل موتورهای DC و … تعبیه شده است.
کنترلکننده Interpret Control :
این کنترلکننده وظیفه کنترل تاخیر برای برنامه درحال اجرا را دارد.
بلوک عملکرد خاص Special Functioning Block:
بعضی از میکروکنترولرها برای یک دستگاه خاص مثل سیستمهایفضایی، رباتها و … شامل این بلوک عملکرد خاصاند. این بلوکها پورتهای اضافی برای انجام عملیات خاص دارند.
چگونه یک میکروکنترلر برنامهریزی میشود؟
میکروکنترولرها دارای کامپایلرهای خاص هستند و برای برنامهریزی آنرا داخل دستگاهی بهنام Programmer قرار میدهند و با کابلی که به کامپیوترمتصلاست، برنامه در حافظه ROM آن ذخیره میشود.
Programmerها سه نوعاند:
۱. به وسیله پورتهای موازی که شامل ۲۵ پایه است برنامهریزی میشود.
۲. به وسیله پورتهای سریال که شامل ۹ پایه است برنامهریزی میشود.
۳. از طریق دستگاه USB برنامهریزی میشود.
شرکت Atmel روش (ISP (In System Programming ارائه داد که در آن برنامهریزی با استفاده از ۳ پایه (MISO (Master Input Slave Output)، MOSI (Master Output Slave Input و (CLK (Clock و زمانی که میکروکنترلردر حالت Reset است، انجام میشود.
تفاوت ریزپردازنده(میکروپروسسور) و میکروکنترلر
میکروکنترلر یک ریزکنترلر با قابلیت پردازش است و دارای ورودی، خروجی و حافظه جانبی میباشد. درواقع هر میکروکنترلر شامل یک میکروپروسسور است. میکروپروسسور تنها قابلیت پردازش دارد و طراح باید مدارهای حافظه و پورت های ورودی و خروجی را به آن متصل کند.
ویژگی های میکروکنترلر
به دلیل داشتن حافظه و امکانات جانبی در یک تراشه اندازه مدارنهایی و قیمت آن نسبت به یک ریزپردازنده کاهش و همچنین ضریب امنیت افزایش مییابد.
با فرکانس پایین، از ۴ بیت کلمه استفاده شده و برای مصرف انرژی کم طراحی شدهاست.
معماری آن با توجه به اهداف عمومی و ریزپردازندهها، ROM، RAM و I/O متفاوتاست.
یک دستگاه ورودی اختصاصی و اغلب یک صفحه نمایش برای خروجی دارد.
معمولا در تجهیزات دیگر تعبیه شده و برای کنترل ویژگیها یا اقدامات تجهیزات استفاده میشود.
برنامه مورد استفاده توسط میکروکنترلر در ROM ذخیره میشود.
در شرایطی که توابع محاسباتی محدود مورد نیازاست، استفاده میشود.
اما به دلیل عدم دسترسی مستقیم به هسته میکروکنترلر، طراحی به تراشه های موجود در بازار محدود می شود.
دستهبندی میکروکنترولرها
میکروکنترولرها را براساس معماری، حافظه، بیت و مجموعه دستورالعمل تقسیمبندی میکنند.
بیت
میکروکنترلر ۸بیتی، عملیات محاسباتی و منطقی را اجرامیکند. مانند میکروکنترلر ۸بیتی اینتل ۸۰۵۱ و ۸۰۳۱. میکروکنترلر۱۶بیتی با دقت و عملکرد بیشتری نسبت به ۸بیتی عملیات را اجرامیکند. مانند اینتل ۸۰۹۶. میکروکنترلر۳۲بیتی در دستگاههای کنترلشده خودکار استفاده میشود که با ۳۲بیت تمام عملیات منطقی و محاسباتی را انجامدهد.
حافظه
۱- External Memory Microcontroller میکروکنترلربا حافظه خارجی نوعی از تراشهها است که تمام بلوکهای یک میکروکنترلردرداخل آن تعبیه نشدهاست. میکروکنترلر۸۰۳۱ حافظه برنامه، درداخل ساختار تراشه وجودندارد.
۲- Embedded Memory Microcontroller میکروکنترلر با حافظه جاسازیشده نوعی تراشهاست که تمام بلوکهای توابع در داخل آن تعبیه شدهاست. میکروکنترلر۸۰۵۱ تمام برنامهها، حافظه داده، تایمر، وقفه وپورتهای I/O در داخل آن جاسازیشدهاست.
مجموعه دستورالعملها
CISC مخفف کلمه complex instruction set computer به معنی مجموعه دستورالعملهای پیچیده کامپیوتری است که به کاربر اجازه میدهد یک دستورالعمل را جایگزین چندین دستورالعمل پیچیده کند.
RISC مخفف کلمه Reduced Instruction Set Computers به معنی مجموعه دستورالعملهای کاهشیافته کامپیوتری است. RISC زمان عملیات را با کوتاهترکردن چرخه ساعت دستورالعملها کاهش میدهد.
بر اساس ساختارمعماری :
معماریHarvard :
در این ساختارمعماری ذخیرهسازی و کانالهای سیگنال برای هرمجموعه دستورالعمل و داده به صورت جداگانه ایجادشده است. این معماری کل دادهها را در CPU ذخیره می کند و هیچ دسترسی برای ذخیره دستورالعمل به عنوان داده وجودندارد. امکان دسترسی همزمان به دستورالعملها و داده ذخیرهشده درون کانالهای داخلی میکروکنترولر را فراهم میکند.
معماری Von Neumann :
دانشمندی بهنام John Von Neumann این ساختار را ارائه کرد. در این معماری برای دستورالعمل و داده یک مسیرداده یا کانال وجود دارد بنابراین CPU یک عمل واحد را در یک زمان انجام میدهد. این عمل ممکن است خواندن یا نوشتن روی داده یا استخراج مجموعه ای از دستورالعملها از حافظه باشد. بنابراین عمل استخراج و انتقالداده نمیتواند همزمان با استفاده از یک کانال مشترک انجامشود.
انواع میکروکنترلر ها:
میکروکنترلر ۸۰۵۱:
از خانواده میکروکنترلر های ۸۰۵۱ بیشتر استفاده میشود و این گروه تلاش میکنند که انتخابی ایدهآل برای متخصصان و علاقمندان باشند. شرکت اینتل میکروکنترلر اصلی ۸۰۵۱ را اختراع کرد و دو نوع دیگر این خانواده در زیر آوردهشدهاست
میکروکنترلر ۸۰۵۲ دارای ۳ تایمر و ۲۵۶ بایت حافظه است و علاوه برآن ویژگیهای ریزکنترلر های ۸۰۵۱ را نیزدارد. این تراشه زیرمجموعه تراشه ۸۰۵۱ است. میکروکنترولر ۸۰۳۱ که یک تراشه بدون ROM است و تمام ویژگیهای تراشه ۸۰۵۱ را داراست. برای اجرا یک ROM 64کیلوبایتی میتواند به این تراشه اضافهشود.
میکروکنترلر۸۰۵۱ دو نوع حافظه مختلف بهنام NV-RAM و UV-EPROM درتراشههای خود استفادهکردهاست.
معماری میکروکنترلر۸۰۵۱:
میکروکنترلر۸۰۵۱ یک تراشه ۸بیتی است که ۴۰ پایه دوبل درونی دارد. ۴کیلوبایت از حافظه ROM(در فضای قابل برنامهریزی تراشه)و ۱۲۸ بایت از حافظه ROM که داخلی هستند و میتواند حافظه ۶۴کیلوبایتی خارجی بهآن متصل شود. ۴ پورت موازی ۸ بیتی که به سادگی قابلبرنامهریزی وآدرسدهی هستند. یک تولیدکننده نوسان روی تراشه قراردارد که فرکانسی معادل ۱۲مگاهرتز تولیدمیکند و دو پایه به عنوان دو پورت سریال ورودی و خروجی روی تراشه وجوددارد. دو تایمر۱۶بیتی که بهعنوان تایمر برای عملکرد داخلی و همچنین شمارنده برای عملکرد خارجی تعبیه شده است. میکروکنترلر ۸۰۵۱ شامل ۵ منبع وقفه بهنامهای: وقفه پورت سریال، وقفه تایمر۱، وقفه خارجی ۰، وقفه تایمر۰ و وقفه خارجی ۱ است. برای برنامهریزی این میکروکنترلر ازسه ثبات
(GPRs (General Purpose Registers ثبات هدف عمومی
(SFRs (Special Function Registers ثبات تابع خاص
(SPRs (Special Purpose Registers ثبات هدف خاص
استفاده میشود.
میکروکنترلر AVR :
سرویسدهنده Atmel در سال ۱۹۶۶میکروکنترولر AVR را ارائه داده که معماری آن بر اساس معماری Harvard است. اساس آن کاهش مجموعهدستورالعمل کامپیوترهاست(RISC). این معماری دادهها و برنامه را بهصورت مجزا ذخیره و همزمان ازآنها استفاده میکند. این خانواده از میکروکنترولر برای تراشههایی که ازحافظه فلش برای ذخیره برنامه استفادهمیکنند، درمقابل با EPROM قابلبرنامهریزی، EEPROM یا ROM که میکروکنترلر های دیگرهمزمان آنها را بکارمیگیرند، مناسبترند. حافظه فلش یک حافظه قابلبرنامهریزی غیرقابلتغییراست .اگرچه در این معماری دستورات سریعتر انجاممیشوند، نوشتن برنامه مشکلتراست. AVR نام میکروکنترولر برپایه معماری RISC است و یک کلمه مخفف نیست.AVR ازاسامی توسعهدهندگان معماری این میکروکنترولر Alf-Egil Bogen و Vegard Wollan گرفتهشدهاست.
معماری میکروکنترلر AVR
AT90S8515 نخستین میکروکنترولر بود که براساس معماری AVR ساخته شد. میکروکنترلر AT90S1200 اولین تراشه برای ورود به بازار تجاری بود که در سال ۱۹۹۷ راهاندازیشد.
SRAM،Flash وEEPROM برروی یک تراشه گنجانده شدند که نیازبه حافظه خارجی در حداکثردستگاهها حذفشود. درچندین تراشه از این خانواده برای اضافه کردن حافظه داده اضافی از باسهای موازی خارجی استفادشدهاست. تمامی دستگاهها بهجز تراشه TinyAVR شامل رابط سریال که برای اتصال تراشه سریال فلش و EEPROM هستند.
ویژگی های خانواده AVR :
۳ نوع حافظه در میکروکنترلر AVR عبارتند از:
Flash: برنامه اصلی در آن ذخیره میشود.
SRAM: برای اجرای برنامه به این حافظه نیاز دارد.
EEPROM: یک حافظه داخلی و دائمی است که دادهها در آن نگه داری میشود.
میکروکنترلر AVR دارای ۳۲ رجیستر ۸بیتی که مستقیما به ALU متصل است. تعداد دستورالعملهای آن نسبتا کم است که معمولا در یک کلاک انجام میشوند.
میکروکنترولرAVR در بازار برقوالکترونیک مصرف بالایی دارند. برنامه نویسی این دسته با زبان C و بیسیک انجام میشود. تمام برنامههای نوشتهشده برای همه میکروکنترولرهای Atmel یکسان ولی با ثباتهای متفاوتاست.
خانواده میکروکنترلرAVR :
AVR Clasic: جزو اولین ریزکنترلر ها هستند که سریهای جدیدتر آن استفاده میشود وتوانایی بیشتری نسبت به سری ATtiny دارند. ریزکنترلر ها بانام AT90 معرف این سری هستند.
ATtiny: این سری CPU قدرتمند، حافظه فلش ۴ کیلوبایتی و حافظه RAM و EEPROM 128 بایتی دارند. این میکروکنترلر ها به دلیل ابعاد کوچک، پایههای کمتر در مدارهایی که حجمشان مهم است استفادهمیشود.
ATmega: این خانواده از میکروکنترلر ها جزو قویترین سری هستند و نام آنها با ATmega شروع میشود. عدد انتهای آن میزان حافظه فلش موجود در آن را نمایش میدهد مانند ATmega128. میکروها در این خانواده از نظر ولتاژ و فرکانس باهم متفاوتهستند که با دو حرف A و L در انتهای نام آنها جدا میشوند. برای مثال ATmega64A ولتاژ ۴.۵ تا ۵.۵ و فرکانس ۰ تا ۱۶ مگاهرتز دارد وATmega64L ولتاژ ۲.۷ تا ۵.۵ و فرکانس ۰ تا ۸ مگاهرتز دارد.
ATXmega: تفاوت عمده این سری با سری ATmega درپهنای باند، رجیسترو باسهای دستورالعمل و داده ۱۶بیتی هستند که دو حالت ۸ و ۱۶ بیتی را میتوانند پردازشکنند، میزان حافظه بیشتر و فرکانس بالاتریدارند. این میکروها توان مصرفی کم و Real Time هستند و برای کاربردهای همراه مناسباند.
میکروکنترلرPIC :
معماری این میکروکنترولربر اساس معماری Harvard و کلمه PIC مخفف «Peripheral Interface Controller» است که شرکت میکروچیپ آنرا ارائه کردهاست. این ریزکنترلر دردسته میکروکنترلر های یکپارچه دسته بندی میشود. در میان میکروکنترلر های ۸بیتی ازجمله موفقترین نوع است که مهمترین دلیل آن بهروزرسانی مداوم تکنولوژی این تراشه در دستگاههای لوازم خانگی و رفع نیازهای مشتریاناست. این تراشه از برنامهنویسی C، اسمبلی و بیسیک C پشتیبانی میکند. تراشه PIC در میان صنعتگران بسیار محبوب است. از ویژگیهای آن هزینهکم،مصونیت دربرابرنویز، قابلیت برنامهریزیسریال و دسترسی گسترده است.
معماری میکروکنترلر PIC :
معماری میکروکنترلر های ۸ بیتی PIC به صورت زیر دسته بندیمیشوند:
۱- معماری Base Line: میکروکنترلر ها با معماری پایه خطی که میکروکنترلر های خانواده PIC10F و برخی از خانواده PIC12 وPIC16 دراین دسته قرارمیگیرند. این ابزارها از۱۲بیت برنامه با ۶ به ۲۸ پایه جایگزین استفادهمیکنند. مجموعه ویژگیهای مشخص از معماری پایه راهحلهای سودآوری ارائه میدهد. این معماری برای ابزارهایی که ازباتری استفادهمیکنند بسیارمناسباست. سری PIC10F200 با ۸بیت حافظه فلش با یک بسته ۶پایهای است.
۲- معماری Mid Range: دراین معماری ۱۴ بیت کلمه برنامه به خانوادههای PIC12 و PIC16 اضافهشدهاست. ابزارهای PIC16 دراین معماری انواع گسترده ای از بستههای جایگزین(از ۸ تا ۶۴ بسته)،با سطح پایین تا بالا ازپیوستگی محیطی عرضهکردهاست. PIC16 دارای انواع لوازم جانبی از آنالوگ، دیجیتال و سریال مانند SPI، USART، ۱۲C، USB، LCD و مبدل A/D هستند. میکروکنترلر PIC16 در این معماری قابلیت کنترل را با سوارکردن یک سختافزار۸ سطحی، معلقکردهاست.
۳- معماری High Performance: معماری عملکردبالا شامل لوازم از خانواده PIC18 است. این میکروکنترلر ها از معماری ۱۶ بیت کلمه برنامه همراه با بسته جایگزین ۱۸ تا ۱۰۰ پایه استفادهمیکند. لوازم PIC18 دارای عملکردبالا با ترکیب کردن مبدل آنالوگ به دیجیتال هستند. تمام میکروکنترلر های خانواده PIC18 از معماری RISC پشتیبانیمیکنند. این تراشه ویژگیهای پایه، ۳۲ سطح عمق و چندین وقفه داخلی و خارجی را بهبوددادهاست.
خانواده میکروکنترولر PIC :
PIC10F: اولین ریزکنترلر های سری PIC که ۸ بیتی هستند و ابعاد آن بسیار کوچک و ۶پایه دارند. با توسعه میکروکنترلر ها سرعت این سری حداکثر۱۶مگاهرتراست.
PIC12F: هزینهکم، استفاده آسان و ۸ پایه از ویژگیهای این ریزکنترلر ها است وحداکثر سرعت ۳۲ مگاهرتز دارند و ازسری میکروهای ۸ بیتی هستند.
PIC16F: میکروکنترلر ۸ بیتی که حداکثر سرعت آن ۴۸ مگاهرتز است.
PIC18F: قویترین و جدیدترین نوع میکروکنترلر ۸بیتی است که حداکثر سرعت آن به ۶۴ مگاهرتز میرسد که ۸۰ پایه و ۱۲۸ کیلوبایت حافظه فلش دارد.
PIC24F: از سری ریزکنترلر های ۱۶ بیتی PIC هستند که حافظه بیشتر، سرعت بالا و کارکرد بالا از ویژگیهای این سری است و سرعت آن حداکثر تا ۲۵۰ مگاهرتز میرسد. PIC24H و PIC24E: در این سری CPU توسعه یافته و سرعت آن تا ۷۰MIPS میرسد.
dsPIC30F: این میکروها به میکروکنترلر های پردازش سیگنال معروف هستند که سرعت آنها ۳۰MIPS است.
DsPIC33F , dsPIC33E: در این سری از ریزکنترلر ها سرعت CPU از ۱۶MIPS به ۷۰MIPS افزایشیافتهاست.
سری میکروهای ۳۲بیتی: سرعت فرکانس تا ۲۰۰ مگاهرتز و سرعت CPU تا ۳۳۰MIPS رسیدهاست. این گروه ۲ مگابایت حافظه داخلی فلش و رابط USB ،OTG و Ethernet دارد.
میکروکنترلر ARM:
ARM نام شرکتی است که معماری میکروپردازنده را طراحی کرده است. همچنین در زمینه صدور مجوز برای تولیدکنندگانی که تراشه واقعی تولید میکنند فعال است. میکروپروسسور ARM معماری ۳۲بیتی RISC است که شرکت Acorn Computer Ltd در سال ۱۹۸۰ توسعهدادهشد. میکروپروسسور ARM حافظه فلش داخلی ندارد و منحصرا برای دستگاههای میکروکنترولرطراحی شده که آموزش و استفاده ازآن ساده است. اما برای به چالش کشیدن دستگاههای جاسازیشده بسیار قدرتمند هستند.
معماری میکروکنترلر ARM
ویژگی های صرفهجویی انرژی و واحد پردازش مرکزی باعث شده که این تراشه در دستگاههای موبایل جاییکه هزینه انرژی کم است یک هدف حیاتی برای طراحی باشد. معماری ARM شامل عناصر RISC زیراست:
حداکثر عملکرد تک چرخهای
ثبات ۳۲*۱۶ بیتی دائمی
معماری ذخیره و بارگذاری
پهنای دستورالعمل تنظیم شده از۳۲ بیت به منظورسادهسازی خطلوله و رمزگشایی در حداقل تراکم کد
برای دسترسی حافظه ناهماهنگ پشتیبانی ندارد.
میکروکنترلر ARM- Cortex :
یکی از محبوبترین میکروکنترلر های موجود در سیستمهای جاسازی شدهاست که در صنایع به دلیل داشتن ویژگیهای زیاد مورداستفاده قرارمیگیرد. میکروکنترلر های ARM، حساسیت و عملکرد بالایی دارند که در طیف گستردهای از دستگاهها مانند سیستمهای کنترل صنعتی، شبکههای بیسیم و سنسورها و سیستمهای بدنه خودرو استفادهمیشوند.
میکروکنترلر ARM- Cortex یک ریزکنترلرگر پیشرفته ازخانواده ARM است که با معماری ARMv7 توسعه دادهشدهاست. خانواده ARM- Cortex به سه خانواده تقسیم بندی شده که به شرح زیر است:
سری ARM- Cortex Ax
سری ARM- Cortex Rx
سری ARM- Cortex Mx
در حال حاضربسیاری از توسعهدهندگان ریزکنترلر های ۳۲ بیتی را براساس ریزکنترلر های ARM Cortex-M3 ارائهمیدهند. این تراشهها زبان برنامهنویسی سطح پایین و بالا را پشتیبانیمیکنند. اما برخی از این ریزکنترلر های قدیمی به دلیل طراحی با محدودیت دراستفاده از زبان سطح بالا دچارمشکل میشوند.
با قدرتمند شدن پردازندهها در گوشی، ابزارهای پوشیدنی جایگاه ویژهای در میان مردم پیداکردهاست. به همین منظور تراشههای سری Cortex-M شرکت ARM که به دلیل توان مصرف پایین برای ابزارهای پوشیدنی مناسبترند مورداستفاده قرارمیگیرند. کمپانی ARM بازار تراشههای ابزارهای پوشیدنی را دردست گرفتهاست.
برنامه نویسی میکروکنترلرARM cortex
ریزکنترلر ARM با فرکانس ۱۰۰مگاهرتز و عملکرد بالا اجرا میشود بنابراین از زبان سطح بالا پشتیبانی میکند.این تراشه با IDES های مختلف Keiluvision3، Keiluvision4، Coocox و مانند آن برنامهریزی شده که میکروکنترلر۸ بیتی از ۸ بیت دستورالعمل و ARM Cortex-m از ۳۲بیت دستورالعمل استفادهمیکند.
میکروکنترولرHitachi:
میکروکنترولر Hitachi متعلق بهخانواده کنترولر H8 است بانام H8 معرفی شدهاند. در خانواده بزرگ میکروکنترولرهای ۸بیتی، ۱۶بیتی و ۳۲بیتی قرار دارد که در اویل دهه ۱۹۹۰ در نیمههادیهای Hitachi استفادهشدهاست.
میکروکنترولرMotorola:
میکروکنترولر موتورولا برای عملکردبالا در عملیات دستکاریداده استفاده میشود. این تراشه از ماژولیکپارچهسازی سیستم، زمان پردازش واحد و ماژول سریال سری استفادهمیکند. میکروکنترلر ۶۸۱۱ ساخت شرکت موتورولا است.
کاربردهای میکروکنترولر:
میکروکنترولرها برای دستگاههای جاسازیشده درمقایسه با میکروپردازندههای مورداستفاده در رایانهشخصی استفاده میشوند. میکروکنترولرها در اختراعات خودکار و دستگاهها مانند ابزارهای انرژی، دستگاههای پزشکی، سیستمهای کنترل موتوراتومبیل، ماشینهای اداری، دستگاههای کنترل از راهدور، اسباببازیها و بسیاری از سیستم های جاسازیشده استفاده میشوند. با دقت به اندازه و هزینه در مقایسه با یک طراحی که از ریزپردازنده های مختلف، دستگاههای I/o و حافظه استفاده کرده میکروکنترولرها آنها را برای کنترل دیجیتالی و بیشتر دستگاهها و عملیات ارزانتر کردهاست.
کاربرد میکروکنترولر در وسایل زندگی روزمره
دستگاه سنجش و کنترل نور
دستگاه کنترل و اندازه گیری دما
تشخیص آتش و وسایل ایمنی
دستگاههای ابزاردقیق صنعتی
دستگاههای کنترل فرایند
کاربرد میکروکنترلر ها در دستگاههای کنترل صنعتی :
ابزارهای دقیق صنعتی
دستگاه کنترل فرایند
کاربرد میکروکنترلر در اندازهگیری و وسایل اندازهگیری :
ولت متر
اندازهگیری اجسام چرخشی
سیستم اندازهگیری دستی
همه میکروکنترلر های دارای ویژگیهای خاص و کاربردهای متفاوت هستند. نمیتوان گفت که کدامیک کارایی بهتر و یا استفاده مقرون بهصرفه دارند چراکه هرکدام بهدلیل کاربرد و ویژگیهای خود درموارد مختلف مورداستفاده قرارمیگیرند. تمام شرکتهای سازنده با پیشرفت تکنولوژی این ریزکنترلر ها و ویژگیهایشان را به روزرسانی میکنند.
اولین میکروکنترلر ها حافظه کوچک ROM و حافظه داده RAM و تعدادی ورودی/خروجی داشتند که با توسعه تکنولوژی دستورالعملها، تایمر، امکانات وقفه و خطوط I/O دراین ریزکنترلر ها بهینه شدند. محدود بودن حافظه نیز با استفاده از حافظه EPROM که با اشعه ماورابنفش قابل پاک شدن بود، ارتقا یافت. شرکت اینتل که بهترین CPU ها را به بازار ارائه میدهد، نزدیک به ۴ دهه گذشته اولین میکروکنترولر را در سال ۱۹۷۱ ساخت و در سال ۱۹۸۰ اولین میکروکنترلر بانام ۸۰۸۰ را روانه بازار کرد. برای اینکه به تولید انبوه برساند مجوز ساخت آن را به شرکتهای Semiconductor Dallas، Xeimens، Atmel و Motorolaداد مشروط براینکه برنامههایی که برای ۸۰۵۱ نوشته میشود با همه میکروکنترولرهای این شرکت سازگاری داشته باشد. در سال ۱۹۸۶ شرکت Atmel میکروکنترلر AVR را ارائه کرد که به نوعی تکمیل شده ۸۰۵۱ بود.
میکروکنترلر چیست؟
میکروکنترلر یک مدار مجتمع یا چیپ الکترونیکی است که عملکرد آنها از قبل برنامهریزی شده است. امروزه انواع میکروکنترولرها با طول کلمه متفاوت ۱۲۸،۶۴،۸،۴ بیتی در بازار موجود است که برای کنترل دستگاههایی که نیازبه کنترل دارند جاسازیمیشود، مانند ماشینهای اداری، لوازمخانگی، رباتها، وسایلنقلیه و بسیاری از ابزارها. میکروکنترلر از اجزایی تشکیل میشود که مهمترین آن پردازنده است. هروسیله ای که اطلاعاتی را ذخیره و اندازهگیریمیکند، ازمیکروکنترولر درآن استفادهشدهاست.
اجزای میکروکنترولر(ریزکنترلر) :
میکروکنترولرها اجزایی مانند اجزای کامپیوتر دارند که در زیر به آنها اشارهشدهاست.
واحد پردازش (CPU) :
CPU را مغز میکروکنترولر مینامند و این پردازنده عملیات استخراج داده، رمزگشایی و درنهایت انجام وظایف اختصاصداده شده را به عهده دارد. حافظه قابلبرنامهریزی دستورالعملها را استخراج و CPU آنها را رمزگشایی میکند.
حافظه (Memory) :
درمیکروکنترولرها حافظه همانند میکروپروسسورها تمام برنامهها و دادههارا ذخیره میکند. میکروکنترولرها با مقدار مشخصی از ROM، RAM یا حافظهفلش برای ذخیره کد برنامه ساختهشدهاست.
ورودی و خروجی ها (I/O) :
پورتهای ورودی و خروجی برای اتصال به دستگاههای مختلف مثل پرینتر، نمایشگرها و… استفاده میشوند.
پورتهای سریال Serial Ports :
این پورتها میتوانند بین میکروکنترولر و انواع لوازم جانبی مثل پورتهای موازی ارتباط سریال برقرارکنند.
تایمر Timers :
یک میکروکنترولر میتواند از یک یا چند تایمر یا شمارنده ساخته شود. تایمرها و شمارندهها تمام عملیات زمانبندی و شمارش را در یک میکروکنترولر کنترل میکند. تایمر شمارش پالس خارجی و عملیات اصلی تولید پالس، توابع کلاک، اندازهگیری فرکانس، ساخت نوسانات و … را انجام میدهد.
مبدل آنالوگ به دیجیتال (ADC(Analog to Digital converter :
ADC برای تبدیل سیگنال آنالوگ به دیجیتال استفاده میشود و سیگنالهای ورودی برای ADC باید آنالوگ باشند. تولید سیگنال دیجیتال برای برنامههای جانبی مختلف استفاده میشود.
مبدل دیجیتال به آنالوگ (DCA (Digital to Analog converter :
این مبدل توابع مقابل ADC را اجرامیکند و عموما برای نظارت بردستگاههای آنالوگ مثل موتورهای DC و … تعبیه شده است.
کنترلکننده Interpret Control :
این کنترلکننده وظیفه کنترل تاخیر برای برنامه درحال اجرا را دارد.
بلوک عملکرد خاص Special Functioning Block:
بعضی از میکروکنترولرها برای یک دستگاه خاص مثل سیستمهایفضایی، رباتها و … شامل این بلوک عملکرد خاصاند. این بلوکها پورتهای اضافی برای انجام عملیات خاص دارند.
چگونه یک میکروکنترلر برنامهریزی میشود؟
میکروکنترولرها دارای کامپایلرهای خاص هستند و برای برنامهریزی آنرا داخل دستگاهی بهنام Programmer قرار میدهند و با کابلی که به کامپیوترمتصلاست، برنامه در حافظه ROM آن ذخیره میشود.
Programmerها سه نوعاند:
۱. به وسیله پورتهای موازی که شامل ۲۵ پایه است برنامهریزی میشود.
۲. به وسیله پورتهای سریال که شامل ۹ پایه است برنامهریزی میشود.
۳. از طریق دستگاه USB برنامهریزی میشود.
شرکت Atmel روش (ISP (In System Programming ارائه داد که در آن برنامهریزی با استفاده از ۳ پایه (MISO (Master Input Slave Output)، MOSI (Master Output Slave Input و (CLK (Clock و زمانی که میکروکنترلردر حالت Reset است، انجام میشود.
تفاوت ریزپردازنده(میکروپروسسور) و میکروکنترلر
میکروکنترلر یک ریزکنترلر با قابلیت پردازش است و دارای ورودی، خروجی و حافظه جانبی میباشد. درواقع هر میکروکنترلر شامل یک میکروپروسسور است. میکروپروسسور تنها قابلیت پردازش دارد و طراح باید مدارهای حافظه و پورت های ورودی و خروجی را به آن متصل کند.
ویژگی های میکروکنترلر
به دلیل داشتن حافظه و امکانات جانبی در یک تراشه اندازه مدارنهایی و قیمت آن نسبت به یک ریزپردازنده کاهش و همچنین ضریب امنیت افزایش مییابد.
با فرکانس پایین، از ۴ بیت کلمه استفاده شده و برای مصرف انرژی کم طراحی شدهاست.
معماری آن با توجه به اهداف عمومی و ریزپردازندهها، ROM، RAM و I/O متفاوتاست.
یک دستگاه ورودی اختصاصی و اغلب یک صفحه نمایش برای خروجی دارد.
معمولا در تجهیزات دیگر تعبیه شده و برای کنترل ویژگیها یا اقدامات تجهیزات استفاده میشود.
برنامه مورد استفاده توسط میکروکنترلر در ROM ذخیره میشود.
در شرایطی که توابع محاسباتی محدود مورد نیازاست، استفاده میشود.
اما به دلیل عدم دسترسی مستقیم به هسته میکروکنترلر، طراحی به تراشه های موجود در بازار محدود می شود.
دستهبندی میکروکنترولرها
میکروکنترولرها را براساس معماری، حافظه، بیت و مجموعه دستورالعمل تقسیمبندی میکنند.
بیت
میکروکنترلر ۸بیتی، عملیات محاسباتی و منطقی را اجرامیکند. مانند میکروکنترلر ۸بیتی اینتل ۸۰۵۱ و ۸۰۳۱. میکروکنترلر۱۶بیتی با دقت و عملکرد بیشتری نسبت به ۸بیتی عملیات را اجرامیکند. مانند اینتل ۸۰۹۶. میکروکنترلر۳۲بیتی در دستگاههای کنترلشده خودکار استفاده میشود که با ۳۲بیت تمام عملیات منطقی و محاسباتی را انجامدهد.
حافظه
۱- External Memory Microcontroller میکروکنترلربا حافظه خارجی نوعی از تراشهها است که تمام بلوکهای یک میکروکنترلردرداخل آن تعبیه نشدهاست. میکروکنترلر۸۰۳۱ حافظه برنامه، درداخل ساختار تراشه وجودندارد.
۲- Embedded Memory Microcontroller میکروکنترلر با حافظه جاسازیشده نوعی تراشهاست که تمام بلوکهای توابع در داخل آن تعبیه شدهاست. میکروکنترلر۸۰۵۱ تمام برنامهها، حافظه داده، تایمر، وقفه وپورتهای I/O در داخل آن جاسازیشدهاست.
مجموعه دستورالعملها
CISC مخفف کلمه complex instruction set computer به معنی مجموعه دستورالعملهای پیچیده کامپیوتری است که به کاربر اجازه میدهد یک دستورالعمل را جایگزین چندین دستورالعمل پیچیده کند.
RISC مخفف کلمه Reduced Instruction Set Computers به معنی مجموعه دستورالعملهای کاهشیافته کامپیوتری است. RISC زمان عملیات را با کوتاهترکردن چرخه ساعت دستورالعملها کاهش میدهد.
بر اساس ساختارمعماری :
معماریHarvard :
در این ساختارمعماری ذخیرهسازی و کانالهای سیگنال برای هرمجموعه دستورالعمل و داده به صورت جداگانه ایجادشده است. این معماری کل دادهها را در CPU ذخیره می کند و هیچ دسترسی برای ذخیره دستورالعمل به عنوان داده وجودندارد. امکان دسترسی همزمان به دستورالعملها و داده ذخیرهشده درون کانالهای داخلی میکروکنترولر را فراهم میکند.
معماری Von Neumann :
دانشمندی بهنام John Von Neumann این ساختار را ارائه کرد. در این معماری برای دستورالعمل و داده یک مسیرداده یا کانال وجود دارد بنابراین CPU یک عمل واحد را در یک زمان انجام میدهد. این عمل ممکن است خواندن یا نوشتن روی داده یا استخراج مجموعه ای از دستورالعملها از حافظه باشد. بنابراین عمل استخراج و انتقالداده نمیتواند همزمان با استفاده از یک کانال مشترک انجامشود.
انواع میکروکنترلر ها:
میکروکنترلر ۸۰۵۱:
از خانواده میکروکنترلر های ۸۰۵۱ بیشتر استفاده میشود و این گروه تلاش میکنند که انتخابی ایدهآل برای متخصصان و علاقمندان باشند. شرکت اینتل میکروکنترلر اصلی ۸۰۵۱ را اختراع کرد و دو نوع دیگر این خانواده در زیر آوردهشدهاست
میکروکنترلر ۸۰۵۲ دارای ۳ تایمر و ۲۵۶ بایت حافظه است و علاوه برآن ویژگیهای ریزکنترلر های ۸۰۵۱ را نیزدارد. این تراشه زیرمجموعه تراشه ۸۰۵۱ است. میکروکنترولر ۸۰۳۱ که یک تراشه بدون ROM است و تمام ویژگیهای تراشه ۸۰۵۱ را داراست. برای اجرا یک ROM 64کیلوبایتی میتواند به این تراشه اضافهشود.
میکروکنترلر۸۰۵۱ دو نوع حافظه مختلف بهنام NV-RAM و UV-EPROM درتراشههای خود استفادهکردهاست.
معماری میکروکنترلر۸۰۵۱:
میکروکنترلر۸۰۵۱ یک تراشه ۸بیتی است که ۴۰ پایه دوبل درونی دارد. ۴کیلوبایت از حافظه ROM(در فضای قابل برنامهریزی تراشه)و ۱۲۸ بایت از حافظه ROM که داخلی هستند و میتواند حافظه ۶۴کیلوبایتی خارجی بهآن متصل شود. ۴ پورت موازی ۸ بیتی که به سادگی قابلبرنامهریزی وآدرسدهی هستند. یک تولیدکننده نوسان روی تراشه قراردارد که فرکانسی معادل ۱۲مگاهرتز تولیدمیکند و دو پایه به عنوان دو پورت سریال ورودی و خروجی روی تراشه وجوددارد. دو تایمر۱۶بیتی که بهعنوان تایمر برای عملکرد داخلی و همچنین شمارنده برای عملکرد خارجی تعبیه شده است. میکروکنترلر ۸۰۵۱ شامل ۵ منبع وقفه بهنامهای: وقفه پورت سریال، وقفه تایمر۱، وقفه خارجی ۰، وقفه تایمر۰ و وقفه خارجی ۱ است. برای برنامهریزی این میکروکنترلر ازسه ثبات
(GPRs (General Purpose Registers ثبات هدف عمومی
(SFRs (Special Function Registers ثبات تابع خاص
(SPRs (Special Purpose Registers ثبات هدف خاص
استفاده میشود.
میکروکنترلر AVR :
سرویسدهنده Atmel در سال ۱۹۶۶میکروکنترولر AVR را ارائه داده که معماری آن بر اساس معماری Harvard است. اساس آن کاهش مجموعهدستورالعمل کامپیوترهاست(RISC). این معماری دادهها و برنامه را بهصورت مجزا ذخیره و همزمان ازآنها استفاده میکند. این خانواده از میکروکنترولر برای تراشههایی که ازحافظه فلش برای ذخیره برنامه استفادهمیکنند، درمقابل با EPROM قابلبرنامهریزی، EEPROM یا ROM که میکروکنترلر های دیگرهمزمان آنها را بکارمیگیرند، مناسبترند. حافظه فلش یک حافظه قابلبرنامهریزی غیرقابلتغییراست .اگرچه در این معماری دستورات سریعتر انجاممیشوند، نوشتن برنامه مشکلتراست. AVR نام میکروکنترولر برپایه معماری RISC است و یک کلمه مخفف نیست.AVR ازاسامی توسعهدهندگان معماری این میکروکنترولر Alf-Egil Bogen و Vegard Wollan گرفتهشدهاست.
معماری میکروکنترلر AVR
AT90S8515 نخستین میکروکنترولر بود که براساس معماری AVR ساخته شد. میکروکنترلر AT90S1200 اولین تراشه برای ورود به بازار تجاری بود که در سال ۱۹۹۷ راهاندازیشد.
SRAM،Flash وEEPROM برروی یک تراشه گنجانده شدند که نیازبه حافظه خارجی در حداکثردستگاهها حذفشود. درچندین تراشه از این خانواده برای اضافه کردن حافظه داده اضافی از باسهای موازی خارجی استفادشدهاست. تمامی دستگاهها بهجز تراشه TinyAVR شامل رابط سریال که برای اتصال تراشه سریال فلش و EEPROM هستند.
ویژگی های خانواده AVR :
۳ نوع حافظه در میکروکنترلر AVR عبارتند از:
Flash: برنامه اصلی در آن ذخیره میشود.
SRAM: برای اجرای برنامه به این حافظه نیاز دارد.
EEPROM: یک حافظه داخلی و دائمی است که دادهها در آن نگه داری میشود.
میکروکنترلر AVR دارای ۳۲ رجیستر ۸بیتی که مستقیما به ALU متصل است. تعداد دستورالعملهای آن نسبتا کم است که معمولا در یک کلاک انجام میشوند.
میکروکنترولرAVR در بازار برقوالکترونیک مصرف بالایی دارند. برنامه نویسی این دسته با زبان C و بیسیک انجام میشود. تمام برنامههای نوشتهشده برای همه میکروکنترولرهای Atmel یکسان ولی با ثباتهای متفاوتاست.
خانواده میکروکنترلرAVR :
AVR Clasic: جزو اولین ریزکنترلر ها هستند که سریهای جدیدتر آن استفاده میشود وتوانایی بیشتری نسبت به سری ATtiny دارند. ریزکنترلر ها بانام AT90 معرف این سری هستند.
ATtiny: این سری CPU قدرتمند، حافظه فلش ۴ کیلوبایتی و حافظه RAM و EEPROM 128 بایتی دارند. این میکروکنترلر ها به دلیل ابعاد کوچک، پایههای کمتر در مدارهایی که حجمشان مهم است استفادهمیشود.
ATmega: این خانواده از میکروکنترلر ها جزو قویترین سری هستند و نام آنها با ATmega شروع میشود. عدد انتهای آن میزان حافظه فلش موجود در آن را نمایش میدهد مانند ATmega128. میکروها در این خانواده از نظر ولتاژ و فرکانس باهم متفاوتهستند که با دو حرف A و L در انتهای نام آنها جدا میشوند. برای مثال ATmega64A ولتاژ ۴.۵ تا ۵.۵ و فرکانس ۰ تا ۱۶ مگاهرتز دارد وATmega64L ولتاژ ۲.۷ تا ۵.۵ و فرکانس ۰ تا ۸ مگاهرتز دارد.
ATXmega: تفاوت عمده این سری با سری ATmega درپهنای باند، رجیسترو باسهای دستورالعمل و داده ۱۶بیتی هستند که دو حالت ۸ و ۱۶ بیتی را میتوانند پردازشکنند، میزان حافظه بیشتر و فرکانس بالاتریدارند. این میکروها توان مصرفی کم و Real Time هستند و برای کاربردهای همراه مناسباند.
میکروکنترلرPIC :
معماری این میکروکنترولربر اساس معماری Harvard و کلمه PIC مخفف «Peripheral Interface Controller» است که شرکت میکروچیپ آنرا ارائه کردهاست. این ریزکنترلر دردسته میکروکنترلر های یکپارچه دسته بندی میشود. در میان میکروکنترلر های ۸بیتی ازجمله موفقترین نوع است که مهمترین دلیل آن بهروزرسانی مداوم تکنولوژی این تراشه در دستگاههای لوازم خانگی و رفع نیازهای مشتریاناست. این تراشه از برنامهنویسی C، اسمبلی و بیسیک C پشتیبانی میکند. تراشه PIC در میان صنعتگران بسیار محبوب است. از ویژگیهای آن هزینهکم،مصونیت دربرابرنویز، قابلیت برنامهریزیسریال و دسترسی گسترده است.
معماری میکروکنترلر PIC :
معماری میکروکنترلر های ۸ بیتی PIC به صورت زیر دسته بندیمیشوند:
۱- معماری Base Line: میکروکنترلر ها با معماری پایه خطی که میکروکنترلر های خانواده PIC10F و برخی از خانواده PIC12 وPIC16 دراین دسته قرارمیگیرند. این ابزارها از۱۲بیت برنامه با ۶ به ۲۸ پایه جایگزین استفادهمیکنند. مجموعه ویژگیهای مشخص از معماری پایه راهحلهای سودآوری ارائه میدهد. این معماری برای ابزارهایی که ازباتری استفادهمیکنند بسیارمناسباست. سری PIC10F200 با ۸بیت حافظه فلش با یک بسته ۶پایهای است.
۲- معماری Mid Range: دراین معماری ۱۴ بیت کلمه برنامه به خانوادههای PIC12 و PIC16 اضافهشدهاست. ابزارهای PIC16 دراین معماری انواع گسترده ای از بستههای جایگزین(از ۸ تا ۶۴ بسته)،با سطح پایین تا بالا ازپیوستگی محیطی عرضهکردهاست. PIC16 دارای انواع لوازم جانبی از آنالوگ، دیجیتال و سریال مانند SPI، USART، ۱۲C، USB، LCD و مبدل A/D هستند. میکروکنترلر PIC16 در این معماری قابلیت کنترل را با سوارکردن یک سختافزار۸ سطحی، معلقکردهاست.
۳- معماری High Performance: معماری عملکردبالا شامل لوازم از خانواده PIC18 است. این میکروکنترلر ها از معماری ۱۶ بیت کلمه برنامه همراه با بسته جایگزین ۱۸ تا ۱۰۰ پایه استفادهمیکند. لوازم PIC18 دارای عملکردبالا با ترکیب کردن مبدل آنالوگ به دیجیتال هستند. تمام میکروکنترلر های خانواده PIC18 از معماری RISC پشتیبانیمیکنند. این تراشه ویژگیهای پایه، ۳۲ سطح عمق و چندین وقفه داخلی و خارجی را بهبوددادهاست.
خانواده میکروکنترولر PIC :
PIC10F: اولین ریزکنترلر های سری PIC که ۸ بیتی هستند و ابعاد آن بسیار کوچک و ۶پایه دارند. با توسعه میکروکنترلر ها سرعت این سری حداکثر۱۶مگاهرتراست.
PIC12F: هزینهکم، استفاده آسان و ۸ پایه از ویژگیهای این ریزکنترلر ها است وحداکثر سرعت ۳۲ مگاهرتز دارند و ازسری میکروهای ۸ بیتی هستند.
PIC16F: میکروکنترلر ۸ بیتی که حداکثر سرعت آن ۴۸ مگاهرتز است.
PIC18F: قویترین و جدیدترین نوع میکروکنترلر ۸بیتی است که حداکثر سرعت آن به ۶۴ مگاهرتز میرسد که ۸۰ پایه و ۱۲۸ کیلوبایت حافظه فلش دارد.
PIC24F: از سری ریزکنترلر های ۱۶ بیتی PIC هستند که حافظه بیشتر، سرعت بالا و کارکرد بالا از ویژگیهای این سری است و سرعت آن حداکثر تا ۲۵۰ مگاهرتز میرسد. PIC24H و PIC24E: در این سری CPU توسعه یافته و سرعت آن تا ۷۰MIPS میرسد.
dsPIC30F: این میکروها به میکروکنترلر های پردازش سیگنال معروف هستند که سرعت آنها ۳۰MIPS است.
DsPIC33F , dsPIC33E: در این سری از ریزکنترلر ها سرعت CPU از ۱۶MIPS به ۷۰MIPS افزایشیافتهاست.
سری میکروهای ۳۲بیتی: سرعت فرکانس تا ۲۰۰ مگاهرتز و سرعت CPU تا ۳۳۰MIPS رسیدهاست. این گروه ۲ مگابایت حافظه داخلی فلش و رابط USB ،OTG و Ethernet دارد.
میکروکنترلر ARM:
ARM نام شرکتی است که معماری میکروپردازنده را طراحی کرده است. همچنین در زمینه صدور مجوز برای تولیدکنندگانی که تراشه واقعی تولید میکنند فعال است. میکروپروسسور ARM معماری ۳۲بیتی RISC است که شرکت Acorn Computer Ltd در سال ۱۹۸۰ توسعهدادهشد. میکروپروسسور ARM حافظه فلش داخلی ندارد و منحصرا برای دستگاههای میکروکنترولرطراحی شده که آموزش و استفاده ازآن ساده است. اما برای به چالش کشیدن دستگاههای جاسازیشده بسیار قدرتمند هستند.
معماری میکروکنترلر ARM
ویژگی های صرفهجویی انرژی و واحد پردازش مرکزی باعث شده که این تراشه در دستگاههای موبایل جاییکه هزینه انرژی کم است یک هدف حیاتی برای طراحی باشد. معماری ARM شامل عناصر RISC زیراست:
حداکثر عملکرد تک چرخهای
ثبات ۳۲*۱۶ بیتی دائمی
معماری ذخیره و بارگذاری
پهنای دستورالعمل تنظیم شده از۳۲ بیت به منظورسادهسازی خطلوله و رمزگشایی در حداقل تراکم کد
برای دسترسی حافظه ناهماهنگ پشتیبانی ندارد.
میکروکنترلر ARM- Cortex :
یکی از محبوبترین میکروکنترلر های موجود در سیستمهای جاسازی شدهاست که در صنایع به دلیل داشتن ویژگیهای زیاد مورداستفاده قرارمیگیرد. میکروکنترلر های ARM، حساسیت و عملکرد بالایی دارند که در طیف گستردهای از دستگاهها مانند سیستمهای کنترل صنعتی، شبکههای بیسیم و سنسورها و سیستمهای بدنه خودرو استفادهمیشوند.
میکروکنترلر ARM- Cortex یک ریزکنترلرگر پیشرفته ازخانواده ARM است که با معماری ARMv7 توسعه دادهشدهاست. خانواده ARM- Cortex به سه خانواده تقسیم بندی شده که به شرح زیر است:
سری ARM- Cortex Ax
سری ARM- Cortex Rx
سری ARM- Cortex Mx
در حال حاضربسیاری از توسعهدهندگان ریزکنترلر های ۳۲ بیتی را براساس ریزکنترلر های ARM Cortex-M3 ارائهمیدهند. این تراشهها زبان برنامهنویسی سطح پایین و بالا را پشتیبانیمیکنند. اما برخی از این ریزکنترلر های قدیمی به دلیل طراحی با محدودیت دراستفاده از زبان سطح بالا دچارمشکل میشوند.
با قدرتمند شدن پردازندهها در گوشی، ابزارهای پوشیدنی جایگاه ویژهای در میان مردم پیداکردهاست. به همین منظور تراشههای سری Cortex-M شرکت ARM که به دلیل توان مصرف پایین برای ابزارهای پوشیدنی مناسبترند مورداستفاده قرارمیگیرند. کمپانی ARM بازار تراشههای ابزارهای پوشیدنی را دردست گرفتهاست.
برنامه نویسی میکروکنترلرARM cortex
ریزکنترلر ARM با فرکانس ۱۰۰مگاهرتز و عملکرد بالا اجرا میشود بنابراین از زبان سطح بالا پشتیبانی میکند.این تراشه با IDES های مختلف Keiluvision3، Keiluvision4، Coocox و مانند آن برنامهریزی شده که میکروکنترلر۸ بیتی از ۸ بیت دستورالعمل و ARM Cortex-m از ۳۲بیت دستورالعمل استفادهمیکند.
میکروکنترولرHitachi:
میکروکنترولر Hitachi متعلق بهخانواده کنترولر H8 است بانام H8 معرفی شدهاند. در خانواده بزرگ میکروکنترولرهای ۸بیتی، ۱۶بیتی و ۳۲بیتی قرار دارد که در اویل دهه ۱۹۹۰ در نیمههادیهای Hitachi استفادهشدهاست.
میکروکنترولرMotorola:
میکروکنترولر موتورولا برای عملکردبالا در عملیات دستکاریداده استفاده میشود. این تراشه از ماژولیکپارچهسازی سیستم، زمان پردازش واحد و ماژول سریال سری استفادهمیکند. میکروکنترلر ۶۸۱۱ ساخت شرکت موتورولا است.
کاربردهای میکروکنترولر:
میکروکنترولرها برای دستگاههای جاسازیشده درمقایسه با میکروپردازندههای مورداستفاده در رایانهشخصی استفاده میشوند. میکروکنترولرها در اختراعات خودکار و دستگاهها مانند ابزارهای انرژی، دستگاههای پزشکی، سیستمهای کنترل موتوراتومبیل، ماشینهای اداری، دستگاههای کنترل از راهدور، اسباببازیها و بسیاری از سیستم های جاسازیشده استفاده میشوند. با دقت به اندازه و هزینه در مقایسه با یک طراحی که از ریزپردازنده های مختلف، دستگاههای I/o و حافظه استفاده کرده میکروکنترولرها آنها را برای کنترل دیجیتالی و بیشتر دستگاهها و عملیات ارزانتر کردهاست.
کاربرد میکروکنترولر در وسایل زندگی روزمره
دستگاه سنجش و کنترل نور
دستگاه کنترل و اندازه گیری دما
تشخیص آتش و وسایل ایمنی
دستگاههای ابزاردقیق صنعتی
دستگاههای کنترل فرایند
کاربرد میکروکنترلر ها در دستگاههای کنترل صنعتی :
ابزارهای دقیق صنعتی
دستگاه کنترل فرایند
کاربرد میکروکنترلر در اندازهگیری و وسایل اندازهگیری :
ولت متر
اندازهگیری اجسام چرخشی
سیستم اندازهگیری دستی
همه میکروکنترلر های دارای ویژگیهای خاص و کاربردهای متفاوت هستند. نمیتوان گفت که کدامیک کارایی بهتر و یا استفاده مقرون بهصرفه دارند چراکه هرکدام بهدلیل کاربرد و ویژگیهای خود درموارد مختلف مورداستفاده قرارمیگیرند. تمام شرکتهای سازنده با پیشرفت تکنولوژی این ریزکنترلر ها و ویژگیهایشان را به روزرسانی میکنند.