En mängd utvecklingskort som vi använder ofta, från Arduino själv till många andra, använder MCU-enheter eller mikrokontroller. Några viktiga marker för att kunna programmera dessa enheter och att instruktionerna som skapats av programmeraren kan bearbetas för att erhålla förväntade resultat.
Sin embargo, Mikrokontrollersektorn är ganska bred., vilket också är fallet med processorer eller mikroprocessorer, eftersom det inte bara finns många designers eller tillverkare, såväl som modeller, utan det finns också många olika familjer som du bör känna till. Så vi kommer att ägna den här artikeln åt just detta, så att du vet vilken som kan intressera dig mest för dina projekt...
Vad är en mikrokontroller eller MCU?

Un mikrokontroller eller MCU (MicroController Unit) Det är en kompakt enhet som integrerar funktionerna hos en central processor (CPU), minne och kringutrustning på ett enda chip. Denna enhet är kärnan i många elektroniska system och är grundläggande inom området för inbyggd elektronik. Kort sagt, ett utmärkt alternativ till trådbunden elektronik, vilket gör att ett enda chip kan utföra en mängd funktioner flexibelt, eftersom det är programmerbart.
Mikrokontroller används i en många olika applikationer på grund av dess mångsidighet och effektivitet. Några exempel på användning av mikrokontroller inkluderar kontrollsystem i bilar, hushållsapparater, industriella automationssystem, processtyrningssystem, leksaker, säkerhetssystem, utvecklingstavlor och många andra elektroniska utrustningar.
Delar av mikrokontroller
Mikrokontroller är integrerade enheter, och alla deras komponenter är implementerade på ett chip eller en integrerad krets. Mellan mest grundläggande delar av dessa marker är:
- CPU (Central Processing Unit): Den centrala bearbetningsenheten är hjärnan i mikrokontrollern och dess viktigaste del. Denna enhet ansvarar för att använda programmets data och instruktioner för att tolka och bearbeta dem på lämpligt sätt i exekveringsenheterna för att erhålla de förväntade resultaten. Det vill säga, CPU:n utför alla beräkningsoperationer och fattar beslut baserat på programlogiken. CPU:ns hastighet och effektivitet avgör till stor del mikrokontrollerns prestanda. Dessutom har de vanligtvis också elementära delar såsom avbrottssystem, som gör att mikrokontrollern kan svara på vissa händelser i tid. När en specifik händelse inträffar, såsom en signalingång eller en timer som når ett specifikt värde, kan mikrokontrollern avbryta sin aktuella uppgift för att svara på denna händelse.
- Minne: De har vanligtvis två typer av minne som RAM och flash. RAM används för att lagra temporär data, såsom instruktionerna som utgör programmen och data (variabler, konstanter,...) under körningen av programmet. Medan flashminnet används för att lagra programmet som ska köras, och det är icke-flyktigt som RAM, så när strömmen avbryts eller enheten stängs av, kommer programmet att finnas kvar.
- In-/utgångsutrustning (I/O): Låt mikrokontrollern interagera med omvärlden. Dessa kan inkludera digitala I/O-portar, analog-till-digital-omvandlare (ADC), digital-till-analog-omvandlare (DAC), kommunikationsgränssnitt som UART, SPI och I2C, olika kontroller, timers, räknare, GPIO och andra.
Hur skiljer det sig från en mikroprocessor eller CPU?
En mikroprocessor och en mikrokontroller är två grundläggande komponenter inom elektronikområdet, men det har de betydande skillnader när det gäller struktur och användning, även om många blandar ihop de två eller tror att de är lika.
Medan CPU bara integreras funktionella enheter för styrning och tolkning av instruktioner, register, samt exekveringsinstruktioner såsom ALU, FPU, etc., och kan kombineras med andra hjälpelement på ett mer flexibelt sätt, är mikrokontroller något mer slutna i den meningen att integrera många av delarna som processorn utelämnar. I själva verket, medan CPU är hjärnan i en dator, kan MCU betraktas som en komplett dator, eftersom den innehåller alla grundläggande delar på ett enda chip.
Förväxla dock inte större integration med termer av komplexitet och prestanda. Medan nuvarande mikroprocessorer är extremt komplexa och med mycket hög prestanda, har nuvarande mikrokontroller vanligtvis en integrerad CPU med mycket lägre och enklare prestanda. Faktum är att många av dagens mikrokontroller kan ha prestanda liknande mikroprocessorer från årtionden sedan. Vad mer är, som vi kommer att se senare, har vi till och med 8-bitars eller 16-bitars mikrokontroller som 70-talets processorer.
Skillnader jämfört med en SoC?
Eftersom mikrokontrollern integrerar flera element på samma chip, Det förväxlas också ofta med SoC (System on a Chip)Det är dock inte detsamma heller. Som med CPU vs MCU, integrerar SoCs också en CPU med mycket högre prestanda än de flesta nuvarande mikrokontroller. Dessutom är SoC ett oändligt mycket mer komplext och avancerat system. Å andra sidan integrerar SoC vanligtvis inte en del av de delar som är integrerade i en mikrokontroller, eftersom de applikationer som den är avsedd för inte kräver det, såsom RAM och flashminne, ADC-omvandlare etc.
Lite historia
Tidiga flerkretsmikroprocessorer, som AL1 från Four-Phase Systems 1969 och MP944 från Garrett AiResearch 1970, utvecklades med flera MOS LSI-chips. Den första enchipsmikroprocessorn var Intel 4004, som släpptes 1971. Dessa processorer krävde flera externa chips för att implementera ett funktionellt system, vilket var dyrt. Men nästan parallellt utvecklades det vi idag känner som en mikrokontroller. HAN tillskrivas IT-ingenjörer, Gary Boone och Michael Cochran, det framgångsrika skapandet av den första mikrokontrollern 1971, TMS 1000, som kombinerade läsminne, läs/skrivminne, processor och klocka på ett enda chip. I själva verket, även om det här är en annan historia, genererade det ett patentkrig och stämningar över författarskapet till mikroprocessorn...
Under 1970-talet har Japanska elektroniktillverkare började tillverka mikrokontroller för bilar. De blev så småningom populära, och som svar på existensen av single-chip TMS 1000 utvecklade Intel ett datorsystem på ett chip optimerat för kontrollapplikationer, Intel 8048, som kombinerade RAM och ROM på samma chip tillsammans med en CPU. Med tiden förbättrades icke-flyktiga minnen och gick från att spelas in på fabriken med ett permanent program som de första ROM-skivorna till introduktionen av PROM, eller EEPROM från 1993, vilket gjorde att det kunde raderas och omprogrammeras med ett annat program på ett enkelt sätt och så många gånger du vill.
Så småningom föddes företag kring den här typen av chips, som t.ex Atmel, Microchip Technology och många andra. Andra företag i sektorn började också distribuera sina egna 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, etc.
Idag är mikrokontroller billiga och lättillgängliga för hobbyister och en mängd olika industrisektorer. Vidare beräknas de vara sålda nästan 5 miljarder 8-bitars enheter över hela världen, är den mest använda för närvarande. Du kan hitta dem i hushållsapparater, fordon, datorer, telefoner, industrimaskiner och mycket mer. Dessutom har de lyckats miniatyrisera maximalt och skapat några av de minsta datorerna i världen, till och med mycket mindre än en nypa salt...
ISA- och mikrokontrollerfamiljer

