Microchip Technology Inc
Avtor: Mary Iva Rosario Salimba
2018_264_15
Mary Iva Rosario Salimbao iz podjetja Microchip Technology Inc. pojasnjuje, kako se lahko vgrajeni periferni programabilni generator impulzov med drugim uporablja tudi za ustvarjanje referenčnih signalov in časovnih virov.
Programirljivi generator impulzov (Programmable Ramp Generator , PRG), ki je že vgrajen v najnovejše različice 8-bitnih PIC® mikrokontrolerjev proizvajalca Microchip Technology, je zelo prilagodljiva analogna periferna enota, katere namen je poenostaviti aplikacije, ki zahtevajo linearno spremembo napetosti. Kot pove že njeno ime, lahko PRG na svojem izhodu proizvede naraščanje, padanje ali izmenično naraščanje/padanje, vse to pa pod nadzorom programske opreme. Ko takšnemu generatorju nastavimo osnovne parameter za delovanje (konfiguracijo), lahko periferija deluje neodvisno od jedra, s čimer razbremeni centralno procesno enoto (CPU), da lahko izvaja kakšne druge, pomembnejše naloge, vstopi v način z nižjo porabo energije ali kako drugače prevzame nadzorno vlogo v sistemu. Čas vzpona in padca se lahko dinamično nastavlja s krmiljenjem vgrajenega vira konstantnega toka. Prilagodljive vhodne in izhodne možnosti ponujajo oblikovalcu svobodo medsebojnega povezovanja s signali izven mikrokontrolerja ali s signal iz drugih perifernih naprav na istem mikrokontrolerju. To pogosto zagotavlja bolj odziven sistem, obenem pa zmanjšuje potencialne vire motenj in velikost posamezne aplikacije zaradi zmanjšanja števila zunanjih komponent. Slika 1 prikazuje blok shemo periferije.
Koristno orodje za nastavitev potrebnih parametrov (konfiguriranje) PRG je MPLAB® Code Configurator (MCC), uporabniku prijazen vtičnik v integriranem razvojnem okolju (IDE) MPLAB X (glej sliko 3). Z njim ustvarjamo gonilnike za nadzor in upravljanje perifernih naprav Microchip PIC mikrokontrolerjev, kot je na primer tudi PRG. S PRG se lahko izvajajo različne funkcije in vsaka od njih se lahko nastavi z uporabo MCC.
Generator signala trikotne oblike
Generator trikotnega signal (TWG, Triangular Wave Generator) proizvaja periodično, sinusoidno valovno obliko s trikotno obliko enakih časov porasta in padca. Če želite ustvariti trikotni val, mora biti PRG nastavljen za delovanje v izmeničnem vzpenjajočem se in padajočem načinu. MCC omogoča konfiguracijo vhodnih virov časov naraščanja (RS, Rising source) in padanja (FS, Falling source) signala. PRG določa frekvenco izhodnega nihanja z uporabo teh dveh napetostnih referenc, ki sprožita dvig in padec rampe. Te reference tudi določajo najvišje in najnižje vršne napetosti valovanja trikotnega signala.
Če je izhod PRG pod nivojem napetosti, ki ga določa digitalno-analogni pretvornik (DAC), se sproži RS vhod PRG in notranji kondenzator se začne polniti prek tokovnega vira. Ko na izhodu PRG presežemo nastavljeno referenčno napetost (FVR), se sproži vhod FS in notranji kondenzator se začne polniti prek tokovnega vira.
Ker PRG nima izhodnega zunanjega priključka, je PRG izhod pripeljan na operacijski ojačevalnik z nastavljenim ojačenjem 1. Izhodno frekvenco lahko izračunamo, vendar na njeno natančnost lahko vplivajo različni dejavniki, kot so parazitska upornost kondenzatorja, šum, variance samega ustvarjanja signala in temperatura.
Frekvenca izhodnega proizvedenega signala se spreminja s spreminjanjem izhodne ravni DAC ali stopnje naklona (SR) PRG. SR izhodne rampe je konfiguriran z nastavitvami toka PRG.
Slika 4 prikazuje idealno vedenje tega delovanja. Na splošno lahko rečemo, da ustvarjeni signal trikotne oblike sestavljajo periodične in simetrične izmenične naraščajoče in padajoče rampe.
Najvišja in najnižja napetost sta opredeljeni z VFVR in VDAC. Proženje naraščanja in padanja se zgodi, ko signal doseže najvišjo ali najnižjo napetost. Nastavitev frekvence lahko spreminjamo z nastavitvijo naklona v MCC. Sprememba VDAC obenem povzroči spremembo frekvence, vendar se bo najnižja napetost ob tem ustrezno povečala ali zmanjšala.
Frekvenca oscilacije PRG je odvisna od izbranega tokovnega ponora in vira, notranje kapacitivnosti in nastavitve prožilnikov naraščanja in padanja. Nižje frekvence signal lahko dosežemo z dodatno kapacitivnostjo na PRG izhodu.
Z dodajanjem nastavljive logične celice (CLC) in zunanjega kondenzatorja C1 lahko točki napetosti proženja, ki jih določata DAC in FVR, prožita dogodek naraščanja in padanja napetosti izhodnega signal. C1 se priključi na izhod operacijskega ojačevalnika in vzporedno z notranjim kondenzatorjem PRG. Dodatna kapacitivnost povleče čas med sprožilnimi dogodki, kar povzroči nižjo izhodno frekvenco FOUT.
Priključitev nastavljive logične celice CLC na izhod primerjalnikov omogoča generatorju signala, da proizvaja kvadratni signal in impulze. CLC je konfiguriran kot SR zapah in nizka frekvenca FOUT je vzeta iz njegovega izhoda. Podobno kot PRG, napetostne reference prožijo vhode za postavljanje in brisanje. FOUT je postavljen, ko napetost C1 (OPAOUT) pade pod vrednost DAC napetosti. Ko OPAOUT naraste nad FVR, se FOUT izbriše.
Napetostno krmiljen oscilator
Napetostno krmiljen oscilator (VCO), je elektronski oscilator, pri katerem frekvenco njegovega nihanja določa krmilna napetost na njegovem vhodu. Trenutna frekvenca VCO je običajno zasnovana tako, da je v linearnem razmerju s trenutno napetostjo; večja je vhodna napetost, višja je frekvenca njegovega nihanja. Operacija PRG za delovanje VCO je podobna TWG, razen tega, da je izhodna frekvenca vzeta iz zapaha CLC in da RS vhod postavlja spremenljiva napetost VCNTRL v PRG.
Višja napetost VCNTRL zmanjša čas, ki je potreben za ponovno proženje dogodka naraščanja napetosti izhodnega signala. Posledično se preklapljanje med tokovnim virom in ponorom poveča, s tem pa tudi frekvenca nihanja na izhodu.
Razmerje, oziroma odvisnost izhodne frekvence od krmilne napetosti, je prikazano na sliki 7 s tremi vrednostmi naklona PRG. Vrednost SR se lahko spremeni za želeni obseg frekvenc. Pri nižjih vrednostih SR se lahko proizvedejo frekvence v razponu od nekaj Hertz-ov do okoli 500 kHz. Pri višjih vrednostih SR lahko dosežemo frekvence v območju enega MHz.
Potrebni sta torej dve vrednosti krmilne napetosti, skupaj s konstantnim naklonom pa z zmanjšanjem VCNTRL zmanjšamo tudi frekvenco VCO iz CLC.
Oscilator z napetostno krmiljenim razmerjem med signalom in pavzo
S standardnim VCO vezjem spreminjamo frekvenco oscilatorja neposredno. Pri napetostno krmiljenem oscilatorju razmerja med signalom in pavzo v ciklu (VCDCO) se s spreminjanjem njegove krmilne napetosti spreminja razmerje med signalom in pavzo izhodnih impulzov.
Podobna nastavitev kot pri VCO se uporablja tudi za VCDCO, z eno izjemo, da prožilniki časovnega območja prožijo začetek izhodnega impulza. PWM in TMR modula določata čas periode in s tem frekvenco oscilatorja, medtem ko PRG prek VCNTRL določa razmerje med signalom in pavzo znotraj cikla.
Naraščajoči rob PWM sproži PRG RS vhod in postavi CLC. Ko izhod PRG preseže VCNTRL, se sproži vhod FS, kondenzator PRG se izprazni in CLC se ponastavi. Izhoda PRG in CLC ostaneta na nizkem nivoju, dokler ne bo prišlo do naslednje prekoračitve TMR in pozitivnega roba PWM.
Povečanje napetosti VCNTRL podaljša dvigovanje rampe in širino izhodnega pozitivnega impulza.
Razmerje med signalom in pavzo znotraj cikla se izračuna kot razmerje med VCNTRL in VMAX. Če želimo povečati širino delovnega signal znotraj cikla, mora biti čas trajanja časovnika enak času naraščanja rampe, ko doseže VMAX z določeno hitrostjo naklona.
Kadar sta uporabljeni dve različni vrednosti VCNTRL, je lahko prožilno zaporedje RS v obeh primerih enako zaradi stalnega časa števca in PWM. Vendar pa lahko pride do dodatnega zamika pred sprožilcem FS zaradi stalne stopnje naklona in višje VCNTRL.
Hitrost naklona PRG in vrednost intervala TMR2 sta odvisni od zahtevane frekvence in območja delovanja cikla VCDCO. Delež delovnega dela signala v ciklu PWM lahko nastavite tako nizko, da sproži vhod RS v PRG. FOUT se še vedno jemlje iz zapaha CLC SR. Izhoda PWM in CMP omogočata tudi postavljanje in brisanje vhodov za CLC.
Asinhronski enoimpulzni
Asinhroni enoimpulzni oscilator (AOS) proizvede na izhodu en sam impulz ko ga sprožimo od zunaj. Bolj znan je kot monostabilni multi-vibrator, saj ima le eno stabilno stanje. Če stabilno stanje pomeni nizek nivo na izhodu, potem zunanje proženje za določen čas izhod postavi na visok nivo. Ob koncu tega obdobja se AOS vrne v stabilno stanje in čaka na naslednji prožilni dogodek.
Stanje ponastavitve CLC je stabilno stanje AOS-a. Zunanje proženje nastavi RS vhod PRG in nastavi izhod AOS iz CLC. Ko PRG doseže FVR, se sproži vhodni vir FS, notranji kondenzator v PRG se v trenutku izprazni in izhod CLC se ponastavi. Trajanje širine impulza je odvisno od napetosti FVR in naklona PRG.
Zunanji napetostni prožilnik lahko nadomesti modula PWM in TMR, da prepreči periodično zaporedje proženja vhodov PRG RS in virov, ki lahko postavljajo CLC. Izhodni impulzi se potem jemljejo iz izhoda CLC.
Napetostno krmiljen enoimpulzni oscilator
Naslednji primer je nadgradnja prejšnjega. En vhod nastopa v vlogi sprožilca, dodaten vhod pa določa obdobje trajanja tega enega impulza. Ena izmed aplikacij, kjer lahko uporabimo oscilator enkratnega izhodnega impulza, krmili čas delovanja zaščite pred prezgodnjim vklopom (CrCM) v PFC krmilnikih.
Vhodna napetost VCNTRL določa čas enega impulza ali čas, ko je izhod postavljen. Večja vrednost na VCNTRL pomeni daljše časovno obdobje. Ko naraščajoča strmina PRG signala doseže VCNTRL, se kondenzator PRG v trenutku izprazni in dokončan cikel delovanja komplementarnega izhodnega generatorja (COG). Izhod ostane nizek, dokler signal ponovno ne sproži naraščajoče rampe PRG in novega začetka COG obdobja.
V krmilniku zaščite pred prezgodnjim vklopom krmilna enota skrbi za preklapljanje polprevodniškega metal-oksidnega tranzistorja (MOSFET). Povratni signal iz ojačevalnika napake se prenese na VCNTRL. Neprekinjen povratni signal bo povzročil, da bo signal na izhodu postavljen, vklopljen določen fiksni čas. Med vklopljenim in izklopljenim stanjem induktivni tok narašča do vhodne referenčne napetosti in nato pada proti nič. Slika 11 prikazuje tipično obnašanje toka skozi tuljavo pri CrCM krmilniku.
Če želite konfigurirati zunanje naprave z MCC, zamenjajte PWM in TMR modula z drugim CMP. Na seznamu pozitivnih in negativnih vhodnih virov izberite CINx + priključek in FVR. Namesto CLC izberite modul COG in kot vire naraščajočih in padajočih dogodkov nastavite primerjalnike. Za aplikacijo močnostnega pretvornika (napajalnika) pa je primernejša izbira, če COG periferno enoto uporabimo kot izhodni gonilnik.
Zaključek
Funkcije PRG-ja kažejo, da je mogoče napetostne rampe proizvedenega signal uporabiti tudi kot referenčne signale ali časovne vire. Te funkcije je mogoče preprosto konfigurirati z uporabniku prijaznim MCC-jem. Skupaj s še več drugimi vgrajenimi perifernimi napravami v Microchipovih PIC mikrokontrolerjih lahko sami raziščete široko paleto možnosti za uporabo v aplikacijah, ki temeljijo na PRG.
Dodatni viri:
- Funkcije vzorčenja, ki jih je mogoče izvajati s programirljivim generatorjem rampe:
- http://ww1.microchip.com/downloads/cn/AppNotes/cn587053.pdf
- Code Configurator (MCC) za Microchipovo grafično programsko okolje MPLAB
- http://www.microchip.com/mplab/mplab-code-configurator