REJA: 1.Kirish 2. ARM mikrokontrollerlar 3. ARM mikrokontrollerlarida dasturiy ta'minotni ishlab chiqish 4. STM32 oilasining umumiy ko'rinishi
KIRISH
So'nggi olti-etti yil ichida mikrokontrollerni ishlab chiqish bo'yicha ko'p harakatlar ARM7 va ARM9 protsessorlarini umumiy maqsadli mikrokontrollerlarga integratsiyalashga sarflandi. Va hozirda turli ishlab chiqaruvchilar tomonidan 240 ga yaqin ARM mikrokontrolleri ishlab chiqarilmoqda. Ushbu ishlab chiqaruvchilar qatoriga ST Microelectronics kiradi, ularning STM32 oilasi yangi ARM Cortex-M3 protsessoriga asoslangan mikrokontrollerlarning birinchi oilasiga aylandi. Ushbu mikrokontrollerlar ishlash va xarajat nuqtai nazaridan yangi benchmarkni o'rnatdilar. Bunga qo'shimcha ravishda, ular kam quvvat iste'moli va qattiq real vaqt rejimida ishlash talablari bo'lgan ilovalarda qo'llanilishi mumkin.
ARM MIKROKONTROLLERLAR
ARM Cortex oilasi standart arxitekturaga asoslangan va turli texnologik talablarga javob beradigan yangi avlod protsessorlaridir. Boshqa ARM protsessorlaridan farqli o'laroq, Cortex oilasi standart protsessor va tizim arxitekturasini birlashtirgan to'liq protsessor yadrosidir. Cortex oilasi uchta asosiy profilda mavjud: yuqori unumdor ilovalar uchun Profil A, real vaqtda ilovalar uchun Profil R va xarajatga sezgir va mikrokontroller ilovalari uchun Profil M. STM32 mikrokontrollerlari Cortex-M3 profiliga asoslangan bo'lib, u ilg'or tizim resurslarini va shu bilan birga kam quvvat sarfini talab qiladigan ilovalar uchun maxsus mo'ljallangan. Ular shu qadar arzonligi bilan ajralib turadiki, ular an'anaviy 8 va 16 bitli mikrokontrollerlar bilan raqobatlasha oladi. ARM7 va ARM9 protsessorlari standart mikrokontrollerlarga muvaffaqiyatli integratsiya qilingan bo'lsa-da, ular hali ham chipda tizim ( SoC) fokusiga ega. Bu, ayniqsa, istisnolar va uzilishlar bilan ishlashda seziladi, chunki Turli mikrokontroller ishlab chiqaruvchilari qayta ishlash usullarini turli yo'llar bilan amalga oshiradilar. Cortex-M3 standartlashtirilgan mikrokontroller yadrosi bo'lib, u protsessorga qo'shimcha ravishda mikrokontrollerni tashkil etuvchi barcha boshqa elementlarni (jumladan, uzilish tizimi, SysTick tizim taymeri, disk raskadrovka tizimi va xotira kartasi) o'z ichiga oladi. Cortex-M3 ning 4 gigabaytlik manzil maydoni dastur kodlari, SRAM, I/U qurilmalari va tizim resurslarining aniq belgilangan sohalariga bo'lingan. ARM7 yadrosidan farqli o'laroq, Cortex-M3 Garvard arxitekturasiga asoslangan va shuning uchun operatsiyalarni parallel ravishda bajarishga imkon beruvchi bir nechta avtobuslarga ega. Cortex oilasi bo'laklangan ma'lumotlar (birlashtirilgan ma'lumotlar) bilan ishlash qobiliyatiga ega, bu ham uni avvalgi ARM arxitekturalaridan ajratib turadi. Bu ichki SRAMdan foydalanishda maksimal samaradorlikni ta'minlaydi. Cortex oilasi, shuningdek, ikkita 1 MB xotira hududi ichida bitli tarmoqli imkoniyatlarini qo'llab-quvvatlaydi. Bu usul SRAM hududida joylashgan registrlar va bayroqlarga samarali kirishni ta'minlaydi va to'liq xususiyatli bit protsessorini birlashtirish zaruratini yo'q qiladi.
STM32 ning asosi Cortex-M3 protsessoridir. Bu 32-bitli protsessorni, avtobus tuzilishini, ichki uzilishlar blokini, disk raskadrovka tizimini va oldindan belgilangan xotira tashkilotini birlashtirgan standartlashtirilgan mikrokontrollerdir.
Cortex-M3 yadrosining yana bir asosiy komponenti vektorlashtirilgan ichki uzilish tekshiruvi (VNIC). KVVP barcha Cortex mikrokontrollerlari va ularni qayta ishlash usullari uchun standart uzilish tuzilishini taqdim etadi.
KVVP 240 ta manba uchun uzilish vektorlarini belgilaydi, ularning har biri o'z ustuvorligiga ega bo'lishi mumkin. KVVPni ishlab chiqishda uzilishlarni qayta ishlash tezligiga alohida e'tibor berildi. To'xtatish so'rovi olingan paytdan boshlab uzilishga xizmat ko'rsatish tartibining birinchi buyrug'i bajarilgunga qadar faqat 12 tsikl o'tadi. Bunga qisman protsessor ichidagi maxsus mikrokod yordamida avtomatik stek operatsiyalari orqali erishiladi. Agar uzilishlar deyarli bir vaqtning o'zida sodir bo'lsa, KVVP keyingi uzilishlarni qayta ishlash protsedurasini chaqirishdan oldin atigi 6 tsikl kechikish bilan uzilishlarni tartibga solish usulidan foydalanadi. Uzilishlar bir-biriga o'xshash bo'lsa, yuqori ustuvorlikdagi uzilish qo'shimcha protsessor davrlarini behuda sarf qilmasdan pastroq ustuvorlikdagi uzilishni oldini olishi mumkin. Uzilish tuzilishi, shuningdek, Cortex-M3 yadrosi tomonidan qo'llab-quvvatlanadigan quvvatni tejovchi ish rejimlari bilan chambarchas bog'liq. Protsessorni uzilishlarni qayta ishlash tugagandan so'ng avtomatik ravishda tejamkor ish rejimiga o'tish uchun sozlash mumkin. Ushbu o'tishdan so'ng, yadro keyingi istisno sodir bo'lgunga qadar bo'sh qoladi.
Cortex-M3 yadrosi arzon yadro sifatida ishlab chiqilgan bo'lsa-da, u 32-bitli protsessor bo'lib qoladi va shunga ko'ra ikkita ish rejimini qo'llab-quvvatlaydi : Thread rejimi va Handler rejimi, ularning har biri o'z stacklarini sozlashi mumkin. Buning yordamida yanada aqlli dasturiy ta'minotni ishlab chiqish va real vaqtda operatsion tizimlarni (RTOS) qo'llab-quvvatlash mumkin bo'ladi. Cortex yadrosi, shuningdek, davriy uzilishlarni yaratish uchun mo'ljallangan va RTOS yadrosi tomonidan ishlatiladigan 24-bitli avtomatik qayta yuklanadigan taymerni o'z ichiga oladi. ARM7 va ARM9 protsessorlarida ikkita ko'rsatmalar to'plami (32-bit ARM va 16-bit Thumb) mavjud bo'lsa-da, Cortex oilasi ARM Thumb-2 ko'rsatmalar to'plamini qo'llab-quvvatlaydi. Bu 32-bitli ARM ko'rsatmalar to'plamining ishlashi va 16-bitli Thumb ko'rsatmalar to'plamining kod zichligiga erishish uchun 16 va 32-bitli ko'rsatmalarning aralashmasi. Thumb-2 - bu C/C++ tili kompilyatorlariga mo'ljallangan keng ko'lamli ko'rsatmalar to'plami. Bu shuni anglatadiki, Cortex mikrokontrolleri uchun dastur to'liq C tilida yozilishi mumkin.
Do'stlaringiz bilan baham: |