-18-
PIC mikrokontrolleri
PIC (odatda "tanlash" deb talaffuz qilinadi) - Microchip Technology tomonidan
ishlab chiqarilgan, dastlab General Instrument Mikroelektronika bo'limi tomonidan
ishlab chiqilgan PIC1650 dan olingan mikrokontrollerlar oilasi. PIC nomi dastlab
Periferik interfeyslarni boshqarish moslamasi deb atalgan va hozirda
dasturlashtiriladigan aqlli kompyuter sifatida kengaytirilgan. Oilaning birinchi
qismlari 1976 yilda paydo bo'lgan; 2013 yilga kelib kompaniya turli xil ko'milgan
tizimlarda ishlatiladigan o'n ikki milliarddan ortiq alohida qismlarni jo'natdi.
Dastlabki PIC modellarida dasturlarni saqlash uchun faqat o'qish uchun xotira
(ROM) yoki maydonda programlanadigan EPROM bor edi, ba'zilarida esa xotirani
o'chirish imkoniyati mavjud edi. Hozirgi barcha modellar dasturni saqlash uchun
flesh -xotiradan foydalanadi va yangi modellar PICning o'zini qayta dasturlashiga
imkon beradi. Dastur xotirasi va ma'lumotlar xotirasi ajratilgan (Qarang:
Arxitektura arxitekturasi). Ma'lumotlar xotirasi 8 bitli, 16 bitli va oxirgi modellarda
32 bitli. Dastur ko'rsatmalari PIC oilasi bo'yicha bit-sonda farq qiladi va uzunligi
12, 14, 16 yoki 24 bit bo'lishi mumkin. Ko'rsatmalar to'plami ham modelga qarab
o'zgaradi, kuchliroq chiplar raqamli signalni qayta ishlash funktsiyalari uchun
ko'rsatmalarni qo'shadi.
PIC qurilmalarining apparat imkoniyatlari 6-pinli SMD, 8-pinli DIP-chiplardan
144-pinli SMD-chipgacha, diskret kirish-chiqish pinlari, ADC va DAC modullari
va UART, I2C, CAN va boshqalar kabi aloqa portlariga ega. hatto USB. Ko'p
turdagi turlar uchun past quvvatli va yuqori tezlikdagi o'zgarishlar mavjud.
Ishlab chiqaruvchi MPLAB X, montajchilar va C/C ++ kompilyatorlari, MPLAB
va PICKit seriyali dasturchi/disk raskadrovka uskunalari deb nomlanuvchi
kompyuter dasturlarini ishlab chiqaradi. Uchinchi tomon va ba'zi ochiq manbali
vositalar ham mavjud. Ba'zi qismlar elektron dasturlash qobiliyatiga ega; arzon
ishlab chiqish dasturchilari, shuningdek, yuqori ishlab chiqaruvchilar mavjud.
PIC qurilmalari arzon ishlab chiqaruvchilar va havaskorlar orasida mashhurdir,
chunki ularning arzonligi, keng mavjudligi, katta foydalanuvchilar bazasi, ilovalar
yozuvlarining keng to'plami, arzon yoki bepul ishlab chiqish vositalarining
mavjudligi, ketma-ket dasturlash va qayta programlanadigan flesh-xotira
qobiliyati.
Asl PIC General Instrument-ning yangi CP1600 16-bitli markaziy protsessor
birligi (CPU) bilan ishlatishga mo'ljallangan edi. CP1600 o'z davri uchun kuchli
protsessor bo'lib, PDP-11 minikompyuterining buyruqlar majmuasining ko'p
qismini mikrokompyuterlar to'plamida amalga oshiradi.
Aksariyat odamlar [kim?] CP1600 ni yaxshi protsessor deb hisoblashsa -da, uning
bitta muhim muammosi bor edi; jismoniy DIP -qadoqlarining pin sonini
kamaytirish uchun, u ko'p tarmoqli manzillar va ma'lumotlar avtobuslariga ega edi
[havola kerak]: manzil shinalari va ma'lumotlar shinalari umumiy pinlari. Intel
8008 singari alohida kirish-chiqish kanallari bo'lgan protsessorlar uchun bu
muammo bo'lmaydi [tushuntirish kerak], lekin 1600 shuningdek, PDP-11 xotira
xaritasi bilan kiritilgan kirish/chiqish kontseptsiyasidan foydalangan. Bu shuni
anglatadiki, qurilma bilan aloqa qilish qurilmaning bitta kompyuter tsiklidagi
xotiraning asosiy joylariga kirishini kuzatishi, so'ngra keyingi ma'lumotlarni o'qishi
kerak edi. Bu avtoulovda kirish -chiqish tezligini pasaytirdi, chunki avtobus
manzillar va ma'lumotlar rejimlari o'rtasida almashib turardi va qurilmalar kirishni
bir necha tsikllarda ushlab turishi kerak edi.
1600-ning bu zaifligini bartaraf etish uchun 1975-yilda 8-bitli PIC ishlab chiqilgan.
G'oya shundan iborat ediki, tizim bir yoki bir nechta arzon PIC-ga ega bo'lib,
qurilmalar bilan haqiqiy kirish-chiqish ishlarini bajaradi va keyin bu ma'lumotlarni
yuboradi. CPUga. PIC o'z vazifalarini bajarish uchun ROMda saqlangan oddiy
mikrokoddan [havola kerak] foydalangan.
1985 yilda General Instrument mikroelektronika bo'limini sotdi va yangi egalari
deyarli eskirgan hamma narsani bekor qilishdi. Biroq, PIC ichki EPROM bilan
yangilanib, dasturlashtiriladigan kanal boshqaruvchisini ishlab chiqardi. Shu bilan
birga, Buyuk Britaniyadagi Plessey GI dizayniga asoslangan PIC1650 va PIC1655
raqamli NMOS protsessorlarini chiqargan, xuddi shu ko'rsatmalarni ishlatib,
foydalanuvchi niqobini dasturlash yoki avtomatik terish va klaviatura interfeysi
uchun oldindan dasturlashtirilgan.
1998 yilda Microchip o'zining muvaffaqiyatli ketma -ket programlanadigan
PIC16C84 -ning flesh -programlanadigan va o'chiriladigan PIC 16F84 versiyasini
taqdim etdi. 2001 yilda Microchip ko'proq Flash dasturlashtiriladigan qurilmalarini
taqdim etdi, to'liq ishlab chiqarish 2002 yildan boshlanadi.
Bugungi kunda turli xil ichki qurilmalar (ketma-ket aloqa modullari, UARTlar,
dvigatellarni boshqarish yadrolari va boshqalar) va 256 so'zdan 64K so'zgacha
bo'lgan dastur xotirasi bilan PIC-larning xilma-xilligi mavjud ("so'z"-bu yig'ilish
tilining bitta ko'rsatmasi. , uzunligi ma'lum PIC mikro oilasiga qarab 8 dan 16
bitgacha o'zgaradi).
PIC va PICmicro endi Microchip Technology kompaniyasining ro'yxatdan o'tgan
savdo belgilaridir. Umuman olganda, PIC Periferik interfeys boshqaruvchisi degan
ma'noni anglatadi, garchi General Instruments PIC1640 va PIC1650
qurilmalarining asl qisqartmasi "Dasturlanadigan interfeys boshqaruvchisi" edi.
Qisqartma tezda "Dasturlanadigan aqlli kompyuter" bilan almashtirildi.
1993 yilda taqdim etilgan Microchip 16C84 (PIC16x84) EEPROM chipli xotirali
birinchi Microchip protsessor edi.
2013 yilga kelib, Microchip har yili bir milliarddan ortiq PIC mikrokontrolerini
jo'natdi.
PIC mikro chiplari Garvard arxitekturasi bilan yaratilgan bo'lib, ular turli xil
qurilmalar oilalarida taqdim etiladi. Boshlang'ich va o'rta toifadagi oilalar 8 bitli
keng ma'lumotli xotiradan, yuqori darajali oilalar esa 16 bitli ma'lumot xotirasidan
foydalanadilar. Oxirgi seriya, PIC32MZ-32 bitli MIPS asosidagi mikrokontroller.
Ko'rsatma so'zlari 12 bitli (PIC10 va PIC12), 14 bitli (PIC16) va 24 bitli (PIC24 va
dsPIC) o'lchamlarda. Mashina ko'rsatmalarining ikkilik ko'rinishi oilaga qarab
o'zgaradi va PIC buyruqlar ro'yxatida ko'rsatiladi.
Bu oilalarda qurilmalar PICnnCxxx (CMOS) yoki PICnnFxxx (Flash) sifatida
belgilanishi mumkin. "C" qurilmalari odatda "yangi rivojlanish uchun mos emas"
deb tasniflanadi (Microchip tomonidan faol targ'ib qilinmaydi). "C"
qurilmalarining dastur xotirasi OTP, ROM yoki EEPROM sifatida har xil
ta'riflanadi. 2016 yil oktyabr holatiga ko'ra, "ishlab chiqarishda" deb tasniflangan
yagona OTP mahsuloti pic16HV540 hisoblanadi. Kvarts oynalari bo'lgan "C"
qurilmalari (o'chirish uchun) umuman mavjud emas.
Bu qurilmalarda 12 bitli keng kodli xotira, 32 baytli registrli fayl va ikki darajali
chuqur qo'ng'iroqlar to'plami mavjud. Ular PIC10 seriyali, shuningdek ba'zi PIC12
va PIC16 qurilmalari bilan ifodalanadi. Asosiy qurilmalar 6-pinli 40-pinli
paketlarda mavjud.
Odatda registr faylining birinchi 7 dan 9 baytigacha maxsus registrlar, qolgan
baytlar esa umumiy maqsadli operativ xotira. Ko'rsatkichlar registrlar juftligi
yordamida amalga oshiriladi: FSR (fayl tanlash reestri) ga manzil yozilgandan
so'ng, INDF (bilvosita f) registrlari manzil registrining taxallusiga aylanadi. Agar
operativ xotira o'rnatilgan bo'lsa, bank raqami FSRning 3 bitli yuqori qiymati bilan
tanlanadi. Bu 16-31 ro'yxatga olish raqamlariga ta'sir qiladi; 0 dan 15 gacha
registrlar global bo'lib, bankning bitlari ta'sir qilmaydi.
Ro'yxatga olish maydoni juda cheklanganligi sababli (5 bit), kamdan -kam
o'qiladigan 4 ta registrga manzillar belgilanmagan, lekin ular maxsus ko'rsatmalar
(OPTION va TRIS) bilan yozilgan.
ROM manzillar maydoni 512 so'zdan iborat (har biri 12 bit), uni bank orqali 2048
so'zgacha kengaytirish mumkin. CALL va GOTO ko'rsatmalari yangi kod joyining
past 9 bitini ko'rsatadi; holat registridan qo'shimcha yuqori darajadagi bitlar
olinadi. E'tibor bering, CALL buyrug'i faqat 8 bitli manzilni o'z ichiga oladi va har
512 so'zli sahifaning birinchi yarmida manzillarni ko'rsatishi mumkin. Ya'ni,
CALL buyrug'i manzilning past 9 bitini bildiradi, lekin faqat 8 bitli past manzil
ko'rsatma parametridir, 9 -bit (8 -bit) esa CALL buyrug'ining o'zi bilan aniq 0
sifatida belgilanadi.
Qidiruv jadvallari hisoblangan GOTO (PCL reestriga topshiriq) yordamida
RETLW ko'rsatmalari jadvaliga kiritiladi. RETLW, W registriga qaytib, 8 bitli
doimiy konstantaga qaytadi, u yo'riqnomaga kodlangan.
Bu "asosiy yadro" uzilishlarni qo'llab -quvvatlamaydi; barcha I/U so'rovlari
o'tkazilishi kerak. To'xtatilgan qo'llab-quvvatlash va to'rt darajali qo'ng'iroqlar
to'plamiga ega bo'lgan "takomillashtirilgan bazaviy" variantlar mavjud.
PIC10F32x qurilmalarida 256 yoki 512 so'zdan iborat 14-bitli keng ko'lamli kodli
xotira, 64 baytli SRAM registrli fayl va 8 darajali chuqur apparat to'plami mavjud.
Ushbu qurilmalar 6-pinli SMD va 8-pinli DIP paketlarida mavjud (ikkita pin
ishlatilmagan). Faqat bitta kirish va uchta kirish -chiqish pinlari mavjud. Murakkab
uzilishlar to'plami mavjud. Soatlar-bu 16 MGts chastotali ichki kalibrlangan
osilator, dasturiy ta'minot va 31 kHz kam quvvat manbai orqali tezlikni tanlash.
Ushbu qurilmalarda 14 bitli keng kodli xotira va 8 darajali chuqur qo'ng'iroqlar
to'plami mavjud. Ko'rsatmalar to'plami boshlang'ich qurilmalardan juda kam farq
qiladi, lekin ikkita qo'shimcha kodli bitlar 128 ta registr va 2048 ta so'zli so'zlarga
to'g'ridan -to'g'ri murojaat qilish imkonini beradi. Bir nechta qo'shimcha
ko'rsatmalar va 8 bitli ikkita qo'shimcha ko'rsatmalar mavjud, ularni qo'shish va
olib tashlash. O'rta masofali yadro PIC12 va PIC16 etiketli qurilmalarning
ko'pchiligida mavjud.
Ro'yxatga olish maydonining dastlabki 32 bayti maxsus registrlarga ajratilgan;
qolgan 96 bayt umumiy maqsadli operativ xotira uchun ishlatiladi. Agar bank
operativ xotirasidan foydalanilsa, yuqori 16 ta registr (0x70-0x7F), bir qator
maxsus maqsadli registrlar, shu jumladan RAM bankini tanlash bitlarini ushlab
turuvchi STATUS reestri ham global hisoblanadi. (Boshqa global registrlar - bu
FSR va INDF, PCL dasturlari hisoblagichining past 8 biti, yuqori yuklangan
PCLATH registri va INTCON asosiy uzilish registrlari.)
PCLATH reestri PCL registriga yozish orqali berilgan 8 bit yoki GOTO yoki
CALL buyrug'i bilan ta'minlangan 8 bit mavjud ROM maydonini hal qilish uchun
etarli bo'lmaganida, yuqori darajadagi ko'rsatma manzil bitlarini etkazib beradi.
17 -seriya hech qachon mashhur bo'lmagan va PIC18 arxitekturasi bilan
almashtirilgan (ammo quyida klonlarga qarang). 17 -seriyali yangi dizaynlar uchun
tavsiya etilmaydi va foydalanuvchilar bilan cheklanishi mumkin.
Oldingi yadrolarni takomillashtirish-bu 16 bitli keng kodli kodlar (ko'plab yangi
ko'rsatmalarga ruxsat berish) va 16 darajali chuqur qo'ng'iroqlar to'plami. PIC17
qurilmalari 40 dan 68 pingacha bo'lgan paketlarda ishlab chiqarilgan.
17 -seriya bir qator muhim yangi xususiyatlarni taqdim etdi: [9]
*xotira kartasi akkumulyatori
*kod xotirasiga kirishni o'qish (jadval o'qiladi)
*harakatlarni ro'yxatga olish uchun to'g'ridan -to'g'ri ro'yxatga olish kitobi
(registrlarni akkumulyator orqali o'tkazish uchun oldingi yadrolar kerak)
* kod maydonini kengaytirish uchun tashqi dastur xotira interfeysi
*8-bit × 8-bitli apparat multiplikatori
*ikkinchi bilvosita ro'yxatga olish juftligi
*status registridagi boshqaruv bitlari tomonidan boshqariladigan avtomatik
o'sish/kamayish manzili (ALUSTA)
Muhim cheklov shundaki, operativ xotira maydoni 256 bayt bilan cheklangan edi
(26 bayt maxsus funktsiyalar registri va 232 bayt umumiy maqsadli operativ
xotira), bu esa ko'proq qo'llab-quvvatlanadigan modellarda noqulay bank
almashtirish.
|