PIC
PIC este o serie de microcontrolere cu arhitectură Harvard și fabricate de compania americană Microchip Technology Inc. Numele PIC este prescurtarea pentru engleză. controler de interfață periferică , care înseamnă " controler de interfață periferică ". Numele se explică prin faptul că inițial microcontrolerele din seria PIC au fost destinate să extindă capacitățile I/O ale microprocesoarelor CP1600 pe 16 biți [1] .
Sub marca PIC, Microchip produce microcontrolere de 8, 16 și 32 de biți și controlere de semnal digital (DSC) , o caracteristică distinctivă a cărora este buna continuitate a diferitelor familii: compatibilitatea software (instrumente de dezvoltare comune: IDE MPLAB gratuit , partajat). biblioteci , stive comune ale celor mai populare protocoale de transfer de date ), compatibilitate prin pini, prin periferice, prin tensiuni de alimentare . Gama include mai mult de 500 de controlere diferite cu tot felul de variații periferice, care diferă în dimensiunea memoriei, număr de pini, performanță, intervale de tensiune de alimentare, temperaturi de funcționare etc.
O gamă largă, care face posibilă utilizarea într-un anumit produs a microcontrolerului care este optim în ceea ce privește prețul (inclusiv prezența microcontrolerelor programabile unice în linie), consumul redus de energie, flexibilitatea mare și versatilitatea familiei sunt motivele pentru care producătorii de electronice aleg controlerele PIC ca familie de bază pentru produsele lor [2] .
Microcontrolere pe 8 biți
Microcontrolerele pe 8 biți sunt împărțite în două familii mari: PIC10/12/16 și PIC18.
Microcontrolere pe 8 biți PIC10/12/16/18
Miezurile microcontrolerelor PIC10/12/16 pe 8 biți pot fi construite în una dintre cele două arhitecturi: BASELINE și MID-RANGE.
Arhitectura familiei de bază (BASELINE)
Arhitectura BASELINE are controlere de bază din familia PIC10 și o parte din controlerele din familiile PIC12 și PIC16. Trăsături distinctive:
- lățimea cuvântului din memoria programului: 12 biți ;
- număr de instrucțiuni de mașină acceptate : 35;
- număr de concluzii (contacte): de la 6 la 28;
- cost redus (comparativ cu alte soluții Microcip);
- suport pentru o gamă largă de tensiuni de alimentare ;
- capacitatea de a lucra la tensiuni joase (aplicabil, de exemplu, în dispozitivele alimentate cu baterie );
- consum redus de curent ;
- dimensiuni mici de gabarit ale carcasei;
- prezența memoriei flash încorporate pentru programe.
Familia arhitecturii medii (MID-RANGE)
Arhitectura MID-RANGE are nucleele microcontrolerelor din seriile PIC12 și PIC16. Trăsături distinctive:
- lățimea cuvântului din memoria programului: 14 biți ;
- număr de instrucțiuni de mașină acceptate: 35;
- număr de pini: de la 6 la 64;
- funcționarea în domeniul de tensiune de alimentare de la 2,0 la 5,5 V ;
- consum redus de curent;
- suport pentru întreruperi de sistem ;
- suport pentru stiva hardware;
- prezența memoriei flash încorporate pentru programe;
- prezența memoriei nevolatile de tip EEPROM pentru date;
- suport periferic ( USB , SPI , I²C , USART , LCD , comparatoare , ADC , etc.);
- performanta: 5 MIPS .
Familia Extended Medium-Range Architecture (MID-RANGE)
Arhitectura MID-RANGE extinsă are nucleele noilor microcontrolere din familiile PIC12 și PIC16. Trăsături distinctive:
- lățimea cuvântului din memoria programului: 14 biți ;
- numărul de instrucțiuni de mașină acceptate: 35 principale și 14 suplimentare (optimizate pentru compilatorul C , permițând reducerea dimensiunii codului cu 40%);
- memorie crescută de programe și date;
- stivă hardware mai profundă și îmbunătățită;
- surse suplimentare de evacuare;
- suport pentru dispozitive periferice cu modulul mTouch™ (folosit pentru a crea interfețe cu utilizatorul tactile);
- timp redus de intrare a întreruperii ;
- performanța a crescut la 8 MIPS .
Microcontrolere PIC18 pe 8 biți
Caracteristici distinctive ale microcontrolerelor din familia PIC18F:
- lățimea cuvântului din memoria programului: 16 biți ;
- capacitatea de a conecta următoarele periferice: ADC -uri pe 10 și 12 biți , comparatoare , PWM, captură/comparare, drivere , LCD -uri , periferice cu interfețe USB , CAN , I²C , SPI , USART , Ethernet , TCP/IP , ZigBee , etc.;
- performanță: până la 16 MIPS ;
- capacitatea memoriei programului: până la 128 kB ;
- număr de pini: de la 18 la 100;
- suport pentru tehnologia NanoWatt;
- prezența unui generator programabil;
- tensiuni de alimentare suportate: 3,3 si 5 V ;
- compatibilitate (software, pini, periferice) cu alte controlere din această familie și cu controlere pe 16 biți din alte familii.
Controlere pe 16 biți
Microchip produce două familii de microcontrolere (MCU) pe 16 biți și două familii de controlere de semnal digital (DSC) pe 16 biți care oferă dezvoltatorilor platforme compatibile cu o gamă largă de tipuri de pachete, periferice și viteze. Caracteristici cheie ale tuturor familiilor de 16 biți:
- lățimea cuvântului din memoria programului: 24 biți ;
- compatibilitate pin;
- sistem de comandă unificat;
- compilatoare C comune și instrumente de dezvoltare;
- număr de pini: de la 18 la 100;
- dimensiunea memoriei flash: de la 6 la 536 KB .
Microcontrolere pe 16 biți PIC24F și PIC24H
Caracteristici cheie:
- executarea comenzii in 2 cicluri ale generatorului;
- timp de răspuns la întrerupere garantat - 5 cicluri de comandă;
- acces la memorie (inclusiv instrucțiuni de citire-modificare-scriere) într-un ciclu de instrucțiuni;
- multiplicator hardware (pentru 1 ciclu);
- separator hardware de 32/16 si 16/16 numere (17 cicluri de comanda);
- domeniul de tensiune de alimentare 1,8 ... 3,6 V , o sursă de alimentare;
- in-circuit si auto-programare;
- generator incorporat cu PLL;
- periferice extinse (până la 3 SPI, până la 3 I2C, până la 4 UART-uri (suport IrDA, LIN), CAN (și ECAN extins), USB OTG);
- modul de măsurare a timpului de încărcare (CTMU), principala aplicație este controlul senzorilor capacitivi;
- curent de intrare/ieșire de uz general - 18 mA ;
- porturile sunt tolerante la 5V dispozitiv ;
- suport pentru până la nouă temporizatoare de uz general pe 16 biți;
- suport pentru până la opt module de captură;
- suport pentru mai multe moduri de economisire a energiei;
- suport pentru până la două ADC-uri (32 de canale) cu adâncime de biți configurabilă;
- suport pentru până la opt module de comparare/generare PWM pe 16 biți;
- Alocarea pinului software (PPS);
- acces direct la memoria DMA (pentru PIC24H);
- set extins de instrucțiuni;
- 16 registre ortogonale de uz general;
- sistem de întrerupere cu prioritate vectorială;
- și alte caracteristici (metode de adresare, cicluri hardware).
Microcontrolerele pe 16 biți sunt prezentate în două modificări - PIC24F și PIC24H, care diferă în tehnologia de fabricare a memoriei flash-program. Aceasta determină domeniul de tensiune de alimentare - pentru PIC24F - 2,0 ... 3,6 V , pentru PIC24H - 3,0 ... 3,6 V.
Controlerele din prima familie (PIC24F) sunt fabricate folosind o tehnologie mai ieftină ( 0,25 microni ) și funcționează la performanță maximă de bază ( 16 MIPS , 32 MHz ). Controlerele din a doua familie (PIC24H) sunt fabricate folosind o tehnologie de proces mai complexă, care permite atingerea unei viteze mai mari ( 40 MIPS , 80 MHz ). Ambele familii de controlere acceptă programarea în circuit (ICSP) și autoprogramarea (RTSP).
Controlere de procesare a semnalului digital dsPIC30F și dsPIC33F
Microcip oferă două familii de microcontrolere pe 16 biți cu memorie flash și instrucțiuni DSP, dsPIC30F și dsPIC33F. Viteza ( 30 MIPS pentru dsPIC30F, 40 MIPS pentru dsPIC33FJ, 70 MIPS pentru dsPIC33EP) și un sistem de comandă eficient permit controlerelor să fie utilizate în sisteme în timp real. Particularitati:
- sistem de comandă extins, inclusiv comenzi specifice pentru a sprijini procesarea semnalului digital (DSP) ;
- Instrucțiunile pe 24 de biți se execută în 4 cicluri de ceas pentru dsPIC30F și 2 pentru dsPIC33FJ(EP), cu excepția instrucțiunilor de împărțire, a instrucțiunilor de salt, a instrucțiunilor de transfer de la registru la registru și a instrucțiunilor de tabel;
- capacitatea contorului de programe ( 24 de biți ) permite adresarea a până la 4 M de cuvinte din memoria programului ( 4 M * 24 de biți );
- suport hardware pentru bucle precum DO și REPEAT, a căror execuție nu necesită costuri suplimentare de memorie program și timp pentru analiza condițiilor de terminare. În același timp, aceste cicluri pot fi întrerupte oricând prin evenimente de întrerupere;
- 16 registre de lucru. Registrele pot stoca date, o adresă sau un offset de adresă;
- două clase de instrucțiuni: instrucțiuni de microcontroler (MCU) și instrucțiuni de procesare digitală a semnalului (DSP). Ambele clase sunt integrate în mod egal în arhitectura controlerului și sunt procesate de un singur nucleu;
- diverse tipuri de adresare;
- sistemul de comandă a fost optimizat pentru o eficiență maximă la programarea în limbajul C de nivel înalt.
Dacă puteți vorbi despre PIC24F ca o versiune modificată trunchiată a dsPIC30F (fără un nucleu DSP, cu o sursă de alimentare de trei volți și o conductă reproiectată), atunci PIC24H este o versiune trunchiată a dsPIC33F. Deși această comparație încalcă cauzalitatea, este corectă din punct de vedere tehnic. Nucleul dsPIC33F este complet similar cu nucleul dsPIC30F, cu excepția faptului că în dsPIC33F o instrucțiune este executată în două cicluri generatoare. Familiile sunt pe deplin compatibile în ceea ce privește setul de instrucțiuni, modelul de programare și metodele de adresare, ceea ce permite utilizarea bibliotecilor și a codurilor sursă de program scrise pentru dsPIC30F. De remarcat în mod deosebit este sistemul de ceas revizuit în comparație cu dsPIC30F. DsPIC33F, ca și familia PIC24H, au un multiplicator fracționar PLL (configurabil prin software) care vă permite să obțineți o grilă de frecvență de la 12,5 MHz la 80 MHz în pași de 0,25 MHz folosind un oscilator cu cristal de 4 MHz . În plus, controlerele dsPIC33F și PIC24H au două oscilatoare interne de înaltă stabilitate RC la 7,3728 MHz și 32,768 kHz . Un divizor de ceas de bază separat (modul DOZE) este prezent în toate noile familii de controlere pe 16 biți. Vă permite să reduceți frecvența de ceas furnizată miezului, indiferent de frecvența de ceas a modulelor periferice, ceea ce este necesar pentru a reduce consumul în aplicațiile cu putere limitată. O gamă largă de periferice.
Periferice generale:
- calendar și ceas în timp real RTCC;
- calcul hardware CRC;
- periferice extinse (SPI, I2C, UART (suport IrDA, LIN), CAN (ECAN));
- ADC -uri pe 10 și 12 biți ;
- comparatori ;
- DAC -uri pe 10 și 16 biți ;
- acces direct la memorie (DMA) ;
- port paralel master (PMP);
- Alocarea pinului software (PPS);
- sistem de protecție cu coduri pe mai multe niveluri (cod guard).
Periferice concepute pentru a controla motoare și convertoare de energie:
- PWM specializat pentru controlul acționării (motor control PWM);
- interfață de codificator în cuadratura.
Periferice pentru comutarea surselor de alimentare (SMPS):
- PWM specializat de înaltă rezoluție (SMPS PWM);
- ADC-uri specializate (ADC-uri SMPS).
Periferice audio:
- ADC pe 12 biți;
- DAC pe 16 biți;
- PWM specializat (compararea ieșirii PWM);
- Interfață de codificare a datelor DCI (I2S, AC97 ).
Periferice concepute pentru a controla afișajele grafice:
- port paralel gazdă PMP (QVGA);
- modulul de măsurare a timpului de încărcare CTMU (afișaje cu ecran tactil).
Microcontrolere pe 32 de biți
Caracteristici distinctive ale familiei PIC32 de microcontrolere pe 32 de biți:
- adâncime de biți: 32 de biți ;
- miez: MIPS32 M4K ;
- frecvența de ceas de bază: până la 120 MHz (pentru seria MX) și până la 200 MHz (pentru seria MZ) ;
- executarea majorității comenzilor într-un ciclu al generatorului;
- performanță: 1,53 Dhrystone MIPS/MHz;
- Porturile I/O aparțin domeniului de frecvență principal, așa că, de exemplu, puteți trage porturile cu o frecvență de ceas;
- se organizează un domeniu de frecvență suplimentar pentru periferie față de cel principal prin intermediul unui divizor configurabil prin software, astfel încât frecvența de ceas a periferiei poate fi redusă pentru a reduce consumul de energie;
- număr de pini: 28, 44, 64 și 100;
- Dimensiunea SRAM: până la 128 kB ;
- dimensiunea memoriei flash: 512 KB cu prefatch cache;
- compatibilitate cu pin și depanare cu controlere Microcip pe 16 biți;
- multiplicator-divizor hardware cu o conductă optimizată pentru viteză independentă de nucleul principal;
- Set de instrucțiuni MIPS16e™ îmbunătățit pe 16 biți care poate reduce dimensiunea codului unor programe cu până la 40%;
- Controler USB independent de nucleul principal.
Familia PIC32 de microcontrolere pe 32 de biți se laudă cu performanțe semnificativ crescute și memorie pe cip în comparație cu microcontrolerele PIC24/dsPIC pe 16 biți și controlerele de procesare a semnalului digital. Controlerele PIC32 sunt, de asemenea, echipate cu un număr mare de module periferice, inclusiv diverse interfețe de comunicație - la fel ca PIC24 și un port paralel pe 16 biți, care poate fi folosit, de exemplu, pentru deservirea cipurilor de memorie externe și a indicatorilor cu cristale lichide TFT.
Familia PIC32 este construită pe nucleul MIPS32®, oferind un consum redus de energie, răspuns rapid la întrerupere, funcționalitate instrument de dezvoltator și o performanță de 1,53 Dhrystone MIPS/MHz de vârf. Această viteză este atinsă datorită unui set de instrucțiuni eficient, a unei conducte în 5 etape, a unui multiplicator hardware de acumulare și a mai multor (până la 8) seturi de registre kernel pe 32 de biți.
Instrumente de programare și depanare
Pentru programarea microcontrolerelor din familia PIC se folosesc programatori - depanatoare proprietare IC PROG, ICD-2, ICD-3, REAL ICE, Pickit, PicKit2, Pickit3, Pickit4. Acești programatori permit nu numai programarea, ci și depanarea codului. Capabilități: trecerea prin pas, setarea punctelor de întrerupere, vizualizarea conținutului memoriei RAM și a programului, vizualizarea conținutului stivei.
Pe lângă cele fabricate de Microchip, există un număr mare de programatori și depanatoare produse de dezvoltatori terți ruși și străini [3] [4] [5] .
Vezi și
Note
- ↑ Microprocesoare mari ale trecutului și prezentului (V 13.4.0) Arhivat 27 februarie 2009 la Wayback Machine
- ↑ Microcontrolere moderne: arhitectură, instrumente de proiectare, exemple de aplicații, resurse Internet / Telesisteme . Ed. Korshuna I.V.; compilare, trad. din engleza. şi prelucrare literară de Gorbunov B.B. - M . : „Akim”, 1998. - S. 151. - 272 p. — 15.000 de exemplare. — ISBN 5-85399-045-4 . (Rusă)
- ↑ Programatori. Scurtă recenzie . Preluat la 4 octombrie 2020. Arhivat din original la 10 octombrie 2020. (nedefinit)
- ↑ Recenzia video a programatorilor . Preluat la 4 octombrie 2020. Arhivat din original pe 8 octombrie 2020. (nedefinit)
- ↑ Top 10 cei mai buni programatori și depanatori de la Aliexpress . Preluat la 4 octombrie 2020. Arhivat din original pe 9 octombrie 2020. (nedefinit)
Link -uri
Microcontrolere |
---|
Arhitectură | 8 biți |
|
---|
pe 16 biți |
|
---|
pe 32 de biți |
|
---|
| |
---|
Producătorii |
|
---|
Componente |
|
---|
Periferie |
|
---|
Interfețe |
|
---|
OS |
|
---|
Programare |
|
---|