PIC mikrokontroleri su mali čipovi koji kontrolišu mnoga kola u jednostavnim i naprednim proizvodima. Ovaj članak objašnjava njihovu istoriju, Harvard arhitektura, portovi i pinout, 8-, 16- i 32-bitne porodice, tipovi memorije, tajmeri, prekidi, režimi napajanja, i komunikacione veze. Takođe pokriva alate, PCB dizajn, izbor uređaja, i greške u detalje.

PIC mikrokontroleri Osnovni
PIC mikrokontroleri su mali računarski čipovi koji mogu kontrolisati mnoge vrste elektronskih kola. Počeli su kao jednostavni pomoćni čipovi napravljeni od strane General Instrumenta. Kasnije, Microchip Technologi je preuzeo dizajn i pretvorio PIC u punu porodicu mikrokontrolera. PIC znači Microchip 8-bitni, 16-bitni i 32-bitni mikrokontroleri koji se koriste u mnogim elektronskim proizvodima.
Prvi PIC uređaji pojavili su se 1970-ih kao programabilni periferni čipovi. U ranim 1990-ih, oni su ponovo pokrenuti kao samostalni mikrokontroleri koji mogu da skladište programe i kontrolišu čitave sisteme sami. Moderni PIC mikrokontroleri se fokusiraju na jednostavno programiranje, korisne ugrađene periferije i nisku cenu, što ih čini izborom za mnoge ugrađene dizajne
KSNUMKS. Harvard arhitektura unutar PIC mikrokontrolera

PIC mikrokontroleri koriste Harvard arhitekturu, što znači da se programske instrukcije i podaci čuvaju u odvojenim memorijskim područjima i putuju različitim unutrašnjim putevima. Zbog toga, CPU može da dohvati sledeću instrukciju tokom čitanja ili pisanja podataka. Ova paralelna akcija pomaže PIC-u da radi glatko i održava njegovo vreme lakšim za kontrolu nego u mnogim dizajnima sa jednim autobusom.
U mnogim PIC porodicama, memorija instrukcija je šira od memorije podataka, kao što su 14-bitne reči sa 8-bitnim podacima. Ova dodatna širina omogućava svakoj instrukciji da sadrži korisne informacije kao što su brojevi i adrese direktno. Kao rezultat toga, programi mogu biti kraći, pokrenuti brže i još uvek sede na hardveru koji ostaje jednostavan unutra.
KSNUMKS. PIC mikrokontroleri - portovi i pinout

PIC mikrokontroler igle su raspoređeni oko paketa za grupisanje funkcija vezanih za grupisanje, što olakšava povezivanje eksternog hardvera. Snaga igle snabdevanje radni napon, dok oscilator igle rukovanje sat ulaz za tajming. Nekoliko portova (RA, RB, RC, RD i RE) obezbeđuju digitalne I / O i podržavaju alternativne uloge kao što su prekidi, analogni ulazi, funkcije snimanja / upoređivanja i komunikacioni interfejsi. Mnogi pinovi su multipleksirani, omogućavajući funkcije kao što su UART, SPI i I²C da dele iste fizičke linije u zavisnosti od konfiguracije. Namenski analogni kanali podržavaju ADC operacije, a specifične igle upravljaju resetovanjem, referentnim signalima i posebnim kontrolnim funkcijama. Fleksibilnost svakog pina pomaže uređaju da se uklopi u širok spektar aplikacija, od jednostavnih kontrolnih zadataka do naprednih ugrađenih dizajna.
PIC mikrokontroler porodice od 8-bitnog do 32-bitnog

PIC mikrokontroleri su grupisani u nekoliko porodica, tako da je lakše uskladiti čip sa potrebnom brzinom, memorijom i karakteristikama. Glavna razlika između ovih porodica je koliko bitova rukuju u isto vreme, i koliko ugrađenog hardvera uključuju za različite zadatke kontrole.
• 8-bitne porodice (PIC10, PIC12, PIC16, PIC18)
Ovi PIC mikrokontroleri rade sa 8-bitnim podacima. Uklapaju se u vrlo male pakete i često se biraju za jednostavne kontrolne zadatke i jeftine projekte.
• 16-bitne porodice (PIC24 i dsPIC33)
Ovi uređaji obrađuju 16-bitne podatke, imaju više memorije i koriste šire registre. Oni mogu obraditi složenije operacije i uključuju funkcije digitalne kontrole signala za bržu matematiku i tajming.
• 32-bitna porodica (PIC32)
Ovi PIC mikrokontroleri koriste KSNUMKS-bitno MIPS jezgro, omogućavajući bolje performanse. Oni podržavaju naprednije periferije i komunikacione funkcije za zahtevan ugrađeni rad.
KSNUMKS. Memorija unutar PIC mikrokontrolera

