MCUer: lær om de viktigste mikrokontrollerfamiliene

mikrokontrollere

En mengde utviklingskort som vi bruker ofte, fra selve Arduino til mange andre, bruker MCU-enheter eller mikrokontrollere. Noen viktige sjetonger for å kunne programmere disse enhetene og at instruksjonene opprettet av programmereren kan behandles for å oppnå de forventede resultatene.

Imidlertid Mikrokontrollersektoren er ganske bred., som også er tilfellet med CPUer eller mikroprosessorer, siden det ikke bare er mange designere eller produsenter, så vel som modeller, men det er også mange forskjellige familier du bør kjenne til. Så vi skal dedikere denne artikkelen til akkurat dette, slik at du vet hvilken som kan interessere deg mest for prosjektene dine ...

Hva er en mikrokontroller eller MCU?

MCU diagram

Un mikrokontroller eller MCU (MicroController Unit) Det er en kompakt enhet som integrerer funksjonene til en sentral prosessor (CPU), minne og periferiutstyr på en enkelt brikke. Denne enheten er midtpunktet i mange elektroniske systemer og er grunnleggende innen innebygd elektronikk. Kort sagt, et flott alternativ til kablet elektronikk, slik at en enkelt brikke kan utføre en rekke funksjoner fleksibelt, siden den er programmerbar.

Mikrokontrollere brukes i en stort utvalg av applikasjoner på grunn av dens allsidighet og effektivitet. Noen eksempler på bruk for mikrokontrollere inkluderer kontrollsystemer i biler, husholdningsapparater, industrielle automasjonssystemer, prosesskontrollsystemer, leker, sikkerhetssystemer, utviklingstavler og mye annet elektronisk utstyr.

Deler av mikrokontrollere

Mikrokontrollere er integrerte enheter, og alle komponentene deres er implementert på en brikke eller integrert krets. Mellom mest grunnleggende deler av disse sjetongene er:

  • CPU (Central Processing Unit): Den sentrale prosesseringsenheten er hjernen til mikrokontrolleren, og dens viktigste del. Denne enheten er ansvarlig for å bruke dataene og instruksjonene til programmet for å tolke og behandle dem riktig i utførelsesenhetene for å oppnå de forventede resultatene. Det vil si at CPUen utfører alle beregningsoperasjoner og tar beslutninger basert på programlogikken. Hastigheten og effektiviteten til CPUen bestemmer i stor grad ytelsen til mikrokontrolleren. I tillegg har de også vanligvis elementære deler som avbruddssystemer, som lar mikrokontrolleren svare på visse hendelser i tide. Når en spesifikk hendelse inntreffer, for eksempel en signalinngang eller en tidtaker som når en bestemt verdi, kan mikrokontrolleren avbryte sin nåværende oppgave for å svare på denne hendelsen.
  • Minne: De har vanligvis to typer minne som RAM og flash. RAM brukes til å lagre midlertidige data, for eksempel instruksjonene som utgjør programmene og dataene (variabler, konstanter,...) under kjøringen av programmet. Mens flashminne brukes til å lagre programmet som skal kjøres, og det er ikke-flyktig som RAM, så når strømmen avbrytes eller enheten slås av, vil programmet forbli.
  • Inn-/utgangsutstyr (I/O): la mikrokontrolleren samhandle med omverdenen. Disse kan inkludere digitale I/O-porter, analog-til-digital-omformere (ADC), digital-til-analog-omformere (DAC), kommunikasjonsgrensesnitt som UART, SPI og I2C, variasjonskontrollere, tidtakere, tellere, GPIO og andre.

Hvordan er det forskjellig fra en mikroprosessor eller CPU?

En mikroprosessor og en mikrokontroller er to grunnleggende komponenter innen elektronikk, men det har de betydelige forskjeller når det gjelder struktur og bruk, selv om mange forveksler de to eller tror de er like.

Mens CPU bare integrerer funksjonelle enheter for kontroll og tolkning av instruksjoner, registre, samt utførelsesinstruksjoner som ALU, FPU, etc., og kan kombineres med andre hjelpeelementer på en mer fleksibel måte, er mikrokontrollere noe mer lukket i betydningen den integreringen mange av delene som CPUen utelater. Faktisk, mens CPU er hjernen til en datamaskin, kan MCU betraktes som en komplett datamaskin, siden den inkluderer alle de grunnleggende delene på en enkelt brikke.

Men ikke forveksle større integrasjon med vilkår for kompleksitet og ytelse. Mens nåværende mikroprosessorer er ekstremt komplekse og med svært høy ytelse, har nåværende mikrokontrollere vanligvis en integrert CPU med mye lavere og enklere ytelse. Faktisk kan mange av dagens mikrokontrollere ha ytelse som ligner på mikroprosessorer fra flere tiår tilbake. Dessuten, som vi vil se senere, har vi til og med 8-biters eller 16-biters mikrokontrollere som CPU-ene på 70-tallet.

