PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اموزش حرفه ای arm/ بخش اول /بررسی وپاسخ چند سوال



1nafar
06-03-2009, 09:33
در این قسمت میخواییم اموزش حرفه ای arm رو شروع کنیم :
برای شروع به بررسی چند تا موضوع میپردازیم:
بعضی از سوالاتی که برای من پیش اومده ممکنه برای شما هم پیش بیاد:

arm چی هست؟

این قطعات پردازنده ای هستند ، از نوع 32 بیتی و دارای معماری RISC هستند و سرعت نسبتا بالایی هم دارند (کلاک از 300 تا 2000 مگاهرتز)و مجهز به برخی امکانات داخلی (adc و dac و تایمر وکانتر و pwm و rtc و i2c و spi و dmaو ...)وحافظه کش هستند . قابلیت ها و باس های استانداردی که برای این پروسسورها در نظر گرفته شده به همراه سرعت بالا ، حافظه کش مناسب ، مقایسه گرهای داخلی ، تایمرهای 16 بیتی برای پیاده سازی RTC و ... ، باعث شده که عملکرد این تراشه ها نسبت به انواع دیگر پروسسورهای هم تراز ، دارای کیفیت و قدرت بالاتری باشه .



چرا قبلا از این پردازنده استفاده نمیشده ، ایا به تازگی وارد بازار شدند؟


این پردازنده قبلا توسط شرکت arm تولید میشده که این شرکت هم به قیمت بالا این پردازنده رو به مشتریان خاص میفروخته ، اما از اوایل سال 2002 به بعد این شرکت مجوز ساخت این پردازنده رو به شرکتی های همچون ATMEL و
Luminary Micro و شركت philips و چند تا شرکت دیگه میده .
شرکت های فوق با اضافه کردن امکاناتی مثل انواع مبدل ها (دیجتال به انالوگ و ....)، انواع رابط ها (بلوتوث ، usb )و... این پردازنده رو به یک پردازنده عمومی تبدیل میکنند و اون رو به بازار جهانی عرضه میکنن.


برای برنامه نویسی این پردازنده ها از چه زبان و کامپایلری استفاده میشه ؟


برای برنامه نویسی این پردازنده از زبان های c و بیسیک و اسمبلی استفاده میشه .
کلیه کامپایلر های زبان اسمبلی برای این پردازنده رایگان هستند و شما میتونید از لینک های زیر اونا رو دانلود کنید:
You can see links before reply
You can see links before reply
You can see links before reply uk/ONLINE/BEGINPRG/INDEX.HTM
برای زبان های c مثل خود c و c++ کامپایلر های متعددی ارائه شده که کی از این کامپایلر ها کامپایلر keil uvision هست که در اون میشه به زبان های اسمبلی و c و c++ برنامه نوشت .
نسخه رایگان این کامپایلر در لینک زیر موجود است:
You can see links before reply
برای زبان بیسیک نیز کامپایلر بسکام arm وجود داره که هنوز در دسترس عموم قرار نگرفته تا کرک بشه.


ایا این پردازنده cpu هستند یا مانند میکرو کنترلر ها میباشند ، یعنی در در داخل خود ram و i/o و.. دارند یا نه ما خودمان باید این امکانات را بهش اضافه کنیم ؟

این پردازنده در نمونه های گوناگونی ارایه شده است مثلا مدل LPC2138 دارای 512 کیلو حافظه فلش ، 32 کیلو حافظه رم ، مبدل آنالوگ به دیجیتال ، مبدل دیجیتال به آنالوگ و ... میباشد
یا مدل at76c551 ساخت شرکت اتمل دارای امکانتی همچون بلوتوث ، ارتباط usb و... هست
یا مدل arm7tdmi فقط یک پردازنده است که روی خود فقط خطوط i/o دارد و باید برای ان مانند یک میکرو پروسوسر واحد های rom و ram و کانتر و... تعبیه کرد
این پردازنده در مدل های وسیع ساخته میشوند (بسیار گسترده تر از avr و pic و.. ) و دست شما برای انتخاب باز است برای اطلاعات بیشتر در مورد هر پردازنده به شرکت سازنده مراجعه کنید :
You can see links before reply
You can see links before reply
You can see links before reply

ایا برای شبیه سازی این میکرو پروسسور ها نرم افزاری وجود دارد ، قیمت انها در چه حدی است ؟


خود نرم افزار kiel دارای قسمت شبیه ساز میباشد ، به علاوه نرم افزار قدرتمند پروتوس نیز از این پروسسور ها پشتیبانی میکند

قیمت این پروسسور ها بسته به امکانات از 5 تا 500 هزار تومان متغییر است،
مثلا قیمت lpc2300 نه هزار تومان است ، این پروسسور دارای امکانات زیر میباشد:
فرکانس کاری 72 مگاهرتز
512 کیلو حافظه فلش قابل برنامه ریزی
8 کیلو sram برای cpu و 16 کیلو برای شبکه و 8 کیلو هم برای usb
قابلیت اتصال به usb و شبکه lan و...
قابلیت اتصال کارت mmc و sd و...
پشتیبانی از usb 2.0
پورت های spi و i2c و ...
70 تا پایه ورودی و خروجی
6 تا adc ده بیتی
چند تا dac 10 بیتی (توی دیتا شیت تعداد نزده)
5 عدد تایمر و کانتر که میتونن از بیرون تحریک بشن و ...
rtc
ولتاژ تغذیه 3.3 تا 3.6 ولت
نوسان ساز داخلی کریستالی از 1 تا 24 مگاهرتز
و کلی امکانات دیگه که توی دیتا شیت این پروسسور موجود هست.


