ARM
امروزه با پیشرفت روز افزون تجهیزات و الکترونیکی شدن آنها، بکارگیری سیستمهای یکپارچه رونق زیادی یافته است. به طوری که در اکثر دستگاههای جدید از این سیستمها استفاده می شود. به عنوان مثال گوشیهای همراه، سیستمهای ابزاردقیق و سنجش و …. اکثراً دارای این تجهیزات الکترونیکی میباشند.
با توجه به این موضوع اکثر سیستمهای ترمز ABS،GPS شرکتها و کارخانجات الکترونیکی به سمت این سیستمهای الکترونیکی روی آوردهاند.
که این خود باعث ایجاد یک رقابت در بین تولیدکنندگان پردازندههای سرعت بالا شده است.
در این خلال نسل جدید پردازندههای ARM به بازار معرفی شدند، که دارای سیستم پردازش ۳۲ بیتی با سرعت پردازش چند مگاهرتز تا چند صد مگاهرتز میباشند .
سرعت بالا، قیمت ارزان و حجم کم این پردازندهها باعث شد که اکثر تولیدکنندگان میکروکنترلرها و پروسسورها مانند ATMEL, PHILIPS و… آن را در لیست محصولات خود قرار دهند.
حجم کم پردازندههای ARM باعث شده که اکثر فضای داخلی میکروکنترلرها برای تجهیزات جانبی مانند DAC Serial, LAN, USB, ADC و … بکار گرفته شود.
هسته مرکزی (ALU) تمام میکروکنترلرهای ARM کارخانجات مختلف یکی است و تولید شرکت ACRON میباشد. بنابراین برنامه نوشته شده برای یک سری از میکروکنترلرها را میتوان برای سری دیگر نیز استفاده کرد.
گفتنی است که ARM مخفف کلمات Acron Risk Machine می باشد.
پردازندههایی که در میکروکنترلرهای ARMاستفاده میشوند ، پردازنده های ۳۲ بیتی با معماری Risk میباشد، این پردازندهها برای کاربردهای قابل حمل (Portable) بهینهسازی شدهاند به صورتی که مصرف توان آنها بسیار کم است و میتوان آن ها را توسط باتری برای مدت زیادی روشن نگه داشت به عنوان نمونه میتوان گوشیهای موبایل را نام برد که در آنها از این هسته پردازشی استفاده میشود.
معروفترین هسته پردازنده ARM نسخه 7 میباشد که یکی از رایجترین هستههای پردازشی موجود میباشد.
بعد از ARM 7 به ترتیب ARM9 و ARM11 قرار دارند.
انواع هستههای پردازنده سری 7 ARM:
ARM7TDMI رایجترین هسته پردازنده ۳۲ بیتی با معماری RISK میباشد.
ARM7TDMI-Sاین هسته نسخه قابل سنتز ARM7TDMI است.
ARM72OT این هسته علاوه بر ویژگیهای هستههای بالا داری حافظه CASHو بخش مدیریت حافظه میباشد.
ARM7EJ-5 این هسته برخی از قابلیتهای پیشرفته DSP را در خود دارد و برای کارهای پردازش سیگنال مناسب میباشد.
پردازندههای ARM از روش Pipe Line برای پردازش استفاده میکنند منظور این روش این است که پردازنده برای اجرای یک دستور است:
FETCH یا بازخوانی اطلاعات از حافظه کد
DECODE یا رمزگشایی اطلاعات نوشته شده
EXECUTE یا اجرای برنامه در پردازندههای قدیمیتر
در سیکل اول دستور اول FETCH میشود ، در سیکل دوم دستور اول DECODE میشود و دستور دوم FETCH میشود.
در سیکل سوم دستور اول EXECUTE، دستور دوم DECODE میشود و دستور سوم FETCHمیشود.
این نوع سیستم 3 STAGE PIPELINE است.
در پردازندههای ARM بالاتر مانند ARM9 سیستم پردازش 5 STAGE PIPELINE میباشد که عملیات خواندن و نوشتن از حافظهها نیز جزء این عملیات قرار گرفته در۱۰ ARM سیستم پردازش به صورتPIPELINE 6 STAGE است.
انتخاب میکروکنترلر :
شرکتهای مختلفی میکروکنترلر های بر مبنای پروسسور ARM میسازند مانند: atmel , Philips ,Samsung ,St-micro Motorola و کمپانیهای دیگر ما از میان این شرکتها میکروکنترلر های ساخت Philips را که از تولید شرکت NXP است به دلایل زیر انتخاب کردیم:
- قطعات سری LPC1000 یکی از متنوعترین خانوادههای میکروکنترلرهای با هستهی ARM7 هستند و قطعات این سری قیمت مناسب نسبت به کامل بودن امکانات جانبی دارند.
- اجرای برنامه از حافظهی فلش بسیار سریعتر است. بدلیل دسترسی ۱۲۸ بیتی به حافظهی فلش و وجود واحد شتابدهندهی حافظه (MAM)، قطعات LPC1000 میتوانند در مُد ARM با حداکثر سرعت130MHz به حافظهی فلش دسترسی داشته باشند؛ در حالیکه که SAM7ها با سرعتی کمتر از نصف این مقدار کد برنامه را اجرا میکنند.
- راهاندازی Peripheralهای قطعات LPC1000 آسانتر می باشد. اکثر سختافزارهای جنبی به شکلی طراحی شدهاند که لازم است رجیسترهای کمتری تنظیم شوند و بسیاری از آنها را میتوانید به حالت پیشفرض رها کنید.
- میکروکنترلرهای LPC1000 دارای Peripheralهایی هستند که به ندرت در سایر میکروکنترلرهای با هستهی ARM7 دیده میشود. بطور مثال تایمر ۳۲ بیتی با پیشتقسیمکنندهی ۳۲ بیتی حافظه فلش چیپ می تواند به روشهای مختلفی مانند J-TAG ، Boot Loader ، UART و …برنامهریزی میشود .
کامپایلرها و مفسرهای موجود برای چیپهای ARM را در اینجا ذکر میکنم:
IAR: قابلیت برنامه نویسی میکروکنترلرهای ARM به زبان های C و C++ و اسمبلی ، امکان شبیهسازی برنامه نوشته شده ، پشتیبانی تمامی میکروکنترلرهای ARM ، منابع آموزشی متوسط و محیط حرفهای، پشتیبانی از SPY-C که امکانات خیلی زیادی دارد، سرعت اجرای بالا و سازگاری کامل با ANSI C ، توابع کتابخانهای کم ، نداشتن باگهای امنیتی.
WinARM: قابلیت برنامه نویسی به زبان های C و C++، عدم شبیهسازی برنامه، فقط پشتیبانی ARM7، منابع آموزشی و مثالهای زیاد، متن باز بودن برنامه و بالطبع رایگان بودن، داشتن توابع کتابخانهای بالا، ۳ سال است که این نرم افزار به روز رسانی نشده است.
Keil: برنامهنویسی به زبانهای C و C++ و اسمبلی، امکان شبیهسازی برنامه نوشته شده، پشتیبانی تمام میکروکنترلرهای ARM ، کاربرپسندبودن برنامه و منابع آموزشی متوسط توابع کتابخانهای این کامپایلر به گونهای است که برنامه نوشته شده سطح بالا را میتوان برای دیگر میکروکنترلرها حتی خانواده STmicro نیز استفاده نمود.
سایر کامپایلر ها : Cross works for ARM , Flowcode ARM, ARM ADS, تقریبا دو کامپایلر keil و IAR از محبوبیت بیشتری برخوردارند .
مهندس احسان احمدی-مدرس دوره های الکترونیک مجتمع آموزشی متاکو
دیدگاهتان را بنویسید