0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaPredstavljamoOdprava pretvornikov nivojev v mikrokontrolerskih aplikacijah (1)

    Odprava pretvornikov nivojev v mikrokontrolerskih aplikacijah (1)

    Pri načrtovanju sistema je ena od najpomembnejših odločitev o načrtovanju izbira, katero napetostno področje bomo uporabili.

    Microchip Technology Inc.
    Avtor: Robert Perkel

    Nekatere napajalne napetosti, kot je 5 V, so primerne za težka delovna okolja z veliko šuma, kot so tista v industrijskih aplikacijah. Drugenapajalne napetosti, kot je 3,3 V, pa se pogosto uporabljajo za brezžično komunikacijo.

    Vendar vsaka napajalna napetost poveča kompleksnost zasnove in zahteva sredstva za komunikacijo med napetostmi. V prvem delu te serije bo predstavljeno novo periferno omrežje za prilagajanje napetostnega nivoja v mikrokontrolerjih, imenovano Multi-Voltage I/O (MVIO). MVIO zmanjša zapletenost zasnove in število komponent, potrebnih za komunikacijo med napetostmi.

    Pri načrtovanju sistema v idealnem primeru potrebujemo le eno napajalno napetost, kar poenostavi postopek načrtovanja. V mnogih primerih pa ena sama napajalna napetost ni mogoča, saj številni senzorji in moduli delujejo le pri določenih logičnih nivojih. Bluetooth® moduli in drugi moduli za brezžično komunikacijo pogosto delujejo s 3,3 V, medtem ko industrijske aplikacije običajno uporabljajo 5V logiko zaradi večje odpornosti proti šumom v težkih delovnih okoljih. V mikroprocesorjih in drugih visokozmogljivih napravah je pogosto tudi delovanje pri napajalni napetosti 1,8 V .

    Pri komuniciranju med napetostnimi nivoji je zelo pomembno pretvarjanje iz enega nivoja v drugega. Večina naprav ne more pravilno prenesti višje napetosti (od delovne), ki je priključena na njihove vhodne priključke. To lahko povzroči poškodbe ali nepričakovano obnašanje naprave. Kot primer lahko navedemo industrijski 5V senzor, povezan s 3,3V mikrokontrolerjem. Senzor bo na vhode mikrokontrolerja dovajal 5 V, kar bi lahko poškodovalo napravo ali druga priključena vezja. Slika 1 prikazuje absolutno največje nazivne vrednosti naprave iz AVR® DB družine mikrokontrolerjev [1]. V tem primeru 5 V vhodni signal presega nazivne vrednosti priključkov pri napajanju s 3,3 V.

    Druga možna težava, ki se lahko pojavi je, da vhodni signal morda ne ustreza zahtevanim pragom nizke ali visoke vhodne napetosti. To bi lahko povzročilo mejno delovanje. Zasnova morda sploh ne bo delovala ali, kar je še huje, delovala bo le v posebnih robnih primerih ali pogojih delovanja.
    Standardna rešitev za to težavo je, da se v zasnovo doda zunanji pretvornik nivoja. Ta deluje na obeh napetostnih področjih in se premakne z A na B ali obratno. Vendar prilagodilniki nivoja prinašajo svoje stroške in težave pri načrtovanju. Obstaja veliko različnih velikosti in vrst prilagodilnikov nivoja z različnimi nabori funkcij. Pri obsežni in zapleteni zasnovi bo morda potrebnih več različic prilagodilnikov nivoja, da bodo izpolnjene zahteve naprave. Na primer, I2C je treba uporabljati z dvosmernim prilagodilnikom nivoja, medtem ko zaporedna vodila, kot je SPI, bolje delujejo s hitrejšim enosmernim prilagodilnikom nivoja z namenskimi vhodi in izhodi na obeh napetostnih nivojih. Poleg tega vsak zunanji prilagodilnik nivoja poveča seznam materiala (BOM) in potrebno površino plošče tiskanega vezja (TIV).

    Da bi zmanjšali površino TIV in stroške, povezane z uporabo zunanjih prilagodilnikov nivoja, je Microchip predstavil novo periferno enoto, imenovano Multi-Voltage I/O (MVIO), ki je bila predstavljena v AVR DB družini mikrokontrolerjev. MVIO omogoča, da vrata mikrokontrolerja delujejo v ločenem napetostnem območju kot preostali del naprave. Ta posebna vrata še vedno ohranjajo običajno digitalno nastavljivost mikrokontrolerskih vhodov/izhodov. Ker so MVIO funkcije transparentne za strojno opremo, bodo digitalne periferne naprave na vratih delovale kot običajno (ko so napajane). To omogoča delovanje I2C, SPI, UART, PWM in drugih perifernih naprav ter izboljša energetsko učinkovitost in zmogljivost mikrokontrolerja.

    Lastnosti MVIO
    MVIO je pravi sistem za prilagajanje glede na napetostni nivo. MVIO vrata lahko delujejo na višjih ali nižjih napetostih kot preostali del mikrokontrolerja. Trenutno priporočeno območje delovanja MVIO v AVR DB družini je med 1,8 V in 5,5 V. MVIO za delovanje potrebuje namensko napajanje, vendar ne zahteva nekega zaporedja napajanja. Če je primarno napajanje mikrokontrolerja ali napajanje MVIO pod zahtevanimi minimumi, se MVIO priključki postavijo v visokoohmsko stanje.

    Obnašanje priključkov ob ponovni vzpostavitvi napajanja je odvisno od tega, kateri vir je izgubil napajanje. Če napajanje izgubi MVIO, se vhodno-izhodni elementi ob vklopu napajanja vrnejo na svoje registrske nastavitve. Če mikrokontroler izgubi napajanje, se bodo priključki ob ponovnem zagonu mikrokontrolerja ponastavili na privzete nastavitve ob vklopu (Power-on-Reset – PoR).

    Med delovanjem lahko mikrokontroler nadzoruje delovanje MVIO na tri načine:

    • Preverjanje stanja napajanja
    • Prekinitev ob spremembi stanja napajanja
    • Merjenje z ADC

    Register stanja MVIO kaže, ali napajanje za MVIO presega minimalno zahtevano napetost. Ta bit lahko mikrokontroler preverja ali pa se ob spremembi njegovega stanja sproži prekinitev. Poleg tega lahko analogno-digitalni pretvornik (ADC) v mikrokontrolerju meri MVIO napajanje prek notranjega napetostnega delilnika, ki deli napetost z 10.

    Enostaven prikaz delovanja MVIO
    MVIO lahko vizualno prikažete tako, da modulirate napajalne napetosti, medtem ko opazujete digitalni izhod. Tako se ustvarijo oblike mešanih signalov, ki sledijo napajanju MVIO, medtem ko jih digitalni vhod/izhod krmili. Analogni signali v naslednji demonstraciji so bili ustvarjeni na AVR DB mikrokontrolerju prek vgrajenega digitalno-analognega pretvornika (DAC) in so bili ojačeni z enim od notranjih ojačevalnikov, s čemer se je napajal MVIO priključek.

    Operacijski ojačevalnik se lahko uporablja za napajanje MVIO tudi v drugih aplikacijah, vendar ima dve pomembni pomanjkljivosti:

    • Največja in najmanjša izhodna napetost ojačevalnika je omejena z napajanjem mikrokontrolerja in jakostjo izhodnega toka.
    • Mirujoči tok te konfiguracije je veliko večji kot pri namenskem regulatorju napajanja.

    V tej demonstraciji se vrednost v DAC pretvorniku posodobi vsakih 10 µs iz timerja B (TCB), ki je namenjen prekinitvam (ISR). ISR bodisi prebere vrednost iz preglednice za iskanje bodisi izračuna vrednost DAC iz vnaprej programirane formule. Natančno obnašanje je odvisno od generirane oblike signala; sinusni signal se sintetizira iz fiksne preglednice, medtem ko druge oblike signalov izračuna mikrokontroler.

    Za prikaz digitalne funkcionalnosti je bil na MVIO vratih nastavljen izhod s pulzno širinsko modulacijo (PWM). Timer/števec D (TCD) ustvari PWM signal s frekvenco 250 kHz in 50-odstotnim delovnim ciklom. Ker pa TCD nima izhoda na vratih MVIO, se za prenos signala na vhodno/izhodni MVIO priključek uporabi celica konfiguracijske logike po meri (CCL).

    Izhodni potek signala je prikazan na sliki 5. DAC za napajanje MVIO generira fiksni sinusni val 1 kHz enosmerno prednapetostjo, tako da napajanje MVIO ne pade pod minimalno raven delovanja in se ne izklopi.

    Izvorna koda in dokumentacija sta na voljo na [2].

    Povezovanje 1,8V z MVIO
    Da bi prikazali bolj praktično uporabo MVIO, smo skupaj s podjetjem Melexis, svetovnim dobaviteljem mikroelektronskih polprevodniških rešitev, razvili demonstracijsko vezje, ki uporablja njihov 3D magnetometer MLX90392 [3] kot senzor za varovanje oken.
    Reed stikala so običajen način za ugotavljanje, ali je okno odprto ali zaprto, vendar so stikala občutljiva na prevaro z zunanjim magnetom, ki je nameščen v njihovi bližini. V nasprotju s tem MLX90392 meri magnetno polje v treh dimenzijah, zato je veliko bolj odporen na tovrstne napade. Uporabnik lahko programira tudi prag odprtega/zaprtega okna po meri, ki omogoča, da se okno rahlo odpre, ne da bi se sistem onesposobil.

    MLX90392 magnetometer komunicira z mikrokontrolerjem prek I2C pri napetosti 1,8 V. Običajno bi bil za to potreben zunanji prilagodilnik nivoja, ker pa je MVIO na voljo na mikrokontrolerju, prilagodilnik nivoja ni potreben. Poleg tega je bil vgrajen tudi MLX90632 Far InfraRed (FIR) senzor [4] za spremljanje sobne temperature. Ta senzor se napaja iz 3,3 V, vendar ima različico, ki lahko komunicira tudi po 1,8-voltnem I2C vodilu.

    Druga napajalna napetost v tem demonstracijskem vezju je 3,3 V. Ta napajalna napetost napaja mikrokontroler in RN4870 Bluetooth modul [5]. Bluetooth komunikacija je bila izvedena zato, da bi demonstracijsko vezje omogočilo interakcijo s pametnimi telefoni brez uporabe specializirane strojne opreme. V produkcijski aplikaciji se lahko za nadzorno vozlišče izbere druge preprostejše in manj zmogljive brezžične komunikacijske metode, kot je Sub-GHz radio [6].

    Ta uporaba bo podrobneje obravnavana v naslednjem članku. Izvorna koda in dokumentacija za to aplikacijo sta navedeni med viri na koncu članka.

    Izvorna koda aplikacije in dokumentacija:
    https://github.com/microchip-pic-avr-examples/avr128db28-smart-security-sensor-mplab

    Viri:
    1: https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/8-bit-mcus/avr-mcus/avr-db
    2: https://github.com/microchip-pic-avr-examples/avr128db48-pam-generator-mplab
    3: https://www.melexis.com/en/product/MLX90392
    4: https://www.melexis.com/en/product/MLX90632
    5: https://www.microchip.com/en-us/product/RN4870
    6: https://www.microchip.com/en-us/products/wireless-connectivity/sub-ghz

    Opomba: Ime in logotip Microchip sta registrirani blagovni znamki podjetja Microchip Technology Incorporated v ZDA in drugih državah. Vse druge blagovne znamke, ki so morda tu omenjene, so last njihovih podjetij.

    https://www.microchip.com