Forskjeller sammenlignet med en SoC?

Siden mikrokontrolleren integrerer flere elementer på samme brikke, Det forveksles også ofte med SoC (System on a Chip)Det er imidlertid ikke det samme heller. Som med CPU vs MCU, integrerer SoCs også en CPU med mye høyere ytelse enn de fleste nåværende mikrokontrollere. Dessuten er SoC et uendelig mye mer komplekst og avansert system. På den annen side integrerer SoC vanligvis ikke noen av delene som er integrert i en mikrokontroller, siden applikasjonene den er beregnet på ikke krever det, for eksempel RAM og flashminne, ADC-omformere osv.

Litt historie

Tidlige flerkretsmikroprosessorer, som AL1 fra Four-Phase Systems i 1969 og MP944 fra Garrett AiResearch i 1970, ble utviklet med flere MOS LSI-brikker. Den første enkeltbrikke mikroprosessoren var Intel 4004, utgitt i 1971. Disse prosessorene krevde flere eksterne brikker for å implementere et funksjonelt system, som var dyrt. Men nesten parallelt ble det vi i dag kjenner som en mikrokontroller utviklet. HAN tilskrevet IT-ingeniører, Gary Boone og Michael Cochran, den vellykkede etableringen av den første mikrokontrolleren i 1971, TMS 1000, som kombinerte skrivebeskyttet minne, lese-/skriveminne, prosessor og klokke på en enkelt brikke. Faktisk, selv om dette er en annen historie, genererte det en patentkrig og søksmål om forfatterskapet til mikroprosessoren ...

I løpet av 1970-tallet ble Japanske elektronikkprodusenter begynte å produsere mikrokontrollere for biler. De ble etter hvert populære, og som svar på eksistensen av enkeltbrikke TMS 1000 utviklet Intel et datasystem på en brikke optimalisert for kontrollapplikasjoner, Intel 8048, som kombinerte RAM og ROM på samme brikke sammen med en CPU. Med tiden ble ikke-flyktige minner forbedret, og gikk fra å bli tatt opp på fabrikken med et permanent program som de første ROM-ene til introduksjonen av PROM, eller EEPROM fra 1993, som gjorde det mulig å slette og omprogrammere dem. med et annet program på en enkel måte og så mange ganger du vil.

Litt etter litt ble det født bedrifter rundt denne typen chips, som f.eks Atmel, Microchip Technology og mange andre. Andre selskaper i sektoren begynte også å distribuere sine egne MCU-er, som Intel, Analog Devices, Cypress, AMD, ARM, Hitachi, EPSON, Motorola, Zilog, Infineon, Lattice, National Semiconductor, NEC, Panasonic, Renesas, Rockell, Sony , STMicroelectronics , Synopsis, Toshiba, etc.

I dag er mikrokontrollere billige og lett tilgjengelige for hobbyister og en rekke ulike industrisektorer. Videre er det anslått at de selges nesten 5 milliarder 8-bits enheter over hele verden, som er den mest brukte for tiden. Du kan finne dem i husholdningsapparater, kjøretøy, datamaskiner, telefoner, industrimaskiner og mye mer. Videre har de klart å miniatyrisere maksimalt, og skapt noen av de minste datamaskinene i verden, til og med mye mindre enn et saltkorn...

ISA- og mikrokontrollerfamilier

MCU

Nå som du vet litt mer om hva en MCU eller mikrokontroller er, la oss se noe av det viktigste familier av disse mikrokontrollerne. Og, som CPU-er, kan de deles i henhold til ISA, det vil si repertoaret av instruksjoner, registre og datatyper som brukes, og kompatibiliteten til de binære programmene som kan kjøres vil avhenge av dette, noe som gjør dem ikke kompatible mellom familier. Og disse familiene er helt uavhengige av modellen, merket eller enhetene som er inkludert i brikken.

