Jeffrey Cross
Jeffrey Cross

Kako oblikovati krog mikrokrmilnika

Zasnova vezja, ki je potrebna za vgrajeni mikrokrmilniški krmilnik, je lahko malce prekomerna. Samo podatkovni list in tehnične reference lahko uporabijo več sto strani za napredne mikrokrmilnike.

Preden začnete z načrtovanjem vezja, je dobro, da narišete blok diagram, ki prikazuje vse glavne dele projekta, vključno z vsemi perifernimi napravami, ki se bodo povezale z mikrokrmilnikom.

ARM Cortex-M mikrokontroler

Ta članek se bo osredotočil predvsem na načrtovanje vezij pri vključevanju mikrokrmilnika ARM Cortex-M. Arhitekturo ARM Cortex-M ponuja več izdelovalcev čipov v različnih izvedbah.

ARM Cortex-M je 32-bitna arhitektura, ki je posebej primerna za računsko intenzivne naloge v primerjavi s tistimi, ki so na voljo pri tipičnih 8-bitnih mikrokontrolerjih. 32-bitni mikrokrmilnik je prav tako koristen, če imate aplikacijo, ki zahteva večji pomnilniški naslovni prostor ali ki potrebuje enostavno migracijsko pot za prihodnje razširitve.

Razpravljali bomo o vrsti ARM Cortex-M mikrokontrolerjev iz ST Microelectronics, ki se imenuje STM32, ali natančneje, da se bomo osredotočili na serijo STM32F4.

Vendar pa je serija STM32 ogromna in vključuje tudi linijo STM32L z nizko močjo, kot tudi višje in nižje izvedbene različice v primerjavi s STM32F4. Najvišja izvedbena različica je STM32F7, ki lahko izvede več kot 1 milijardo navodil na sekundo. Na drugem koncu izvedbenega spektra, STM32L0 izvaja samo 26 milijonov navodil na sekundo.

Oglejte si shematsko vezje spodaj na sliki 1, ki prikazuje vezje STM32F4, na katerega se bomo sklicali v tem članku.

Slika 1. Kliknite za ogled večje slike.

Načrtovanje napajanja

Napajanje vašega vezja je eden najpomembnejših vidikov oblikovanja strojne opreme in ne smete čakati prepozno v procesu oblikovanja, da bi določili shemo moči in ozemljitve.

Tok, ki ga uporablja mikrokrmilnik, je določen z več dejavniki, kot so obratovalna napetost, urna frekvenca in obremenitve vhodno / izhodne sponke.

Vsak napajalni VDD zatič na MCU mora imeti 1uF in 100nF keramične kondenzatorje (na primer glej C7 in C8 na sliki 1), nameščene čim bližje, da zagotovijo ločevanje napajanja. Dodatni 4.7uF keramični kondenzator (C1 na sliki 1) naj bo nameščen blizu IC na sledu glavnega tokokroga, ki napaja VDD.

Mikrokontrolerji z analogno-digitalnim pretvornikom (ADC) imajo običajno ločene napajalne (VDDA) in ozemljitvene zatiče (VSSA) samo za analogne. Ti zatiči morajo biti posebej čisti od hrupa.

VDDA pin mora imeti 1uF in 10nF keramičnih kondenzatorjev (C10 in C11 na sliki 1), ki so čim bližje VDDA pin kot je mogoče. V večini primerov se mi zdi dobra ideja vključiti tudi induktor (L1 na sliki 1) na VDDA pinu, da oblikujejo nizkopasovni filter LC, ki daje še čistejšo analogno napajalno napetost.

Če je vaša napajalna napetost nad maksimalno vhodno napetostjo za mikrokontroler, je običajno potreben nizek regulator napetosti. Na primer, TPS795xx iz Texas Instruments je še posebej tiho in lahko povzroči do 500mA. Če je vaša napajalna napetost bistveno višja od zahtevane napetosti mikrokrmilnika, je boljša izbira regulatorja preklapljanja. Linearni regulatorji porabijo preveč energije, če je njihova vhodna napetost bistveno višja od regulirane izhodne napetosti.

