آشنایی با میکروکنترلر های ARM Family
امروزه با پیشرفت روز افزون تجهیزات و الکترونیکی شدن آنها، بکارگیری سیستم های یکپارچه رونق زیادی یافته است.
به طوری که در اکثر دستگا ههای جدید از این سیستم ها استفاده می شود. به عنوان مثال گوشی های همراه، سیستم های ابزاردقیق و سنجش و …. اکثراً دارای این تجهیزات الکترونیکی می باشند.
با توجه به این موضوع اکثر 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 قرار دارند.
انواع هسته های پردازنده سری : ARM7
ARM7TDMI (1 رایج ترین هسته پردازنده ۳۲ بیتی با معماری RISK می باشد.
: ARM7TDMI-S (2 این هسته نسخه قابل سنتز ARM7TDMI است.
ARM72OT (3 این هسته علاوه بر ویژگی های هسته های بالا داری حافظه CASHو بخش مدیریت حافظه می باشد.
: ARM7EJ-5 (4 این هسته برخی از قابلیت های پیشرفته DSP را در خود دارد و برای کارهای پردازش سیگنال مناسب می باشد.
پردازنده های ARM از روش Pipe Line برای پردازش استفاده می کنند منظور این روش این است که پردازنده برای اجرای یک دستور است:
FETCH (1 یا بازخوانی اطلاعات از حافظه کد
DECODE (2 یا رمزگشایی اطلاعات نوشته شده
EXECUTE (3 یا اجرای برنامه در پردازنده های قدیمی تر
در سیکل اول دستور اول 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 از محبوبیت بیشتری برخوردارند .
برای یادگیری این دوره کارامد روی لینک زیر کلیک کنید.
دیدگاهتان را بنویسید