میکرو کنترل های AVR

خصوصیت میکروکنترلر و فوریتهای آن

هر کامپیوتر را در حالت کلی می توان به سه بخش اصلی تقسیم کرد:

.میکروپروسور(ریز پردازنده)

.حافظه

.دستگاه های ورودی -خروجی

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

الف)گذرگاه داده: این پایه ها برای تبادل اطلاعات بین ریز پردازنده با حافظه ها و دستتگاه های جانبی بوده و تعداد این پایه ها بسته به نوع ریز پردازنده بین ۸ تا ۶۴ می باشد.

ب)گذرگاه آدرس: این پایه ها ببرای شناسایی حافظا دستگاه های ورودی -خروجی به کار می روند و تعداد آنها تعیین کننده حداکثر ظرفیت حافظه و با تعداد دستگاه های جانبی خواهد بود.

ج)گذرگاه کنترل:این پایه ها، حافظه و یا دستگاه های جانبی را از تصمیم ریز پردازنده برای دریافت و یا ارسال اطلاعات ، آگاه می کند که این عمل به وسیله سیگنالهای خواندن و نوشتن انجام می شود.

حافظه اصلی در کامپیوتر به دو دسته ROMو RAM تقسیم می شود .وظیفه ROMارائه اطلاعات دائمی و ثابت است و RAM برای ذخیره موقت اطلاعات به کار می رود.

هر ریز پردازنده تعدادی ثبات (رجیستر) را در اختیار دارد که  ازآنها برای ذخیره موقت اطلاععات استفاده می شود.این ثبات ها بستهه به نوع ریز پردازنده می توانند ۸،۱۶،۳۲ و یا ۶۴ بیتی باشند .همچنین ریز پردازنده دارای قسمتی به نامALU است که انجام عملیات محاسباتی و منطقی را بر عهده دارد.

۱)میکرو پروسور (ریز پردازنده)

یک ریز پردازنده به تنهایی نمی تواند جهت انجام یک برنامه یا پروژه استففاده شود بلکه در کار آن اجزای دیگرس اضافه می شوند تا بتوان به هدف خالصی که دنبال آن هستیم ،برسیم.این اجزاء حداقل می بایست مقداری حافظه ROMیا EPROM dیا EEPROM برای ذخیره دستورات برنامه و مقداری حافظه RAM برای ذخیره داده هایی که در طول اجرای برنامه نیاز به ذخیره شدن در حافظه دارند داشته باشند.

علاوه بر آن برای دریافت اطلاعات از بیرون دستگاه های ورودی و یا برای ارسال اطلاعات به بیرون دستگاه های خروجی نیز باید در نظر گرفته باشند .همچنین بسته به پروژه ای که می خواهیم انجام دهیم ممکن است نیاز به اضافه نمودن وسایل جانبی نظیر شمارنده ها ،A یا D ها و تمایزها و پورتهای ممکن سریال و… باشد که هر کدام از آنها را می بایست جداگانه تهیه و به مدار میکرو پروسور اضافه نمود که در نهایت باعث حجیم شدن مدارهای مربوطه و بالا رفتن مصرف جریان مدار و همچنین بالا رفتن قیمت تمام شده پروژه می شود.

۲)میکرو کنترلر

میکروکنترلر میکروپروسری می باشد که علاوه بر دارا بودن CPUدارای حاففظه ROM و ROM و تایمر و شمارنده و Aیا D و و پورت سریال و … می باشد اللبته میزان وسایل جانبی که در هر میکروکنترلروجود دارد متفاوت می باشند و می بایست بسته به نیاز ،یک میکروکنرولر مناسب انتخاب گرددد .مزیت استفاده از میکروکنترولر ،صرفه جویی در مصرف توان و کوچک شدن حجم نهایی مداروارزان درآمدن قیمت تمام شده پروژه می باشد.

۳)میکروکنترولرAVR و انواع آن

این میکروکنترلر ها از شرکت ATMEL بوده و در سه گروه کلی TINY وAT9OSو ATMEGA تقسیم می شوند .خانواده TINYمننحصر به میکروکنترولر های با تعداد پایه محدود بوده که جهت کاهش قیمت و کاهش صرف وقت برای پروژه های کاربران بهینه سسازی شده اند.

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

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

۴)میکروکنترلرATMEGA 32 

ما قصد داریم یک میکروکنترلر از خانواده ATMEGA انتخاب نموده و به طور کامل با آن آشنا شویم برای این منظور ATMEGA 32 را انتخاب می کنیم .اما لازم به توضیح است که مطالب گفته شده در مورد این میکرکنترلر تقریباً در حداکثر خانواده میکروکنترلرها صادق بوده است و فقط دارای تقاوتهای جزئی با یکدیگر می باشند .

۵)خوشبختانه امروزه میکروکنترلر ها را به راحتی می توان توسط زبانهای سطح بالا نظیر بیسیک یا C برنامه نویسی نمود و کامپایلر های قدرتمندی برای این منظور وجود دارد .به همین جهت در عمل کمتر از زبان اسمیلی استفاده می شود،مگر در مواقعی که  نیاز به اطلاعع کامل از زمانبندی دستورات ونحوه قرارگیری دستورات در حافظه باشد.

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

۶)حصوصیات ATMEga32

فرکانس کاری  :این فرکانس حداکثر MHz 16می باشد در صورت نیاز به فرکانس های بالاتر از شماره های دیگر AVRمی توان استفاده نمود هر چه فرکانس کار بالا تر انتخاب کنیم سرعت اجرای برنامه بالا تر ی رود.

تعداد دستورات و ثبات ها

 تعداد دستورات زبان ماشین در Atmega32 131 دستور می باشد که دستورات زبان سطح بالا هنگام ترجمه توسط کامپایلر بر اساس این دستورات نوشته می شوند .ضمناً در داخل هر میکروکنترلر تعدادی ثبات پیش بینی شده است که هر کدام دارای وظیفه ای هستند.

حافظه های داخلی Atmega

برای ذخیره نمودن دستورات برنامه K32 حافظه داخلی flash( از نوع  EEPROM) وجود دارد که بعد از ترجمه برنامه به زبان ماشین توسط پروگرامر در حافظه Flash ;\d ld a,n .hdk این حافظه قبل از قرار دادن AVR در مدار عملی ،توسط پروگرامرها پر می شوند که معمولاً در حین انجام کار امکان تغییر محتویات آن وجود ندارد.

حداقل ۱۰۰۰ بار می توان حافظه FLASH را پاک کرده و مجدداً پرنمود.

برای ذخیره داده های برنامه هایی که می خواهیم با خاموش کردن تغذیه AVR همچنان حفظ شوند IK حافظه EEPROMدر نظر گرفته شده است .

قابلیتهای جانبی 

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

 

 

ارسال پاسخ

Your email address will not be published.
Required fields are marked *