نحوه اتصال کریستال خارجی به میکروکنترلر AVR

نحوه اتصال کریستال خارجی به میکروکنترلر AVR

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

اغلب AVR های سری Mega تا ۱۶ مگاهرتز کریستال خارجی را به صورت گارانتی شده پشتیبانی می کنند اما تا برخی تا ۲۴ مگاهرتز نیز قابل اورکلاک هستند. رکورد اورکلاک AVR سری مگا بالای ۶۰ مگاهرتز می باشد که البته این رکورد ها در شرایط ویژه رقم خورده است و برای استفاده تجاری یا صنعتی به هیچ وجه قابل اتکا نیست.

شما می توانید به صورت استاندارد کریستال هایی تا سقف ۱۶ مگاهرتز را به این صورت به میکروکنترلر متصل نمایید.

همانگونه که در شکل فوق می بینید کریستال بین ۲ پایه XTAL1 و XTAL2 قرار میگیرد و این پایه ها بوسیله ی ۲ خازن ۱۲ الی ۲۲ پیکو فاراد به زمین متصل می شوند.

دقت فرمایید اتصال کریستال به میکرو نیاز به هیچ گونه تنظیمات خاصی در کامپایلر کدویژن یا بسکام یا … ندارد و در محیط کامپایلر ها تنها کافیست مقدار کلاک را مشخص کنید به عنوان مثال ۱۶MHz و هیچ گونه تنظیمات دیگری نیاز نیست. بلکه تنظیمات در قسمت فیوزبیت های میکرو کنترلر در هنگام پروگرام کردن میکرو باید انجام شود.

روش تنظیم کردن در محیط AVR Studio در ادامه بیان می شود اما در صورتی که شما از نرم افزار دیگری برای پروگرام کردن استفاده می کنید می بایست مقدار فیوز بیت ها را همانند آنچه که در ادامه گفته می شود تنظیم نمایید .

در تب فیوز بیت ها (FUSES) باید مقدار فیوزبیت SUT_CKSEL را تغییر دهید تا میکرو برای تامین کلاک از کریستال خارجی استفاده نماید. دقت کنید برای استفاده از کریستال خارجی باید یکی از مقادیر مشخص شده را انتخاب کنید. جدول زیر برای تعیین فیوز بیت های CKOPT و CKSEL به کار می رود. این جدول از دیتاشیت میکروکنترلر Atmega32 استخراج شده است و فقط می توانید از یکی از ترکیب های مشخص شده در مستطیل قرمز را انتخاب نمایید.

دقت فرمایید که برای اتصال کریستال خارجی به میکرو ، تنها گزینه هایی که با Ext. Crystal/Resonator شروع می شوند را انتخاب کنید . گزینه های Ext. Low-Freq. Crystal نیز تنها برای کریستال های با فرکانس پایین مانند کریستال ساعت قابل استفاده است.

در انتخاب منبع کلاک دقت کنید زیرا در صورتی که گزینه ای اشتباه مانند اسیلاتور RC را انتخاب کنید ، میکرو شما تا زمانی که با آن منبع کلاک متصل نشود دیگر قابل برنامه ریزی نیست و تا زمانی که فیوزبیت ها ریست نشوند غیرقابل استفاده می شود. پس حتما قبل از پروگرم کردن این فیوزبیت را برای تایید صحت انتخابتان چک کنید.

به یاد داشته باشید که فرکانس کریستال مورد استفاده شما در این بخش دارای اهمیت چندانی نیست و هیچ جا به صورت دقیق این فرکانس مشخص نمی گردد بلکه فرکانس در کامپایلر تعریف می شود و در قسمت فیوزبیت ها میکرو فقط برای استفاده از یک کریستال خارجی برنامه ریزی می شود! 

برای کریستال های ۱ تا ۱۶ مگاهرتز میتوانید یکی از گزینه های Ext. Crystal/Resonator High Freq.:Start-up Time 16K CK + …. را انتخاب نمایید.

دقت کنید بعد از اینکه گزینه مورد نظر را انتخاب نمودید باید فیوزبیت ها را پروگرام کنید تا تغییرات اعمال شوند.

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

جدول زیر نیز برای انتخاب زمان استارت آپ ( Startup Time ) میکروکنترلر است که با توجه به کاربرد های مشخص شده در مسنطیل قرمز قابل انتخاب است.

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

نکته ای که باید مد نظر قرار دهید حساسیت فیوز بیت هاست . فیوز بیت ها نقش بسزایی در عملکرد میکروکنترلر دارند پس همواره سعی کنید از تغییر دادن آنها بدون دلیل و اطلاعات کافی پرهیز کنید. برای اطلاع از عملکرد دقیق هر فیوز بیت دیتاشیت میکروکنترلر AVR مورد نظر را مطالعه نمایید. گاهی اوقات تغییر یک فیوزبیت میکرو را برای شما به یک شی ناکارآمد تبدیل میکند که تا فیوزبیت های آن به حالت اولیه بازنگردند نمی توانید از آن استفاده نمایید.

دیدگاه‌ خود را بنویسید

سبد خرید
  • سبد خریدتان خالی است.
پیمایش به بالا