- Viktiga faktorer att tänka på när du väljer en MCU
- 1. Ansökan
- 2. Välj Microcontroller Architecture
- 3. Bitstorlek
- 4. Gränssnitt för kommunikation
- 5. Driftspänning
- 6. Antal I / O-stift
- 7. Minneskrav
- 8. Förpackningsstorlek
- 9. Strömförbrukning
- 10. Stöd för mikrokontroller
En mikrokontroller är i huvudsak en liten dator på ett chip, som vilken dator som helst, den har minne och är vanligtvis programmerad i inbäddade system för att ta emot ingångar, utföra beräkningar och generera utdata. Till skillnad från en processor innehåller minnet, CPU, I / O och andra kringutrustning på ett enda chip som visas i layouten nedan.
Att välja rätt mikrokontroller för ett projekt är alltid ett komplext beslut att fatta eftersom det är kärnan i projektet och framgång eller misslyckande i systemet beror på det.
Det finns tusentals olika typer av mikrokontroller, var och en med en unik funktion eller konkurrensfördel från formfaktor till paketstorlek, till RAM och ROM-kapacitet som gör dem lämpliga för vissa applikationer och olämpliga för vissa applikationer. För att undvika huvudvärk som följer med att välja rätt, väljer designare ofta mikrokontroller som de är bekanta som ibland, även om de inte riktigt uppfyller projektets krav. Dagens artikel kommer att ta en titt på några av de viktiga faktorerna att titta på när man väljer en mikrokontroller inklusive arkitektur, minne, gränssnitt och I / O-fastigheter bland andra.
Viktiga faktorer att tänka på när du väljer en MCU
Följande är några av de viktiga faktorerna att titta på när du väljer en mikrokontroller inklusive arkitektur, minne, gränssnitt och I / O-fastigheter bland andra.
1. Ansökan
Det första du ska göra innan du väljer en mikrokontroller för något projekt är att utveckla en djup förståelse för den uppgift som den mikrokontrollerbaserade lösningen ska distribueras för. Ett tekniskt specifikationsblad utvecklas alltid under denna process och det hjälper till att bestämma de specifika funktioner som den mikrokontroller som kommer att användas för projektet. Ett bra exempel på hur applikationen / användningen av enheten bestämmer den mikrokontroller som ska användas visas när en mikrokontroller med en flytande enhet antas för utformningen av en enhet som kommer att användas för att utföra operationer som involverar många decimaltal.
2. Välj Microcontroller Architecture
Arkitekturen för en mikrokontroller hänvisar till hur mikrokontrollern är strukturerad internt. Det finns två stora arkitekturer som används för design av mikrokontroller;
- Von Neumann Architecture
- Harvard Architecture
Von Neumann-arkitekturen har användning av samma buss för att överföra data och hämta instruktionsuppsättningar från minnet. Därför kan dataöverföring och instruktionshämtning inte utföras samtidigt och är vanligtvis schemalagda. Harvard-arkitekturen å andra sidan har användning av separata bussar för överföring av data och hämtning av instruktioner.
Var och en av dessa arkitekturer har sina egna fördelar och nackdelar. Harvard-arkitekturen är till exempel RISC-datorer (Reduced instruction Set) och kan således utföra fler instruktioner med lägre cykler än CISC-datorer (Complex instruction Set) som baseras på von Neumann-arkitekturen. En viktig fördel med Harvard (RISC) -baserade mikrokontroller är det faktum att förekomsten av olika bussar för data- och instruktionsuppsättningar möjliggör separering av minnesåtkomst och operationerna för den aritmetiska och logiska enheten (ALU). Detta minskar mängden beräkningseffekt som krävs av mikrokontrollern och det leder till lägre kostnad, låg energiförbrukning och värmeavledning vilket gör dem idealiska för design av batteridrivna enheter. Många ARM,AVR- och PIC-mikrokontroller baseras på Harvard-arkitekturen. Exempel på mikrokontroller som använder Von Neumann-arkitekturen inkluderar bland annat 8051, zilog Z80.
3. Bitstorlek
En mikrokontroller kan antingen vara 8 bitar, 16 bitar, 32 bitar och 64 bitar, vilket är den aktuella maximala bitstorleken som en mikrokontroller har. Bitstorleken för en mikrokontroller representerar storleken på ett ”ord” som används i instruktionsuppsättningen för mikrokontrollern. Detta innebär att i en 8-bitars mikrokontroller tar representationen av varje instruktion, adress, variabel eller register 8-bit. En av de viktigaste konsekvenserna av bitstorleken är mikrostyrenhetens minneskapacitet. I en 8-bitars mikrokontroller finns det till exempel 255 unika minnesplatser som dikteras av bitstorleken medan det i en 32-bitars mikrokontroller finns 4 294 967 295 unika minnesplatser, vilket betyder att ju högre bitstorlek, desto högre antal unika minnesplatser tillgängliga för användning på mikrokontrollern. Tillverkare idag dockutvecklar sätt att ge åtkomst till mer minnesplats till mindre bitstorleksmikrokontroller via personsökning och adressering, så att 8bits mikrokontroller blir 16bits adresserbara men detta tenderar att komplicera programmeringen för den inbäddade programvaruutvecklaren.
Effekten av bitstorlek upplevs förmodligen mer markant när man utvecklar firmware för mikrokontrollern speciellt för aritmetiska operationer. De olika datatyperna har olika minnesstorlek för olika mikrokontroller bitstorlek. Till exempel använder en variabel som deklareras som ett osignerat heltal som på grund av datatypen kommer att kräva 16 bitar minne, i koder som ska exekveras på en 8-bitars mikrokontroller kommer att leda till förlust av den mest betydande byten i data som ibland kan vara mycket viktigt för att uppnå uppgiften för vilken enheten som mikrokontrollern ska användas för designades.
Det är därför viktigt att välja en mikrokontroller med en bitstorlek som matchar den data som ska bearbetas.
Det är förmodligen viktigt att notera att de flesta applikationer idag är mellan 32 bitar och 16 bitar mikrokontroller på grund av de tekniska framstegen som finns på dessa marker.
4. Gränssnitt för kommunikation
Kommunikation mellan mikrokontrollern och några av de sensorer och ställdon som kommer att användas för projektet kan kräva användning av ett gränssnitt mellan mikrokontrollern och sensorn eller ställdonet för att underlätta kommunikationen. Ta till exempel för att ansluta en analog sensor till en mikrokontroller kommer att kräva att mikrokontrollern har tillräckligt med ADC (analog till digitala omvandlare) eller som jag nämnde tidigare, kan det variera hastigheten på en likströmsmotor kräva användning av PWM-gränssnitt på mikrokontrollern. Så det kommer att vara viktigt att bekräfta att den mikrokontroller som ska väljas har tillräckligt med gränssnitt som krävs inklusive UART, SPI, I2C bland andra.
5. Driftspänning
Driftspänningen är den spänningsnivå som ett system är konstruerat för att fungera. Det är också spänningsnivån som vissa egenskaper hos systemet är relaterade till. I hårdvarudesign bestämmer driftspänningen ibland logiknivån vid vilken mikrokontrollern kommunicerar med andra komponenter som utgör systemet.
5V- och 3.3V-spänningsnivån är den mest populära driftspänningen som används för mikrokontroller och ett beslut bör fattas om vilken av dessa spänningsnivåer som kommer att användas under utvecklingen av den tekniska specifikationen för enheten. Att använda en mikrokontroller med en 3,3 V driftspänning i utformningen av en enhet där de flesta externa komponenter, sensorer och ställdon kommer att arbeta på en 5V spänningsnivå kommer inte att vara ett mycket smart beslut eftersom det kommer att bli behov av att implementera logisk nivå växlare eller omvandlare för att möjliggöra utbyte av data mellan mikrokontrollern och de andra komponenterna och detta kommer att öka tillverkningskostnaderna och enhetens totala kostnad i onödan.
6. Antal I / O-stift
Antalet allmänna eller speciella ingångs- / utgångsportar och (eller) stift som en mikrokontroller har är en av de viktigaste faktorerna som påverkar valet av mikrokontroller.
Om en mikrokontroller skulle ha alla andra funktioner som nämns i den här artikeln men inte har tillräckligt med IO-stift som krävs av projektet, kan den inte användas. Det är viktigt att till exempel mikrokontrollern har tillräckligt med PWM-stift för att styra antalet likströmsmotorer vars hastighet kommer att varieras av enheten. Medan antalet I / O-portar på en mikrokontroller kan utökas med hjälp av skiftregister, kan det inte användas för alla typer av applikationer och ökar kostnaden för de enheter där den används. Därför är det bättre att se till att den mikrokontroller som ska väljas för designen har det önskade antalet I / O-portar för allmänna och speciella ändamål för projektet.
En annan viktig sak att tänka på när man bestämmer mängden allmänna eller speciella I / O-stift som krävs för ett projekt är den framtida förbättringen som kan göras på enheten och hur dessa förbättringar kan påverka antalet I / O-stift nödvändig.
7. Minneskrav
Det finns flera typer av minne associerade med en mikrokontroller som designern bör se upp för när du gör ett val. De viktigaste är RAM, ROM och EEPROM. Mängden av vart och ett av dessa minnen som behövs kan vara svårt att uppskatta tills det används, men att bedöma hur mycket arbete som krävs av mikrokontrollern kan förutsägelser göras. Dessa minnesenheter som nämns ovan bildar data- och programminnet för mikrokontrollern.
Programminnet på mikrokontrollern lagrar programvaran för mikrokontrollern, så när strömmen kopplas bort från mikrokontrollern går firmware inte förlorad. Mängden programminne som behövs beror på mängden data som bibliotek, tabeller, binära filer för bilder etc som behövs för att firmware ska fungera korrekt.
Dataminnet å andra sidan används under körtiden. I detta minne lagras alla variabler och data som genereras som ett resultat av bearbetning bland andra aktiviteter under körningstiden. Således kan komplexiteten i beräkningar som kommer att ske under körningstiden användas för att uppskatta mängden dataminne som behövs för mikrokontrollern.
8. Förpackningsstorlek
Paketstorleken hänvisar till formfaktorn för mikrokontrollern. Microcontrollers finns i allmänhet i paket som sträcker sig från QFP, TSSOP, SOIC till SSOP och det vanliga DIP-paketet som gör det enkelt att montera på breadboard för prototypning. Det är viktigt att planera före tillverkningen och se för sig vilket paket som är bäst.
9. Strömförbrukning
Detta är en av de viktigaste faktorerna att tänka på när man väljer en mikrokontroller, särskilt när den ska distribueras i en batteridriven applikation som IoT-enheter där det är önskvärt att mikrokontrollern har så låg effekt som möjligt. Databladet för de flesta mikrokontroller innehåller information om flera hårdvaru- och (eller) programvarubaserade tekniker som kan användas för att minimera mängden ström som mikrokontrollen förbrukar i olika lägen. Se till att den mikrokontroller du väljer uppfyller effektbehovet för ditt projekt.
10. Stöd för mikrokontroller
Det är viktigt att den mikrokontroller du väljer att arbeta med har tillräckligt med support inklusive; kodprover, referensdesign och om möjligt ett stort community online. Att arbeta med en mikrokontroller för första gången kan komma med olika utmaningar och att ha tillgång till dessa resurser hjälper dig att snabbt övervinna dem. Medan du använder de senaste mikrokontrollerna på grund av de här coola nya funktionerna som det kom med är det bra, det är tillrådligt att se till att mikrokontrollern har funnits i minst 3-4 månader för att säkerställa de flesta av de tidiga problemen som kan vara associerade med mikrokontrollern skulle ha lösts eftersom olika kunder skulle ha gjort massor av tester av mikrokontrollern med olika applikationer.
Det är också viktigt att välja en mikrokontroller med en bra utvärderingssats, så att du snabbt kan börja bygga prototyp och testa funktioner enkelt. Utvärderingssatserna är ett bra sätt att få erfarenhet, bekanta sig med verktygskedjan som används för utveckling och spara tid under utvecklingen av enheten.
Att välja rätt mikrokontroller för ett projekt kommer att fortsätta att vara ett problem, varje hårdvarudesigner måste lösa och medan det finns några fler faktorer som kan påverka valet av mikrokontroller är dessa faktorer som nämns ovan de viktigaste.