Tilpasset Microcontroller Design: Maskinvare, Verktøy og Toolkain

The Great Gildersleeve: Gildy Meets Nurse Milford / Double Date with Marjorie / The Expectant Father (Juni 2019).

$config[ads_text] not found
Anonim

Tilpasset Microcontroller Design: Maskinvare, Verktøy og Toolkain


Dette er del 1 av en trinnvis veiledning for å bringe din tilpassede mikrokontroller-design til liv.

Relatert informasjon:

  • Velge riktig oscillator for din mikrokontroller
  • Tilpasset PCB-design med en EFM8 Microcontroller

De fleste elektronikkentusiaster når til slutt et punkt der det vil være fordelaktig å designe et tilpasset PCB som inneholder en mikrokontroller. Denne banen fører bort fra bekvemmeligheten, bevist funksjonalitet og utviklingsstøtte fra evalueringsstyrene. Disse funksjonene er nyttige, for å være sikker, men de hindrer oss også i å få dypere innsikt som følge av tilpasset design. Med et tilpasset bord må du selv designe disse funksjonene. I tillegg må du teste dem og bekrefte at alt fungerer som forventet.

Microcontroller Hardware-Hva trenger vi "" src = "// www.allaboutcircuits.com/uploads/articles/SBS_uC_Scheme_1.jpg" />

Et minimalt oppsett for en mikrokontroller

Strømforsyning

Som med alle elektriske kretser, trenger vi en pålitelig strømforsyning. Du må opprette en strømforsyningskrets som aksepterer spekteret av forventede inngangsspenninger og gir alle forsyningsspenninger som mikrokontrolleren trenger.

Vær så snill å ikke glemme å inkludere en avkobling (aka bypass) kondensator for hver V CC pin-dette gjelder både mikrokontroller og alle andre integrerte kretser på brettet. Den typiske verdien er 100 nF, men kontroller alltid enhetens dataark bare hvis det gir spesifikke avkoblingsanbefalinger.

Klokke

Klokken er hjerteslag på mikrokontrolleren. Uten hjerteslag, kan en mikrokontroller ikke gjøre noe. Det vil ikke bare løpe.

Mange mikrokontroller inkluderer en intern klokkekilde, og dette er vanligvis det beste alternativet hvis du ikke trenger en svært stabil eller svært presis klokkefrekvens. Når høy stabilitet eller presisjon er nødvendig, er et vanlig valg en krystallbasert oscillator.

Vurder følgende faktorer som du nøye velger riktig klokke kilde:

  • ønsket frekvens
  • Frekvens toleransen fra del til del
  • jitter, dvs. syklus-til-syklusvariasjon i det oscillerende signalets periode
  • stabilitet av frekvens over temperatur
  • pakke
  • lastkapasitans (du må vanligvis inkludere eksterne belastningskondensatorer når du bruker en krystall)

Også, du må sjekke mikrokontrollerens dataark angående standard klokke konfigurasjon. Mikrokontrolleren kan ikke starte opp uten en akseptabel klokke for de første konfigurasjonsprosessene.

tilbakestille

Mikrokontrolleren har en tilbakestillingspinne, og du må være forsiktig med kretsene som er festet til denne pinnen. Dette kan høres rart - kanskje du tenker, "Det er bare en pull-up eller pull-down motstand!"

Men det er ikke alltid så enkelt. Tilbakestillingspinnen gjør at du kan starte mikrokontrolleren din uten å sykle eller koble til feilsøkingsverktøyene. Tilbakestillingspinnen kan drives av en trykknapp eller en annen enhet på bordet, eller det kan til og med være koblet til via en kabel til en ekstern kontroller av noe slag. Under alle omstendigheter må du sørge for at kretsen som kjører tilbakestillingspinnen, gir et passende tilbakestillingssignal (vanligvis aktiv-lav, og pass på å slå av om du bruker en trykknapp).

Den andre bekymringen er spurious tilbakestilles. Disse kan oppstå hvis tilbakestillingspinnen er igjen flytende eller om opptrekksmotoren er veldig stor (fordi dette gjør resetlinjen mer følsom for støy). Og selv om opptrekksmotstanden din ikke er for stor, må du likevel vurdere muligheten for falske tilbakestillinger forårsaket av støykobling i nærliggende spor eller fra kilder til høy intensitet EMI (elektromagnetisk interferens).

Maskinvare grensesnitt for Flash eller Debug Tools

Du trenger en fysisk kontakt på din egendefinerte design for å koble til flash / debug-maskinvaren. Dette kan ofte være en grunnleggende pin header som du kobler til flash / debug maskinvare. De eneste tingene du trenger å vite er grensesnittstandarden (JTAG, SWD, ISP, DebugWire, etc.) og riktig pinout for programmeringsmaskinvaren din. Faktisk kan det hende du trenger å vite veldig lite om det aktuelle feilsøkingsgrensesnittet. Det er ofte den beste tilnærmingen å bare duplisere mikrokontroller-til-feilsøkings-tilkoblingene vist i skjematisk for et relevant evalueringsbord.

På dette punktet har vi dekket de essensielle delene av en mikrokontroller design. Hvis du har all denne kretsen på plass, bør du kunne laste inn et program i mikrokontroller slik at det kan begynne å gjøre noe i stedet for ingenting.

Et eksempel på 10-pin og 6-pin pinouts for in-system programmering (ISP) headers. Bilde med tillatelse til osiixy (eget arbeid) (CC BY 3.0)

Verktøy og Toolkain-Hva trenger vi?

De aller fleste moderne evalueringspaneler (Arduinos, for eksempel) kommer med et fullt integrert USB-grensesnitt og en forhåndsinstallert bootloader. Bare koble kortet til en USB-port, installer riktig driver for operativsystemet, velg en COM-port, og trykk på programmeringsknappen i IDE-en. Det er så enkelt.

Du må kanskje ha litt mer ekstern maskinvare og litt mer kunnskap for å få en tilpasset mikrokontroller-design opp og ned.

Så la oss anta følgende: Din mikrokontroller har ikke en bootloader i minnet, og din egendefinerte PCB inneholder ikke flash / debug-maskinvare.

Flash / Debug Interface Hardware (inkludert drivere)

Det er mange leverandører av flash / debug-maskinvare, som spenner fra veldig billig til veldig dyrt.

Husk at ikke alle flash / debug-maskinvare har drivere for alle operativsystemer. Dessuten er ikke alle drivere enkle å installere. Ta deg tid og sørg for at du kjøper den riktige enheten for mikrokontroller-design.

Et eksempel på en flash / debug-grensesnittsenhet. Bildetilfredshet av Segger.

Initial Firmware Testing

For første test av mikrokontroller, trenger du noen grunnleggende fastvare. Et klassisk blinkende LED-program er fint, eller du kan komme opp med en hvilken som helst annen enkel funksjonalitet som gir klar bekreftelse på at mikrokontrolleren faktisk utfører fastvaren. Hvis styret ditt ikke har en LED eller annen indikator, kan du generere en firkantbølge på en av pinnene og bekrefte at signalet er tilstede ved hjelp av et oscilloskop.

Programvare for integrert utviklingsmiljø (IDE) lar deg lage et program og laste det inn i mikrokontrollerens flashminne. Image courtesy of ARM Inc.

Programmeringsverktøy

Du trenger et programmeringsverktøy for å laste inn programfilen i microcontrollerens flashminne. Vanligvis bruker du programmeringsfunksjonaliteten som er integrert i det integrerte utviklingsmiljøet (IDE) som du bruker til å skrive fastvaren din.

Programmeringsverktøyet er inkludert i Atmel Studio. Bilde med tillatelse til Atmel.

Arbeider med din Custom Microcontroller Design

Så la oss si at i dag fikk du ditt første tilpassede design fra din favoritt PCB-produsent. La oss få denne babyen til liv!

Sjekk den tomme PCB-en

Først av alt, sjekk den tomme PCB for å se om det er noe som er åpenbart feil. Det kan høres dumt ut, men jeg har sett helt speilet PCB og PCB med skiftede loddemasker. Du må være på utkikk etter problemer forårsaket av produsenten og ikke av designeren. Vanligvis PCB vil være fint-faktisk, hvis du bruker en anerkjent produsent er det ekstremt usannsynlig at styret vil ha noen alvorlige problemer. Likevel vet du alle Murphys lov.

Når du har sjekket for åpenbare problemer, åpner du CAD-programvaren og tar noen minutter for å sammenligne den faktiske PCB-en med layoutfilen. Hvis du finner feil på PCB som ikke er feil, ikke nøl med å sende en klage til produsenten. Det er bedre å finne noen ufullkommenheter nå, snarere enn etter at du har alle komponentene loddet til brettet.

Shorts og Åpner

De fleste PCB-produsenter kan gjøre en elektrisk test (aka e-test) for å bekrefte at alle tilkoblinger i selve PCB er i samsvar med tilkoblingene i CAD-data. Dette kan til og med være inkludert i standardprisen. Hvis du ikke har styrene dine e-testet (eller hvis du er i tvil om kvaliteten på e-testen), kan du enten anta at platene er funksjonelle eller kontroller tilkoblingene selv ved hjelp av en multimeter.

Hva blir det neste?

Det er på tide å skyte opp loddejernet ditt og samle alle delene du trenger for din tilpassede mikrokontroller design!

I den neste artikkelen vil jeg gi deg noen trinnvise råd om hvordan du monterer, lodder og tester PCB, og vi vil også dekke hvordan du laster fast fastvare i mikrokontrollerens flashminne.