خلاص شدن از شر فيوزبيت ها در BASCOM

فیوز بیت ها (Fuse Bits) و لاک بیت ها (Lock Bits) چند بایت از حافظه میکروکنترلرها هستند که برای یک سری تنظیمات و نیز قفل کردن حافظه میکرو می توان آنها را برنامه ریزی نمود. این چند بایت دارای دسترسی بیتی بوده و با صفر و یک کردن هر کدام از بیت ها بخش هایی از میکرو تنظیم می شود. از جمله تنظیمات مهم و کاربردی تنظیم فیوزبیت های مربوط به نوسان ساز میکرو می باشد که فرکانس کاری CPU را تعیین می کند. فیوز بیتهای دیگر نیز برای فعال یا غیر فعال کردن JTAG، SPI تنظیم اندازه بوت لودر، پاک شدن EEPROM، خاموش شدن میکرو با کمتر شدن ولتاژ از حد خاص و غیره بوده و LOCK BIT ها نیز برای قفل کردن حافظه میکرو از سرقت کد بکار می روند.

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

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

۱- ایجاد فضای خالی در ابتدای برنامه برای کد Prog$

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

۲- ورود به پروگرمر

روی دکمه سبز رنگ بالای صفحه (شکل زیف سوکت) کلیک کنید یا دکمه F4 را بزنید تا وارد نرم افزار پروگرمر شوید.

۳- پروگرم کردن میکرو

در پنجره باز شده مجدداً بر روی دکمه سبز رنگ مطابق شکل زیر کلیک کنید تا میکرو پروگرم شود.

۴- تنظیم فیوزبیت ها بصورت دستی و ایجاد کد Prog$

پس از پروگرم کردن میکرو وارد سربرگ Lock and Fuse Bits شده و بسته به پروژه خود فیوزبیت ها را تنظیم کنید. مثلاً ما در این پروژه نیاز داریم که نوسان ساز را بر روی کریستال خارجی تنظیم کنیم و پس از آن آی سی را قفل کنیم. به همین ترتیب ابتدا فیوزبیت نوسان ساز را تنظیم کرده و روی دکمه Write FS کلیک می کنیم و در نهایت سه بیت قفل را نیز بر روی 00 قرار داده و کلید Write LB را کلیک می نماییم. توجه: همیشه قفل کردن میکرو را در آخرین مرحله انجام دهید چرا که پس از آن قادر به انجام تغییرات بر روی سایر فیوزبیتها نخواهید بود. (برای باز کردن میکرو فقط دو راه وجود دارد و آن پاک کردن میکرو یا پروگرم کردن یک فایل هگز بر روی میکرو می باشد). پس از تنظیم کلیه فیوز بیتها و بیت های قفل، مطابق شکل زیر بر روی کلید Write PRG کلیک کنید. به محض کلیک کردن بر روی این کلید، دستوری به برنامه شما افزوده خواهد شد که در شکل بعدی قابل مشاهده می باشد.

۵- کار تمام است!

پس از اضافه شدن دستور Prog$ برنامه را ذخیره کنید و آنرا منتشر نمایید. از این به بعد موقع پروگرم کردم میکرو سه پنجره کوچک را مشاهده خواهید کرد، اولین و دومین پنجره مربوط به پروگرم کردن فلش و Verify کردن فلش بوده و پنجره سوم مربوط به تنظیم فیوزبیتها و احیاناً قفل کردن میکرو می باشد. این روش هم برای تولید انبوه مناسب بوده و علاوه بر کاستن وقت از امکان اشتباه در تنظیم فیوزها و یا عدم قفل شدن میکرو جلوگیری بعمل می آورد و هم موقع منتشر کردن برنامه نیازی به توضیح در خصوص فیوزبیت ها نمی باشد و کاربران مبتدی براحتی برنامه مورد نظر شما را پروگرم کرده و تمام فیوزبیت ها به صورت خودکار برنامه ریزی خواهد شد. ضمناً تنظیمات بصورت هوشمند می باشد بدین صورت که ابتدا تمام فیوز بیت ها تنظیم می شود و در صورت نیاز قفل کردن میکرو در آخر کار انجام می گردد.

بازدیدها: 1128

4 دیدگاه دربارهٔ «خلاص شدن از شر فيوزبيت ها در BASCOM»

  1. ببخشید من یک میکرو دارم که کامل قفل شده
    چطور می تونم میکرو رو پاک کنم یا یقول معروف ریست فکتوری کنم ؟؟؟

دیدگاه‌ها غیرفعالند.