AVR, آموزش, توصیه شده, مقاله

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

آموزش میکروکنترلر 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 خارجی

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

 

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

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

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

 

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

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

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

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

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

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

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

فیوز بیت CKOPT:

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

 

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

 

سری مقالات آموزش میکروکنترلر AVR توسط آقای مهندس کی‌نژاد  تهیه شده است.

 

 

نوشته های مشابه

2 دیدگاه در “آموزش میکروکنترلر AVR قسمت 7: آشنایی با منابع کلاک

  1. مسلم حسینی گفت:

    ممنون از مطالب خوب شما

    1. N H N H گفت:

      سلام
      ممنون دوست عزیز

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *