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

فیوز بیت ها

هر سیستمی برای شروع به کار نیاز به تنظیمات اولیه دارد, برای مثال یک مادر برد کامپیوتر برای تنظیم شدن خود با سرعت CPU کلیدهایی را روی خود دارد که می توان سرعت BUS مادربرد را با CPU یکی کرد و بسیاری موارد دیگر, در میکروکنترلرهای AVR برای تنظیمات اولیه بخشی به نام فیوز بیت در برنامه BASCOM وجود دارد که عبارتند از :

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

فیوز بیت FSTRT-SUT

امروزه این فیوز بیت و فیوز بیت تنظیم کلاک (CKSEL) با همدیگر ادغام شده و به صورت جدول زیر درآمده است:

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

فیوز بیت RSTDISBL

به میکرو ATTINY11 در شکل زیر توجه کنید, همانطور که می بینید پایه شماره یک هم PORTB.5 بوده و هم پایه RESET میکرو. در حالت پیش فرض این فیوز بیت, پایه RESET می باشد.

نکته : مواظب باشید, در صورتی که این پایه را به I/O تبدیل کردید, دیگر نمی توانید این میکرو را با پروگرامر با ارتباط SPI برنامه ریزی کنید (STK 200/300) و باید برای پروگرام کردن و بازگرداندن به حالت اولیه, از یک پروگرامر نوع موازی استفاده کنید.

ترتیب پایه های میکروکنترلر ATTiny11

ترتیب پایه های SPIEN

ارتباط به صورت پروتکل سریال SPI را فراهم می سازد و به صورت پیش فرض فعال است.

ترتیب پایه های BODLEVEL

این فیوز بیت زمانی که یکی از دو حالت فعال خود باشد, اگر ولتاژ VCC از مقدار انتخاب شده کمتر شود (مطابق شکل زیر), میکرو را ریست می کند. سه حالت 4V-2.7V-DISABLE را دارا می باشد.

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

فیوز بیت EESAVE

در حالت پیش فرض غیر فعال بوده و با پروگرام کردن میکرو, حافظه EEPROM نیز پاک می شود.

نکته : اگر از بانک اطلاعاتی می خواهید استفاده کنید, فیوز بیت را فعال کرده تا اطلاعات شما در EEPROM حفظ شود.

فیوز بیت JTAGEN

این ارتباط که با استاندارد IEEE بنا شده است در حالت پیش فرض فعال است. در بیشتر میکروها از پورت C برای این ارتباط استفاده شده است.

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

فیوز بیت BOOTRST

زمانی که میکرو RESET می شود, CPU به آدرسی پرش می کند که در فیوز بیت BOOTRST تعیین شده است. مقدار این فیوز بیت به صورت پیش فرض $0000 است.

نکته : این فیوز بیت را تغییر ندهید, چون شما برنامه خود را از آدرس $0000 شروع به نوشتن می کنید و با تغییر فیوزبیت, اجرای برنامه خود را ناقص خواهید کرد.

فیوز بیت WDTON

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

نکته : بعد از برنامه نویسی برای فعال شدن, حتما باید این فیوز بیت را فعال کنید.

فیوز بیت M103

میکروهایی مانند ATMEGA128 و ATMEGA103 شباهت های زیادی با یکدیگر دارند, اما به طور کامل باهم تطبیق ندارند. با این فیوزبیت می توان میکروها را به طور کامل به یکدیگر تبدیل کرد.

کریستال CKSEL

مهمترین فیوز بیت یک تراشه AVR که تعیین کننده نوع اسیلاتور و مقدار فرکانس کار میکروکنترلر است. حالت های مختلفی برای تعیین اسیلاتور و فرکانس میکروکنترلر وجود دارد که عبارتند از:

1- استفاده از کریستال خارجی فرکانس بالا

2- استفاده از کریستال خارجی فرکانس پایین

3- استفده از مدار RC خارجی

4- استفاده از مولد کلاک خارجی

5- استفاده از مدار RC کالیبره شده داخلی

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

1- استفاده از کریستال خارجی فرکانس بالا

در تمامی میکروکنترلرهای AVR دو پایه مجزا به نام های XTAL1 و XTAL2 وجود دارد که برای اتصال یکی از انواع اسیلاتور استفاده می شوند. در شکل زیر از اسیلاتور کریستالی استفاده شده و طرز اتصال به پایه های نشان داده شده است. مقدار خازن های متصل شده 33PF می باشد.

مقدار کریستال در صورتی تعیین کننده مقدار فرکانس کار میکروکنترلر خواهد بود, که حداکثر مقدار فرکانس نامی خود تراشه AVR که در کاتالوگ آن آمده بیشتر نباشد. این مقادیر از 1MHz تا 16MHz خواهد بود.

نکته : تنها زمان استفاده از مقادیر 12MHz و 16MHz از کریستال خارجی استفاده کنید, چون اسیلاتور RC کالیبره شده داخلی با صرفه تر و کارآمدتر می باشد.

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

2- استفاده از کریستال خارجی فرکانس پایین

از این فیوز بیت زیاد استفاده نمی شود و تنها برای زمانی است که مقدار کریستال خارجی و یا مقدار حداکثر مدار RC کالیبره شده داخلی پایین باشد. طریقه اتصال هم مانند شکل قبلی است.

3- استفاده از مدار RC خارجی

طبق شکل روبرو با استفاده از مدار RC و اتصال آن تنها به پایه XTAL1 (XTAL2 بدون اتصال) می توان یک اسیلاتور برای میکرو راه اندازی کرد.

مقدار خازن باید حداقل 22PF باشد. فرکانس قابل دسترسی از رابطه F=1/(3RC)بدست می آید.

نحوه استفاده از مدار RC خارجی در میکروکنترلرهای AVR

4- استفاده از مولد کلاک خارجی

از یک مولد هم می توان به جای اسیلاتور برای میکرو استفاده کرد که به صورت شکل زیر به پایه XTAL1 متصل می شود.

نحوه استفاده از مولد کلاک خارجی در میکروکنترلرهای AVR

5- استفاده از مدار RC کالیبره شده داخلی

اسیلاتوری که در داخل تراشه AVR طراحی و کالیبره شده است که به نسبت نوع میکروکنترلر مقادیر نامی 1 و 2 و 4 8MHz را دارا می باشد.

نکته : در حالت پیش فرض فیوزبیت CKSEL مقدر و نوع اسیلاتور, داخلی کالیبره شده 1MHz می باشد.

نکته : در صورتی که فیوز بیت را به کریستال یا مدار RC و یا کلاک خارجی تغییر دادید, باید همان شرایط را در زمان پروگرام کردن برای میکرو فراهم کنید, یعنی اگر از کریستال 16MHz استفاده کرده اید باید در زمان پروگرام کردن, این کریستال به میکرو متصل باشد.

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 11 سپتامبر 2014

13 دیدگاه

  1. توضیح بسیارجامع وکامل بود ممنون هستیم مفید بود

  2. سلام
    من کریستال را روی کریستال خارجی تنظیم کردم الان دیگه برو گرامر میکرو رو نمیشناسه پرو گرامرم هم یو اس بی ارس هست ورو ی خود پرو گرامر هم ۲ تا کریستال داره
    دلیل این مشکل چیه

  3. سلام دوست عزیز
    این موضوع می توان دو دلیل داشته باشد:
    1- پروگرام کردن اشتباه فیوزبیت های میکروکنترلر باعث می شود تا میکروکنترلر برای پروگرامر از دسترس خارج شود، برای حل این مشکل و بازگردانی میکروکنترلر پیشنهاد می شود از پروگرام isp استفاده کنید.
    2- پروگرام شما از کریستال خارجی پشتیبانی نمی کند و باید شما در هنگام اتصال آن به پروگرامر ، خودتان به میکروکنترلر یک کریستال با فرکانش بالای 8 مگاهرتز متصل نمائید.

  4. ممنون از آموزش شما
    برای تنظیم منبع کلاک تایمر(مثلا ATmega 16 یا 32) در کدویزارد،اگر بخواهیم از تایمر2 و در مد نرمال و کریستال خارجی 16MHz استفاده کنیم،تنظیمات کدویزارد باید به چه صورتی باشد؟در تایمر 2 برای منبع کلاک تایمر دو گزینه system clock و TOSC1 وجود دارد.

  5. با سلام
    من فیوزبیت های یکعدد اتمگا 328 رو با پروگرامر isp با کریستال 16 مگا هرتز تنظیم کردم و فیوز بیت بدون مشکل رایت شد ولی بصورت اتفاقی فیوز بیت ها رو به مانند شکل زیر تغییر دادم و از اون به بعد پروگرامر دیگه میکرو رو نمیشناسه،میخواستم ببینم چه منبع کلاکی انتخاب شده تا براش فراهم کنم تا بهم کار بده؟ممنون میشم راهنمایی کنید


    فیوزبیت های ATmega328

  6. فرهاد اکبری

    سلام دوست عزیز
    طبق تصویری که قرار دادید، شما وضعیت فیوز بیت های کریستال میکروکنترلر را بر روی کریستال 0.9 مگاهرتز خارجی تنظیم کرده اید.
    پیشنهاد می کنیم کریستال مربوطه را تهیه کنید به میکروکنترلر متصل کنید و با یک پروگرامر ساده STK200/STK300 که خودتان می توانید در خانه با کمترین قطعات بسازید و نرم افزار Bascom-AVR اقدام به ریست کردن وضعیت فیوزبیت ها نمایید.

  7. ممنون از پاسخگوییتون اما دوتا سوال:

    آیا کریستال 0.9 مگاهرتز در بازار وجود دارد یا میشه از کریستال یک مگاهرتز هم بجاش استفاده کرد
    و آیا با پروگرامر usbasp که خودم دارم نمیشه فیوزبیت هاش رو ریست کرد و با پروگرامر ساده STK200/STK300 که خودتون گفتید راحت تر ریست میشه؟
    ممنونم

  8. فرهاد اکبری

    بله کریستال در بازار موجود است، من با پروگرامر usbasp کار نکرده ام و اطلاعی درباره آن ندارم می توانید این سوال را از شرکت سازنده و پشتیبان پروگرامر خود سوال کنید.

  9. سلام مهندس عزیز
    ببخشید من یه سوال داشتم
    توی میکرو مگا ۳۲ مجموعا ۴ تا پایه با نامهای xtal1 و xtal2 برای اتصال کریستال خارجی اصلی سی پی یو و همچنین tosc1 و tosc2 برای اتصال کریستال خارجی ساعت ۳۲۷۶۸ کیلوهرتز در نظر گرفتن و میشه همزمان دوتا کریستال خارجی متصل کرد اما توی میکرو مگا ۸ یا مگا ۳۲۸ تنها دوتا پایه برای اتصال کریستال خارجی در نظر گرفته شده! من توی پروژم حتما باید همزمان دو کریستال یکی ۱۱ مگا هرتز و دیگری ۳۲۷۶۸ هرتز به میکرو مگا ۳۲۸ متصل کنم لطفا راهنماییم کنید که چکار کنم؟ آیا میشه بصورت نرم افزاری پایه های اتصال کریستال خراجی رو تغییر داد؟
    با تشکر

  10. سلام دوست عزیز
    همانطور که خودتان فرمودید در برخی میکروکنترلرها همانند ATmega8 و ATmega328 تنها امکان اتصال یک کریستال وجود دارد و برای محاسبه دقیق زمان می توانید از تراشه DS1307 یا ماژول های ساعت استفاده کنید.

  11. سلام مهندس اکبری عزیز
    ازینکه همیشه تجربیات خودتونو به رایگاه در اختیار ما میزارین واقعا ازتون سپاسگذارم. این همه سخاوت شما در انتقال تجربه قابل ستایشه

  12. سلام دوست عزیز
    از لطف و محبت شما بسیار سپاسگذارم.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

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