دوستان عزیز رزدینو، سلام. بنده محمد نصر هستم و این بار با سری آموزش میکروکنترلر AVR در خدمت شما خواهم بود که حتما همتون باهاش آشنایی دارید. در اولین مطلب از این مجموعه آموزش، در مورد تاریخچه و نگاه کلی به AVR قراره صحبت کنیم و در ادامه، ابزارهای مورد نیاز برای برنامه نویسی، شبیه سازی و اجرای عملی را بهتون معرفی میکنیم. همراه ما باشید.
تاریخچه و معماری RISC
برای اولین بار در سال 1997 شرکت اینتل از معماری جدیدی به نام RISC رونمایی کرد که این معماری در خانواده بزرگی به نام AVR برای بار اول استفاده شد. میدانیم که زبانهای برنامه نویسی مثلا زبان C برای اجرا شدن ابتدا باید به زبان سطح پایینتر که اکثرا اسمبلی هستند تبدیل شده و سپس به دستورات ماشین خلاصه شوند. بزرگترین و مهمترین مزیت معماری RISC این است که تمام دستورالعملهای زبان اسمبلی را تنها در یک سیکل ماشین اجرا خواهد کرد. این در حالی است که میکروکنترلرهایی نظیر PIC یا 8051 به ترتیب 4 و 12 بار کندتر از AVR در اجرای دستورات عمل میکنند.
میکروهای AVR دارای انعطافپذیری غیر قابل مقایسه و بیهمتایی هستند. آنها قادر به ترکیب هر نوع کدی با یک معماری کارآمد از طریق زبانهای C و Assembly هستند و قادرند از طریق این برنامه ها تمام پارامترهای ممکن در یک سیکل یا چرخه ماشین را با دقت بسیار بالا هماهنگ کنند. این امر باعث شده است که AVR نسبت به دیگر میکروکنترلرها سرعت و کارایی بالاتری داشته باشد.
دستهبندی میکروکنترلرهای AVR
در این زمان که در حال نوشتن این مطلب هستم خانواده AVR شامل سه بخش میباشند:
- دسته Tiny: شاید اسم آن نشان دهنده کوچک بودن آن باشد، اما این دسته از قابلیت های زیادی برخوردار است. این دسته علاوه بر کوچک بودن اندازه و مقرون به صرفه بودن، بیشتر برای کارهایی که ساده هستند کاربرد دارد.
- دسته mega: این دسته بیشترین استفاده را بین علاقهمندان خود دارد. دسته mega تمام احتیاجات شما مثل بالا بودن سرعت، امکانات ارتباطی، امنیت و … را داراست. مهمترین خصوصیت این سری، وجود داشتن رابط JTAG به عنوان راه دوم جهت پروگرام کردن میکروکنترلر است.
- دسته xmega: این دسته نوع پیشرفتهتری از سری mega هستند. اگر بخواهم به کلیدیترین مزیتهای آن اشاره کنم، باید بگویم که دسته xmega دارای ماکزیمم فرکانس کاری 32 مگاهرتز، درگاه ارتباطی USB، واحد تبدیل دیجیتال به آنالوگ، واحد ضرب کننده فرکانسی یا PLL و از همه مهمتر 16 بیتی بودن CPU آن است.
در این سری از آموزش میکروکنترلر avr ، بنده از میکروکنترلر ATmega16 استفاده میکنم که علاوه بر داشتن تمامی امکانات سری mega، قیمت مقرون به صرفهای دارد. دقت شود عددی که آخر اسم میکرو میآید، نشان دهنده ظرفیت حافظه flash آن است. به عنوان مثال میکرو ATmeag8 تنها 8 کیلوبایت حافظه دارد و ATmega16 دارای 16 کیلوبایت حافظه برای پروگرام کردن است. تقریبا تمامی AVR ها یک پکیج DIP دارند که به راحتی روی برد بورد قرار میگیرد و یک پکیج SMD دارند که مخصوص مکانهای کوچک است.
الزامات برای شروع کار با AVR
اکثر اوقات چون شبیهسازی AVR دارای کیفیت بالایی است و عیبهای مدار را بخوبی نشان میدهد، اولین قدم بنده برای طراحی و ساخت مدارات میکروکنترلری، شبیه سازی آن در نرم افزار است. در کل 2 نرم افزار یکی برای نوشتن برنامه و دیگری برای شیبه سازی استفاده میشود که اکثرا تمام مهندسین یا دانشجویان از CodeVision و Proteus استفاده میکنند.
نرم افزار CodeVision
نرم افزار رسمی برنامهنویسی AVR که توسط شرکت Atmel توصیه شده است، نرم افزار Atmel Studio میباشد. اما چون کار کردن با CodeVision راحتتر بوده و از همان ابتدای ورود AVR به بازار ایران اکثرا از این نرم افزار برای کدنویسی استفاده میکنند، انتخاب ما هم این نرم افزار است. آخرین نسخه این نرم افزار ورژن 3.12 است که در آموزش بعدی در مورد نصب و راهاندازی آن صحبت میکنیم.
نرم افزار Proteus
شاید بتوان گفت که یکی از بهترین نرم افزارهای شبیه سازی مدارات دیجیتال چه برای مبتدیان و چه برای حرفهایها این نرم افزار است. Proteus علاوه بر اینکه 90 درصد میکروهای AVR را دارد، دارای منابع جالب و کاربردی نیز هست. به عنوان مثال موتورهای سروو، LCD های کاراکتری، سون سگمنت ها، LED ها و قطعاتی که بیشترین کاربرد را در الکترونیک دارند، برای شبیهسازی دم دست بوده و اکثرا نتیجهای که داخل شبیه سازی حاصل میشود با واقعیت تفاوتی ندارد. از این رو شاید بتوان گفت که این نرم افزار مکمل CodeVision است.
امیدوارم از اولین مطلب مربوط به آموزش میکروکنترلر avr بود، راضی بوده باشید. این مطلب صرفا جهت آشنایی کلی با AVR و همچنین دو نرم افزار CodeVision و Proteus بود. در بخش بعدی آموزش میکروکنترلر avr ، نحوه نصب هر دو نرم افزار بصورت کامل به شما عزیزان گفته خواهد شد. ممنون که همراه من بودید😍
برای استفاده از مطالب مرتبط به آموزش میکروکنترلر avr ، با رزدینو همراه باشید.
8 پاسخ
مطلب بسیار عالیای بود. مننظر شروع آموزش و قسمتهای مهم اون هستم. ممنون😅
سپاسگذارم
با سلام مطلب بسیار عالی و روان نوشته شده که نشان دهنده تسلط خوب شما در این کاره ازتون بسیار ممنونم
و اینکه آیا کلاس حضوری آموزش هم دارید لطف کنید شرایط رو ایمیل کنید
ببخشید چطور میتونیم با شما تماس بگیریم و اینکه راهنمایی کنید چطور میتونیم توی دوره هاتون شرکت کنیم ممنون میشم
سلام.
از طریق شماره پشتیبانی آخر سایت میتونید در ارتباط باشید.
در مورد دوره هم باید بگم که در آینده کامل ترین دوره تدریس AVR هم در کدویژن و هم در Atmel Studio بر روی سایت قرار میگیره.
مطالبتون خیلی خوب بود ، ممنون
مطالب خیلی روان و واضح گفته شده.درود بر شما در کارتان روز به روز موفق تر باشید
ممنونم از شما