Et væld af udviklingstavler, som vi bruger ofte, fra selve Arduino til mange andre, bruger MCU-enheder eller mikrocontrollere. Nogle vitale chips at kunne programmere disse enheder og at instruktionerne oprettet af programmøren kan behandles for at opnå de forventede resultater.
Imidlertid Mikrocontrollersektoren er ret bred., som det også er tilfældet med CPU'er eller mikroprocessorer, da der ikke kun er mange designere eller producenter, såvel som modeller, men der er også mange forskellige familier, som du bør kende. Så vi vil dedikere denne artikel til netop denne ting, så du ved, hvilken der måske interesserer dig mest for dine projekter...
Hvad er en mikrocontroller eller MCU?
Un mikrocontroller eller MCU (MicroController Unit) Det er en kompakt enhed, der integrerer funktionerne fra en central processor (CPU), hukommelse og periferiudstyr på en enkelt chip. Denne enhed er midtpunktet i mange elektroniske systemer og er grundlæggende inden for indlejret elektronik. Kort sagt, et godt alternativ til kablet elektronik, hvilket giver en enkelt chip mulighed for at udføre en lang række funktioner fleksibelt, da den er programmerbar.
Mikrocontrollere bruges i en en lang række applikationer på grund af dens alsidighed og effektivitet. Nogle eksempler på brug af mikrocontrollere omfatter kontrolsystemer i biler, husholdningsapparater, industrielle automationssystemer, proceskontrolsystemer, legetøj, sikkerhedssystemer, udviklingstavler og meget andet elektronisk udstyr.
Dele af mikrocontrollere
Mikrocontrollere er integrerede enheder, og alle deres komponenter er implementeret på en chip eller integreret kredsløb. Imellem mest grundlæggende dele af disse chips er:
- CPU (Central Processing Unit): Den centrale behandlingsenhed er hjernen i mikrocontrolleren og dens vigtigste del. Denne enhed er ansvarlig for at bruge programmets data og instruktioner til at fortolke og behandle dem korrekt i udførelsesenhederne for at opnå de forventede resultater. Det vil sige, at CPU'en udfører alle beregningsoperationer og træffer beslutninger baseret på programlogikken. CPU'ens hastighed og effektivitet bestemmer i høj grad mikrocontrollerens ydeevne. Derudover har de normalt også elementære dele såsom afbrydelsessystemer, som gør det muligt for mikrocontrolleren at reagere på bestemte hændelser rettidigt. Når en specifik hændelse opstår, såsom et signalinput eller en timer, der når en specifik værdi, kan mikrocontrolleren afbryde sin aktuelle opgave for at reagere på denne hændelse.
- hukommelse: De har normalt to typer hukommelse såsom RAM og flash. RAM bruges til at gemme midlertidige data, såsom instruktionerne, der udgør programmerne og dataene (variabler, konstanter,...) under afviklingen af programmet. Mens flash-hukommelse bruges til at gemme det program, der skal udføres, og det er ikke-flygtigt ligesom RAM, så når strømmen afbrydes, eller enheden slukkes, forbliver programmet.
- Input/output ydre enheder (I/O): Tillad mikrocontrolleren at interagere med omverdenen. Disse kan omfatte digitale I/O-porte, analog-til-digital-omformere (ADC), digital-til-analog-konvertere (DAC), kommunikationsgrænseflader såsom UART, SPI og I2C, sorts controllere, timere, tællere, GPIO og andre.
Hvordan adskiller det sig fra en mikroprocessor eller CPU?
En mikroprocessor og en mikrocontroller er to grundlæggende komponenter inden for elektronik, men det har de væsentlige forskelle i forhold til struktur og brug, selvom mange mennesker forveksler de to eller tror, de er ens.
Mens CPU'en kun integrerer funktionelle enheder til styring og fortolkning af instruktioner, registre, samt udførelsesinstruktioner som ALU, FPU osv., og kan kombineres med andre hjælpeelementer på en mere fleksibel måde, er mikrocontrollere noget mere lukkede i den forstand, at integrere mange af de dele, som CPU'en udelader. Faktisk, mens CPU'en er hjernen i en computer, kan MCU'en betragtes som en komplet computer, da den indeholder alle de grundlæggende dele på en enkelt chip.
Du må dog ikke forveksle større integration med vilkår for kompleksitet og ydeevne. Mens nuværende mikroprocessorer er ekstremt komplekse og med meget høj ydeevne, har nuværende mikrocontrollere normalt en integreret CPU med meget lavere og enklere ydeevne. Faktisk kan mange af nutidens mikrocontrollere have ydeevne svarende til mikroprocessorer fra årtier siden. Hvad mere er, som vi vil se senere, har vi endda 8-bit eller 16-bit mikrocontrollere som CPU'erne fra 70'erne.
Forskelle sammenlignet med en SoC?
Da mikrocontrolleren integrerer flere elementer på den samme chip, Det forveksles også ofte med SoC (System on a Chip)Det er dog heller ikke det samme. Som med CPU vs MCU, integrerer SoC'er også en CPU med meget højere ydeevne end de fleste nuværende mikrocontrollere. Desuden er SoC et uendeligt meget mere komplekst og avanceret system. På den anden side integrerer SoC normalt ikke nogle af de dele, der er integreret i en mikrocontroller, da de applikationer, som den er beregnet til, ikke kræver det, såsom RAM og flash-hukommelse, ADC-konvertere osv.
Lidt historie
Tidlige multikredsløbsmikroprocessorer, såsom AL1 fra Four-Phase Systems i 1969 og MP944 fra Garrett AiResearch i 1970, blev udviklet med flere MOS LSI-chips. Den første single-chip mikroprocessor var Intel 4004, udgivet i 1971. Disse processorer krævede flere eksterne chips for at implementere et funktionelt system, hvilket var dyrt. Men næsten parallelt blev det, vi i dag kender som en mikrocontroller, udviklet. HAN tilskrives it-ingeniører, Gary Boone og Michael Cochran, den vellykkede skabelse af den første mikrocontroller i 1971, TMS 1000, som kombinerede skrivebeskyttet hukommelse, læse/skrivehukommelse, processor og ur på en enkelt chip. Faktisk, selvom dette er en anden historie, genererede det en patentkrig og retssager om forfatterskabet til mikroprocessoren...
I løbet af 1970'erne blev Japanske elektronikproducenter begyndte at producere mikrocontrollere til biler. De blev efterhånden populære, og som reaktion på eksistensen af single-chip TMS 1000 udviklede Intel et computersystem på en chip optimeret til kontrolapplikationer, Intel 8048, som kombinerede RAM og ROM på den samme chip sammen med en CPU. Med tidens gang blev ikke-flygtige hukommelser forbedret og gik fra at blive optaget på fabrikken med et permanent program som de første ROM'er indtil introduktionen af PROM, eller EEPROM fra 1993, som gjorde det muligt at slette og omprogrammere det. med et andet program på en enkel måde og så mange gange du vil.
Lidt efter lidt blev virksomheder født omkring denne type chips, som f.eks Atmel, Microchip Technology og mange andre. Andre virksomheder i sektoren begyndte også at distribuere deres egne MCU'er, såsom Intel, Analog Devices, Cypress, AMD, ARM, Hitachi, EPSON, Motorola, Zilog, Infineon, Lattice, National Semiconductor, NEC, Panasonic, Renesas, Rockell, Sony , STMicroelectronics , Synopsis, Toshiba osv.
I dag er mikrocontrollere billige og let tilgængelige for hobbyfolk og en lang række forskellige industrisektorer. Endvidere vurderes det, at de er solgt næsten 5 milliarder 8-bit enheder på verdensplan, der er den mest brugte i øjeblikket. Du kan finde dem i husholdningsapparater, køretøjer, computere, telefoner, industrimaskiner og meget mere. Desuden har de formået at miniaturisere til det maksimale, og skabe nogle af de mindste computere i verden, endda meget mindre end et gran salt...
ISA- og mikrocontrollerfamilier
Nu hvor du ved lidt mere om, hvad en MCU eller mikrocontroller er, lad os se noget af det vigtigste familier af disse mikrocontrollere. Og ligesom CPU'er kan de opdeles i henhold til ISA, det vil sige repertoiret af instruktioner, registre og datatyper, der bruges, og kompatibiliteten af de binære programmer, der kan udføres, vil afhænge af dette, hvilket gør dem ikke kompatible mellem familier. Og disse familier er fuldstændig uafhængige af modellen, mærket eller enheder, der er inkluderet i chippen.
Blandt de mest populære familier vi har følgende:
- Børn: er en generation af softcores til FPGA'er fra Altera, nu absorberet af Intel.
- Sortfinne: er en familie af 16/32-bit mikroprocessorer udviklet, fremstillet og markedsført af Analog Devices. Processorerne har også indbygget digital signal processor (DSP) funktionalitet, udført af 16-bit multiplikation-akkumulering (MAC).
- TigerSHARC: står for Super Harvard Architecture Single-Chip Computer, også fra Analog Devices. I dette tilfælde er de ideelle til applikationer, der kræver høj computerydelse med lavt strømforbrug. Disse processorer tilbyder en unik hukommelsesarkitektur, der muliggør effektiv adgang til data og instruktioner uden ydeevnestraffen forbundet med Von Neumann busarkitekturer.
- Cortex-M- ARMs Cortex-M mikrocontrollere er en populær familie af 32-bit mikrocontrollere, der er meget strømeffektive og tilbyder god ydeevne. De er især populære i industri- og forbrugerapplikationer og repræsenterer i øjeblikket størstedelen af moderne chips, der sælges af mange virksomheder.
- AVR32: Det er en 32-bit RISC mikrocontroller-arkitektur produceret af Atmel, og du kan finde den på mange udviklingstavler, såsom Arduino og kloner af den.
- RISC-V: Denne åbne ISA sigter mod at overgå ARM, og så småt er den begyndt at få betydning i mikrocontrollernes verden, da den er meget fleksibel og tillader dens brug uden at betale royalties.
- PIC- er en familie af 8-bit mikrocontrollere udviklet af Microchip Technology, kendt for deres avancerede RISC-arkitektur, og er ret populære i branchen.
- PowerQUICC: er baseret på IBM's Power Architecture-teknologi og blev brugt af Motorola (nu Freescale), de understøtter hele spektret af indlejret netværksudstyr, industrielle og generelle indlejrede applikationer.
- Udvidelse: Disse er Fujitsus MCU'er og er fokuseret på analoge og digitale produkter og designet til effektivitet og afbalanceret ydeevne.
- 8051: Det er en 8-bit mikrocontroller udviklet af Intel, selvom du nu også vil finde den fremstillet af andre virksomheder. Det er en af de mest populære mikrocontrollere og bruges i en lang række applikationer. 8051 er en CISC mikrocontroller baseret på Harvard-arkitekturen.
- TriCore: er en mikrocontroller udviklet af Infineon Technologies. TriCore forener elementerne i en RISC-processorkerne, en mikrocontroller og en DSP på en enkelt chip. Dengang var det en revolution.
- MC-48 eller 8048: Det er en mikrocontroller fra Intel-linjen med 64 bytes RAM og adgang til 4096 bytes ekstern programhukommelse.
- mico8- er en 8-bit mikrocontroller-familie, der er implementeret udelukkende i generel hukommelse og logik til Lattice FPGA'er.
- Propeller: 32-bit multicore-arkitektur udviklet af Parallax Inc. Hver propel har 8 identiske 32-bit-processorer forbundet til en fælles hub.
- Grundstempel- er en mikrocontroller med en lille specialiseret BASIC-fortolker (PBASIC) indbygget i ROM'en. Det er fremstillet af Parallax, Inc, og var et ret populært produkt for producenter, der ønskede at lave en lang række projekter derhjemme, før Arduino blev udgivet.
- SuperH: er en 32-bit RISC-computerinstruktionssæt-arkitektur udviklet af Hitachi og i øjeblikket produceret af Renesas og fokuseret på mikrocontrollere til indlejrede systemer.
- tiva: er en serie mikrocontroller udviklet af Texas Instruments. Den har en indbygget processor-clock-frekvens på op til 80MHz med en floating point unit (FPU), med fantastisk ydeevne.
- Microblaze: er et højt integreret processorsystem beregnet til controller-applikationer. MicroBlaze er implementeret udelukkende i hukommelsen og generel logik i Xilinx (nu AMD) FPGA'er, det vil sige en softcore.
- Picoblaze: ligner den forrige, men i dette tilfælde er den 8-bit og enklere til mere integrerede applikationer.
- XCore: De er XMOS multicore MCU'er, 32 bit, der er programmeret i et C-sprogmiljø og fungerer deterministisk og med lav latenstid. De er meget komplette og kan implementeres i form af fliser.
- Z8: er fra Zilog, og de er 8-bit enheder, der tilbyder en bred vifte af ydeevne og ressourcemuligheder. Disse mikrocontrollere er ideelle til højvolumen, omkostningsfølsomme applikationer, herunder forbruger-, bil-, sikkerheds- og HVAC-produkter.
- Z180: Det er en anden af de populære inden for Zilog før udgivelsen af den nye eZ, der har opdateret de tidligere intervaller. Den inkluderer en 8-bit processor, der er kompatibel med den store softwarebase skrevet til Z80. Z180-familien tilføjer højere ydeevne og integrerede perifere funktioner såsom clockgenerator, 16-bit tællere/timere, interrupt controller, ventetilstandsgeneratorer, serielle porte og en DMA controller.
- STM: Denne STMicroelectronics-familie har nogle MCU-enheder baseret på denne virksomheds egen arkitektur, selvom det i de nyeste modeller er valgt, som i mange andre tilfælde, at integrere 32-bit ARM Cortex-M-serien. Det tilbyder produkter, der kombinerer meget høj ydeevne, realtidsegenskaber, digital signalbehandling, lav-effekt/lavspændingsdrift og tilslutningsmuligheder, samtidig med at den bevarer fuldstændig integration og nem udvikling.
Der er flere, men disse er de vigtigste...