Dastur xotirasi
AVR mikrokontrollerlaridagi kabi dastur xotirasi Flash–EPROM texnologiyasidan foydalangan holda amalga oshiriladi, bu foydalanuvchi tomonidan dasturlash va elektr bilan o'chirishni o'z ichiga oladi. Ushbu xotira hajmi mikrokontrollerga qarab farq qiladi va odatda bir necha Kb buyruq so'zlarini tashkil qiladi.
Fleshli xotira uchuvchan emas, ya'ni mikrokontrollerning quvvatini o'chirgandan keyin ham unga yozilgan ma'lumotlarni saqlaydi. Ushbu turdagi xotira dasturlashtiriladigan bo'lsa ham, uni yozish uchun faqat tashqi apparat vositalaridan foydalaniladi, shuning uchun dasturchi nuqtai nazaridan dastur xotirasi faqat o'qish uchun mavjud deb aytish mumkin.
Dasturlar xotirasida buyruqlarni adreslash maxsus registr – buyruq hisoblagichi yordamida amalga oshiriladi, uning bit chuqurligi ushbu xotiraning ruxsat etilgan hajmini belgilaydi. Mikrokontroller turiga qarab dasturlarning xotira hujayralarining bit chuqurligi 14...
Bundan tashqari, shuni ta'kidlash kerakki, pic mikrokontrollerlarida dastur xotirasining birinchi joylarida (0x0000 manzilidan boshlab) tiklash va uzilishlar vektorlari (o'tish manzillari) mavjud.
AVR mikrokontrollerlarining EEPROM xotirasi
Ko'pgina AVR mikrokontrollerlari o'rnatilgan EEPROM xotirasi bilan jihozlangan – elektr bilan qayta yoziladigan uchuvchan bo'lmagan xotira. Ushbu xotira yozishga imkon beradigan bo'lsa-da, u kamdan-kam hollarda dastur o'zgaruvchilarini saqlash uchun ishlatiladi, chunki birinchidan, u sekin ishlaydi, ikkinchidan, cheklangan (juda katta bo'lsa ham) qayta yozish tsikliga ega.
Yuqorida aytib o'tilganlarni hisobga olgan holda, EEPROM xotirasi asosan quvvat yo'qolganda ham yo'qolmasligi kerak bo'lgan ma'lumotlarni saqlash uchun ishlatiladi. Bu juda qulay, masalan, sozlash jarayonida EEPROM xotirasida sozlash parametrlari saqlanadigan mikrokontrollerlar tomonidan boshqariladigan o'lchash moslamalarini kalibrlashda. Shu sababli, aksariyat hollarda sozlash potentsiometrlari va trimmerlarga ehtiyoj butunlay yo'qoladi.
Fleshli xotiradan farqli o'laroq, EEPROM xotirasini yozish/o'qish uchun maxsus dasturchiga ehtiyoj yo'q – bu operatsiyalar dasturiy ravishda mavjud va eecr boshqaruv registri, eedr ma'lumotlar registri va eearl, eearh registr juftligi yordamida bayt-bayt ma'lumotlarni uzatishga imkon beradi.xotira uyasi manzili (jadvalga qarang. 1.1).
Ma'lumotlar baytini EEPROM xotirasiga yozish quyidagi sxema bo'yicha amalga oshiriladi:
eecr registrining EEWE toifasida (1-toifa) log mavjudligiga ishonch hosil qiling. 0 (yozish uchun ruxsat);
EEPROM katakchasining manzilini EEAR registriga yozing;
ma'lumotlar baytini eedr registriga yozing;
jurnalga o'rnating. EECR registrining 1-toifasi EEMWE (2-toifa);
jurnalga o'rnating. Yozish jarayonini faollashtirish uchun EECR registrining 1-toifasi EEWE (1-toifa).
Dasturlash tsiklining oxirida eewe toifasi apparat tomonidan avtomatik ravishda jurnalga qaytariladi. 0. Foydalanuvchi dasturi jurnal paydo bo'lishini kutib, ushbu toifani doimiy ravishda so'roq qilishi kerak. 0, keyingi baytni dasturlashni boshlashdan oldin.
EEPROM xotirasidan bayt ma'lumotlarini o'qish quyidagi sxema bo'yicha amalga oshiriladi:
EEPROM katakchasining manzilini EEAR registriga yozing;
jurnalga o'rnating. O'qish jarayonini faollashtirish uchun EECR registrining 1-eere (0-raqam);
EERE deşarjini o'qish oxirida apparat kerakli baytni eedr registriga o'qiydi, shundan so'ng EERE deşarjini qayta so'rashning hojati yo'q, chunki o'qish faqat bitta tizim sinxronlash tsikli davom etadi.
O'qish operatsiyasini boshlashdan oldin foydalanuvchi dasturi doimiy ravishda EEWE toifasini so'rashi va jurnal paydo bo'lishini kutishi kerak. 0. Agar EEPROM xotirasini dasturlash paytida tegishli registrga yangi manzil yoki ma'lumotlar yozilsa, davom etayotgan dasturlash jarayoni to'xtatiladi va natija noaniq bo'ladi!
Do'stlaringiz bilan baham: |