ایا کتاب و منبع فارسی یا انگلیسی برای یاد گیری این پروسسور میشناسید ؟

منبع انگلیسی :
help نرم افزار و سایت های زیر:
You can see links before reply
کتاب به زبان اسمبلی:
You can see links before reply

منبع فارسی:
مطالبی که از این به بعد در همین بخش قرار خواهد گرفت
کتابی که من دیدم "میکرو کنترلر های arm و بر نامه نویسی انها " نوشته مهندس کاوه فارغی (به قیمت 3.5 تومان)
در قسمت بعدی مختصری در مورد کامپایلر keil vision توضیح داده میشه .

1nafar
06-03-2009, 09:39
توی لینک قبلی مختصری با arm اشنا شدید
شما فهمیدید که arm چی هست و از چه نرم افزاری برای برنامه نویسیش استفاده میشه .


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

نرم افزار های برنامه نویسی arm رو از کجا دانلود کنیم (کدوم بهتره)؟

شما برای arm باید به زبان c برنامه بنویسید ( چون هیچ کی اسمبلی دوست نداره)
برای زبان c سه تا کامپایلر keil و iar و WinARM موجود هست
نرم افزار keil یه نرم افزار رایگانه ولی امکاناتش به پای IAR نمیرسه ، این نرم افزار دارای محیط ساده برای تازه کار هاست .برای دانلود این نرم افزار لینک های زیادی وجود داره که میتونید اونا رو اینترنت پیدا کنید

نرم افزار WinARM هم دارای امکاناتی متوسط هست و بین این دو تا نرم افزار هست ، این نرم افزار هم لینک دانلودش توی نت فراوونه

نرم افزار iar هم قدرتمند تین کامپایلر برای arm هست و تقریبا شبیه به winavr هست (از نظر نوع محیط و امکانات)
نرم افزار IAR رو میتونید از لینک زیر دانلود کنید :
You can see links before reply
برای در یافت نرم افزار باید به سایت سازت نرم افزار مراجعه کنید ، در صفحه ای که ادرسش در بالا موجود هست ،ادرس eMail و مشخصاتتون رو بدید بعد از چند دقیقه لينك دانلود فايل كه حدود 220 مگابايت هست به eMAil شما ارسال مي‌شه.
نرم افزار ی که دانلود مکنید نسخه 30 روزه است .

از اونجا که ما هممون جوجه برنامه نویس تشریف داریم پس با keil کار میکنیم بنابراین مطالبی رو که من از این به بعد میزارم برای نرم افزار keil هست ، به امید روزی که arm نیز مانند avr شود


برای شروع کار با arm کدوم پروسسور رو بگیرم ؟

دوستان پروسسور AT91sam7s64 ساخت شرکت اتمل وLPC2131 ساخت شرکت فیلیپس رو پیشنهاد کردند ، این پروسسور (AT91sam7s64 ) دارای امکانات زیر هست:
توی دیتا شیتش امکاناتش دو تا صفحه هست که من مختصرش رو میزارم :
پورت USB2.0 full Speed
دارای دو منبع وقفه
نوسان ساز rc داخلی از 3 تا 20 مگا هرتز(pll هم داره )
ولتاژ كاري از 1.8 تا 3.3 ولت
دارای رابط های 2-wire و USARTو...rs485 و...
قابلیت برنامه ریزی بدون نیاز به پروگرامر
4 كانال PWM 16 بيتي
8 كانال ADC 10 بيتي
سه تا تايمر/كانتر 16 بيتي
دارای کانتر 20 بیتی مجزا
درای 64 پایه که 48 تا از اونا i/o هستند
توان جریان دهی 16 میلی امپر برای هرپایه(ولتاژ 3.3 ولت)
پایه ها قابلیت تحریک با 5 ولت رو دارند
قیمت ارزان و نوع پکیچ smd که باید براش یه فیبر کوچلو بسازید
مطالب دیگه توی دیتا شیت این ایسی موجودهست (دیتا شیتی که من دارم 733 صفحه میباشد و شما میتونید از سایت اتمل اون رو دانلود کنید )
البته LPC2131 نیز در همین حده و کتابخانه اون توی پروتوس موجود هست .

برای شروع با arm چه پروگرامر لازم است ؟


مدلی که در بالا معرفی شد نیازی به پروگامر ندارد ، ولی مد های متعددی برای arm وجود دارد که در قسمت پروژه های گروهی به همرا pcb و توضیحات گذاشته میشود .

برای کار با arm به چه لوازمی احتیاج است ؟


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

imported_shad
24-10-2009, 11:39
سلام من یه مشکلی دارم تو پروگرام کردن arm
من مشکلم را تو این فایل توضیح دادم
You can see links before reply

((از لینک نرم افزار keil که برام گذاشتین تشکر))
:2i8d4ao0: