Muutuva töötsükliga PWM-signaalide genereerimine FPGA abil

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





See artikkel selgitab impulsi laiuse modulatsiooni genereerimine signaalid muutuva töötsükliga FPGA-l VHDL-i abil. PWM-il on fikseeritud sagedus ja muutuv pinge. Selles artiklis käsitletakse ka digitaalse kellahalduri kella sageduse vähendamist, vähendades kellasignaali kaldu. Fikseeritud sagedust kasutatakse sisendandmete tootmiseks, mis komparaatori abil toodavad PWM-signaale. Elektroonikaettevõtted kujundavad oma toodetele pühendatud riistvara oma standardite ja protokollidega, mis teeb lõppkasutajatele keeruliseks riistvara ümber seadistada vastavalt nende vajadustele. See riistvaranõue tõi kaasa kliendi poolt konfigureeritava uue segmendi kasvu välja programmeeritavad integraallülitused, mida nimetatakse FPGA-deks .

Impulsi laiuse modulatsioon (PWM)

Pulsilaiuse modulatsiooni kasutatakse laialdaselt side- ja juhtimissüsteemid . Impulsi laiuse modulatsiooni saab genereerida juhtimissüsteemides erinevate lähenemisviiside abil. Siin, selles artiklis, genereeritakse PWM riistvara kirjelduskeele (VHDL) abil ja rakendatakse FPGA-s. PWM-i rakendamine FPGA-s võimaldab andmeid kiiremini töödelda ja kontrolleri arhitektuuri saab optimeerida ruumi või kiiruse jaoks.




PWM on tehnika loogika „0” ja loogika „1” andmiseks kontrollitud aja jooksul. See on signaaliallikas, mis hõlmab selle töötsükli moduleerimist koormusele saadetud võimsuse hulga reguleerimiseks. PWM-is hoitakse ruutlaine ajavahemikku konstantsena ja varieeritakse aega, mille jooksul signaal jääb KÕRGEKS.

PWM genereerib oma väljundil impulsid nii, et HIGHs ja LOWs keskmine väärtus on proportsionaalne PWM sisendiga. Signaali töötsüklit saab muuta. PWM-signaal on muutuva töötsükliga püsiva perioodiga ruutlaine. See tähendab, et PWM-signaali sagedus on konstantne, kuid signaali ajaperiood püsib kõrge ja varieerub nagu näidatud.



PWM signaal

PWM signaal

VHDL

VHDL on keel, mida kasutatakse käitumise kirjeldamiseks digitaallülituse kujundused . Tööstusettevõtted ja teadlased kasutavad VHDL-i digitaallülituste simuleerimiseks. Selle kujundust saab simuleerida ja tõlkida kujul, mis sobib riistvaras rakendamiseks.


PWM arhitektuur

PWM-i genereerimiseks sisendandmete loomiseks kiire N-bitise tasuta jooksva loenduri abil, mille väljundit võrreldakse registri väljundiga ja salvestatakse soovitud sisendi töötsükkel võrdleja abil. Võrdleja väljundiks seatakse 1, kui mõlemad väärtused on võrdsed. Seda võrdlusväljundit kasutatakse RS riivi seadistamiseks. RS-riivi lähtestamiseks kasutatakse loenduri ülevoolusignaali. The RS riivi väljund annab soovitud PWM-väljundi. Seda ülevoolusignaali kasutatakse ka uue N-bitise töötsükli laadimiseks registrisse. PWM-il on fikseeritud sagedus ja muutuv pinge. See pinge väärtus muutub 0 V-lt 5 V-le.

Muutuva töötsükliga PWM-signaal

Muutuva töötsükliga PWM-signaal

Põhiline PWM genereerib signaalid, mis annab PWM-i väljundi, nõuab võrdlejat, mis võrdleb kahte väärtust. Esimene väärtus tähistab N-bittiloenduri poolt genereeritud ruutsignaali ja teine ​​väärtus ruutsignaali, mis sisaldab teavet töötsükli kohta. Loendur genereerib ülekoormuse korral koormussignaali. Kui koormussignaal muutub aktiivseks, laadib register uue töötsükli väärtuse. Koormussignaali kasutatakse ka riivi lähtestamiseks. Riivi väljund on PWM-signaal. See varieerub töötsükli väärtuse muutusega.

Mis on FPGA?

FPGA on väljaga programmeeritav väravate massiiv. See on teatud tüüpi seade, mida kasutatakse laialdaselt elektroonilistes ahelates. FPGA-d on pooljuhtseadmed mis sisaldavad programmeeritavaid loogikaplokke ja ühenduslülitusi. Pärast tootmist saab selle programmeerida või programmeerida vajalikule funktsionaalsusele.

FPGA

FPGA

FPGA põhitõed

Kui trükkplaati toodetakse ja kui selle osana on FPGA. See on programmeeritud tootmisprotsessi ajal ja seda saab hiljem uuesti programmeerida, et luua värskendus või teha vajalikud muudatused. See FPGA funktsioon muudab selle ASIC-st ainulaadseks. Rakendusspetsiifilised integreeritud vooluahelad (ASIC) on kohandatud konkreetsete projekteerimisülesannete jaoks. Kui varem kasutatakse väikese kiiruse, keerukuse ja helitugevuse kujundamiseks FPGA-sid, siis tänapäeval lükkab FPGA jõudlusbarjääri kuni 500MHz.

Mikrokontrollerites on kiip mõeldud kliendile ning nad peavad tarkvara kirjutama ja selle mikrokontrollerile laadimiseks heksfailina kompileerima. Seda tarkvara saab hõlpsasti asendada, kuna see on salvestatud välkmällu. FPGA-des pole tarkvara töötamiseks protsessorit ja meie oleme üks, kes vooluahelat kujundab. Saame konfigureerida FPGA nii lihtsaks kui AND-värav või kompleksi kui mitmetuumaline protsessor. Kujunduse loomiseks kirjutame riistvara kirjeldamise keele (HDL), mis on kahte tüüpi - Verilog ja VHDL. Seejärel sünteesitakse HDL FPGA seadistamiseks BITGENi abil bitifailiks. FPGA salvestab konfiguratsiooni RAM-i, see tähendab, et konfiguratsioon kaob, kui toiteühendust pole. Seega tuleb need seadistada iga kord, kui toide tarnitakse.

FPGA arhitektuur

FPGA on kokkupandavad ränikiibid, mida saab digitaalse kujunduse rakendamiseks programmeerida elektriliselt. Esimest staatilise mälu põhist FPGA-d, mida nimetatakse SRAM-ks, kasutatakse nii loogika kui ka ühenduse loomiseks konfiguratsioonibittide voo abil. Tänapäeva moodne EPGA sisaldab umbes 3 30 000 loogikaplokki ning umbes 1100 sisendit ja väljundit.

FPGA arhitektuur

FPGA arhitektuur

FPGA arhitektuur koosneb kolmest põhikomponendist

  • Programmeeritavad loogikablokid, mis rakendavad loogikafunktsioone
  • Programmeeritav marsruutimine (ühendab), mis rakendab funktsioone
  • I / O-plokid, mida kasutatakse kiibiväliste ühenduste loomiseks

PWM-signaalide rakendused

PWM-signaale kasutatakse juhtimisrakendustes laialdaselt. Nagu alalisvoolumootorite, juhtventiilide, pumpade, hüdraulika jms juhtimine. Siin on mõned PWM-signaalide rakendused.

  • Küttesüsteemid aeglaste aegadega 10–100 Hz või rohkem.
  • Alalisvoolumootorid 5–10 kHz
  • Toiteallikad või helivõimendid 20–200 KHz.

See artikkel räägib kõike PWM-signaalide genereerimine muutuva töötsükliga, kasutades FPGA-d. Lisaks võite elektrooniliste projektide osas abi saamiseks või selle artikliga seotud kahtluste korral meiega ühendust võtta, kommenteerides allpool toodud kommentaaride jaotist.