LOGO
ARM processor

ARM processor

یکشنبه بیست و پنجم فروردین 1392
دسته بندی :
همانطور که دوستان علاقمد درخواست کرده بودند لینک دانلود کامپایلر MDK-KEIL ورژن V4.7 رو گذاشتم. از آدرس صفحه زیر می تونید دانلود کنید حجمش حدود 550Mb

 

دانلود MDK-KEIL 4.7


ساعت ارسال 14:50 نویسنده: مهدی گلستانی
پنجشنبه شانزدهم آذر 1391
دسته بندی :

#include

این دستور برای معرفی قطعه یا چیپی که می خواهیم برای آن برنامه بنویسیم استفاده می شود

---------------------------------------------------------------------------------------------------

#include

با این دستور فایل هدر lib_AT91SAM7X256.h را به برنامه فراخوانی می کنیم. بعدا در مورد فایلهای هدر آشنا خواهیم شد.

---------------------------------------------------------------------------------------------------

void wait(void);

این دستور مشخص کننده وجود یک زیربرنامه است.

---------------------------------------------------------------------------------------------------

void main(void){

این بخش شروع حلقه ما خواهد بود. CPU میکرو دستورات میان دو آکولاد را اجرا می کند و فقط با دستورات پرش یا شرط از این حلقه بیرون می رود.

---------------------------------------------------------------------------------------------------

void main(){

دستورها

}

در واقع آکولادها مشخص می کنند که دستورات مربوط به کدام حلقه ها می باشند. در این بخش دستورات مربوط به حلقه ای به نام main است. نام حلقه می تواند هر چیزی باشد.

 

منبع: مجله pmm2


ساعت ارسال 18:40 نویسنده: مهدی گلستانی
چهارشنبه پانزدهم آذر 1391
دسته بندی :
یک پروژه بسیار ساده برای تست ترانزیستور

کسایی که معمولا در خانه پروژه های الکترونیکی انجام میدن گاهی وقتا به مشکل بر می خورن و وسیله ی مناسبی برای تست قطعات خصوصا ترانزیستورها که خیلی حساس هستند ندارند این تستز ساده و بدونه هزینه می تونه خیلی کمک کنه

 


ادامه مطلب
ساعت ارسال 17:20 نویسنده: مهدی گلستانی
جمعه دهم آذر 1391
دسته بندی :
خب حالا بریم سراغ ادامه کار با میکروکنترلرهای ARM

روشهای پروگرام کردن میکروهای ARM :

سریال (serial fast flash programming (JTAG 

پورت یو اس بی SAM BA BOOT

پارالل Parallel fast flash programming

 

برای پروگرام کردن از روشهای 1 و 3 نیاز به یک سخت افزار مربوط به خود است اما در روش 2 تنها لازم است که پورت USB میکروکنترلر را به طور صحیح روی یک برد ببندید

برای استفاده از این روش به نرم افزار AT91-ISP نیاز داریم که این نرم افزار رو کمپانی ATMEL به صورت رایگان در اختیار گداشته است.

با مراجعه به سایت www.ATMEL.com میتونید با توجه به سیستم عاملی که استفاده می کنید نسخه مورد نیاز رو دانلود و نصب کنید.

 

منبع: خودم و مجله pmm3


ساعت ارسال 16:43 نویسنده: مهدی گلستانی
جمعه دهم آذر 1391
دسته بندی :
اینم یکی دیگه از پروژه های این سایت

منبع: لینک مستقیم سایت electronics lab


ادامه مطلب
ساعت ارسال 16:31 نویسنده: مهدی گلستانی
جمعه دهم آذر 1391
دسته بندی :
این یکی از پروژه های سایت الکترونیکز لب هستش که قولشو داده بودم.

در این پروژه یک سنسور گاز راه اندازی اندازی شده متاسفانه متن کامل پروژه انگلیسی هست اما نکته ی خواصی نداره یک فایل هگز داره که باید روی میکروکنترلر 16F84A پروگرام کنید. شماتیک مدار هم کاملا واضحه و نیاز به توضیح نداره اما با این حال اگه کسی مشکلی داشت یا قسمتی از پروژه واسش جای سوال داشت سعی می کنم در کوتاه ترین زمان کمک کنم.

منبع: لینک مستقیم سایت electronics lab

 برای دیدن پروژه و محتوای اون ادامه مطلب رو ببینید.


ادامه مطلب
ساعت ارسال 15:36 نویسنده: مهدی گلستانی
پنجشنبه نهم آذر 1391
دسته بندی :
سلام

می خوام از پروژه های سایت معروف لب الکترونیکز در وبلاگ براتون تعدادی آماده کنم. همونطور که می دونید این سایت علمی متاسفانه بنا به دلایلی که نمیدونم تحت پوشش فیلترینگ ای اس پی ایران قرار گرفته و دسترسی به اون مشکل شده.

در این وبلاگ قصد دارم بعضی از این پروژه هارو برای دوستان و علاقمندان بذارم. در صورتی پروژه خاصی مد نظرتون هست میتونید از طریق ایمیل یا نظرات منو مطع کنید تا از زیره سنگم شده واستون پیدا کنم.

پس منتظر نظرات و ایمل های شما هستیم...

منبع: لینک مستقیم سایت electronics lab


ساعت ارسال 15:16 نویسنده: مهدی گلستانی
چهارشنبه هشتم آذر 1391
دسته بندی :

امروزه با پیشرفت روز افزون تجهیزات و الكترونیكی شدن آنها، بكارگیری سیستم های یكپارچه رونق زیادی یافته است. به طوری كه در اكثر دستگا ههای جدید از این سیستم ها استفاده می شود. به عنوان مثال گوشی های همراه، دستگاه و ....اكثراً دارای این تجهیزات الكترونیكی می باشند. با توجه به این موضوع اكثر ABS سیستم های ترمز ،GPS شركت ها و كارخانجات الكترونیكی به سمت این سیستم های الكترونیكی روی آورده اند. كه این خود باعث ایجاد یك رقابت در بین تولیدكنندگان پردازنده های سرعت بالا شده است. در این خلال نسل جدید پردازنده های ARM به بازار معرفی شدند ، كه دارای سیستم پردازش 32 بیتی با سرعت پردازش چند مگاهرتز تا چند صد مگ اهرتز می باشند . سرعت بالا، قیمت ارزان و حجم كم این پردازنده ها باعث شد كه اكثر تولیدكنندگان میكروكنترلرها و پروسسورها مانند ATMEL PHILIPS, و... آنرا در لیست محصولات خود قرار دهند.حجم كم پردازنده های ARM باعث شده كه اكثر فضای داخلی میكروكنترلرها برای تجهیزات جانبی مانند DAC ، Serial, LAN, USB, ADC و ... بكار گرفته شود.هسته داخلی تمام میكروكنترلرهای ARM كارخانجات مختلف یكی است بنابراین برنامه نوشته شده برای یك سری از میكروكنترلرها را می توان برای سری دیگر نیز استفاده كرد.




پردازنده هایی كه در میكروكنترلرهای ARMاستفاده می شوند ، پردازنده های 32 بیتی با معماری Risk می باشد، این پردازنده ها برای كاربردهای قابل حمل (Portable) بهینه سازی شده اند به صورتی كه مصرف توان آن ها بسیار كم است و می توان آن ها را توسط باتری برای مدت زیادی روشن نگه داشت به عنوان نمونه می توان گوشی های موبایل را نام برد كه در آنها از این هسته پردازشی استفاده می شود.

معروفترین هسته پردازنده ARM7 ، ARM می باشد كه یكی از رایج ترین هسته های پردازشی موجود می باشد.
بعد از ARM 7 به ترتیب ARM9 و ARM10 و ARM11 قرار دارند.
انواع هسته های پردازنده سری : ARM7

ARM7TDMI (1: رایج ترین هسته پردازنده 32 بیتی با معماری RISK می باشد.
: ARM7TDMI-S (2 این هسته نسخه قابل سنتز ARM7TDMI است.
ARM72OT (3: این هسته علاوه بر ویژگی های هسته های بالا داری حافظه CASHو بخش مدیریت حافظه می باشد.
: ARM7EJ-5 (4 این هسته برخی از قابلیت های پیشرفته DSP را در خود دارد و برای كارهای پردازش سیگنال مناسب می باشد.

پردازنده های ARM از سیستم PIPELINE برای پردازش استفاده می كنند منظور از این سیستم این است كه پردازنده دارای سه مد كاری برای اجرای یك دستور است:
FETCH (1 یا بازخوانی اطلاعات از حافظه كد
DECODE (2 یا رمزگشایی اطلاعات نوشته شده
EXECUTE (3 یا اجرای برنامه در پردازنده های قدیمی تر
در سیكل اول دستور اول FETCH می شود ، در سیكل دوم دستور اول DECODE می شود دستور دوم FETCHمیشود. در سیكل سوم دستور اول EXECUTE دستور دوم DECODE می شود و دستور سوم FETCHمی شود.
این نوع سیستم 3 STAGE PIPELINE است.
در پردازنده های ARM بالاتر مانند ARM9 سیستم پردازش 5STAGE PIPELINE می باشد كه عملیات خواندن و نوشتن از حافظه ها نیز جزء این عملیات قرار گرفته در10 ARM سیستم پردازش به صورتPIPELINE 6 STAGE است.

انتخاب میکرو کنترلر :

شرکت های مختلفی میکروکنترلر های بر مبنای پروسسور ARM می سازند مانند : atmel , Philips ,Samsung , St-micro , Motorola و کمپانی های دیگر ما از میان این شرکت ها میکروکنترلر های ساخت Philips رو که از تولید شرکت NXP است به دلایل زیر انتخاب کردیم:
· قطعات سری LPC2000 یکی از متنوع‏ترین خانواده‏ های میکروکنترلرهای با هسته‏ی ARM7 هستند و قطعات این سری، در مقایسه با AT91SAM قیمت کمتری دارند. مثلاً قیمت LPC2101 حدود 2 دلار است که این مقدار از خیلی از میکروکنترلرهای 8 بیتی (مثل ATmega16) کمتر است.
· اجرای برنامه از حافظ ه‏ی فلش بسیار سریعتر است. بدلیل دسترسی 128 بیتی به حافظه‏ی فلش و وجود واحد شتاب‏دهنده‏ی حافظه (MAM)، قطعات LPC2000 می‏توانند در مُد ARM با حداکثر سرعت 60 تا 75 MHz به حافظه‏ی فلش دسترسی داشته باشند؛ در حالیکه که SAM7ها با سرعتی کمتر از نصف این مقدار کد برنامه را اجرا می‏کنند. علاوه براین، در مقایسه با سایر میکروهای با هسته ی ARM7، فرکانس کاری میکروکنترلرهای LPC2000 نسبتاً بالاست (60 تا 70 مگاهرتز در LPC2000ها در مقایسه با 55 مگاهرتر در sam
· راه‏اندازی Peripheralهای قطعات LPC2000 ساده‏تره. اکثر سخت‏افزارهای جنبی به شکلی طراحی شده‏اند که لازمه رجیسترهای کمتری تنظیم بشن و بسیاری از اونها را می‏تونید به حالت پیش‏فرض رها کنید.
· میکروکنترلرهای LPC2000 دارای Peripheralهایی هستند که به ندرت در سایر میکروکنترلرهای با هسته‏ی ARM7 دیده می‏شه. مثلاً تایمر 32 بیتی با پیش‏تقسیم‏کننده‏ی 32 بیتی (AT91SAMها فقط تایمر 16 بیتی دارن!)، DAC، RTC، LIN، SSP، MMC/SD Controller، USB Host/OTG، Fast GPIO ،XGA LCD Controller و غیره.
· قطعات LPC دارای تعداد I/O بیشتری هستند. مثلاً قطعه‏ی LPC2132 که یک قطعه‏ی 64 پایه است 47 پایه‏ی GPIO داره درحالیکه قطعه ی مشابه 64 پایه ای AT91SAM7S64، دارای 32 خط I/O است.
· مستندات و نمونه برنامه های ارائه شده توسط NXP برای LPCها کاملتر و غنی از ATmel برای SAM7هاست.


حافظه فلش چیپ می تواند به روش های مختلفی برنامه ریزی شود :

1- واسط سریال J-Tag 2- به صورت ISP توسط UART0 3- استفاده از in application programming (IAP)

کامپایلر ها و مفسر های موجود برای چیپ های ARM را در اینجا ذکر می کنم :

IAR : قابلیت برنامه نویسی میکرو کنترل های ارم ببه زبان های C و C++و اسمبلی ، امکان شبیه سازی برنامه نوشته شده ، پشتیبانی تمامی میکروکنترلر های ارم ، منابع اموزشی متوسط و محیط حرفه ای ، پشتیبانی از SPY-C که امکانات خیلی زیادی دارد ، سرعت اجرای بالا و سازگاری کامل با ANSI C ، توابع کتاب خانه ای کم ، نداشتن باگ های امنیتی.

Winarm : قابلیت برنامه نویسی به زبان های C و C++ ، عدم شبیه سازی برنامه ، فقط پشتیبانی ARM7 ، منابع آموزشی و مثال های زیاد ، متن باز بودن برنامه و بالطبع رایگان بودن ، داشتن توابع کتابخانه ای بالا ، 3 سال است که این نرم افزار به روز رسانی نشده است.

Keil : برنامه نویسی به زبان های Cو C++ و اسمبلی ، امکان شبیه سازی برنامه نوشته شده ، پشتیبانی تمام میکروکنترلر های ARM ، کاربرپسند بودن برنامه و منابع اموزشی متوسط

سایر کامپایلر ها : Cross works for ARM , Flowcode ARM, ARM ADS,تقریبا دو کامپایلر keil و IAR از محبوبیت بیشتری برخوردارند .
 

ساعت ارسال 16:17 نویسنده: مهدی گلستانی
سه شنبه هفتم آذر 1391
دسته بندی :

از کجا شروع کنیم ؟ با چه میکرویی شروع کنیم ؟

شاید اولین سوالاتی که در ذهن همه علاقمندان  به میکرو پیدا می شود سوالات بالا باشد.

شروع کار با ARM :

ARM ها میکروکنترلرهای 32 بیتی قدرتمندی هستند که مدت زمان زیادی نیست وارد بازار ایران شده اند. این معاری دارای قدرت زیادی در پردازش اطلاعات میباشند و اکثر پروتکل های ارتباطی ر (SAM-BA , I2C , LAN , CAN , USB , 1wire , RS232 , SPI , I2S و ...( پشتیبانی می کنند.

برای سهولت در یادگیری این دوره آموزشی را به مراحل زیر دسته بندی کرده ایم :

1 انتخاب میکروکنترلر

2 انتخاب نرم افزار برنامه نویسی

3 جمع آوری اطلاعات در مورد میکرو انتخاب شده

4 طراحی یک برد مناسب برای میکروکنترلر انتخاب شده

5 شروع آموزش برنامه نویسی

6 موارد لازم برای استفاده های کاربردی

با توجه به کاربردها و اپلیکیشن های مورد نیاز میکروکنترلر AT91SAM7X256 انتخاب کردیم این میکروکنترلر تولید شده توسط شرکت ATMEL است و دارای امکانات زیادی می باشد, شما می توانید Datasheet این پردازنده را از سایت www.ATMEL.com دانلود کنید.

دانلود دیتاشیت...

منبع: خودم


ساعت ارسال 23:16 نویسنده: مهدی گلستانی
سه شنبه هفتم آذر 1391
دسته بندی :

سلام

این وبلاگ رو برای آموزش برنامه نویسی میکروکنترلرهای قدرتمند ARM ساختم.

از اونجایی خودم با کامپایلر keil ARM کار کردم تمامی برنامه ها و مثال ها و شیوه ی آموزش بر اساس این کامپایلر توضیح داده می شود.

امیدوارم با همکاری شما دوستان و نظرات و سوالات شما بتونم به بهترین نحو این آموزش رو با بالاترین سطح ممکن برسونیم.

شما می تونید هر سوال یا نظری که در طول آموزش براتون پیش میاد از طریق نظرات یا ایمیل برای من بفرستید سعی می کنم در کوتاه ترین زمان به اونا جواب بدم و اونارو در مطالب آموزشی مطرح کنم.

 منبع: کتاب معماری ARM

آدرس ایمیل فعال : MRG865@Gmail.com

آدرس وبلاگ دیگر : www.MRG-IC.mihanblog.com


ساعت ارسال 23:14 نویسنده: مهدی گلستانی

نویسندگان

درباره ما