PIC
PIC er en serie af mikrocontrollere med Harvard-arkitektur og fremstillet af det amerikanske firma Microchip Technology Inc. Navnet PIC er en forkortelse for engelsk. perifer interface controller , hvilket betyder " perifer interface controller ". Navnet forklares af det faktum, at PIC-seriens mikrocontrollere oprindeligt var beregnet til at udvide I/O -kapaciteten af 16-bit CP1600 mikroprocessorer [1] .
Under PIC-mærket producerer Microchip 8-, 16- og 32-bit mikrocontrollere og digitale signalcontrollere (DSC) , hvis karakteristiske træk er den gode kontinuitet i forskellige familier: softwarekompatibilitet (fælles udviklingsværktøjer: gratis IDE MPLAB , delt biblioteker , almindelige stakke af de mest populære dataoverførselsprotokoller ), kompatibilitet med stifter, periferiudstyr, med forsyningsspændinger . Udvalget omfatter mere end 500 forskellige controllere med alle slags perifere variationer, forskellige i hukommelsesstørrelse, antal ben, ydeevne, forsyningsspændingsområder, driftstemperaturer osv.
Et bredt udvalg, som gør det muligt i et bestemt produkt at bruge den mikrocontroller, der er optimal prismæssigt (inklusive tilstedeværelsen af engangsprogrammerbare mikrocontrollere i linjen), lavt strømforbrug, stor fleksibilitet og alsidighed af familien er grundene til, at elektronikproducenter vælger PIC-controllere som basisfamilien for deres produkter [2] .
8-bit mikrocontrollere
8-bit mikrocontrollere er opdelt i to store familier: PIC10/12/16 og PIC18.
8-bit mikrocontrollere PIC10/12/16/18
Kernerne i 8-bit PIC10/12/16 mikrocontrollere kan bygges i en af to arkitekturer: BASELINE og MID-RANGE.
Arkitektur af basisfamilien (BASELINE)
BASELINE-arkitekturen har kernecontrollere i PIC10-familien og en del af controllere i PIC12- og PIC16-familierne. Kendetegn:
- programhukommelsesordbredde: 12 bit ;
- antal understøttede maskininstruktioner : 35;
- antal konklusioner (kontakter): fra 6 til 28;
- lave omkostninger (sammenlignet med andre Microchip-løsninger);
- understøttelse af en bred vifte af forsyningsspændinger ;
- evnen til at arbejde ved lave spændinger (gælder for eksempel i batteridrevne enheder );
- lavt strømforbrug ;
- små overordnede dimensioner af sagen;
- tilstedeværelsen af indbygget flash-hukommelse til programmer.
Medium-range arkitektur (MID-RANGE) familie
MID-RANGE-arkitekturen har kernerne i mikrocontrollere i PIC12- og PIC16-serien. Kendetegn:
- programhukommelsesordbredde: 14 bit ;
- antal understøttede maskininstruktioner: 35;
- antal ben: fra 6 til 64;
- drift i forsyningsspændingsområdet fra 2,0 til 5,5 V ;
- lavt strømforbrug;
- understøttelse af systemafbrydelser ;
- hardware stack support;
- tilstedeværelsen af indbygget flash-hukommelse til programmer;
- tilstedeværelsen af ikke-flygtig hukommelsestype EEPROM til data;
- perifer support ( USB , SPI , I²C , USART , LCD , komparatorer , ADC osv.);
- ydeevne: 5 MIPS .
Udvidet Medium-Range Architecture (MID-RANGE) familie
Den udvidede MID-RANGE-arkitektur har kernerne i de nye mikrocontrollere i PIC12- og PIC16-familierne. Kendetegn:
8-bit PIC18 mikrocontrollere
Karakteristiske træk ved mikrocontrollere i PIC18F-familien:
- programhukommelsesordbredde: 16 bit ;
- muligheden for at tilslutte følgende perifere enheder: 10-bit og 12-bit ADC'er , komparatorer , PWM, capture / sammenligning, drivere , LCD'er , perifere enheder med USB -grænseflader , CAN , I²C , SPI , USART , Ethernet , TCP/IP , ZigBee , etc.;
- ydeevne: op til 16 MIPS ;
- programhukommelsesstørrelse: op til 128 kB ;
- antal stifter: fra 18 til 100;
- understøttelse af NanoWatt-teknologi;
- tilstedeværelsen af en programmerbar generator;
- understøttede forsyningsspændinger: 3,3 og 5 V ;
- kompatibilitet (software, ben, periferiudstyr) med andre controllere i denne familie og med 16-bit controllere fra andre familier.
16-bit controllere
Microchip fremstiller to familier af 16-bit mikrocontrollere (MCU'er) og to familier af 16-bit digitale signalcontrollere (DSC'er), der giver udviklere kompatible platforme med en bred vifte af pakketyper, periferiudstyr og hastigheder. Nøglefunktioner i alle 16-bit familier:
- programhukommelsesordbredde: 24 bit ;
- pin kompatibilitet;
- forenet kommandosystem;
- almindelige C-kompilere og udviklingsværktøjer;
- antal stifter: fra 18 til 100;
- flash-hukommelsesstørrelse: fra 6 til 536 KB .
16-bit mikrocontrollere PIC24F og PIC24H
Nøglefunktioner:
- kommandoudførelse i 2 cyklusser af generatoren;
- garanteret interrupt responstid - 5 kommandocyklusser;
- hukommelsesadgang (herunder læse-modificere-skrive-instruktioner) i 1 instruktionscyklus;
- hardware multiplikator (for 1 cyklus);
- hardwaredeler med 32/16 og 16/16 tal (17 kommandocyklusser);
- forsyningsspændingsområde 1,8 ... 3,6 V , en strømforsyning;
- in-circuit og selvprogrammering;
- indbygget generator med PLL;
- udvidet periferiudstyr (op til 3 SPI, op til 3 I2C, op til 4 UART'er (understøtter IrDA, LIN), CAN (og udvidet ECAN), USB OTG);
- ladetidsmålingsmodul (CTMU), hovedapplikationen er styring af kapacitive sensorer;
- generel indgangs-/udgangsstrøm - 18 mA ;
- porte er 5V enhedstolerante ;
- understøttelse af op til ni 16-bit generelle timere;
- understøttelse af op til otte capture-moduler;
- understøttelse af flere strømbesparende tilstande;
- understøttelse af op til to ADC'er (32 kanaler) med konfigurerbar bitdybde;
- understøttelse af op til otte 16-bit PWM-sammenlignings-/genereringsmoduler;
- software pin assignment (PPS);
- direkte adgang til DMA-hukommelse (for PIC24H);
- udvidet sæt instruktioner;
- 16 ortogonale registre til generelle formål;
- vektor prioritet afbrydelsessystem;
- og andre funktioner (adresseringsmetoder, hardwarecyklusser).
16-bit mikrocontrollere præsenteres i to modifikationer - PIC24F og PIC24H, som adskiller sig i teknologien til fremstilling af flash-programhukommelse. Dette bestemmer forsyningsspændingsområdet - for PIC24F - 2,0 ... 3,6 V , for PIC24H - 3,0 ... 3,6 V.
Controllerne i den første familie (PIC24F) er fremstillet ved hjælp af billigere teknologi ( 0,25 mikron ) og fungerer ved maksimal kerneydelse ( 16 MIPS , 32 MHz ). Controllerne i den anden familie (PIC24H) er fremstillet ved hjælp af en mere kompleks procesteknologi, som gør det muligt at opnå højere hastighed ( 40 MIPS , 80 MHz ). Begge familier af controllere understøtter in-circuit programmering (ICSP) og selvprogrammering (RTSP).
dsPIC30F og dsPIC33F digitale signalbehandlingscontrollere
Microchip tilbyder to familier af 16-bit mikrocontrollere med flashhukommelse og DSP instruktioner, dsPIC30F og dsPIC33F. Hastighed ( 30 MIPS for dsPIC30F, 40 MIPS for dsPIC33FJ, 70 MIPS for dsPIC33EP) og et effektivt kommandosystem gør det muligt for controllerne at blive brugt i realtidssystemer. Ejendommeligheder:
- udvidet kommandosystem, herunder specifikke kommandoer til understøttelse af digital signalbehandling (DSP) ;
- 24-bit-instruktioner udføres i 4 clock-cyklusser for dsPIC30F og 2 for dsPIC33FJ(EP), bortset fra divide-instruktioner, jump-instruktioner, register-til-register-overførselsinstruktioner og tabelinstruktioner;
- kapaciteten af programtælleren ( 24 bit ) tillader adressering af op til 4 M ord i programhukommelsen ( 4 M * 24 bit );
- hardwareunderstøttelse af loops som DO og REPEAT, hvis udførelse ikke kræver ekstra omkostninger til programhukommelse og tid til at analysere opsigelsesbetingelserne. Samtidig kan disse cyklusser til enhver tid afbrydes af afbrydelseshændelser;
- 16 arbejdsregistre. Registre kan gemme data, en adresse eller en adresseforskydning;
- to klasser af instruktioner: mikrocontroller instruktioner (MCU) og digital signalbehandling (DSP) instruktioner. Begge disse klasser er ligeligt indbygget i controller-arkitekturen og behandles af én kerne;
- forskellige typer adressering;
- kommandosystemet er optimeret til maksimal effektivitet ved programmering i C-sproget på højt niveau.
Hvis du kan tale om PIC24F som en trunkeret modificeret version af dsPIC30F (uden en DSP-kerne, med en tre-volts strømforsyning og en redesignet pipeline), så er PIC24H en trunkeret version af dsPIC33F. Selvom denne sammenligning krænker kausaliteten, er den teknisk korrekt. dsPIC33F-kernen ligner fuldstændig dsPIC30F-kernen, bortset fra at i dsPIC33F udføres en instruktion i to generatorcyklusser. Familierne er fuldt ud kompatible med hensyn til instruktionssæt, programmeringsmodel og adresseringsmetoder, hvilket tillader brugen af biblioteker og programkildekoder skrevet til dsPIC30F. Særligt bemærkelsesværdigt er det reviderede clocking-system sammenlignet med dsPIC30F. dsPIC33F har ligesom PIC24H-familien en fraktioneret multiplikator PLL (software konfigurerbar), der giver dig mulighed for at få et frekvensnet fra 12,5 MHz til 80 MHz i trin på 0,25 MHz ved hjælp af en 4 MHz krystaloscillator . Derudover har dsPIC33F og PIC24H controllerne to interne højstabile RC-oscillatorer ved 7,3728 MHz og 32,768 kHz . En separat core clock divider (DOZE-modul) er til stede i alle nye 16-bit controller familier. Det giver dig mulighed for at reducere clock-frekvensen, der leveres til kernen, uanset clock-frekvensen af perifere moduler, hvilket er nødvendigt for at reducere forbruget i strømbegrænsede applikationer. Stort udvalg af periferiudstyr.
Generelt periferiudstyr:
- kalender og realtidsur RTCC;
- hardware CRC beregning;
- udvidet periferiudstyr (SPI, I2C, UART (understøtter IrDA, LIN), CAN (ECAN));
- 10- og 12-bit ADC'er ;
- komparatorer ;
- 10- og 16-bit DAC'er ;
- direkte hukommelsesadgang (DMA) ;
- master parallel port (PMP);
- software pin assignment (PPS);
- kodebeskyttelsessystem med flere niveauer (kodevagt).
Periferiudstyr designet til at styre motorer og energiomformere:
- specialiseret PWM til drevstyring (motorstyring PWM);
- kvadratur encoder interface.
Periferiudstyr til at skifte strømforsyning (SMPS):
- specialiseret højopløsnings PWM (SMPS PWM);
- specialiserede ADC'er (SMPS ADC'er).
Lydudstyr:
- 12-bit ADC;
- 16-bit DAC;
- specialiseret PWM (output sammenligne PWM);
- DCI datakodningsgrænseflade (I2S, AC97 ).
Periferiudstyr designet til at styre grafiske skærme:
- vært parallel port PMP (QVGA);
- ladetidsmålingsmodul CTMU (touch-screen displays).
32-bit mikrocontrollere
Karakteristiske træk ved PIC32-familien af 32-bit mikrocontrollere:
- bitdybde: 32 bit ;
- kerne: MIPS32 M4K ;
- kerneklokfrekvens: op til 120 MHz (for MX-serien) og op til 200 MHz (for MZ-serien) ;
- udførelse af de fleste kommandoer i 1 cyklus af generatoren;
- ydeevne: 1,53 Dhrystone MIPS/MHz;
- I/O-porte hører til hovedfrekvensområdet, så du kan for eksempel trække portene med en clock-frekvens;
- et ekstra frekvensområde er organiseret for periferien fra den primære ved hjælp af en software-konfigurerbar divider, så clockfrekvensen af periferien kan reduceres for at reducere strømforbruget;
- antal ben: 28, 44, 64 og 100;
- SRAM-størrelse: op til 128 kB ;
- flashhukommelsesstørrelse: 512 KB med prefetch-cache;
- pin og debugging kompatibilitet med 16-bit Microchip controllere;
- hardware multiplikator-deler med en hastighedsoptimeret pipeline uafhængig af hovedkernen;
- Forbedret 16-bit MIPS16e™ instruktionssæt, der kan reducere kodestørrelsen for nogle programmer med op til 40 %;
- USB-controller uafhængig af hovedkernen.
PIC32-familien af 32-bit mikrocontrollere kan prale af markant øget ydeevne og on-chip hukommelse sammenlignet med 16-bit PIC24/dsPIC mikrocontrollere og digitale signalbehandlingscontrollere. PIC32-controllere er desuden udstyret med en lang række perifere moduler, herunder forskellige kommunikationsgrænseflader - det samme som PIC24, og en 16-bit parallelport, som for eksempel kan bruges til at servicere eksterne hukommelseschips og TFT flydende krystal-indikatorer.
PIC32-familien er bygget på MIPS32®-kernen og byder på lavt strømforbrug, hurtig interrupt-respons, udviklerværktøjsfunktionalitet og en klasseledende 1,53 Dhrystone MIPS/MHz-ydelse. Denne hastighed opnås takket være et effektivt instruktionssæt, en 5-trins pipeline, en akkumuleringshardwaremultiplikator og flere (op til 8) sæt af 32-bit kerneregistre.
Programmerings- og fejlfindingsværktøjer
Til programmering af mikrocontrollere i PIC-familien bruges proprietære programmører -debuggere IC PROG, ICD-2, ICD-3, REAL ICE, Pickit, PicKit2, Pickit3, Pickit4. Disse programmører tillader ikke kun programmering, men også debugging af koden. Muligheder: at gå igennem, indstille breakpoints, se indholdet af RAM og programhukommelse, se indholdet af stakken.
Ud over dem, der er fremstillet af Microchip, er der et stort antal programmører og debuggere produceret af tredjeparts russiske og udenlandske udviklere [3] [4] [5] .
Se også
Noter
- ↑ Store mikroprocessorer fra fortiden og nutiden (V 13.4.0) Arkiveret 27. februar 2009 på Wayback Machine
- ↑ Moderne mikrocontrollere: Arkitektur, designværktøjer, applikationseksempler, internetressourcer / telesystemer . Ed. Korshuna I.V.; kompilering, trans. fra engelsk. og litterær bearbejdning af Gorbunov B.B. - M . : "Akim", 1998. - S. 151. - 272 s. — 15.000 eksemplarer. — ISBN 5-85399-045-4 . (Russisk)
- ↑ Programmerere. Kort gennemgang . Hentet 4. oktober 2020. Arkiveret fra originalen 10. oktober 2020. (ubestemt)
- ↑ Videoanmeldelse af programmører . Hentet 4. oktober 2020. Arkiveret fra originalen 8. oktober 2020. (ubestemt)
- ↑ Top 10 bedste programmører og debuggere fra Aliexpress . Hentet 4. oktober 2020. Arkiveret fra originalen 9. oktober 2020. (ubestemt)
Links