Nu när du vet lite mer om vad en MCU eller mikrokontroller är, låt oss se några av dem viktigaste familjerna av dessa mikrokontroller. Och liksom CPU:er kan de delas in enligt ISA, det vill säga repertoaren av instruktioner, register och datatyper som används, och kompatibiliteten för de binära programmen som kan köras beror på detta. vilket gör dem inte kompatibla mellan familjer. Och dessa familjer är helt oberoende av modellen, märket eller enheterna som ingår i chippet.
Bland de mest populära familjer vi har följande:
- Barn: är en generation av mjuka kärnor för FPGA från Altera, nu absorberad av Intel.
- Blackfen: är en familj av 16/32-bitars mikroprocessorer utvecklade, tillverkade och marknadsförda av Analog Devices. Processorerna har också inbyggd digital signalprocessor (DSP) funktionalitet, utförd av 16-bitars multiplikationsackumulering (MAC).
- TigerSHARC: står för Super Harvard Architecture Single-Chip Computer, också från Analog Devices. I det här fallet är de idealiska för applikationer som kräver hög datorprestanda med låg strömförbrukning. Dessa processorer erbjuder en unik minnesarkitektur som möjliggör effektiv åtkomst till data och instruktioner utan prestandapåverkan som är förknippad med Von Neumann-bussarkitekturer.
- Cortex-M- ARMs Cortex-M mikrokontroller är en populär familj av 32-bitars mikrokontroller som är mycket strömsnåla och erbjuder bra prestanda. De är särskilt populära i industri- och konsumenttillämpningar och representerar för närvarande majoriteten av moderna chips som säljs av många företag.
- AVR32: Det är en 32-bitars RISC-mikrokontrollerarkitektur producerad av Atmel, och du kan hitta den på många utvecklingskort, som Arduino och kloner av den.
- RISC-V: Denna öppna ISA syftar till att överträffa ARM, och så smått har den börjat få betydelse i mikrokontrollervärlden, eftersom den är mycket flexibel och tillåter användning utan att betala royalties.
- BILD- är en familj av 8-bitars mikrokontroller utvecklade av Microchip Technology, kända för sin avancerade RISC-arkitektur, och är ganska populära i branschen.
- PowerQUICC: är baserade på IBMs Power Architecture-teknologi och användes av Motorola (nu Freescale), de stöder hela spektrumet av inbäddad nätverksutrustning, industriella och allmänna inbäddade applikationer.
- Spansion: Dessa är Fujitsus MCU:er, och är fokuserade på analoga och digitala produkter, och designade för effektivitet och balanserad prestanda.
- 8051: Det är en 8-bitars mikrokontroller utvecklad av Intel, även om du nu hittar den tillverkad av andra företag också. Det är en av de mest populära mikrokontrollerna och används i ett brett spektrum av applikationer. 8051 är en CISC-mikrokontroller baserad på Harvard-arkitekturen.
- TriCore: är en mikrokontroller utvecklad av Infineon Technologies. TriCore förenar elementen i en RISC-processorkärna, en mikrokontroller och en DSP på ett enda chip. På den tiden var det en revolution.
- MC-48 eller 8048: Det är en mikrokontroller från Intel-linjen, med 64 byte RAM och tillgång till 4096 byte externt programminne.
- mico8- är en 8-bitars mikrokontrollerfamilj implementerad helt i allmänt minne och logik för Lattice FPGA.
- Propeller: 32-bitars multicore-arkitektur utvecklad av Parallax Inc. Varje propeller har 8 identiska 32-bitars processorer kopplade till en gemensam hubb.
- Grundstämpel- är en mikrokontroller med en liten specialiserad BASIC-tolk (PBASIC) inbyggd i ROM. Den är tillverkad av Parallax, Inc, och var en ganska populär produkt för tillverkare som ville göra en mängd projekt hemma innan Arduino släpptes.
- SuperH: är en 32-bitars RISC-arkitektur för instruktionsuppsättningar utvecklad av Hitachi och för närvarande producerad av Renesas, och fokuserad på mikrokontroller för inbyggda system.
- tiva: är en serie mikrokontroller utvecklad av Texas Instruments. Den har en inbyggd processorklockfrekvens på upp till 80MHz med en flytande punktsenhet (FPU), med fantastisk prestanda.
- Microblaze: är ett högintegrerat processorsystem avsett för styrtillämpningar. MicroBlaze implementeras helt och hållet i minnet och generella logik hos Xilinx (nu AMD) FPGA, det vill säga en mjuk kärna.
- Picoblaze: liknande den föregående, men i det här fallet är den 8-bitars och enklare, för mer integrerade applikationer.
- XCore: De är XMOS multicore MCU, 32 bitar som är programmerade i en C-språkmiljö och fungerar deterministiskt och med låg latens. De är mycket kompletta och kan implementeras i form av plattor.
- Z8: är från Zilog, och de är 8-bitars enheter som erbjuder ett brett utbud av prestanda och resursalternativ. Dessa mikrokontroller är idealiska för stora volymer, kostnadskänsliga applikationer, inklusive konsument-, bil-, säkerhets- och HVAC-produkter.
- Z180: Det är en annan av de populära inom Zilog före lanseringen av den nya eZ som har uppdaterat de tidigare sortimenten. Den innehåller en 8-bitars processor, kompatibel med den stora mjukvarubasen skriven för Z80. Z180-familjen lägger till högre prestanda och integrerade perifera funktioner som klockgenerator, 16-bitars räknare/timer, avbrottskontroller, väntetillståndsgeneratorer, serieportar och en DMA-kontroller.
- STM: Denna STMicroelectronics-familj har några MCU-enheter baserade på detta företags egen arkitektur, även om det i de senaste modellerna har valts, som i många andra fall, att integrera 32-bitars ARM Cortex-M-serien. Den erbjuder produkter som kombinerar mycket hög prestanda, realtidskapacitet, digital signalbehandling, lågeffekt/lågspänningsdrift och anslutning, samtidigt som fullständig integration och enkel utveckling bibehålls.
Det finns fler, men dessa är de viktigaste...