Programska memorija (Flash)
Programska memorija je mesto gde se čuva glavni kod PIC-a. Stariji PIC uređaji koriste EPROM ili jednokratnu programabilnu memoriju, ali većina novijih PIC mikrokontrolera koristi flash memoriju. Flash se može izbrisati i prepisati više puta, tako da se program može ažurirati bez zamene čipa.
Memorija podataka (RAM)
Memorija podataka je RAM, i ona drži informacije samo dok je PIC napajan. Skladišti varijable, privremene vrednosti i stek tokom izvršavanja programa. Mnogi 8-bitni PIC mikrokontroleri dele RAM na banke ili stranice, dok 16-bitni i 32-bitni PIC uređaji često obezbeđuju veću, kontinuiraniju RAM površinu.
Nestabilna memorija podataka (EEPROM ili flash podataka)
Ova vrsta memorije čuva podatke čak i kada je napajanje isključeno. PIC mikrokontroleri koriste EEPROM ili flash podataka za čuvanje vrednosti kalibracije, informacije o konfiguraciji i druga podešavanja koja moraju ostati ista nakon resetovanja i ciklusa napajanja.
KSNUMKS. Tajmeri, prekidi i kontrola napajanja u PIC mikrokontrolerima

PIC mikrokontroleri koriste tajmere za praćenje događaja, a kada se tajmer prelije, zastavica za prekid je postavljena da zatraži pažnju CPU-a. CPU pauzira svoj trenutni rad, pokreće rutinu prekida usluge, a zatim nastavlja normalno izvršavanje. Funkcije kontrole napajanja omogućavaju uređaju da uđe u režim mirovanja male snage dok tajmeri ili tajmer čuvara nastavljaju da rade u pozadini. Događaj buđenja, kao što je resetovanje ili prekid čuvara, vraća CPU u aktivni režim. Ova interakcija između tajmera, prekida i režima napajanja pomaže u smanjenju potrošnje energije uz održavanje tačnog vremena i pouzdanih odgovora sistema.
Komunikacioni interfejsi u PIC mikrokontrolerima

