Slide
Slide

آشنایی با تایمر - کانتر AVR
نویسنده: مسئول فنی در
۱۵ ارديبهشت ۱۳۹۳
[ آخرین به روزرسانی در ۱۵ ارديبهشت ۱۳۹۳ ]

واحد تایمر :

* برای انتخاب مقادیر ضریب مقسم فرکانس (Clock Select) و مقدار OCR جهت اندازه گیری زمان به روش زیر عمل کنید. ابتدا زمان مورد نظر خود را بر پریود پالس ساعت سیستم تقسیم و تعداد پالس لازم را بدست آورید. بعد تعداد پالس را بر بالاترین مقدار ممکن شمارنده تقسیم کنید. مقدار مقسم فرکانس را با توجه به جدول اولین عدد بالاتر از نتیجه تقسیم بگیرید. فرض کنید می خواهیم زمان 1.32 میلی ثانیه را به کمک یک AVR با فرکانس 8 مگاهرتز توسط تایمر 0 ایجاد کنیم.

جواب: چون فرکانس کلاک 8 مگاهرتز است، پس پریود هر پالس T=1/8000000=0.125uSec می شود. برای ایجاد 1.32 میلی ثانیه تعداد پالس لازم برابر: 1.32mSec/0.125uSec=10560  می شود.  بالاترین مقدار تایمر 0 چون 8 بیتی است 0xFF=255 است و از آنجا داریم: 10560/255=41.41 حال به جدول نگاه کنید ضرایب مقسم فرکانس 1- 8 – 64 – 256 و 1024 است. پس اولین مقدار بزرگتر از 41 یعنی 64 را انتخاب می کنیم. حال که مقدار مقسم فرکانس تعیین شد، مقدار OCR  را بدست می آوریم : 1056/64=165
* در استفاده از تایمر بیش از یاد داشتن رجیسترها باید مدهای عملکرد آنرا بدانید، تا در حل مسائل و پروژه ها بهترین حالت را انتخاب کنید. بطور متعارف برای ساخت ساعت و زمان نمونه برداری (Sampling) مد CTC مناسب است و برای مدولاسیون پهنای پالس مد FAST PWM خوب است . برای شمارش رویدادها مد چندان مهم نیست و باید ورودی تایمر را از پین AVR بگیرید.
* در خواندن و نوشتن رجیسترهای 16 بیتی ترتیب مهم است. در خواندن باید اول بایت پایین و بعد بایت بالا را بخوانید. در نوشتن ابتدا بایت بالا و سپس بایت پایین را بنویسید.
* جدول مدهای 16 گانه عملکرد تایمر خیلی مهم است. ستون TOP مبین حداکثر مقدار شمارنده است. همانطور که می بینید مقادیر متنوعی دارد. علاوه بر آن با انتخاب مدهای 8 تا 15 مقدار TOP  می تواند هر عدد 16 بیتی باشد.
* نکته مهم دیگر در این جدول Update Of OCRnx است. همانطور که می بینید در مدهای Normal و CTC بلافاصله و در بقیه مدها در TOP یا BOTTOM بروز می شود. این بدان معنی است که در مدهای Normal و CTC مقدار OCR را تغییر دهید، در شمارش جاری استفاده می شود و در بقیه مدها در سیکل بعدی استفاده خواهد شد. تغییر بلافاصله  OCR ممکن است که در شمارش جاری تساوی (Compare Match) رخ ندهد و یا دو بار اتفاق بیفتد.

 

نظرات کاربران
نظری ارسال نشده است.
نظر بدهید

ایمیل شما پنهان می ماند.