- Viktige faktorer å ta i betraktning når du velger en MCU
- 1. Søknad
- 2. Velg Microcontroller Architecture
- 3. Bitstørrelse
- 4. Grensesnitt for kommunikasjon
- 5. Driftsspenning
- 6. Antall I / O-pins
- 7. Minnekrav
- 8. Pakkestørrelse
- 9. Strømforbruk
- 10. Støtte for mikrokontroller
En mikrokontroller er egentlig en liten datamaskin på en brikke, som enhver datamaskin, den har minne og er vanligvis programmert i innebygde systemer for å motta innganger, utføre beregninger og generere utdata. I motsetning til en prosessor, inneholder den minne, CPU, I / O og andre eksterne enheter på en enkelt brikke som vist i oppsettet nedenfor.
Å velge riktig mikrokontroller for et prosjekt er alltid en kompleks beslutning å ta fordi det er hjertet i prosjektet og suksess eller fiasko i systemet avhenger av det.
Det er tusen forskjellige typer mikrokontrollere, hver av dem med en unik funksjon eller konkurransefortrinn, fra formfaktor til pakkestørrelse, til kapasiteten til RAM og ROM som gjør dem egnet for visse applikasjoner og uegnet for visse applikasjoner. Så ofte, for å unngå hodepine som følger med å velge riktig, velger designere mikrokontrollere som de er kjent med, til tider selv om de ikke virkelig tilfredsstiller kravene til prosjektet. Dagens artikkel vil ta en titt på noen av de viktige faktorene du må se på når du velger en mikrokontroller, inkludert blant annet arkitektur, minne, grensesnitt og I / O-eiendom.
Viktige faktorer å ta i betraktning når du velger en MCU
Følgende er noen av de viktige faktorene du må se på når du velger en mikrokontroller, inkludert arkitektur, minne, grensesnitt og I / O-eiendom blant andre.
1. Søknad
Det første du må gjøre før du velger en mikrokontroller for et prosjekt, er å utvikle en dyp forståelse av oppgaven som den mikrocontrollerbaserte løsningen skal distribueres for. Et teknisk spesifikasjonsark blir alltid utviklet under denne prosessen, og det vil bidra til å bestemme de spesifikke funksjonene som mikrokontrolleren som skal brukes til prosjektet. Et godt eksempel på hvordan applikasjonen / bruken av enheten bestemmer mikrokontrolleren som skal brukes, vises når en mikrokontroller med en flytende enhet blir vedtatt for utformingen av en enhet som skal brukes til å utføre operasjoner som involverer mange desimaltall.
2. Velg Microcontroller Architecture
Arkitekturen til en mikrokontroller refererer til hvordan mikrokontrolleren er strukturert internt. Det er to store arkitekturer som brukes til design av mikrokontrollere;
- Von Neumann Architecture
- Harvard Architecture
Von Neumann-arkitekturen har bruk av den samme bussen for å overføre data og hente instruksjonssett fra minnet. Derfor kan dataoverføring og henting av instruksjoner ikke utføres samtidig og er vanligvis planlagt. Harvard-arkitekturen har derimot bruk av separate busser for overføring av data og henting av instruksjoner.
Hver av disse arkitekturene har sine egne fordeler og ulemper. Harvard-arkitekturen er for eksempel RISC-maskiner (Reduced instruction Set) og er dermed i stand til å utføre flere instruksjoner med lavere sykluser enn CISC-datamaskiner (Complex instruction Set) som er basert på von Neumann-arkitekturen. En viktig fordel med de Harvard (RISC) baserte mikrokontrollerne er det faktum at eksistensen av forskjellige busser for data og instruksjonssett muliggjør separasjon av minnetilgang og operasjonene til den aritmetiske og logiske enheten (ALU). Dette reduserer mengden beregningskraft som kreves av mikrokontrolleren, og det fører til reduserte kostnader, lavt strømforbruk og varmespredning, noe som gjør dem ideelle for design av batteridrevne enheter. Mange ARM,AVR og PIC Microcontrollers er basert på Harvard-arkitekturen. Eksempel på mikrokontrollere som bruker Von Neumann-arkitekturen inkluderer blant annet 8051, zilog Z80.
3. Bitstørrelse
En mikrokontroller kan enten være 8bits, 16bits, 32bits og 64bits, som er den nåværende maksimale bitstørrelsen som en mikrokontroller har. Bitstørrelsen til en mikrokontroller representerer størrelsen på et “ord” som brukes i instruksjonssettet til mikrokontrolleren. Dette betyr at i en 8-bits mikrokontroller tar representasjonen av hver instruksjon, adresse, variabel eller register 8-bit. En av de viktigste implikasjonene av bitstørrelsen er minnekapasiteten til mikrokontrolleren. I en 8-biters mikrokontroller er det for eksempel 255 unike minneplasser som diktert av bitstørrelsen, mens det i en 32-biters mikrokontroller er 4 294 967 295 unike minneplasser, noe som betyr at jo høyere bitstørrelse, jo høyere antall unike minneplasser tilgjengelig for bruk på mikrokontrolleren. Produsenter i disse dager,utvikler måter å gi tilgang til mer minneplassering til mindre bitstørrelsesmikrokontrollere via personsøk og adressering, slik at 8bits mikrokontroller blir 16bits adresserbar, men dette har en tendens til å komplisere programmering for den innebygde programvareutvikleren.
Effekten av bitstørrelse oppleves trolig mer signifikant når man utvikler fastvaren til mikrokontrolleren, spesielt for aritmetiske operasjoner. De forskjellige datatypene har ulik minnestørrelse for forskjellige mikrokontroller bitstørrelser. For eksempel, ved å bruke en variabel erklært som et usignert heltall som på grunn av datatypen vil kreve 16 bit minne, i koder som skal utføres på en 8-biters mikrokontroller, vil det føre til tap av den mest betydningsfulle byten i dataene som til tider kan være veldig viktig for oppnåelsen av oppgaven som enheten som mikrokontrolleren skal brukes til ble designet.
Det er derfor viktig å velge en mikrokontroller med en bitstørrelse som samsvarer med dataene som skal behandles.
Det er sannsynligvis viktig å merke seg at de fleste applikasjoner i disse dager er mellom 32biter og 16 bits mikrokontrollere på grunn av de teknologiske fremskrittene som er inkludert på disse sjetongene.
4. Grensesnitt for kommunikasjon
Kommunikasjon mellom mikrokontrolleren og noen av sensorene og aktuatorene som skal brukes til prosjektet, kan kreve bruk av et grensesnitt mellom mikrokontrolleren og sensoren eller aktuatoren for å lette kommunikasjonen. Ta for eksempel å koble en analog sensor til en mikrokontroller vil kreve at mikrokontrolleren har nok ADC (analog til digitale omformere), eller som jeg nevnte tidligere, kan det variere hastigheten til en DC-motor som krever bruk av PWM-grensesnitt på mikrokontrolleren. Så det vil være viktig å bekrefte at mikrokontrolleren som skal velges har nok av de nødvendige grensesnittene, inkludert UART, SPI, I2C.
5. Driftsspenning
Driftsspenningen er spenningsnivået som et system er designet for å fungere. Det er også spenningsnivået som visse egenskaper ved systemet er knyttet til. I maskinvaredesign bestemmer driftsspenningen til tider det logiske nivået som mikrokontrolleren kommuniserer med andre komponenter som utgjør systemet.
5V og 3.3V spenningsnivået er den mest populære driftsspenningen som brukes til mikrokontrollere, og det bør tas en avgjørelse om hvilket av disse spenningsnivåene som skal brukes under prosessen med å utvikle den tekniske spesifikasjonen til enheten. Å bruke en mikrokontroller med en 3,3V driftsspenning i utformingen av en enhet der de fleste eksterne komponenter, sensorer og aktuatorer skal operere på et 5V spenningsnivå, vil ikke være en veldig smart beslutning, da det vil være behov for å implementere logisk nivå shifters eller omformere for å muliggjøre utveksling av data mellom mikrokontrolleren og de andre komponentene, og dette vil øke produksjonskostnadene og de totale kostnadene for enheten unødvendig.
6. Antall I / O-pins
Antallet inngangs- / utgangsporter for generelle eller spesielle formål og (eller) pinner som en mikrokontroller har, er en av de viktigste faktorene som påvirker valget av mikrokontroller.
Hvis en mikrokontroller skulle ha alle de andre funksjonene som er nevnt i denne artikkelen, men ikke har nok IO-pinner som kreves av prosjektet, kan den ikke brukes. Det er viktig at mikrokontrolleren har nok PWM-pinner for eksempel for å kontrollere antall DC-motorer hvis hastighet vil bli variert av enheten. Selv om antall I / O-porter på en mikrokontroller kan utvides ved bruk av skiftregistre, kan den ikke brukes til alle slags applikasjoner og øker kostnadene for enhetene den brukes i. Derfor er det bedre å sikre at mikrokontrolleren som skal velges for designet, har det nødvendige antallet generelle og spesielle I / O-porter for prosjektet.
En annen viktig ting å huske på når du bestemmer mengden generelle eller spesielle I / O-pinner som kreves for et prosjekt, er den fremtidige forbedringen som kan gjøres på enheten, og hvordan disse forbedringene kan påvirke antall I / O-pinner. kreves.
7. Minnekrav
Det er flere typer minne tilknyttet en mikrokontroller som designeren bør se etter når du tar et valg. De viktigste er RAM, ROM og EEPROM. Mengden av hvert av disse minnene som trengs, kan være vanskelig å estimere til den blir brukt, men å dømme etter hvor mye arbeid som kreves av mikrokontrolleren, kan spådommer gjøres. Disse minneenhetene nevnt ovenfor danner data- og programminnet til mikrokontrolleren.
Programminnet til mikrokontrolleren lagrer fastvaren til mikrokontrolleren, så når strømmen kobles fra mikrokontrolleren, går firmwaren ikke tapt. Mengden programminne som trengs, avhenger av datamengden som biblioteker, tabeller, binære filer for bilder osv. Som er nødvendig for at fastvaren skal fungere riktig.
Dataminnet derimot brukes i løpetid. Alle variabler og data som genereres som et resultat av behandling blant andre aktiviteter i løpet av kjøretiden, lagres i dette minnet. Dermed kan kompleksiteten av beregninger som vil oppstå i løpet av kjøretiden brukes til å estimere mengden dataminne som er nødvendig for mikrokontrolleren.
8. Pakkestørrelse
Pakkestørrelsen refererer til formfaktoren til mikrokontrolleren. Mikrokontrollere kommer vanligvis i pakker som spenner fra QFP, TSSOP, SOIC til SSOP og den vanlige DIP-pakken som gjør det enkelt å montere på brødbrett for prototyping. Det er viktig å planlegge i forkant av produksjonen og se for seg hvilken pakke som vil være best.
9. Strømforbruk
Dette er en av de viktigste faktorene du må ta hensyn til når du velger en mikrokontroller, spesielt når den skal distribueres i et batteridrevet program som IoT-enheter der det er ønskelig at mikrokontrolleren har så lav effekt som mulig. Dataarket til de fleste mikrokontrollere inneholder informasjon om flere maskinvare- og (eller) programvarebaserte teknikker som kan brukes til å minimere strømforbruket av mikrokontrolleren i forskjellige moduser. Forsikre deg om at mikrokontrolleren du velger, oppfyller strømbehovet for prosjektet ditt.
10. Støtte for mikrokontroller
Det er viktig at mikrokontrolleren du velger å jobbe med har nok støtte inkludert; kodeeksempler, referansedesign og om mulig et stort samfunn online. Å jobbe med en mikrokontroller for første gang kan komme med forskjellige utfordringer, og å ha tilgang til disse ressursene vil hjelpe deg med å overvinne dem raskt. Mens det er en god ting å bruke de nyeste mikrokontrollerne på grunn av de kule nye funksjonene den fulgte med, anbefales det å sikre at mikrokontrolleren har eksistert i minst 3-4 måneder for å sikre de fleste av de tidlige problemene som kan være forbundet med mikrokontrolleren. ville blitt løst siden forskjellige kunder ville ha gjort mange tester av mikrokontrolleren med forskjellige applikasjoner.
Det er også viktig å velge en mikrokontroller med et godt evalueringssett, slik at du raskt kan begynne å bygge prototype og enkelt teste ut funksjoner. Evalueringssettene er en god måte å skaffe seg erfaring, bli kjent med verktøykjeden som brukes til utvikling, og spare tid under utviklingen av enheten.
Å velge riktig mikrokontroller for et prosjekt, vil fortsette å være et problem, hver maskinvaredesigner må løse, og selv om det er få flere faktorer som kan påvirke valget av mikrokontroller, er disse faktorene nevnt ovenfor de viktigste.