PIC mikrokontroleri se povezuju sa širokim spektrom eksternih uređaja preko više komunikacionih interfejsa. Analogni senzori, kao što su temperatura ili svetlosni ulaz, prenose svoje signale kroz ADC, dok digitalni senzori dele podatke preko I²C sabirnice. Aktuatori kao što su motori, LED diode i releji primaju kontrolne signale preko GPIO ili PVM izlaza. Komunikacija sa računarom se odvija preko USB-a ili UART-a, omogućavajući razmenu podataka ili otklanjanje grešaka. Ostali mikrokontroleri i periferije interfejs koristeći SPI, UART, ili I²C, omogućavajući koordinirani rad u većim ugrađenim sistemima. Ove veze podržavaju fleksibilan dizajn sistema i omogućavaju mikrokontroleru da efikasno komunicira sa senzorima, kontrolnim elementima i spoljnim procesorima.
Razvojni alati za PIC mikrokontrolere
MPLAB KS IDE
MPLAB Ks je besplatan program koji se koristi za kreiranje i testiranje koda za PIC mikrokontrolere. Radi na Vindovs-u, macOS-u i Linuk-u. U jednom prozoru vam omogućava da pravite projekte, pišete kod, pravite program i otklanjate greške kako se pokreće na PIC-u.
MPLAB KSC kompajleri
MPLAB KSC kompajleri pretvaraju C ili C ++ kod u mašinski kod za PIC mikrokontrolere. Oni su napravljeni da se dobro podudaraju sa PIC uređajima, tako da kod radi ispravno i efikasno. Postoje besplatne verzije i plaćene verzije sa dodatnim funkcijama.
Otklanjanje grešaka i programiranje hardvera
Alati kao što su PICkit, MPLAB ICD i MPLAB REAL ICE koriste se za učitavanje programa u PIC mikrokontrolere i otklanjanje grešaka na ploči. Omogućavaju vam da programirate čip, pauzirate kod, prođete kroz njega liniju po liniju i gledate kako se vrednosti menjaju dok PIC radi.
Primena PIC mikrokontrolera
Potrošačka elektronika sa PIC mikrokontrolerima
PIC mikrokontroleri su često ugrađeni u svakodnevne elektronske proizvode. Oni mogu da kontrolišu male uređaje, daljinske upravljače, LED osvetljenje, punjače baterija i igračke rukovanjem jednostavnom logikom, vremenom i kontrolom za uključivanje / isključivanje unutar uređaja.
Automobilska i industrijska kontrola sa PIC-om
U automobilima i industrijskim mašinama, PIC mikrokontroleri pomažu u upravljanju motorima, napajanjem, senzorima i HVAC sistemima. Oni čitaju signale, donose odluke i prilagođavaju izlaze tako da sistem radi bezbedno i pouzdano.
PIC u IoT i rubnim uređajima
PIC mikrokontroleri se koriste u mnogim IoT i rubnim čvorovima kada je potrebna mala snaga. Oni pokreću senzore na baterije, jednostavne kapije i monitore životne sredine koji prikupljaju osnovne podatke i šalju ih drugim sistemima.
Medicinski i merni alati pomoću PIC-a
Neki medicinski i laboratorijski instrumenti takođe se oslanjaju na PIC mikrokontrolere. Oni mogu kontrolisati ručne dijagnostičke alate, pumpe i male merne uređaje čitanjem podataka senzora i upravljanjem jednostavnim kontrolnim rutinama.
KSNUMKS. Izbor PIC mikrokontrolera
• Izaberite širinu i brzinu bita - Koristite 8-bitni PIC10/12/16/18 za jednostavnu, jeftinu kontrolu. Izaberite 16-bitni PIC24 / dsPIC33 za više memorije i matematike. Pređite na 32-bitni PIC32 za veći kod i težu obradu.
• Proverite memoriju i periferije - Procenite potrebnu veličinu programa i RAM-a, a zatim dodajte malo margine. Navedite potrebne ADC kanale, UART, SPI / I²C portove, tajmere, PVM izlaze i sve dodatke kao što su CAN, USB ili kripto, i uporedite ih sa PIC-om koji ih ima.
• Potvrdite napajanje i paket - Pregledajte aktivnu struju i struju mirovanja za dizajne na baterije. Izaberite veličinu paketa i broj pinova koji odgovaraju vašem PCB. Uverite se da PIC zadovoljava odgovarajuću temperaturu i stepen pouzdanosti.
KSNUMKS. Uobičajene greške sa PIC mikrokontrolerima
| Savet | Šta da radim i zašto? |
|---|---|
| Inicijalizujte podešavanja na početku | Podesite sve I/O pinove, isključite neiskorišćene periferije, i podesite sat i čuvara na početku main() da biste izbegli slučajno ponašanje. |
| Neka prekidi budu jednostavni | Učinite rutine prekida kratkim, izbegavajte težak posao unutar njih i zaštitite deljene podatke tako da se vrednosti ne menjaju na nesigurne načine. |
| Ponovna upotreba dokazanih primera PIC-a | Koristite Microchip biblioteke, primeri koda, i beleške aplikacija za UART, SPI, ADC, i drugi blokovi da prate ispravne podešavanja registra. |
| Dozvolite ažuriranja u sistemu | Planirajte hardver i kod tako da se PIC može reprogramirati preko bootloadera ili linka za ažuriranje umesto promene čipa. |
| Proverite snagu i tajming rano | Izmerite stvarnu struju i vreme na tabli, posebno za male snage ili uske tajming dizajna, umesto poverenja samo procene. |
Zaključak
PIC mikrokontroleri objedinjuju jednostavne hardverske blokove, odvojene programske i podatkovne putanje, fleksibilne portove, nekoliko tipova memorije i mnoge tajmere i interfejse. Sa pravim alatima i rasporedom PCB-a, i podešavanjem bitova, režima napajanja i prekida ispravno, dizajn zasnovan na PIC-u može ostati jasan, pouzdan i lakši za održavanje tokom vremena.
Često postavljana pitanja [FAK]
Šta su konfiguracioni bitovi u PIC mikrokontroleru?
Bitovi konfiguracije su nestabilna podešavanja koja definišu kako se PIC pokreće i pokreće, kao što su izvor sata, tajmer čuvara, resetovanje i zaštita koda.
Kako mogu da ažuriram firmvare PIC-a bez hardverskog programera svaki put?
Koristite bootloader koji prima novi firmver preko UART, USB, CAN ili drugog interfejsa i piše ga u flash memoriju PIC-a.
Šta treba da proverim da li moj PIC ne radi nakon programiranja?
Proverite napajanje i uzemljenje, resetovanje / MCLR nivo i izvor sata, a zatim proverite bitove konfiguracije i potvrdite da kod dostiže.
Kada treba da koristim dsPIC umesto PIC16 ili PIC18?
Koristite dsPIC kada su vam potrebni brzi matematički i procesni zadaci, kao što su kontrola motora, digitalna konverzija energije ili filtriranje.
Kako mogu da zaštitim firmvare PIЦ-a od kopiranja?
Omogućite zaštitu koda i zaštitu memorije bitova tako da spoljni alati ne mogu da čitaju ili kloniraju program i sačuvane podatke.
Kako da smanjim potrošnju energije u dizajnu zasnovanom na PIC-u?
Smanjite brzinu takta, onemogućite neiskorišćene periferije, koristite režime mirovanja ili praznog hoda i minimizirajte nepotrebnu aktivnost pinova i struje opterećenja.