Vendar je ponavadi najbolje, da še naprej regulirate izhodno napetost preklopnega regulatorja z linearnim regulatorjem. To je zato, ker linearni regulator proizvaja veliko čistejše, nižje napajalne napetosti.

Ure

STM32F4 lahko zaženete iz notranje ali zunanje sistemske ure. Sistemska ura ob vklopu je notranja ura (16 MHz) in po inicializaciji sistema lahko v programski opremi izberete še en zunanji vir ure.

Ura na STM32F4 lahko poganja zunanji 4 do 26 MHz kristal (glej X1 na sliki 1) ali pa se lahko uporabi neodvisen vir ure do 50 MHz.

Smernice postavitve v obrazcu morajo biti strogo upoštevane, ko gre za postavitev kristala. Na splošno morajo biti sledovi kratki in nosilnost na kristalu mora biti enaka tisti, ki jo priporoča izdelava kristalov.

GPIO

Vhodni / izhodni vhodi / izhodi splošnega namena (GPIO) na mikrokontrolerjih so programabilni in jih lahko programirate kot vhod ali izhod.

Na primer, S1 na sliki 1 je gumb, ki je povezan z GPIO, ki je programiran kot vhod. STM32 zagotavlja notranje uporne upore, zato za ta gumb ni potrebe po zunanjem upornem uporu. Primer izhoda GPIO je prikazan z vožnjo LED.

Večina pinov GPIO ima alternativne funkcije in različne periferne naprave za čip dostopajo do zunanjega sveta prek teh večnamenskih zatičev.

Ni vse notranje funkcije so na voljo na vsakem GPIO pin in je določeno kartiranje dovoljeno, zato se posvetujte z obrazcem pri izbiri, katere posebne nožice se uporabljajo.

GPIO zatiči se lahko uporabljajo za vožnjo različnih obremenitev in večina zatiči lahko potone ali vir do 25mA. Vendar pa je na splošno dobra ideja, da se zagotovi nekatere vrste zunanjega vezja pogona off obremenitev pogona zahteve. Na primer, glejte MN1, ki poganja LED na sliki 1.

STM32 ima največji dovoljeni tok, ki je določen za vsak pin posebej, kot tudi omejitve skupnega toka za vse GPIO zatiče, ki so združeni skupaj.

Povezovanje zunanjih naprav

STM32 omogoča serijsko povezovanje preko različnih vmesnikov, vključno z UART, I2C, SPI in USB.

Na primer, na sliki 1 je temperaturni senzor (U2 - LM75BDP) povezan z mikrokontrolerjem prek vodila I2C. Dva pullup upora (R2 in R3) sta potrebna na vodilu I2C, saj imajo naprave, ki se povezujejo z vodilom, odprte gonilnike.

Za aplikacije z nizko hitrostjo, na primer pri večini senzorjev, je I2C običajno moj prednostni serijski protokol, ker za komunikacijo uporablja le dve vrstici. Tudi za razliko od SPI, ki zahteva ločeno linijo čipov za vsako periferno enoto, I2C uporablja edinstvene naslove. To pomeni, da se lahko za povezavo z več zunanjimi napravami uporabita samo dve vrstici.

SPI vodilo na sliki 1 je povezano z 9-osnim senzorjem gibanja MPU-9250 (U3) iz funkcije Invensense. MPU-9250 vključuje 3-osni merilnik pospeška, 3-osni žiroskop in 3-osni magnetometer.

Programski priključek

STM32F4 ponuja dva vmesnika za programiranje znotraj sistema (ISP): Serial-Wire-Debug (SWD) in JTAG. Nižje cene STM32 ponujajo samo vmesnik SWD. SWD in JTAG sta najpogostejša programska vmesnika, ki se uporablja za mikrokontrolerje.

Zaključek

V tem članku smo razpravljali o načrtovanju vezij za mikrokontroler.Še posebej smo si ogledali načrt vezja STM32F4, ki je sposoben brati vhodni gumb, poganjati LED in komunicirati s temperaturnim senzorjem I2C, kot tudi senzor gibanja SPI. Za več podrobnosti o ustvarjanju novega elektronskega izdelka glejte moj Ultimate Guide on Kako razviti nov elektronski izdelek.

Delež

Pustite Komentar