Blant de mest populære familier vi har følgende:

  • Barn: er en generasjon med myke kjerner for FPGA-er fra Altera, nå absorbert av Intel.
  • Blackfin: er en familie av 16/32-bits mikroprosessorer utviklet, produsert og markedsført av Analog Devices. Prosessorene har også innebygd digital signal prosessor (DSP) funksjonalitet, utført av 16-bit multiplikasjonsakkumulering (MAC).
  • TigerSHARC: står for Super Harvard Architecture Single-Chip Computer, også fra Analog Devices. I dette tilfellet er de ideelle for applikasjoner som krever høy dataytelse med lavt strømforbruk. Disse prosessorene tilbyr en unik minnearkitektur som muliggjør effektiv tilgang til data og instruksjoner uten ytelsesstraffen forbundet med Von Neumann-bussarkitekturer.
  • Cortex-M– ARMs Cortex-M mikrokontrollere er en populær familie av 32-bits mikrokontrollere som er svært strømeffektive og gir god ytelse. De er spesielt populære i industrielle og forbrukerapplikasjoner, og representerer for tiden flertallet av moderne sjetonger som selges av mange selskaper.
  • AVR32: Det er en 32-bits RISC-mikrokontrollerarkitektur produsert av Atmel, og du kan finne den på mange utviklingskort, for eksempel Arduino og kloner av den.
  • RISC-V: Denne åpne ISA-en har som mål å overgå ARM, og litt etter litt har den begynt å få betydning i verden av mikrokontrollere, siden den er veldig fleksibel og tillater bruk uten å betale royalties.
  • PIC- er en familie av 8-bits mikrokontrollere utviklet av Microchip Technology, kjent for sin avanserte RISC-arkitektur, og er ganske populære i bransjen.
  • PowerQUICC: er basert på IBMs Power Architecture-teknologi, og ble brukt av Motorola (nå Freescale), de støtter hele spekteret av innebygd nettverksutstyr, industrielle og generelle innebygde applikasjoner.
  • Spension: Dette er Fujitsus MCU-er, og er fokusert på analoge og digitale produkter, og designet for effektivitet og balansert ytelse.
  • 8051: Det er en 8-bits mikrokontroller utviklet av Intel, selv om du nå finner den produsert av andre selskaper også. Det er en av de mest populære mikrokontrollerne og brukes i et bredt spekter av applikasjoner. 8051 er en CISC-mikrokontroller basert på Harvard-arkitekturen.
  • TriCore: er en mikrokontroller utviklet av Infineon Technologies. TriCore forener elementene i en RISC-prosessorkjerne, en mikrokontroller og en DSP på en enkelt brikke. På den tiden var det en revolusjon.
  • MC-48 eller 8048: Det er en mikrokontroller fra Intel-linjen, med 64 byte RAM og tilgang til 4096 byte eksternt programminne.
  • Mico8- er en 8-bits mikrokontrollerfamilie implementert utelukkende i generell minne og logikk for Lattice FPGAer.
  • Propeller: 32-bits flerkjernearkitektur utviklet av Parallax Inc. Hver propell har 8 identiske 32-bits prosessorer koblet til en felles hub.
  • Grunnstempel- er en mikrokontroller med en liten spesialisert BASIC-tolk (PBASIC) innebygd i ROM-en. Det er produsert av Parallax, Inc, og var et ganske populært produkt for produsenter som ønsket å gjøre en rekke prosjekter hjemme før Arduino ble utgitt.
  • SuperH: er en 32-bits RISC-databehandlingsinstruksjonssettarkitektur utviklet av Hitachi og for tiden produsert av Renesas, og fokusert på mikrokontrollere for innebygde systemer.
  • Tiva: er en serie mikrokontroller utviklet av Texas Instruments. Den har en innebygd prosessorklokkefrekvens på opptil 80MHz med en flytende punktenhet (FPU), med flott ytelse.
  • Microblaze: er et svært integrert prosessorsystem beregnet for kontrollerapplikasjoner. MicroBlaze er implementert utelukkende i minnet og generell logikk til Xilinx (nå AMD) FPGA-er, det vil si en myk kjerne.
  • Picoblaze: lik den forrige, men i dette tilfellet er den 8-bit og enklere, for mer integrerte applikasjoner.
  • XCore: De er XMOS multicore MCUer, 32 bits som er programmert i et C-språkmiljø og fungerer deterministisk og med lav latenstid. De er veldig komplette og kan implementeres i form av fliser.
  • Z8: er fra Zilog, og de er 8-bits enheter som tilbyr et bredt spekter av ytelse og ressursalternativer. Disse mikrokontrollerne er ideelle for høyvolum, kostnadssensitive applikasjoner, inkludert forbruker-, bil-, sikkerhets- og HVAC-produkter.
  • Z180: Det er en annen av de populære innen Zilog før utgivelsen av den nye eZ som har oppdatert de tidligere seriene. Den inkluderer en 8-bits prosessor, kompatibel med den store programvarebasen skrevet for Z80. Z180-familien legger til høyere ytelse og integrerte perifere funksjoner som klokkegenerator, 16-bits tellere/timere, avbruddskontroller, ventetilstandsgeneratorer, serielle porter og en DMA-kontroller.
  • STM: Denne STMicroelectronics-familien har noen MCU-enheter basert på dette selskapets egen arkitektur, selv om det i de nyeste modellene er valgt, som i mange andre tilfeller, å integrere 32-biters ARM Cortex-M Series. Den tilbyr produkter som kombinerer svært høy ytelse, sanntidsfunksjoner, digital signalbehandling, laveffekts-/lavspentdrift og tilkobling, samtidig som fullstendig integrasjon og enkel utvikling opprettholdes.

Det er flere, men disse er de viktigste...


Legg til som foretrukket kilde