فیوزبیت ها در AVR

فیوزبیت ها در میکروکنترلر AVR

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

۱) فیوزبیت JTAGEN: اگر این فیوزبیت فعال باشد می توان میکروکنترلر را از طریق ارتباط دهی استاندارد JTAG برنامه ریزی کرد. این فیوزبیت به طور پیش فرض فعال است. نکته ی مهمی که باید به آن توجه داشت این است که چون پایه های ارتباط دهی JTAG در میکروکنترلر AVR معمولا بر روی PC2 تا PC5 قرار دارد، زمانی که بخواهیم از این پایه ها استفاده کنیم باید این فیوزبیت را غیر فعال کنیم.

۲) فیوزبیت OCDEN: زمانی که فیوزبیت ارتباط دهی JTAG فعال یاشد و برنامه میکروکنترلر را قفل نکرده باشیم می توانیم با فعال کردن این فیوزبیت برنامه میکروکنترلر را یه طور آنلاین در حین اجرا مشاهده کنیم. این فیوزبیت به طور پیش فرض غیر فعال است و فعال کردن آن مصرف توان میکروکنترلر را افزایش می دهد.

۳) فیوزبیت SPIEN: با فعال کردن این فیوزبیت می توان میکروکنترلر را از طریق ارتباط دهی SPI برنامه ریزی کرد. این فیوزبیت در نرم افزارCodeVision  قابل دسترس نیست و به طور پیش فرض فعال است.

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

۵) فیوزبیت EESAVE: زمانی که ما میکروکنترلر را پاک می کنیم EEPROM نیز پاک می شود پس اگر بخواهیم در زمان پاک شدن حافظه Flash از محتوای حافظه EEPROM محافظت کنیم باید این فیوزبیت را فعال کنیم که به طور پیش فرض غیر فعال است.

۶) فیوزبیت BOOTSZ0 و BOOTSZ1: این دو فیوزبیت میزان حافظه اختصاص داده شده BOOT را تعیین می کنند و برنامه ریزی آنها طبق جدول زیر می باشد، که به طور پیش فرض هر دو فیوزبیت فعال است.

 

BOOT

 

7) فیوزبیت BOOTRST: این فیوزبیت برای انتخاب بردار ریست می باشد با پروگرم شدن این بیت، وقتی میکروکنترلر ریست شود به آدرس بلوک بوت لودر پرش خواهد کرد، این فیوزبیت به طور پیش فرض غیر فعال است.

۸) فیوزبیت BODEN: میکروکنترلر به صورت داخلی دارای مداری برای تشخیص میزان ولتاژ VCC است که با فعال شدن این فیوز بیت اگر VCC از ولتاژ خاصی کمتر شود باعث ریست شدن میکرو خواهد شد و زمانیکهVCC  به بالاتر از آن حد برگردد میکرو دوباره شروع به کار خواهد کرد. این فیوزبیت به طور پیش فرض غیر فعال است.

۹) فیوزبیت BODLEVEL: میزان حد آن ولتاژ برای ریست شدن میکرو با استفاده از این فیوزبیت تعیین می شود، زمانی که این فیوز فعال شود سطح آستانه ۴ ولت بوده و زمانی که پروگرم نشود ۲٫۷ ولت می باشد. این فیوزبیت به طور پیش فرض غیر فعال است.

۱۰) فیوزبیت SUT0 و SUT1: این دو فیوزبیت زمان شروع (Start-Up) را در موقع وصل تغذیه طبق جدول زیر تعیین می کنند. به طور پیش فرض SUT0 فعال و SUT1 غیر فعال می باشد.

 

 

11) فیوزبیت های [CKSEL[0-3: توسط این فیوزبیت ها مقدار و نوع فرکانس اسیلاتور تعیین می کنیم. به طور پیش فرض فیوزبیت CKSEL0 غیر فعال و بقیه فعال هستند یعنی فرکانس ۱MHZ داخلی انتخاب شده است. اگر بخواهیم فرکانس کاری اسیلاتور داخلی را تنظیم کنیم این فیوزبیت ها را طبق جدول زیر تنظیم می کنیم.

 

CKSEL

 

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

 

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

 

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

فیسبوک توییتر گوگل + لینکداین تلگرام واتس اپ کلوب

پاسخی بگذارید

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