آموزش میکروکنترلر AVR قسمت 7: آشنایی با منابع کلاک

0
777
آشنایی با منابع کلاک
آشنایی با منابع کلاک

آموزش میکروکنترلر AVR

در قسمت ششم آموزش میکروکنترلر AVR به بررسی مراحل راه‌اندازی یک دیکودر BCD به 7segment به وسیله کامپایلرهای بسکام و کدویژن پرداختیم، حال در این قسمت از آموزش میکروکنترلر AVR می‌خواهیم با منابع کلاک بیشتر آشنا شویم. منابع کلاک در AVR از طریق فیوزبیت‌ها قابل‌تنظیم هستند و بسته‌به شماره­ AVR تعداد منابع قابل‌دسترس متفاوت است.

اسیلاتور RC داخلی:

اولین منبع کلاک که در شماره­‌های مختلف به‌صورت پیش‌فرض از آن استفاده‌می­‌شود منبع اسیلاتور RC داخلی می‌­باشد. این اسیلاتور در فرکانس­‌های مختلفی موجود است و ممکن‌است در یک شماره از AVR بیش‌از یک اسیلاتور RC وجود داشته‌باشد. محدوده فرکانسی این اسیلاتور MHZ 1,1.2,1.6,2.4,4.8,9.6 است. در شماره‌های مختلف، ورژن و کیفیت اسیلاتورهای داخلی متفاوت است؛ مثلاً در شماره‌ای مانند ATTINY13 ورژن اسیلاتور‌داخلی بالاتر از ATTINY128 است، بنابراین حساسیت‌ها نسبت‌به تغییرات دما، VCC، پایداری و‌… در شماره‌های مختلف متفاوت هستند که برای اطلاعات بیشتر باید به دیتا‌شیت مربوطه مراجعه‌نمود.

اسیلاتورداخلی با RC خارجی:

امکان کالیبره‌کردن اسیلاتور‌داخلی از‌طریق خطوط برنامه وجود دارد و فرکانس می‌تواند ازطریق calibration byte تغییر‌کند. یکی‌دیگر از امکاناتی که در اسیلاتور‌داخلی RC وجود دارد، امکان تأمین نوسان در بعضی‌از شماره‌ها به‌صورت قرار‌دادن RC خارجی به‌صورت‌زیر است:

اسیلاتور داخلی با RC خارجی
اسیلاتور داخلی با RC خارجی

 

مثلاً در شماره‌ه­ایی مانند ATMEGA64 مقدار فرکانس نوسان برابر f=1/3RC است، که خازن C باید از ۲۲PF بزرگتر باشد. هم‌چنین می­‌توان خازن C را حذف و فیوزبیت CKOPT را فعال‌نمود،که در این‌صورت یک خازن داخلی ۳۶PF داخلی فعال میشود و در مدار قرار می­‌گیرد.

اسیلاتورداخلی با اتصال کریستال و رزوناتور:

ازجمله موارد‌دیگر، امکان اتصال کریستال­‌های خارجی برای تأمین نوسان است، که مزیت آن بر اسیلاتورRC داشتن پایداری بیشتر است.

اسیلاتورداخلی با اتصال کریستال و رزوناتور
اسیلاتورداخلی با اتصال کریستال و رزوناتور

 

اسیلاتور در داخل میکروکنترلر قرار دارد و برای تامین نوسان خود از المان­‌های خارجی مثل کریستال و رزوناتور استفاده میکند.

اسیلاتورداخلی بااتصال کریستال فرکانس پایین:

در شماره‌هایی مثل MEGA64 این امکان وجود دارد که کریستال خارجی دارای فرکانس پایینی باشد که غیراز اتصال کریستال‌هایی درحد چند مگاهرتز امکان اتصال کریستال‌هایی درحد ۳۲۷۶۸هرتز را نیز دارا است. این بحث غیراز اتصال کریستال در این شماره‌­ها، برای تأمین کلاک تایمر است که به پایه‌های XTAL1 و XTAL2 وصل می­‌شود.

اسیلاتور خارجی:

دربرخی‌موارد که بحث نویز‌پذیری و پایداری نوسان وجود دارد، لازم‌است که کلاک به‌صورت‌خارجی ایجاد‌شود و به میکروکنترلر اعمال‌شود.

اسیلاتور خارجی
اسیلاتور خارجی

 

یک امکان دربرخی شماره‌­ها هست که منبع کلاک را به عددثابتی تقسیم می­‌کند و بعد به CPU اعمال می­‌شود، که اینکار ازطریق فیوزبیت مشخص انجام می‌­شود. مثلا درATTINY13 امکان یک ضریب تقسیم بر ۸ در سر راه کلاک وجود دارد یا در ATMEGA48 و ATMEGA88 امکان وجود ضریب‌های تقسیم متغییر وجود دارد که از‌طریق خطوط برنامه تنظیم می‌‌شوند. در مکان­‌هایی که نیاز است مصرف توان و جریان میکروکنترلر کاهش پیدا‌کند، با قرار‌دادن یک ضریب تقسیم بالا مثلا ۲۵۶، کلاک اعمال‌شده کاهش‌پیدا‌کند و درجای‌دیگر که ظرفیت پردازشی بالا درطول اجرای برنامه در نرم‌افزار نیاز‌است ضریب تقسیم‌بر یک می‌شود.

فیوز بیت CKOPT:

زمانی‌که منبع نوسان از کریستال‌خارجی است برنامه‌ریزی این فیوز‌بیت منجر‌به افزایش سوئینگ و دامنه نوسان می­شود، که در محیط‌های پر‌نویز و پرتشعشع شیوه‌ی مناسبی برای ادامه کارمیکرکنترلر است.

در قسمت هشتم آموزش میکروکنترلر AVR به خواندن و نوشتن رجیسترهای ۱۶بیتی و توضیح Status Register می‌پردازد. با ما همراه باشید.

 

 

منبع:‌سیسوگ

مطلب قبلیامنیت و رانت در زیرساخت اینترنت اشیاء
مطلب بعدیآموزش میکروکنترلر XMEGA قسمت اول : مقدمه

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید