Zadatak Proučiti konstrukciju, statička i dinamicka svojstva elektromagnetnog rezolvera. Analizirati različite načine za derivaciju brzine i pozicije iz signala SIN i COS rezolvera. Prouciti funkcionisanje konvencionalnih (2S82) R/ kovertora i diskutovati nedostatke. Formirati hardversku postavku sposobnu za generisanje eksitacije rezolvera i akviziciju SIN/COS signala sa dovoljnom brzinom i rezolucijom. Projektovati VHL ili SCH program koji će uz pomoć FPGA kola emulirati R/ konvertor 2S82. Uočiti statičke i dinamičke nesavršenosti. efinisati performanse na osnovu kojih se može vršiti upoređenje.
Sadržaj: 1. UVO... 2. ELEKTROMAGNETNI REZOLVER... 3. STANARNI R/ KONVERTOR (A2S82)... 4. IGITALNI R/ KONVERTOR... 4.1 Struktura digitalnog R/ konvertora... 4.2 Sinteza digitalnog R/ konvertora... 4.2.1 Realizacija množenja... 4.2.2 Realizacija sinusne i kosinusne funkcije... 4.2.3 Sinteza digitalnog NF filtra i izbor učestanosti odabiranja... 4.2.4 Sinteza digitalnog PI regulatora... 4.2.5 Sinteza akumulatora... 4.2.6 Izbor aritmetike sistema... 4.3 Model R/ konvertora, simulacija i podešavanje parametara... 4.4 Sinteza generatora pobude rezolvera... 5. HARVERSKA REALIZACIJA IGITALNOG R/ KONVERTORA... 5.1 Realizacija redno-paralelnog množača... 5.2 Realizacija bloka QMP20NA12... 5.3 Realizacija digitalnog NF filtra... 1 4 8 13 14 17 17 17 17 21 22 23 24 30 37 41 43 44
5.4 Realizacija digitalnog PI regulatora... 5.5 Realizacija akumulatorskog registra... 5.6 Realizacija bloka PSINCOS... 5.7 Realizacija upravljačke jedinice... 5.8 Realizacija generatora učestanosti odabiranja... 5.9 Realizacija pobude rezolvera... 5.10 Realizacija look-up tabele sa odbircima sinusoide... 5.11 Realizacija hardverske postavke... 5.12 Učitavanje FPGA dizajna u XS40 karticu... 6. ZAKLJUČAK... 7. LITERATURA... 8. PRILOG (na disketi)... 44 45 45 48 55 56 59 60 63 65 66 67
1. Uvod Jedan od osnovnih delova svakog regulisanog elektromotornog pogona je pretvarač ugaone brzine i/ili pozicije vratila elektromotora u odgovarajući električni signal. Zavisno od toga kakve performanse treba da ima sistem koji se projektuje, koja se veličina u njemu reguliše, u kakvim uslovima treba da radi, kolika je cena koštanja sistema, vrši se izbor pretvarača (tahogenerator, inkrementalni enkoder, elektromagnetni rezolver ). Ako je potrebno merenje velikih ugaonih brzina, ako je potrebno merenje pozicije vratila elektromotora sa velikom tačnošću, ako sistem radi u teškim uslovima (zaprljana radna sredina, velike varijacije temperature ambijenta...) onda se u sistem ugrađuje elektromagnetni rezolver. Rezolver se proizvodi u obliku male električne mašine čvrste i jednostavne konstrukcije. Na njegov ulaz se dovode mehanička koordinata vratila elektromotora koja se meri, i prostoperiodični pobudni signal učestanosti mnogo veće od učestanosti mehaničkih pojava u sistemu. Kao rezultat transformacije mehaničkih veličina u električne na izlazu rezolvera se pojavljuju dva amplitudski modulisana signala. Nosioc ovih signala je prostoperiodični signal sa frekvencijom jednakom frekvenciji pobudnog signala rezolvera, a njihova anvelopa je sinusna odnosno kosinusna funkcija ulazne ugaone koordinate. Izdvajanje ugaone pozicije iz ovih signala se može izvršiti na više načina. U praksi se za to koriste integrisani prateći R/ (Resolver to igital) konvertori. Na ulaz ovih kola se pored modulisanih signala sa rezolvera dovodi i pobudni signal rezolvera, a na njihovom izlazu se pojavljuje merena ugaona koordinata u digitalnom obliku. Ova kola su tako projektovana da korisnik dodavanjem malog broja pasivnih komponenti (otpornika i kondenzatora) na jednostavan način može da podesi odgovarajuću rezoluciju i dinamičke karakteristike sistema. Standardni R/ konvertori pored svojih dobrih osobina imaju nedostatke koji proizilaze iz same konstrukcije ovih kola. Na njihovom ulazu se nalazi otpornička mreža visoke tačnosti koja vrši određene trigonometrijske transformacije rezolverskih signala i koja znatno poskupljuje proizvodnju ovih kola. Prisustvo analognih delova umanjuje imunost na šum i unosi grešku usled postojanja struja polarizacije i ofseta. Primena klasičnih R/ konvertora podrazumeva upotrebu posebnog harmonijskog oscilatora za generisanje pobude rezolvera, pri čemu se javljaju fazni pomeraji, kako između pobudnog signala i rezolverskih signala, tako i među samim rezolverskim signalima, što umanjuje tačnost merenja. Uticaj navedenih smetnji se može umanjiti dodavanjem spoljašnjih pasivnih komponenti. Propusni opseg, odnosno dinamičke karakteristike sistema se takođe podešavaju dodavanjem određenih otpornika i kondenzatora. Svaka promena uslova rada ili potreba za korekcijom dinamičkih karakteristika sistema sa standardnim R/ konvertorima podrazumeva odgovarajuću intervenciju na hardveru. Naknadna promena hardvera u složenim sistemima može da bude teško izvodljiva, što znatno umanjuje fleksibilnost ovakvih sistema. Navedeni problemi bi se mogli umanjiti ili potpuno ukloniti konstruisanjem digitalnog R/ konvertora. Gore pomenute trigonometrijske transformacije signala se mogu u
ovakvim sistemima izvršiti primenom množača, sabirača i odgovarajućih look-up tabela. igitalni sistemi pokazuju veću imunost na šum od analognih i u njima ne postoji problem struja polarizacije i ofseta. Pored toga digitalni sistem daje mogućnost generisanja pobude rezolvera sa poznatim faznim stavom koji se može podesiti tako da se kompenzuju eventualna kašnjenja rezolverskih signala. igitalni sistem se može realizovati hardverski ili softverski, što podrazumeva implementaciju određenog digitalnog algoritma na nekom mikroprocesoru. Softverske realizacije se odlikuju velikom fleksibilnošću, u smislu da svaka promena bilo strukture bilo parametara sistema zahteva samo intervencije na softveru, ali zbog tehnoloških ograničenja, u smislu maksimalne brzine rada procesora, ovako realizovani sistemi se retko koriste za digitalnu obradu brzih signala u realnom vremenu. Sistemi za digitalnu obradu brzih signala u realnom vremenu se realizuju hardverskim putem ili primenom specijalizovanih digitalnih signal procesora. Primena digitalnih signal procesora ima smisla ako je digitalni algoritam koji se realizuje određenog nivoa složenosti dok se manje složeni algoritmi mogu realizovati hardverskim putem. Naročito pogodan način za hardversku implementaciju digitalnih algoritama je upotreba programabilnih FPGA (Field-Programmable Gate Arrays) logičkih kola visokog stepena integracije. Ovako realizovani sistemi objedinjuju fleksibilnost softverske realizacije i veliku brzinu obrade signala koja je karakteristična za hardverski realizovane sisteme. Celokupno projektovanje sistema se vrši softverskim putem. Pored toga svaka kasnija izmena strukture i parametara sistema se takođe može izvršiti softverskom intervencijom. Savremene FPGA komponente se odlikuju velikim kapacitetom tako da se u njima mogu realizovati digitalni sistemi velike složenosti. Ovo daje mogućnost da se ovako realizovani R/ konvertor uklopi kao modul u neki širi sistem za regulaciju brzine i pozicije vratila motora realizovan takođe u FPGA tehnologiji. Zadatak ovog rada je da se izvrši sinteza digitalnog R/ konvertora i njegova implementacija pomoću FPGA čipa i da se sagledaju karakteristike ovako realizovanog sistema. Rad pored uvoda sadrži sedam glava. Izlaganje je započeto opisom elektromagnetnog rezolvera kao senzora, i opisom postojećih standardnih R/ konvertora. Zatim je predložena realizacija R/ konvertora kao digitalnog sistema i izvršena njegova sinteza sa svim neophodnim proračunima i simulacijom. Na osnovu rezultata sinteze je izvršena hardverska implementacija sistema uz pomoć FPGA čipa i odgovarajućih elektronskih kola (A/ i /A konvertori, filtarski i pojačavački stepen) kojima je sistem spregnut sa okruženjem. Električne šeme realizovane postavke sa šemama i VHL kodovima digitalnog dela sistema realizovanog u FPGA čipu su date na disketi u prilogu. U drugoj glavi je opisan elektromagnetni rezolver. Objašnjena je njegova mehanička i električna konstrukcija kao i princip rada. ato je detaljno izvođenje izraza koji opisuju izlazne signale rezolvera i predlog postupaka za izdvajanje ugaone pozicije iz ovih signala.
U trećoj glavi su opisani standardni prateći R/ konvertori (posebno A2S82). Objašnjen je njihov princip rada i navedene su njihove dobre i loše osobine. U četvrtoj glavi je predložena realizacija R/ konvertora kao digitalnog sistema. U paragrafu 4.1 je formiran strukturni dijagram sistema, a u paragrafu 4.2 je kroz šest tačaka izvršena sinteza prenosnih funkcija svakog od blokova. Formiranje modela sistema sa simulacijom i podešavanjem parametara je opisano u paragrafu 4.3. Paragraf 4.4 sadrži opis sinteze generatora prostoperiodičnog signala za pobudu rezolvera. U petoj glavi je prikazana hardverska realizacija digitalnog R/ konvertora sa PWM generatorom sinusnog napona za pobudu rezolvera na XILINX-ovom FPGA čipu montiranom na XS40 V1.2 kartici istog proizvođača. Sistem je prvo formiran na nivou blok šeme na osnovu rezultata sinteze iz predhodne glave, a zatim je u prvih devet paragrafa objašnjen postupak realizacije svakog od logičkih blokova u XILINX-ovom Foundation Series 1.5 softverskom paketu namenjenom za dizajniranje logičkih kola u FPGA i CPL programabilnim čipovima visokog stepena integracije. eveti paragraf pored opisa digitalnog PWM modulatora realizovanog u FPGA čipu daje opis filtarskog i pojačavačkog stepena koji transformišu PWM signale iz modulatora u pobudni signal rezolvera. U desetom paragrafu je prikazan postupak za formiranje look-up tabele sa odbircima sinusoide u EPROM-u koji se koriste u procesu R/ konverzije. Jedanaesti paragraf sadrži opis realizovane hardverske postavke sa opisom šema datih u prilogu. Prilog sadrži šeme na kojima je prikazan napajački blok sistema, A/ konvertori kojima je rezolver spregnut sa digitalnim R/ konvertorom, /A konvertor posredstvom kojeg se prikazuju rezultati R/ konverzije i filtarski i pojačavački stepen u kome se formira pobudni signal rezolvera. U prilogu je takođe data šema XILINXove XS40 kartice sa FPGA čipom u kome je realizovan digitalni R/ konvertor. Šeme i VHL kodovi R/ konvertora i njegovih blokova realizovanih u FPGA čipu su priloženi na disketi.
2. Elektromagnetni rezolver Jedan od osnovnih elemenata u sistemima za praćenje i regulaciju brzine i pozicije vratila elektromotora u elektromotornim pogonima je elektromehanički pretvarač. Njegov zadatak je da mehaničku koordinatu vratila motora ili njegovu ugaonu brzinu pretvori u odgovarajući električni signal pogodan za dalju obradu. Postoji više vrsta elektromehaničkih pretvarača. Po tipu izlaznog signala mogu se podeliti na anlogne i impulsne, po veličini koju pretvaraju na brzinske i pozicione, po konstrukciji na elektromagnetne, optoelektronske, na one sa četkicama ili bez njih itd. Koju vrstu pretvarača ćemo upotrebiti u nekoj konkretnoj realizaciji zavisi od više faktora kao što su: veličina koja se reguliše (brzina ili pozicija), vrsta sistema koji vrši regulaciju (kontinualni ili diskretni), performanse sistema koje treba postići, uslovi rada i cena koštanja sistema. Rezolveri spadaju u grupu elektromagnetnih pozicionih senzora sa analognim izlaznim signalima. Primenom rezolvera kao merača ugla može se postići velika tačnost merenja, čak i pri krajnje velikim brzinama obrtanja. Zbog svoje jednostavne i čvrste konstukcije mogu da rade u teškim uslovima rada (električna vuča, brusilice, glodalice; odnosno svuda gde su prljavi uslovi rada). Pošto ne sadrže elektronske komponente mogu da rade u širokom temperaturnom opsegu. Rezolver je mala električna mašina sa tri namotaja na statoru i dva na rotoru. Slike 2.1 i 2.2 prikazuju njegovu mehaničku konstrukciju (poprečni i uzdužni presek) dok je na slici 2.3 prikazana njegova električna šema. slika 2.1 Poprečni presek rezolvera slika 2.2 Uzdužni presek rezolvera β Ψ P r i SP i RP N COS U COS θ U pob N SP N RP N R N SIN α U SIN slika 2.3 Električna šema rezolvera
Statorski namotaj N SP i rotorski namotaj N RP su motani tako da su im ose kolinearne sa vratilom mašine dok su statorski namotaji N SIN i N COS kao i rotorski namotaj N R motani tako da im je osa normalna na vratilo mašine. Namotaji N SIN i N COS su međusobno normalni. Vremenski promenljivi napon, najčešće sinusni, za pobudu rezolvera se dovodi na statorski namotaj N SP. Ovaj namotaj sa rotorskim namotajem N RP čini transformatorsku strukturu pomoću koje se pobudni signal sa statora bezkontaktnim putem prenosi na rotor. Rotorski namotaj N RP napaja rotorski namotaj N R. Struja koja protiče kroz namotaj N R stvara u njemu promenljivi magnetni fluks Ψ P normalan na vrtilo mašine. Ovaj promenljivi fluks indukuje u statorskim namotajima N SIN i N COS odgovarajuće napone U SIN (t) i U COS (t). Neka je na namotaj N SP doveden napon sledećeg oblika: U pob m () t U sinω t = (2.1) SP pob ω = 2πf (2.2) pob pob tada primenom drugog Kirhofovog za ovaj namotaj uz zanemarenje njegove otpornosti dobijamo izraz za magnetni fluks u transformatorskom delu rezolvera: T m () t = Ψ cosω t Ψ. (2.3) T pob Ovaj promenljivi fluks indukuje u namotaju N RP struju: i RP m () t I cosω t = (2.4) P pob koja protiče i kroz namotaj N R stvarajući u njemu fluks: Ψ = Ψ cosω. (2.5) P m P pob t Sa slike 2.1 se vidi da se fluksevi u namotajima N SIN i N COS mogu izraziti na sledeći način: ΨCOS = k ΨP cosθ (2.6) ΨSIN = k ΨP sinθ (2.7) Ako za namotaje N SIN i N COS napišemo relacije po drugom Kirhofovom zakonu i pri tom zanemarimo njihove omske otpornosti dobijamo sledeće izraze za napone U SIN (t) i U COS (t):
m [ k ΨP cosω pob cosθ ] m [ k Ψ cosω sinθ ] d U COS = t i (2.8) dt d U SIN = P pobt (2.9) dt Nakon primene operatora diferenciranja dobijamo: gde je [ ω sinω t cosθ + ω cosω sinθ ] m U COS = k ΨP pob pob m pobt (2.10) [ ω sinω t sinθ ω cosω cosθ ] m U SIN = k ΨP pob pob m pobt (2.11) dθ ω m = (2.12) dt mehanička brzina obrtanja rotra rezolvera. Učestanost pobude rezolvera f pob je reda 10 KHz pa je u praksi uvek zadovoljen uslov da je ω m <<ω pob. Na osnovu toga možemo pojednostaviti izraze 2.10 i 2.11 na sledeći način: m U COS = k ΨP ω pob sinω pobt cosθ (2.13) m U SIN = k ΨP ω pob sinω pobt sinθ (2.14) Talasni oblici signala U COS (t), U SIN (t) i pobudnog signala rezolvera U pob (t) prikazani su na slici 2.4. [8] U COS U SIN U pob slika 2.4. Talasni oblici signala na rezolveru
Sa slike 2.4 se vidi da signali U SIN (t) i U COS (t) imaju oblik modulisanih signala. Noseći signal je pobudni signal rezolvera, dok su modulišući signali sinusna odnosno kosinusna funkcija ugaone pozicije vratila. Jedan od načina da se odredi ugaona pozicija vratila θ je da se izvrši deljenje odbiraka napona U SIN (t) i U COS (t). Na taj način dobijamo: U tg = U SIN θ (2.15) COS Sada ugaoni pomeraj možemo očitati iz look up tabele. Ovaj način se retko nalazi u praktičnoj upotrebi jer tačnost merenja zavisi od stepena zaprljanosti šumom signala U SIN (t) i U COS (t). Pored uobičajenog šuma za rezolver su karakteristične smetnje koje potiču od aksijalne komponenete polja motora sa kojim je rezolver spregnut kao i smetnje koje se javljaju usled nesimetričnosti njegovih namotaja. a bi se smanjio uticaj smetnji i šuma kvantizacije usled A/ konverzije odabiranje signala U SIN (t) i U COS (t) treba vršiti u trenucima maksimuma signala nosioca. U praksi se za izdvajanje ugla θ iz signala U SIN (t) i U COS (t) koriste prateći R/ konvertori (Resolver-to-igital Converter). Princip rada ovih konvertora je opisan u sledećoj glavi.
3. Standardni R/ konvertor (A2S82) Pratreći R/ konvertor ima zadatak da iz signala U SIN (t) i U COS (t) sa rezolvera izdvoji podatak o poziciji vratila motora. Pored pomenutih signala ovom kolu se na ulaz dovodi i signal pobude rezolvera U pob (t) dok ono na izlazu daje digitalizovanu vrednost pozicije vratila θ. Blok šema R/ konvertora je data na slici 3.1. U SIN (t) U COS (t) OTPORNIČKA MREŽA KOJA REALIZUJE FUNKCIJU: U cos ˆ SIN θ U COS sin ˆ θ X(t) Y(t) NF E(t) FILTAR ANALOGNI PI REGULATOR U pob (t) EMOULATOR BRZINA 12-BITNI REGISTAR BROJAČ GORE OLE VCO θ slika 3.1 Principska blok šema R/ konvertora Sistem sačinjava pet osnovnih blokova: - otpornička mreža visoke tačnosti koja prihvata modulisane signale U SIN (t) i U COS (t) sa rezolvera i od njih formira signal: X () t U SIN ( t) cosθ U COS ( t) sinθ = (3.1) Uvrštavanjem izraza 2.13 i 2.14 u izraz 3.1 i primenom trigonometrijskih identiteta dobijamo: X () t = k sinω sin( θ θ ) m 1 pobt, gde je P pob k1 = k Ψ ω (3.2) Iz relacije 3.2 se vidi da je signal X(t) takođe modulisani signal. Njegov nosioc je pobudni signal rezolvera a modulišući signal je sinus razlike trenutne pozicije vratila θ i njene merene vrednosti sa izlaza sistema θ. Ukoliko je razlika između θ i θ dovoljno mala signal X(t) predstavlja modulisani signal greške sistema. - demodulator vrši demodulaciju signala X(t). Signal X(t) se prvo množi pobudnim signalom rezolvera U pob (t) i na taj način formira signal: () t = k sin 2 ω sin ( θ θ ) Y Primenom trigonometrijskih identiteta ovaj izraz možemo napisati u sledećem obliku: t 1 pob (3.3)
Y 1 1 = 1 1 pob. (3.4) 2 2 () t k sin( θ θ ) k sin( θ θ ) cos 2ω t Iz jednačine 3.4 se vidi da se signal Y(t) sastoji od dve komponente. Prva komponenta predstavlja koristan signal dok je druga nepoželjan produkt demodulacije na dvostruko većoj učestanosti od učestanosti nosioca i ona se odstranjuje NF filtrom. Na izlazu iz demodulatora imamo signal: E () t = k sin( θ θ ) 2 (3.5) Ukoliko je razlika između stvarne pozicije θ i njene merene vrednosti θ dovoljno mala iz izraza 3.5 sledi da je signal E(t) praktično signal greške sistema. - analogni PI regulator uobličava dinamičke karakteristike sistema. On u kombinaciji sa registrom-brojačem unosi dvostruki stepen astatizma u funkciju povratnog prenosa i na taj način daje mogućnost sistemu da signal greške E(t) svede na nulu pri brzinskoj pobudi na ulazu. odavanjem spoljnih pasivnih R i C elemenata vrši se podešavanje propusnog opsega sistema u zatvorenoj petlji. Na izlazu ovog bloka se javlja analogni napon direktno proporcionalan brzini obrtanja vratila koji se može iskoristiti kao zamena za tahogenerator. - naponski kontrolisani oscilator (VCO) je blok koji, zavisno od znaka ulaznog napona na jednom od svojih izlaza, daje povorku pravougaonih impulsa čija je učestanost proporcionalna amplitudi ulaznog napona. - registar-brojač zavisno od signala koje prima iz naponski kontrolisanog oscilatora broji na gore ili na dole odnosno uvećava ili umanjuje svoj sadržaj. Sadržaj ovog registra θ je digitalizovana vrednost merene pozicije vratila motora θ. Sistem funkcioniše tako da svojim izlazom θ prati vrednost ulaznog ugla θ i pri tome teži da njihovu razliku svede na nulu. Postojeći sistemi uspevaju da razliku između ulaznog ugla θ i njegove procene θ svedu na nekoliko lučnih minuta. Ovde primenjen raciometrijski način konverzije omogućava da tačnost merenja ne zavisi od apsolutnih nivoa signala i maksimalno umanjuje uticaj šuma i harmonijskih izobličenja signala sa rezolvera U SIN (t) i U COS (t) kao i pobudnog signala U pob (t). Pored digitalnog izlaza θ i analognog brzinskog izlaza koji odgovara izlazu tahogeneratora ovi sistemi mogu da generišu signale koji odgovaraju fazama A i B inkrementalnog enkodera. [8] faza A faza B slika 3.2 Enkoderske faze A i B Ovi signali se mogu jednostavno formirati od bilo koja dva susedna bita digitalne reči θ, θ = ( b11 b10... bnbn 1... b1b0 ), na sledeći način:
A b n 1 i (3.6) B b n 1 b n (3.7) Iz gore pomenutog sledi da se rezolver u kombinaciji sa R/ konvertorom može ugraditi u već postojeće sisteme za regulaciju brzine i položaja elektromotornog pogona umesto tahogeneratora ili inkrementalnog enkodera bez potrebe za izmenom strukture sistema. A2S82 je monolitni prateći R/ konvertor proizvođača ANALOG EVICES [7]. aje mogućnost korisniku da pomoću dva selekciona bita podesi rezoluciju na 10,12,14 ili 16 bita zavino od potrebe u konkretnoj primeni. inamičke performanse (propusni opseg, maksimalna brzina praćenja,...) se podešavaju izborom odgovarajućih otpornika i kondenzatora. Ima analogni izlaz proporcionalan brzini. inamičke karakteristike 2S82 kovertora su opisane sledećom prenosnom funkcijom: θ θ IZL UL = 14 ( 1 + s ) 2 ( s + 2.4)( s + 3.4s + 5.8) N N N N (3.8) gde je s N 2 = π s f BW (3.9) normalizovana učestanost a f BW propusni opseg sistema definisan gore pomenutim izborom pasivnih komponenti. Konstanta ubrzanja je približno data formulom: 2 2 K A 6 f BW sec (3.10) Normalizovani amplitudski i fazni frekvencijski dijagrami su dati na slici: pojačanje 12 9 6 3 0-3 -6-9 -12 0.02 004 0.1 0.2 0.4 0 2 učestanost - f BW faza 180 135 90 45 0-45 -90-135 -180 002 0.04 01 0.2 04 0 2 učestanost - f BW slika 3.3 Amplitudski i fazni frekvencijski dijagrami kola A2S82 Izbor propusnog opsega R/ konvertora A2S82 vrši korisnik zavisno od učestanosti pobude rezolvera. Njegova širina iznosi nekoliko stotina Hz, najviše do 1KHz.
Odziv na malu odskočnu pobudu je dat na sledećoj slici: θ t 2 t 1 t slika 3.4 Odziv kola A2S82 na malu odskočnu pobudu gde se vremena t 1 i t 2 približno izračunavaju na sledeći način: 1 t (3.11) 1 f BW t 2 5 R (3.12) f 12 BW gde je R-rezolucija konvertora (R = 10,12,14 ili 16) Po podacima proizvođača odziv na odskočnu pobudu od 179 stepeni bi imao oko tri puta duže vreme dostizanja prvog premašaja u odnosu na odziv na malu pobudu. Prateći kovertor u sistemima za regulaciju brzine i položaja elektromotornog pogona mora imati astatizam drugog reda, odnosno, ne sme da unosi grešku pri konstantnoj brzini vratila motora. Pri ubrzanom kretanju dolazi do izvesne razdešenosti ulaza i izlaza sistema. Ova razdešenost se opisuje konstantom ubrzanja K A R/ kovertora koju proizvođač definiše kao količnik ubrzanja motora i apsolutne greške izlaznog ugla: K A a m = (3.13) θ θ Konstanta ubrzanja ne određuje maksimalno ubrzanje koje sistem može da prati. Maksimalno ubrzanje je određeno veličinom dopustive greške izlaza i iznosi: a max = K A θ θ (3.14) dopustivo Na primer, 2S82 pri ubrzanju od 200π rad 2, s ima grešku od 47, 5 (lučnih sekundi). Pored gore pomenutog povećanju greške doprinosi: 2,7 10 6 2 K A = s i 12-bitnoj rezoluciji
- offset analognog PI regulatora koji se može kompenzovati dodavanjem spoljnih pasivnih komponenti. Greška usled offset-a tipično iznosi 1 (lučna minuta) preko celog temperaturnog opsega od interesa. -fazni pomeraj između rezolverskih signala U SIN (t) i U COS (t) kao i fazni pomeraj između ovih signala i signala pobude. o pomenutih faznih pomeraja dolazi usled nesavršenosti rezolvera, nesimetričnosti vodova kojima se pobudni signal dovodi do rezolvera i signali U SIN (t) i U COS (t) odvode sa rezolvera. a bi se umanjio fazni pomeraj među pomenutim signalima kao i uticaj elektromagnetnih smetnji veze rezolvera sa okruženjem moraju biti kvalitetno izvedene. Greška koju unose pomenute nesavršenosti iznosi nekoliko lučnih minuta. Integrisani R/ kovertori su konstruisani tako da je njihova praktična upotreba jednostavna. Za njihov rad je pored simetričnog napajanja i generatora pobudnog signala potrebno povezati nekoliko otpornika i kondenzatora koji se proračunavaju na osnovu preporuka proizvođača datih u katalogu. Analogni ulazi su prilagođeni standardnom naponskom nivou rezolverskih signala, dok su digitalni ulazi i izlazi TTL kompatibilni. Rezolucija konvertora može biti jednostavno podešena kao 10,12,14 ili 16-bitna zavisno od konkretne primene. Na tržištu se može naći i varijanta rezolvera sa R/ kovertorom u jednom kućištu.
4. igitalni R/ konvertor Pored navedenih dobrih osobina postojeći R/ konvertori imaju nedostatke koji proizilaze iz same konstrukcije ovih kola. Na njihovom ulazu se nalazi otpornička mreža visoke tačnosti koja vrši neophodne trigonometrijske transformacije signala sa rezolvera, izraz 3.1. Tehnološki postupak proizvodnje ovakvih mreža u integrisanim kolima je složen, a njihova proizvodnja skupa. Prisustvo analognih delova umanjuje imunost na šum i unosi grešku usled postojanja struja polarizacije i ofseta. Ovi uticaji se mogu donekle kompenzovati primenom spoljašnjih otpornika i kondenzatora u nekom određenom temperaturnom opsegu. Primena klasičnih R/ konvertora podrazumeva upotrebu posebnog harmonijskog oscilatora za generisanje pobude rezolvera. Ovde se javljaju fazni pomeraji, kako između pobudnog signala i rezolverskih signala, tako i među samim rezolverskim signalima, što umanjuje tačnost merenja. Uticaj ovih smetnji se može umanjiti dodavanjem spoljašnjih pasivnih komponenti. Propusni opseg, odnosno dinamičke karakteristike sistema se takođe podešavaju dodavanjem određenih otpornika i kondenzatora. U toku projektovanja sistema se za određene uslove rada proračunavaju sve gore pomenute pasivne komponente, a zatim se pristupa montaži sistema na štampanu ploču. Svaka promena uslova rada ili potreba za korekcijom dinamičkih karakteristika sistema podrazumeva odgovarajuću intervenciju na hardveru. Naknadna promena hardvera u složenim sistemima može da bude teško izvodljiva, što znatno umanjuje fleksibilnost ovakvih sistema. Gore pomenuti problemi bi se mogli umanjiti ili potpuno ukloniti konstruisanjem digitalnog R/ konvertora. Neophodne trigonometrijske transformacije signala sa rezolvera se mogu u ovakvim sistemima realizovati izvršavanjem aritmetičkih operacija sabiranja i množenja između njihovih odbiraka i koeficijenata iz odgovarajućih look-up tabela formiranih u nekom memorijskom prostoru. igitalni sistemi pokazuju veću imunost na šum od analognih. U njima ne postoji problem struja polarizacije i ofseta. Ovakvi sistemi daju mogućnost generisanja pobude rezolvera sa poznatim faznim stavom koji se softverski može podesiti tako da se kompenzuju eventualna kašnjenja rezolverskih signala. igitalni sistem se može realizovati hardverski ili softverski, što podrazumeva implementaciju određenog digitalnog algoritma na nekom mikroprocesoru. Softverske realizacije se odlikuju velikom fleksibilnošću, u smislu da svaka promena bilo strukture, bilo parametara sistema zahteva samo intervencije na softveru. Na ovaj način se realizuju sitemi za regulaciju elektromotornih pogona i industrijskih procesa. Zbog tehnoloških ograničenja, u smislu maksimalne brzine rada procesora, softverski realizovani sistemi se retko koriste za digitalnu obradu signala u realnom vremenu. Sistemi za digitalnu obradu signala u realnom vremenu se realizuju hardverski ili primenom specijalizovanih digitalnih signal procesora. igitalni signal procesori sa svojim okruženjem sačinjavaju složen i skup sistem i njihova upotreba ima smisla ako je digitalni algoritam koji se pomoću njih rešava određenog nivoa složenosti.
Manje složeni algoritmi za digitalnu obradu signala mogu se realizovati hardverskim putem. Naročito pogodan način za hardversku implementaciju digitalnih algoritama je upotreba programabilnih logičkih FPGA (Field-Programmable Gate Arrays) integrisanih kola. Sistemi realizovani pomoću ovih komponenti objedinjuju dobre osobine softverske i hardverske realizacije. Celokupno projektovanje sistema se vrši softverski, crtanjem šema ili pisanjem HL ili VHL kodova u za to specijalizovanim softverskim paketima, što kasnije daje mogućnost izmene strukture i parametara sistema softverskim putem. [6] Sa druge strane ovo su hardverski realizovani sistemi za koje je karakteristična velika brzina rada. Savremene FPGA komponente se odlikuju velikim kapacitetom tako da se u njima mogu realizovati digitalni sistemi velike složenosti. Ovo daje mogućnost da se ovako realizovani R/ konvertor uklopi kao modul u neki širi sistem za regulaciju brzine i pozicije vratila motora realizovan takođe u FPGA tehnologiji. Programski paketi koji podržavaju dizajniranje digitalnih kola u FPGA čipovima daju mogućnost da se iz realizovanog FPGA projekta izdvoje podaci potrebni za kreiranje maski za proizvodnju odgovarajućih logičkih kola. 4.1 Struktura digitalnog R/ kovertora Projektovanje digitalnog sistema započinje utvrđivanjem digitalnog algoritma koji sistem treba da odradi. Od svakog digitalnog sistema se zahteva : - da ulazne signale obradi po unapred utvrđenom matematičkom modelu - da bude stabilan - da greška sistema u ustaljenom stanju bude svedena na nulu - da ima što bolje dinamičke karakteristike o matamatičkog algoritma za izdvajanje merene pozicije iz rezolverskih signala možemo doći posmatranjem samih signala sa rezolvera (sl.2.4 i izrazi 2.13 i 2.14) kao i principske šeme klasičnog R/ konvertora (sl.3.1). Blok dijagram ovog algoritma je prikazan na slici 4.1: U SIN A/ U SIN Q + - R θ θ NF sin(ω pob nt) AKUMULATOR U COS A/ U COS P COS SIN slika 4.1 Blok dijagram algoritma za izdvajanje merene pozicije iz rezolverskih signala Signali U SIN (t) i U COS (t) su klasični amplitudski modulisani signali. Njihovom nt, gde je T perioda odabiranja i diskretizacijom dobijamo signale ( nt ) U SIN i ( ) U COS
n Z. Množenjem ovih signala sa sinusom i kosinusom digitalizovane mehaničke koordinate θ dobijamo signale: Q P ( nt ) U SIN ( nt ) cosθ = A sin( ω pob n T ) sinθ cosθ = (4.1) ( nt ) U COS ( nt ) sinθ = A sin( ω pob n T ) cosθ sinθ = (4.2) gde je A = k A / k Ψ i (4.3) m P k / - pojačanje A/ konvertora. A Oduzimanjem signala P(nT) od signala Q(nT) i primenom trigonometrijskih identiteta dobijamo signal: R ( nt ) = A ( θ θ ) sin( ω n T ) sin (4.4) pob Množenjem signala R(nT) sa digitalizovanom vrednošću pobude rezolvera dobijamo: 1 1 ( nt ) = A sin( θ θ ) A sin( θ θ ) cos( 2 ω n T ) 2 2 pob (4.5) Iz relacije 4.5 se vidi da se signal (nt) sastoji od dve komponente. Prvi sabirak je korisna komponeneta i predstavlja sinus razlike između ulazne i izlazne ugaone koordinate vratila motora, dok je drugi sabirak nepotrebni produkt demodulacije na dvostruko većoj učestanosti od učestanosti pobude rezolvera. Propuštanjem signala (nt) kroz digitalni NF filtar dobijamo signal: θ 1 2 ( nt ) = A sin( θ θ ) (4.6) U ustaljenom stanju sistema (pri konstantnoj brzini obrtanja motora, uključujući i nultu brzinu) razlika između stvarne i merene vrednosti ugla θ je mala pa je signal θ(nt) jednak digitalnom priraštaju ugla θ između dva uzastopna trenutka odabiranja. Ovaj signal se vodi na ulaz akumulatorskog registra, čiji sadržaj predstavlja merenu vrednost θ. Na ovaj način se u svakoj periodi odabiranja vrši korekcija sadržaja akumulatora za iznos pomenutog priraštaja merenog ugla. Iz navedenog se vidi da sistem sa ovakvom strukturom nije u mogućnosti da svojim izlazom dostigne vrednost ulaznog ugla. On svojim izlazom prati ulaz sa greškom θ(nt). Ova greška nije konstantna nego se povećava sa porastom ugaone brzine vratila čija se pozicija meri.
Od pratećeg R/ konvertora se zahteva da razlika između ulaza i izlaza sistema pri konstantnoj brzini obrtanja vratila motora bude nula. Ulaz sistema je ugaona pozicija vratila motora θ. Pri konstantnoj brzini obrtanja ugao θ se linearno menja. Iz teorije sistema automatskog upravljanja [1] je poznato da je jedino sistem sa dvostrukim integralnom dejstvom u direktnoj grani sposoban da signal greške pri brzinskoj pobudi svede na nulu. Sistem sa slike 4.1 ima jednostruko integralno dejstvo u vidu akumulatorskog registra. a bi se greška sistema pri konstantnoj brzini obrtanja vratila motora svela na nulu u sistem se mora redno sa NF filtrom ugraditi digitalni PI (proporcionalnointegralni) regulator, slika 4.2. U SIN A/ U SIN Q + - R E θ θ NF sin(ω pob nt) PI AKUMULATOR U COS A/ U COS P COS SIN slika 4.2 Struktura R/ konvertora kao diskretnog sistema Sada na izlazu NF filtra imamo demodulisani signal greške sistema E(t). PI regulator svojim izlazom utiče na ostatak sistema tako da tokom prelaznog procesa, pri konstantnoj brzini obrtanja na ulazu, signal greške biva sveden na nulu. 4.2 Sinteza digitalnog R/ konvertora Klasična sinteza digitalnih sistema se u opštem slučaju svodi na određivanje prenosne funkcije sistema u Z transformaciji. Ovde se takav postupak ne može primeniti jer sistem sa slike 4.1 sadrži nelinearne blokove. Pored nelinearnih blokova (množači, sinusna i kosinusna funkcija) u sistemu se nalaze i linearni blokovi (sabirači, NF filtar, PI regulator i akumulator). Sinteza linearnih blokova neće biti izvedena klasičnim metodama, nego na način koji obezbeđuje da oni zauzmu minimalan prostor na FPGA čipu i da rade sa maksimalnom mogućom brzinom. 4.2.1 Realizacija množenja Operacija množenja se može hardverski implementirati na više načina. Postoje paralelni i redno-paralelni množači. [3]
Paralelni množači se odlikuju velikom brzinom rada. Realizovani su u vidu kombinacionih mreža. Kod njih se oba operanda dovode istovremeno na ulaz dok se na izlazu pojavljuje njihov proizvod sa kašnjenjem jednakim vremenu propagacije signala kroz množač. Ovakve realizacije zauzimaju mnogo hardverskih resursa. Redno-paralelni množači su sekvancijalne mreže. Množenje se realizuje tako što se množenik množi svakom cifrom množioca a parcijalni proizvodi se sabiraju pomereni za po jedno mesto. Kod ovakve realizacije množača množenje traje zantno duže nago kod paralelne, ali su sa druge strane zahtevi za hardverom daleko manji. Uzimajući u obzir raspoloživi prostor na FPGA čipu i složenost ostalih komponenti sistema sve operacije množenja će ovde biti realizovane primenom jednog rednoparalelnog množača. etaljno objašnjenje rada ovog množača je dato u paragrafu 5.1. 4.2.2 Realizacija sinusne i kosinusne fukcije Nelinearne funkcije se u digitalnim sistemima mogu predstaviti konačnim brojem sabiraka njihovog razvoja u stepeni red ili formiranjem tzv. look-up tabela. Prvi način zahteva izvođenje velikog broja računskih operacija i nije prihvatljiv za hardversku realizaciju. Look-up tabele se formiraju izračunavanjem određenog broja odbiraka funkcije u intervalu od interesa i njihovim upisivanjem u memoriju. Vrednost funkcije za određenu vrednost argumenta se određuje očitavanjem odgovarajuće memorijske lokacije. Ovakav postupak se odlikuje velikom brzinom izračunavanja tražene vrednosti funkcije, a tačnost zavisi od broja odbiraka upisanih u tabelu i od broja bita kojim je svaki odbirak predstavljen. etaljno objašnjenje realizacije sinusne i kosinusne funkcije dato je u paragrafima 5.6 i 5.10. 4.2.3 Sinteza digitalnog NF filtra i izbor učestanosti odabiranja Klasične metode projektovanja digitalnih filtara polaze od zadavanja njihovih specifikacija kao što su: granica propusnog opsega, granica nepropusnog opsega, slabljenje u propusnom opsegu i slabljenje u nepropusnom opsegu. Pored toga se postavlja uslov da realizovani filtar mora biti stabilan sistem. Zatim se nekom od metoda [3] dolazi do željene prenosne funkcije sistema. Opšti oblik prenosne funkcije je dat relacijom: k k 1 ak z + ak 1z +... + a1z + a0 W ( z) = (4.7) p p 1 bp z + bp 1z +... + b1 z + b0 gde su a i, i = 0,..., k i b j, j = 0,..., p u opštem slučaju realni brojevi različiti od jedinice. Implementacija ovakve prenosne funkcije podrazumeva između ostalog izvođenje p+k+2 operacije množenja signala koeficijentima polinoma prenosne funkcije W(z) što se ovde ne može prihvatiti obzirom na raspoloživi prostor na FPGA čipu.
Jedino prihvatljivo rešenje je da se nađe takva prenosna funkcija u kojoj figurišu koeficijenti oblika 2 -m, m=0,1,2,.... Na ovaj način se potpuno izbegava potreba za množačima jer se množenje sa koeficijentom 2 -m realizuje aritmetičkim pomeranjem množenika za m mesta u desno. o ovakve prenosne funkcije se može doći sledećim razmatranjem: Na ulaz filtra se dovodi signal (nt), slika 4.2 i izraz 4.5. 1 1 ( nt ) = A sin( θ θ ) A sin( θ θ ) cos( 2 ω n T ) 2 2 pob (4.8) Iz navedenog izraza se vidi da signal (nt) ima dve komponente: koristan signal i visokofrekventni produkt demodulacije. Visokofrekventna komponenta signala (nt) ima spektar skoncentrisan oko dvostruke učestanosti pobude rezolvera. Pošto je učestanost mehaničkih pojava u sistemu praktično uvek mnogo manja od učestanosti pobude rezolvera, možemo smatrati da je visokofrekventna komponenta signala (nt) koju treba ukloniti NF filtrom prostoperiodična funkcija učestanosti 2f pob. a bi se mogao realizovati gore pomenuti filtar sa jediničnim koeficijentima učestanost odabiranja f s u sistemu se mora odabrati tako da zadovoljava sledeći uslov: f s = 2 n f pob, n = 1,2,... (4.9) odnosno da jedna perioda signala učestanosti 2f pob sadrži ceo broj perioda odabiranja. Sa povećanjem brzine odabiranja poboljšavaju se dinamičke karakteristike sistema. Sa druge strane ukoliko je ona prevelika može doći do izražaja nemodelovana dinamika sistema i može se desiti da sistem ne bude u mogućnosti da radi u realnom vremenu [1]. Rezolver koji je ugrađen u ovde realizovanom R/ konvertoru zahteva učestanost pobudnog signala od 10 khz, a vreme trajanja jednog ciklusa obrade digitalnog algoritma sa slike 4.2 na raspoloživom hardveru (XILIX-ovo XC4010E FPGA programabilno logičko kolo, frekvencija takta 12MHz) iznosi oko 6µs. Uzimajući u obzir zahtev za radom u realnom vremenu i uslov 4.9 usvajamo učestanost odabiranja od 160 khz. Iz gore navedenog se može zaključiti da je visokofrekventna komponenta signala (nt) koju treba odstraniti filtrom prostoperiodični signal učestanosti 20 khz. Na slici 4.3 je prikazan signal dobijen odabiranjem sinusnog signala frekvencije 20 khz sa periodom odabiranja od 6,25µs (160 khz). 4
Sa slike se vidi da se ovakav signal može potpuno potisnuti sabiranjem njegovih osam uzastopnih odbiraka. Ova operacija se može realizovati na dva načina. 1. Pomoću FIR filtra sa jediničnim koeficijentima čiji je model u Z transformaciji prikazan na slici 4.4. Ovakva struktura sinhrono sa frekvencijom odabiranja od 160 khz izračunava zbir osam uzastopnih odbiraka signala (nt), i na taj način potiskuje njegovu visokofrekventnu komponentu a koristan signal pojačava osam puta. Pojačavaki blok K na izlazu unosi slabljenje od osam puta (8=2 3 ) tako da ceo filtar ima jedinično pojačanje korisnog signala. Za hardversku implementaciju ovog rešenja je potrebno sedam registara i osam sabirača. (nt) E(nT) slika 4.4 Model filtra sa brzinom filtriranja od 160 khz 2. rugi način je da se izvrši sabiranje paketa od po osam uzastopnih odbiraka signala (nt) a zatim dobijeni zbir podeli sa osam. Rezultat ovakve obrade je isti kao u gore pomenutom slučaju: visokofrekventna komponenta ulaznog signala biva potisnuta a korisna propuštena sa jediničnim pojačanjem. Jedina razlika je u tome što se u ovom slučaju odbirci izlaznog signala pojavljuju sa frekvencijom od 20 khz. Ovde je primenjen postupak redukcije učestanosti odabiranja ili decimacija [3]. Ovakav postupak filtriranja se može modelovati slično predhodnom slučaju, slika 4.5. Razlika je u tome što se ovde na izlazu filtra nalazi delitelj učestanosti-decimator. ecimator je modelovan kao diskretna prenosna funkcija sa jediničnim pojačanjem, polinomima nultog stepena u brojiocu i imeniocu i frekvencijom odabiranja od 20kHz. Ovo rešenje je vrlo jednostavno sa harversku implementaciju jer se ceo filtar može realizovati u vidu akumulatorskog registra. akle, za realizaciju ovog
rešenja je potrebno rezervisati jedan registar, jedan sabirač i jedan trobitni brojač za kontrolu rada filtra. (nt) E(nT) slika 4.5 Model filtra sa brzinom filtriranja od 20 khz U oba slučaja osnovu filtra čini FIR struktura pa njihove prenosne funkcije nemaju polova van jediničnog kruga u Z ravni što dalje znači da su to stabilni sistemi [3]. Ako na ulaz modela ovih filtara formiranih u SIMULINK-u dovedemo test signal dobijen sabiranjem sinusne funkcije amplitude 10 i učestanosti 100 Hz i sinusne funkcije sa amplitudom 2 i frekvencijom 20 khz, slika 4.6. slika 4.6 Test signal na ulazu filtra na njihovim izlazima dobijamo signale prikazane na sledećim slikama:
Na slici 4.7 je prikazan odziv filtra sa brzinom filtriranja od 160 khz a na slici 4.8 odziv filtra sa brzinom od 20 khz. Sa slika se vidi da obe varijante filtra potiskuju visokofrekventnu komponentu ulaznog signala u potpunosti. Postavlja se pitanje koju od ove dve varijante digitalnog filtra ugraditi u R/ konvertor s obzirom na to da se prvo rešenje odlikuje velikom brzinom izračunavanja i zahteva velike hardverske resurse, a sa druge strane drugo rešenje ima osam puta manju brzinu izračunavanja i isto toliko puta manje hardverske zahteve. Odluka o tome se može doneti tek nakon simulacije sistema u oba slučaja i sagledavanja dobijenih rezultata, što će biti urađeno u paragrafu 4.3 4.2.4 Sinteza digitalnog PI regulatora Smisao uvođenja digitalnog PI regulatora u strukturu R/ konvertora, kako je navedeno u paragrafu 4.1, je pre svega u tome da se obezbedi dvostruki stepen integralnog dejstva u sistemu kako bi on bio u stanju da signal greške pri brzinskoj pobudi na ulazu svede tokom prelaznog procesa na nulu. Pored toga, podešavanjem odgovarajućih pojačanja u okviru samog regulatora mogu se podesiti i dinamičke karakteristike sistema. Blok dijagram modela PI regulatora u Z domenu je prikazan na slici 4.9 E(nT) θ(nt) slika 4.9 Model PI regulatora a njegova prenosna funkcija je data sledećim izrazom: θ E ( z) K I = K P + ( z) z 1 (4.12) Sa slike 4.9 se vidi da PI regulator sačinjavaju dve paralelne grane. Grana sa pojačanjem K P realizuje proporcionalno dejstvo dok grana sa akumulatorom (sabirač i blok z -1 ) i pojačanjem K I realizuje integralno dejstvo. Zastupljenost pojedinih
dejstava u regulatoru opisano je veličinom proporcionalne K P odnosno integralne K I konstante. Na ulaz PI regulatora se dovodi signal greške sistema E(nT). Izlaz integralnog bloka tokom prelaznog procesa menja svoju vrednost u vremenu i time utiče na ostatak sistema sve dok signal greške ne svede na nulu. Parametri K I i K P PI regulatora se mogu, za regulatore koji se ugrađuju u linearne digitalne sisteme, odrediti nekom od poznatih analitičkih metoda za kompenzaciju sistema (na primer metodom geometrijskog mesta korena). [1] Pošto je R/ konvertor sa slike 4.2 nelinearan sistem konstante K P i K I se ne mogu odrediti pomenutim metodama nego simulacijom sistema na digitalnom računaru. Postupak simulacije sistema i određivanje konstanti PI regulatora je prikazan u paragrafu 4.3. Ovde treba napomenuti, kao i u slučaju digitalnog filtra, da zbog minimizacije potrebnog hardvera i potrebe za što većom brzinom izvršavanja operacija konstante K P i K I moraju biti odabrane tako da se izbegne upotreba množača za realizovanje prenosne funkcije PI regulatora, odnosno Ki i Kp moraju biti oblika 2 -m, m=0,1,2,.... 4.2.5 Sinteza akumulatora i njegove prenosne funkcije Akumulatorski registar ima zadatak, kako je rečeno u paragrafu 4.1, da akumulira priraštaj mehaničke koordinate θ između dva trenutka odabiranja i na taj način svojim sadržajem θ prati stvarnu vrednost ugla θ. Njegovo funkcionisanje se može opisati sledećom relacijom: ( n) = θ ( n 1) + θ ( n 1) θ (4.10) Ako na ovaj izraz primenimo Z transformaciju dobijamo prenosnu funkciju akumulatora: θ θ ( z) 1 = ( z ) z 1 (4.11) Iz izraza 4.11 se vidi da se akumulatorski registar ponaša kao digitalni integrator. Model prenosne funkcije akumulatorskog registra u Z domenu se može predstaviti sledećim blok dijagramom: θ(nt) θ (nt) slika 4.10 Model akumulatorskog registra
4.2.6 Izbor aritmetike sistema Pre nego što se počne sa simulacijom sistema i određivanjem parametara, a zatim i njegovom hardverskom implementacijom mora se odrediti aritmetika sistema, odnosno način predstavljanja brojeva i opseg u kome se oni nalaze. va osnovna načina za prikazivanje brojeva u računarskim sistemima su predstave sa fiksnom i pokretnom decimalnom tačkom. ± c Predstava broja sa pokretnom decimalnom tačkom (u obliku a = ± b 10 ) daje mogućnost predstavljanja brojeva iz veoma širokog opsega. Sa druge strane manipulisanje ovakvim brojevima u toku izvođenja računskih operacija je komplikovano pa oni nisu pogodni za primenu u jednostavnim hardverski realizovanim sistemima. Predstava broja sa fiksnom decimalnom tačkom je takva da je broj bita predviđen za predstavljanje celobrojnog i razlomljenog dela broja unapred određen i fiksan. Ovaj način zapisivanja brojeva daje mogućnost predstavljanja brojeva iz užeg opsega nego što je to slučaj sa pokretnom tačkom, ali sa druge strane manipulisanje ovako zapisanim brojevima je daleko jednostavnije. Poseban slučaj predstavljanja brojeva sa fiksnom tačkom koji daje mogućnost predstavljanja samo celih brojeva se najčešće koristi u jednostavnim digitalnim sistemima. Osnovni razlog za to je jednostavno manipulisanje ovim brojevima prilikom izvođenja računskih operacija. Odbacivanje razlomljenog dela broja unosi grešku kvatnizacije, koja u izvesnoj meri degradira performanse sistema. Uticaj greške kvantizacije se umanjuje rezervisanjem većeg broja bita za predstavljanje rezultata računskih operacija. Sa druge strane, zbog ograničenosti hardverskih resursa i zbog neophodnog pojednostavljenja samog digitalnog sistema često smo primorani da vršimo odsecanje rezultata izračunavanja u sistemu svodeći ih na unapred određenu veličinu. Odavde se vidi da su zahtevi za što boljim preformansama sistema sa jedne strane i jednostavnost hardverske realizacije sa druge strane međusobno protivurečni, pa se u praksi pronalaze kompromisna rešenja. Za realizaciju R/ konvertora u ovom radu je usvojena 12-bitna aritmetika. Ovaj izbor se pokazao kao optimalan obzirom na raspoloživi prostor na 4010 FPGA čipu. 4.3 Model R/ konvertora, simulacija i podešavanje parametara Izrada detaljnog modela sistema koji se sastoji od rezolvera i R/ kovertora je složen zadatak. Ovakav model bi morao da obuhvati statičke i dinamičke karakteristike rezolvera, karakteristike vodova kojim je rezolver spregnut sa sistemom, karakteristike rezolvera, kao i mnoštvo uticajnih veličina. Ovde je dovoljno formirati takav model koji će omogućiti da se simulacijom izvrši optimalan izbor pojačanja PI regulatora tako da sistem bude stabilan, da vrednosti pojedinih promenljivih ne izlaze iz usvojenog 12-bitnog opsega, da mu je signal greške pri
brzinskoj pobudi u ustaljenom stanju jednak nuli, da prelazni proces traje što kraće uz što manje izražene oscilatorne procese. Za ovako definisane ciljeve simulacije može se formirati pojednostavljeni model sistema u SIMULINK-u prikazan na slici 4.11. slika 4.11 Model R/ konvertora sa rezolverom Rezolver je modelovan samo kao davač modulisanih signala U SIN i U COS, slika 4.12. slika 4.12 Model rezolvera Blokovi A/_sin i A/_cos modeluju preslikavanje analognih rezolverskih signala posredstvom dvanaestobitnih A/ konvertora u celobrojni opseg (-2048, 2047), a blok RAM_pob očitavanje celobrojnih odbiraka sinusne pobude rezolvera iz odgovarajuće look-up tabele formirane u osmobitnoj memoriji. Njihova unutrašnja struktura je prikazana na slikama 4.13 i 4.14. Slika 4.13 Struktura blokova A/_sin i A/_cos Slika 4.14 Struktura bloka RAM_pob Na sličan način je modelovano, pomoću blokova RAM_sin i RAM_cos, izračunavanje celobrojnih vrednosti sinusne odnosno kosinusne funkcije izlazne promenljive θ
očitavanjem odgovarajućih vrednosti iz gore pomenute look-up tabele formirane u osmobitnoj memoriji. Struktura ovih blokova je prikazana na slikama 4.15 i 4.16. Slika 4.15 Struktura bloka RAM_sin Slika 4.16 Struktura bloka RAM_cos Sa slike 4.11 se vidi da se na ulaz množača mn1 i mn2 dovode 12-bitni odbirci rezolverskih signala iz A/ konvertora i 8-bitne vrednosti sinusa i kosinusa izlaznog ugla iz gore pomenute look-up tabele. Rezultat njihovog množenja je 20-bitni broj. Blokovi 1/256A i 1/256B vrše skaliranje, odnosno svođenje 20-bitnih proizvoda u 12- bitni celobrojni opseg. Ovim blokovima se praktično modeluje aritmetičko pomeranje opranda za osam mesta u desno. Struktura ovih blokova je prikazana na slici 4.17. Slika 4.17 Struktura blokova 1/256A i 1/1256B Pojačavački blok 2pi/4096 preslikava sadržaj akumulatora iz opsega (0, 4095) u opseg (0, 2π ). U tački 4.2.3 su predložene dve mogućnosti realizacije digitalnog filtra: jedna koja se odlikuje brzinom izračunavanja odbiraka od 160 khz i zahteva velike hardverske resurse i druga koja ima osam puta manju brzinu izračunavanja i zahteva isto toliko puta manje hardverskih resursa. Odluka o izboru jedne od pomenutih varijanti filtarske funkcije se može doneti nakon postupka simulacije i sagledavanja njihovog uticaja na performanse sistema u celini. igitalni PI regulator je predstavljen modelom prikazanim na slici 4.9, a akumulator modelom datim na slici 4.10. Ovde treba napomenuti da učestanosti odabiranja PI regulatora i akumulatora moraju biti usklađene tj. jednake sa učestanošću odabiranja filtarskog bloka. Ako se u model sistema sa slike 4.11 ugradi filtarska funkcija čiji je model dat na slici 4.4 a zatim postupkom simuliranja izvrši optimalan izbor parametara sistema dobijaju se sledeći rezultati: - vrednosti konstanti proporcionalnog i integralnog dejstva PI regulatora su date sledećim izrazima: 1 K I = i (4.12) 64
1 K P =. (4.13) 2 -odziv sistema na odskočnu pobudu od 3 radijana i brzinsku pobudu od 20000 obrtaja u minuti su prikazani na slikama 4.18 i 4.19 respektivno. Slika 4.18 Odskočni odziv sistema x10-3 x10-3 Slika 4.19 Brzinski odziv sistema Sa slike 4.18 se vidi da je vreme uspona odziva na odskočnu pobudu kao i celog prelaznog procesa daleko kraće nego kod klasičnog R/ konvertora 2S82, slika 3.4. Signal greške, odnosno izlazni signal iz NF filtra, pri brzinskoj pobudi sistema je prikazan na sledećoj slici: Slika 4.20 Signal greške sistema pri brzinskoj pobudi od 20000 ob/min Sa slike se vidi da signal greške nakon prelaznog procesa nije sveden na nulu nego su njegove oscilacije prigušene u tolikoj meri da on osciluje sa svoja dva najniža bita. Nemogućnost sistema da signal greške svede na nulu se javlja kao posledica grubog svođenja 20-bitnih proizvoda sa izlaza množača u 12-bitni opseg. Sa slike 4.18 se vidi da vreme uspona odskočnog odziva, odnosno promena ovog signala od 10% do 90% njegove vrednositi u ustaljenom stanju, traje oko 90µs. Na osnovu ovog podatka se može izvršiti procena širine propusnog opsega sistema na sledeći način [2]: x10-3 1 1 f = = = 5555, Hz g 2 t 2 90µ s 55 U (4.14)
Ako se u model sistema sa slike 4.11 ugradi filtarska funkcija predstavljena modelom sa slike 4.5 a zatim kao u predhodnom slučaju simulacijom izvrši optimalan izbor pojačanja PI regulatora dobijaju se sledeći rezultati: -vrednosti konstanti proporcionalnog i integralnog dejstva su date sledećim izrazima: K = 1 i (4.15) P 1 K I =. (4.16) 16 -odziv sistema na odskočnu pobudu od 3 radijana i brzinsku pobudu od 20000 obrtaja u minuti su prikazani na slikama 4.21 i 4.22 respektivno. Slika 4.21 Odziv na odskočnu pobudu Slika 4.22 Odziv na brzinsku pobudu Sa slike 4.21 se vidi da prelazni proces u ovom slučaju traje oko pet puta duže u odnosu na predhodnu varijantu filtriranja. Signal greške, odnosno izlazni signal iz NF filtra, pri brzinskoj pobudi sistema je prikazan na sledećoj slici: Slika 4.23 Signal greške sistema pri brzinskoj pobudi od 20000 ob/min
Sa slike se vidi da signal greške, kao i u predhodnom slučaju, nakon prelaznog procesa nije sveden na nulu nego su njegove oscilacije prigušene u tolikoj meri da on osciluje sa svoja dva najniža bita. Nemogućnost sistema da grešku svede na nulu je i u ovom slučaju posledica grubog svođenja 20-bitnih proizvoda sa izlaza množača u 12-bitni opseg. Sa slike 4.21 se vidi da vreme uspona odskočnog odziva, odnosno porast od 10% do 90% njegove vrednositi u ustaljenom stanju, traje oko 400µs. Na osnovu ovog podatka se može, kao i u predhodnom slučaju, izvršiti procena širine propusnog opsega sistema [2]: 1 1 f = = = Hz g 2 t 2 400µ s 1250 U (4.17) Na osnovu rezultata simulacije se sada može izvršiti poređenje performansi sistema za oba gore navedena slučaja. Sistem sa prvom varijantom filtarske funkcije ima 4, 44 puta širi propusni opseg u odnosu na sistem sa drugom varijantom filtra. Sa druge strane za implementaciju druge varijante filtra je potrebno osam puta manje hardverskih resursa. Pored toga može se uočiti da sistem sa drugom varijantom filtarske funkcije, zbog prisustva decimatora, bolje potiskuje oscilacije izlaznog signala koje se javljaju kao posledica svođenja međurezultata izračunavanja digitalnog algoritma na 12-bitni opseg. Iz izloženog se vidi da prva varijanta filtra u daleko većoj meri, proširenjem propusnog opsega poboljšava dinamičke karakteristike sistema nego što to čini druga varijanta potiskivanjem šuma kvantizacije. akle u sistem će biti ugrađena filtarska funkcija sa frekvencijom odabiranja od 160 khz. Na slici 4.24 je prikazan signal θ(nt) na ulazu akumulatorskog registra pri pobudi sistema brzinskom funkcijom od 20000 obrtaja u minuti. x10-3 Slika 4.24 Signal na ulazu akumulatora-brzinski signal
Tokom simulacije je utvrđeno da ovaj signal, za zadatu pobudu, u ustaljenom stanju osciluje oko vrednosti 8,53. Kako je rečeno u paragrafu 4.1 vrednost signala θ(nt) je jednaka priraštaju digitalizovanog ugla θ između dva trenutka odabiranja. Veza između priraštaja mehaničke koordinate θ na ulazu sistema i signala θ(nt) se može opisati sledećom proporcijom: 2 π : θ = 4096 : θ (4.18) gde je θ priraštaj ugla na ulazu sistema. Signal θ sada možemo izraziti na sledeći način: 4096 θ θ =. (4.19) 2π Ako izraz 4.19 podelimo sa periodom odabiranja T s dobijamo: θ 4096 = ω 2 π T s (4.20) gde je ω = θ (4.21) T s ugaona brzina obrtanja rezolvera izražena u rad/s. Iz izraza 4.20 možemo izraziti ugaonu brzinu kao: 2π θ ω = 4096 T s u rad/s ili kao: (4.22) n 15 = 1024 f s θ (4.23) u obrtajima u minuti, gde je f s 1 = (4.24) T s učestanost odabiranja. Ako u izraz 4.23 uvrstimo vrednost 8,53 koju signal θ dostiže u ustaljenom stanju dobijamo da brzina obrtanja iznosi:
15 n = 8,53 160KHz = 20000ob / min (4.25) 1024 koliko je i bilo zadato na ulazu. Iz izvedenog proračuna sledi da se signal θ može iskoristiti za generisanje brzinskog signala. Jedan od načina da se ovo izvede je da se signal θ(nt) ili neka njegova linearna transformacija vodi na /A konvertor na čijem izlazu bi se dobijao analogni napon srazmeran brzini obrtanja motora. 4.4 Sinteza generatora pobude rezolvera Jedna od prednosti realizacije digitalnog R/ kovertora u FPGA tehnologiji je mogućnost da se uz pomoć istog čipa pored konvertora realizuje i generator pobude rezolvera. FPGA čip je logičko kolo koje operiše sa digitalnim signalima, dok je rezolver električna mašina koja zahteva analogni sinusni pobudni signal. Iz ovoga sledi da se u FPGA čipu mogu generisati samo impulsni signali koji na neki način (kao digitalizovani odbirci ili svojom spektralnom strukturom) opisuju sinusnu funkciju, a da se zatim izvrši njihova transformacija u analogni sinusni signal. Jedan od načina da se izvrši digitalno generisanje sinusoide je da se u nekom memorijskom prostoru formira tabela sa odbircima sinusne funkcije, a zatim vrši slanje tih odbiraka na /A konvertor. Izlazni signal /A konvertora treba isfiltrirati i pojačati a zatim poslati na rezolver. Pobuda rezolvera se može generisati i uz pomoć impulsno-širinskog (PWM) modulatora realizovanog u FPGA čipu. Ovaj modulator na svom izlazu formira odgovarajuće PWM funkcije koje se zatim u filtarskom i pojačavačkom stepenu uobličavaju u sinusni signal. Ovo rešenje ima prednost u odnosu na predhodno jer je u njemu izbegnuta upotreba /A konvertora. Pored toga ovo rešenje zahteva manje prostora na FPGA čipu. Zbog gore navedenih prednosti pobuda rezolvera će ovde biti realizovana pomoću PWM modulatora. Blok šema PWM generatora pobude rezolvera data je na sledećoj slici: GENERATOR PERIOE NOSIOCA T PWM AUTOMAT SA TABELOM PWM INTERVALA PLUS MINUS + - SPWM POJAČAVAČ i NF FILTAR POJAČAVAČ SNAGE FPGA BROJAČ PWM MOULATOR U pob (t) REZOLVER slika 4.25 Blok šema PWM generatora pobude rezolvera
Sa slike 4.25 se vidi da se PWM generator sinusoide sastoji od dva osnovna dela: PWM modulatora realizovanog na FPGA čipu i pojačavačkog i filtarskog stepena. PWM modulator generiše logičke signale PLUS i MINUS prikazane na slici 4.26 odnosno 4.27. slika 4.26 Signal PLUS na izlazu PWM modulatora x10-4 s x10-4 s slika 4.27 Signal MINUS na izlazu PWM modulatora U oduzimaču realizovanom van FPGA čipa se vrši oduzimanje signala MINUS od signala PLUS i time formira signal SPWM prikazan na slici 4.28. slika 4.28 Signal SPWM x10-4 s Signal SPWM sa slike 4.28 je klasičan sinusni PWM signal. Filtriranjem i pojačavanjem ovog signala, u filtarskom i pojačavačkom bloku, formira se pobudni
signal rezolvera U pob (t). U ovom paragrafu će biti objašnjen postupak generisanja PWM prekidačkih funkcija PLUS i MINUS. Realizacija PWM modulatora na FPGA čipu sa realizacijom pojačavačkog i filtarskog stepena opisana je u paragrafu 5.9. Izlazne funkcije PWM modulatora se formiraju poređenjem nosećeg testerastog signala U T (t) sa modulišućim (referentnim) sinusnim signalom U ref (t). [4] Signal PLUS možemo dobiti poređenjem pozitivne poluperiode referentnog sinusnog signala U ref (t) sa testerastim signalom U T (t), slika 4.29. slika 4.29 Referentni i noseći signal PWM modulatora x10-5 s Ukoliko je trenutna vrednost testerastog signala U T (t) veća od trenutne vrednosti sinusnog signala U ref (t) prekidačkoj funkciji PLUS dodeljujemo vrednost logičke nule, a u suprotnom slučaju vrednost logičke jedinice. Signal PLUS možemo definisati sledećom relacijom: PLUS 1 = 0 U U ref ref ( ω pob t) > U T ( t) ( ω t) < U () t pob T (4.26) pri čemu je kružna učestanost referentnog sinusnog signala jednaka kružnoj učestanosti pobudnog signala rezolvera ω pob i važi sledeći uslov: ω pob t (0, π). Prekidačku funkciju MINUS možemo dobiti faznim pomeranjem prekidačke funkcije PLUS za π radijana, odnosno možemo je matematički formulisati na sledeći način: MINUS 1 = 0 U U ref ref ( ω pob t) > U T ( t) ( ω t) < U () t pob T (4.27) pri čemu je ω pob t (π, 2π). Bez namere da se ulazi u detaljno objašnjavanje osobina signala dobijenih impulsnoširinskom modulacijom ovde treba reći sledeće: 1. amplituda sinusnog signala U pob (t) generisanog PWM postupkom zavisi od indeksa amplitudske modulacije, odnosno od usvojenog odnosa amplituda
testerastog signala U T (t) i referentnog sinusnog signala U ref (t), pri čemu uvek m m m m važi U ref U T. Kada je U ref = U T dobija se maksimalni sinusni napon na izlazu generatora. Varijacija indeksa amplitudske modulacije se koristi u sistemima regulacije gde je potrebno u toku rada menjati efektivnu vrednost izlaznog napona. Ovde se PWM generator sinusoide koristi za napajanje rezolvera koji zahteva pobudni napon konstantne efektivne vrednosti pa će za indeks modulacije biti usvojena jedinična vrednost. 2. spektralna stuktura SPWM signala zavisi od indeksa frekvencijske modulacije definisanog kao odnos učestanosti nosećeg testerastog signala f PWM i modulišućeg sinusnog signala f pob. Što je ovaj odnos veći nepotrebne komponente spektra modulisanog signala SPWM su više odmaknute od korisne komponente pa se filtriranje može jednostavnije i kvalitetnije izvesti. Ovde je za indeks frekvencijske modulacije usvojena vrednost 20. [4] PWM modulator sa slike 4.25 se sastoji od sledećih blokova: - GENERATORA PERIOE NOSIOCA - ovaj blok generiše periodu T PWM nosećeg testerastog signala, odnosno sinhronizuje rad modulatora. - AUTOMATA SA TABELOM PWM INTERVALA - ovaj blok sadrži u sebi lookup tabelu u kojoj su zapisane širine pojedinih impulsa od kojih se sastoje signali PLUS i MINUS. Kada generator periode T PWM na svom izlazu generiše sinhronizacioni impuls automat, zavisno od toga koji od impulsa treba generisati, upisuje u brojač broj koji predstavlja ekvivalent širine pomenutog impulsa, postavlja jedan od izlaznih signala (PLUS ili MINUS) na jedinicu i aktivira brojač. Kada brojač uđe u zasićenje generiše impuls kojim obaveštava automat o novonastalom stanju. Automat kada prihvati ovaj impuls, postavlja izlaz koji je ranije aktivirao (PLUS ili MINUS) na logičku nulu i čeka sledeći sinhronizacioni impuls iz generatora periode nosioca. - BROJAČA - ovo je brojač na gore sa paralelnim upisom i izlazom za signalizaciju zasićenja. U njega automat upisuje početnu vrednost od koje počinje brojanje. Ova početna vrednost se određuje tako da je vreme potrebno brojaču da izabroji do zasićenja jednako širini odgovarajućeg impulsa iz signala PLUS ili MINUS. a bi se zaokružila sinteza PWM modulatora treba još formirati niz digitalnih ekvivalenata trajanja pojedinih impulsa signala PLUS i MINUS. Ova niz se može formirati sledećim razmatranjem: Posmatarajmo jednu periodu testerastog signala sa slike 4.29, slika 4.30: B U ref const E U ref k 1 T 2 + PWM m U T A C
Ako je indeks frekvencijske modulacije dovoljno velik može se smatrati da je referentna sinusoida pibližno konstantna u toku jedne periode nosećeg testerastog signala, slika 4.30. Na osnovu sličnosti trouglova ABC i AE se može napisati sledeća relacija: m 1 U T : U ref k + TPWM = TPWM : tu ( k), k = 0,..., F 1 (4.28) 2 gde je t U vreme za koje odgovarajuća prekidačka funkcija (PLUS ili MINUS) ima vrednost jedan, a F indeks frekvencijske modulacije. Iz relacije 4.28 možemo izraziti vreme t U na sledeći način: t U ( k) T U 1 sin ω pob k + T. (4.29) 2 PWM m = m ref PWM U T Ako usvojimo da je indeks amplitudske modulacije jednak jedinici dobijamo: t U sin ω 1. (4.30) ( k) = T PWM pob k + TPWM 2 Ovaj vremenski interval generiše brojač sa slike 4.25. Broj stanja kroz koja brojač prolazi u toku intervala t U (k) se može izraziti na sledeći način: N ( k) t ( k) ( k) f O U = = tu (4.31) TO gde je f 0 učestanost takata koji se dovodi na brojač. Ako u izraz 4.31 uvrstimo izraz 4.30 dobijamo:
1 ( ) sin N k = T PWM f O ω pob k + TPWM, 2 k = 0,1,..., F 1. (4.32) Rezolver ugrađen u ovaj sistem zahteva pobudni signal učestanosti 10 khz. FPGA čip se nalazi na XILINX-ovoj XS40 V1.2 ploči koja ima ugrađen kvarcni oscilator kao generator takta od 12 MHz. Uzimajući ove podatke u obzir kao i usvojeni indeks frekvencijske modulacije dobijamo: ( k) = 60 sin( 0,1 ( k + 0,5) ), k = 0,1,..., 19 N π (4.33) Iz izraza 4.33 se vidi da je maksimalan broj stanja brojača potreban za generisanje pojedinih impulsa PWM signala 60. akle, dovoljno je da brojač sa slike 4.25 bude šestobitan. Sada na osnovu gore usvojenog treba odrediti izraz za početni sadržaj brojača NB(k) koji se upisuje iz automata, slika 4.25. Ako je N(k)=0 tada brojač treba da izbroji nula stanja, odnosno treba da odmah nakon upisa početnog sadržaja ode u zasićenje. Ovo će se desiti ako je NB(k)=63. Sa druge strane, ako je N(k)=60 brojač nakon upisa treba da prođe kroz 60 stanja i da nakon toga uđe u zasićenje. U ovom slučaju to se postiže ako se u brojač upiše vrednost NB(k)=3. Imajući ovo u vidu, vrednost sadržaja NB(k) koji se upisuje u brojač, u opštem slučaju se može izraziti na sledeći način: ( k) = 63 60 sin( 0,1 ( k + 0,5) ), k = 0,1,..., 19 NB π (4.34) Iz izraza 4.34 se dobijaju vrednosti koje treba upisati u look-up tabelu automata sa slike 4.25. NB ( 0 ) = 54 NB ( 10 ) = 54 NB () 1 = 36 NB ( 11 ) = 36 NB ( 2 ) = 21 NB ( 12 ) = 21 NB () 3 = 10 NB ( 13 ) = 10 NB ( 4 ) = 4 NB ( 14 ) = 4 NB () 5 = 4 NB ( 15 ) = 4 NB ( 6 ) = 10 NB ( 16 ) = 10 NB ( 7 ) = 21 NB ( 17 ) = 21 NB () 8 = 36 NB ( 18 ) = 36 NB () 9 = 54 ( 19 ) = 54 NB Tabela 4.1
5. Hardverska realizacija digitalnog R/ konvertora igitalni R/ konvertor sa sinusnim PWM generatorom za pobudu rezolvera je realizovan uz pomoć XILINX-ovog 4010 FPGA čipa i 32KB RAM memorije sa XS40 V1.2 ploče istog proizvođača. Pored FPGA čipa na ploči se nalazi mikrokontroler 8031 i kvarcni oscilator za generisanje takta od 12 MHz, a napajanje ploče od +5V i +3,3V je izvedeno pomoću linearnih stabilizatora napona 7805 i LM317. Na ploči je predviđeno i mesto za ugradnju serijskog EEPROM-a. etaljni podaci o ploči, sa električnom šemom i softverskim alatima za njeno testiranje i programiranje su priloženi na disketi XSTOOLS u prilogu. R/ konvertor realizovan na XS40 ploči je spregnut sa rezolverom preko četiri A/ konvertora (A7876) koji vrše digitalizaciju rezolverskih signala. XS40 V1.2 PLOČA A/ A/ R/ KONVERTOR /A θ θ /ω REZOLVER UPRAVLJANJE A/ A/ PWM MOULATOR FILTAR I POJAČAVAČ slika 5.1 Blok šema hardverskog rešenja Na ploči se nalazi i PWM modulator koji generiše odgovarajuće prekidačke funkcije koje kada se uobliče u filtarskom i pojačavačkom stepenu formiraju sinusni signal za pobudu rezolvera. Rezultat R/ konverzije, odnosno digitalizovana vrednost pozicije vratila rezolvera θ ili njegova ugaona brzina ω prikazuju se u vidu odgovarajućeg analognog napona na izlazu /A konvertora (A767). Raspored pojedinih blokova R/ konvertora realizovanih na XS40 ploči i njihove međusobne veze prikazan je na slici 5.2. Na slici 5.2 su prikazani /A i A/ konvertori iako se oni ne nalaze na samoj XS40 ploči. To je učinjeno zbog toga što upravljačka jedinica realizovana u FPGA čipu
upravlja pomenutim konvertorima tako da oni sa ostatkom sistema na ploči sačinjavaju logičku celinu, odnosno digitalni podsistem. Za digitalizaciju rezolverskih signala (U SIN (t) i U COS (t)) su upotrebljena četiri A/ konvertora (po dva u paraleli) proizvođača Analog evices A7876, koji se odlikuju maksimalnom brzinom odabiranja od 100 KHz, što omogućava postizanje efektivne, gore usvojene, učestanosti odabiranja od 160 KHz, a maksimalno do 200 KHz. igitalni izlazi ovih A/ konvertora su povezani na zajedničku 12-bitnu magistralu A12 posredstvom koje se diskertizovani signali U SIN i U COS dovode do FPGA čipa. Za relizaciju sve tri operacije množenja signala se koristi jedan redno-paralelni množač, što je ostvareno upotrebom multipleksera i prihvatnog registra kao i odgovarajućim vremenskim rasporedom očitavanja A/ konvertora i RAM memorije. etaljno objašnjenje ovog postupka dato je u paragrafima 5.2 i 5.7. Oduzimač na izlazu množača vrši oduzimanje 20-bitnog operanda P20 od 20-bitnog operanda Q20, a zatim otsecanje donjih 8 bita razlike, i na taj način formira 12-bitni signal R12. Ovaj se signal zavisno od stanja upravljačkog automata vodi na ulaz množača posredstvom multipleksera ili na ulaz bloka koji vrši NF filtriranje i PI regulaciju. Izlaz iz filtarskog bloka je 12-bitni signal θ12 koji predstavlja digitalizovani priraštaj ugla između dva trenutka odbiranja. Signal θ12 se vodi na akumulatorski registar koji na izlazu daje digitalizovanu 12- bitnu vrednost ugla θ 12. Generator PWM prekidačkih funkcija u kombinaciji sa filtarskim i pojačavačkim stepenom pobuđuje rezolver. Za proces izdvajanja ugla θ iz rezolverskih signala U SIN i U COS neophodna je i digitalizovana vrednost pobude rezolvera. a bi se izbegla diskretizacija pobudnog signala rezolvera i time uštedeo jedan A/ konvertor potrebni odbirci sinusoide se očitavaju iz look-up tabele formirane u RAM memoriji. Primenom ovog postupka se mogu kompenzovati eventualna fazna kašnjenja između signala U SIN i U COS i pobude rezolvera korigovanjem adresa sa kojih se očitavaju odbirci pomenute sinusoide. Blok POBUA, SIN( ), COS( ), BRZINA na osnovu signala θ 12 i upravljačkih signala izračunava adrese u RAM memoriji na kojima se nalaze odbirci pobude rezolvera, sinθ i cosθ. Ovaj blok, takođe, transformiše signale θ 12 i θ12 na način pogodan za prikazivanje pozicije i brzine u vidu odgovarajućeg analognog napona na /A kovnertoru. 15-bitni izlaz ovog bloka se vodi na adresne ulaze RAM-a a njegovih donjih 12 bita na ulaz /A konvertora. Njegovim radom upravlja upravljačka jedinica. etaljno objašnjenje rada ovog bloka i njegovih delova dato je u paragrafu 5.6. Generator učestanosti odabiranja sinhronizuje rad R/ kovertora sa učestanošću od 160 KHz. Ovaj blok je opisan u paragrafu 5.8. Generator PWM prekidačkih funkcija, odnosno PWM modulator, generiše dve povorke impulsa. Povorka PLUS, kako je rečeno u paragrafu 4.4, odgovara pozitivnoj poluperiodi sinusnog napona za pobudu rezolvera, a povorka MINUS negativnoj. Hardverska realizacija generatora pobude rezolvera je opisana u paragrafu 5.9. Upravljačka jedinica sinhronizovana učestanošću odabiranja f s od 160 KHz upravlja radom A/ i /A konvertora, očitavanjem RAM-a i izvršavanjem pojedinih računskih operacija određujući njihov redosled. etaljno objašnjenje rada ovog bloka dato je u paragrafu 5.7.
U A M A1 M Q R U N O A Ž R P2 + E G U C KONT I A S ROLA OZVOLA UPISA NF FILTAR I PI θ AKUMULA θ1 POBU A θ θ 12 OZVOLA UPISA U A/ SELEK U CS I R UPRAVLJ GENERAT OR GENERATO R PWM PL MIN R A RA AR1 FP 4010 slika 5 2 Blok šema digitalnog R/ konvertora
Umesto ove prazne strane prilikom sastavljanja teksta treba ubaciti dokument 5.2 text
XILINX je pored programabilnih logičkih čipova FPGA i CPL tipa proizveo i seriju softverskih alata za njihovo programiranje (Foundation Series). Projektovanje R/ konvertora je izvedeno u paketu Foundation Series 1.5. Ovaj alat omogućava projektovanje svih vrsta logičkih kola, proveru ispravnosti realizovanih logičkih funkcija, implementaciju projekta, njegovu simulaciju u vremenu, programiranje FPGA ili CPL čipa, proveru ispravnosti rada ovako hardverski realizovanog sistema i pomoć pri otklanjanju grešaka. Ovaj alat daje mogućnost projektovanja logičkih kola u formi električne šeme, gotovih optimizovanih standardnih logičkih modula, VHL ili HL koda ili dijagrama stanja. Električne šeme se organizuju hijerarhijski sa proizvoljnim brojem nivoa na jednostavan način. Električna šema nekog hijerarhijskog nivoa u opštem slučaju sadrži osnovna logička kola, i makroe kojima su predstavljeni složeniji logički blokovi. Ovi makroi se mogu opisati kao električne šeme nižeg hijerarhijskog nivoa, kao standardni optimizovani logički blokovi realizovani pomoću LOGI BLOX sofverskog modula u okviru Foundation Series 1.5 paketa, kao VHL ili HL kod ili kao dijagram stanja. Foundation Series 1.5 nudi i niz gotovih rešenja standardnih logičkih blokova (sabirači, registri, koderi, dekoderi, multiplekseri,...) koji se nakon jednostavnih podešavanja veoma lako ugrađuju u projekat. etaljan opis mogućnosti Foundation Series 1.5 i uputstvo za upotrebu ovog paketa se nalazi u [6] i u help sistemu samog paketa. Realizacija digitalnog R/ konvertora, odnosno električne šeme i VHL kodovi pojedinih blokova i sistema u celini su prikazani u okviru projekta realizovanog u Foundation Series 1.5 paketu koji je priložen na disketi u prilogu. Glavna šema RKONV1 je sastavljena od međusobno povezanih makroa i svojim izgledom podseća na blok šemu sistema sa slike 5.2 (sa izuzetkom /A i A/ konvertora i RAM-a). Podaci sa A/ konvertora se dovode na 12-bitni ulaz A12, a podaci iz RAM-a na 8-bitni ulaz RAM. Rezultat R/ konverzije i adrese za adresiranje RAM-a se pojavljuju na 15-bitnom izlazu AR15. U daljem tekstu će redom biti opisana struktura i način funkcionisanja svakog makroa i njegova veza sa ostatkom sistema. Za uspešno praćenje izlaganja koje sledi potrebno je pomoću Foundation 1.5 paketa pokrenuti priloženi projekat i kretati se kroz njegovu hijerarhijsku strukturu saglasno dole navedenom tekstu. 5.1 Ralizacija redno-paralelnog množača Redno-paralelni množač MNOZ8P12 je realizovan tako da omogućava množenje 12- bitnog operanda (B) u komplementu dvojke sa 8-bitnim operandom (A) takođe u komplementu dvojke. Izlaz množača je 20-bitni broj u komplementu dvojke. Radom množača upravlja upravljačka jedinica posredstvom sledećih upravljačkih signala: - SA - signal dozvole sinhronog upisa 8-bitnog i 12-bitnog operanda, - UPIS, POMERI - signali za kontrolu procesa množenja i - CLK - signal takta. Stukturu množača sačinjavaju sledeći blokovi:
1. 2U1KOMPL8 - Ovaj blok prihvata 8-bitni operand u komplementu dvojke i formira njegovu apsolutnu vrednost. Blok OUZIMAC8 (8-bitni oduzimač) i XOR8 (8- bitno ekskluzivno ili kolo) su realizovani u LOGI BLOX modulu Foundation paketa, pa ne postoji mogućnost prikazivanja njihove unutrašnje strukture. 2. POMREG8-8-bitni pomerački registar sa paralelnim ulazom (), serijskim izlazom Sout. Radom registra se upravlja pomoću sledećih signala: - UPIS - signal dozvole sinhronog upisa - POMERI - signal dozvole logičkog pomeranja u desno - CLK - signal takta. Sa šeme registra se vidi da on nakon prihvatanja 8-bitnog broja vrši njegovo logičko pomeranje u desno za osam bita. 3. 2U1KOMPL - Ovaj blok prihvata 12-bitni operand u komplementu dvojke i formira njegovu apsolutnu vrednost. Blok OUZIMAC12 (12-bitni oduzimač) i XOR12 (12-bitno ekskluzivno ili kolo) su realizovani u LOGI BLOX modulu Foundation paketa, pa ne postoji mogućnost prikazivanja njihove unutrašnje strukture. 4. REG12-12-bitni registar prihvata apsolutnu vrednost 12-bitnog operanda. Radom ovog registra se upravlja pomoću signala - CLK_EN - signal dozvole sinhronog upisa - CLK - signal takta. REG12 je takođe realizovan u LOGI BLOX modulu pa se njegova stuktura ne može prikazati. 5. AN12 - logičko I kolo koje vrši logičku I operaciju između svakog bita upisanog u POMREG8 i sadržaja registra REG12. I ovo kolo je realizovzno u LOGI BLOX modulu. 6. SABIRAC12-12-bitni sabirač sa izlazom za prenos. Realizovan je u LOGI BLOX modulu. 7. POMREG12 12-bitni pomerački registar sa serijskim (Sin) i paralelnim () ulazom i sa serijskim (Sout) i paralelnim (PH) izlazom. Radom registra se upravlja pomoću sledećih signala: - UPIS - signal dozvole sinhronog paralelnog upisa, - POMERI - signal dozvole logičkog pomeranja u desno. Pri pomeranju se na mesto najvišeg bita u registru upisuje bit na serijskom ulazu, a najniži bit se pojavljuje na serijskom izlazu. - CLR - reset signal, - CLK - signal takta. 8. PLPOMERAC - 8-bitni pomerački registar sa serijskim ulazom i paralelnim izlazom. Radom ovog registra se upravlja pomoću signala: - POMERI - signal dozvole logičkog pomeranja u desno, - CLR - reset signal, - CLK - signal takta. 9. PHPLPU - blok koji prihvata 12-bitni izlaz iz registra POMREG12 i 8-bitni izlaz iz registra PLPOMERAC i formira od njih 20-bitni izlaz. 10. 1U2KOMPL - blok koji prihvata 20-bitnu apsolutnu vrednost proizvoda i na osnovu znaka ulaznih operanada formira vrednost proizvoda u komplementu dvojke. Komponente XOR20, SABIRAC20 i NULA su realizovane u LOGI BLOX modulu. Upravljački signali za jedan ciklus množenja su dati su dati na sledećoj slici:
slika 5.3 Upravljački signali za jedan ciklus množenja Pre početka množenja se pod komandom signala SA izvrši upisivanje 8-bitnog (RAM7=28 hex) i 12-bitnog (A11=7 hex) operanda u odgovarajuće registre. Kolo AN12 formira parcijalne proizvode pojedinih bita 8-bitnog operanda sa 12-bitnim operandom. SABIRAC12, flip-flop (FC), POMREG12 i PLPOMERAC sačinjavaju strukturu za pomeranje i sabiranje ovih parcijalnih proizvoda. Pod uticajem signala UPIS u POMREG12 se na rastuću ivicu takta upisuje sadržaj sabirača SABIRAC12, a u flip-flop bit prenosa pri sabiranju. Signal POMERI upravlja pomeranjem sadržaja registara POMREG8, POMREG12 i PLPOMERAC pri čemu se bit prenosa iz flipflopa upisuje na MSB mesto registra POMREG12, a LSB bit istog registra na MSB mesto registra PLPOMERAC. a bi se izvršila operacija množenja potrebno je ovaj postupak ponoviti 8 puta, kako je prikazano na slici. Po završetku operacije množenja na izlazu množača se pojavljuje 20-bitni proizvod ( P19 = 7 28 = 13A88 hex ) a automat za kontrolu množenja generiše impuls KRAJ. 5.2 Realizacija bloka QMP20NA12 Blok QMP20NA12 obuhvata registar i oduzimač na izlazu množača sa slike 5.2. Ovaj blok treba da omogući oduzimanje dva uzastopna 20-bitna proizvoda, svođenje dobijene razlike na 12-bitni broj otsecanjem donjih osam bita, a zatim da propusti treći po redu 20-bitni proizvod uz otsecanje njegovih donjih osam bita. Njegovim radom upravlja upravljačka jedinica posredstvom upravljačkih signala PROPUSTI i SB. Komponente XOR20, REG20 i SABIRAC20 su realizovane u LOGI BLOX modulu Foundation 1.5 paketa i njihove šeme nisu dostupne. Princip rada ovog bloka se sastoji u sledećem: Kada množač završi prvo množenje upravljačka jedinica posredstvom signala SB zapiše proizvod u registar REG20. Ekskluzivno ili kolo XOR20, pri vrednosti signala PROPUSTI jednakoj logičkoj nuli, u kombinaciji sa 20-bitnim sabiračem formira 20- bitni oduzimač koji realizuje oduzimanje signala P sa izlaza množača od signala Q na izlazu registra po principu: Q P = Q + P +1 (5.1)
Kada množač završi drugo množenje, izvršava se gore pomenuto oduzimanje. Razlika signala Q i P se vodi na blok 20NA12 koji vrši otsecanje donjih osam bita i na taj način formira 12-bitni izlaz. Ako se vrednost signala PROPUSTI postavi na logičku jedinicu blok QMP20NA12 vrši samo otsecanje osam donjih bita signala sa izlaza množača, odnosno propušta njegovih gornjih dvanaest bita na izlaz. 5.3 Realizacija digitalnog NF filtra Princip rada digitalnog filtra je objašnjen u tački 4.2.3. Sa šeme se vidi da je ona gotovo identična sa modelom filtra sa slike 4.4. Registri REG12 i sabirači SAB12, su realizovani u LOGI BLOX modulu Foundation 1.5 paketa. Registar na ulazu filtra ne učestvuje u realizovanju filtarske funkcije, on je tu postavljen da spreči propagaciju signala sa ulaza na izlaz bez kontrole upravljačkog signala. Radom filtra upravlja upravljačka jedinica posredstvom signala FILTAR. 5.4 Realizacija digitalnog PI regulatora Princip rada PI regulatora opisan je u tački 4.2.4. Integralno dejstvo je realizovano pomoću akumulatorskog registra AKUMUL12 realizovanog u LOGI BLOX modulu Foundation 1.5 softvera. Konstante proporcionalnog i integralnog dejstva, čije su vrednosti određene u paragrafu 4.3 i date izrazima: 1 K P = i (5.2) 2 1 K I = (5.3) 64 su realizovane u podblokovima KP i KI. Blok KP vrši aritmetičko pomeranje ulaznog 12-bitnog signala za jedno mesto u desno, dok blok KI aritmetički pomera ulaz za šest mesta u desno. Radom PI regulatora upravlja upravljačka jedinica posredstvom signala FILTAR. 5.5 Realizacija akumulatorskog registra Princip rada akumulatora je objašnjen u tački 4.2.5. On je realizovan kao jedinstven 12-bitni blok AKUMUL12 u LOGI BLOX modulu Foundation 1.5 paketa. Radom ovog bloka upravlja upravljačka jedinica posredstvom signala FILTAR.
5.6 Relizacija bloka PSINCOS Blok PSINCOS predstavlja hardversku relizaciju bloka POBUA SIN( ) COS( ) BRZINA sa slike 5.2. On u kombinaciji sa RAM memorijom treba da obezbedi: - izračunavanje sinusa i kosinusa digitalizovanog ugla θ datog sadržajem akumulatorskog registra AKUMUL12. Ove vrednosti se mogu dobiti očitavanjem iz look-up tabele formirane u RAM-u. Pošto je akumulator 12-bitni registar njegov sadržaj, odnosno argument sinusne i kosinusne funkcije, može da ima 2 12 =4096 različitih vrednosti. Iz ovoga sledi da look-up tabelu treba popuniti sa 4096 odbiraka jedne periode sinusne funkcije. Sada sadržaj akumulatora predstavlja adresu na kojoj se nalazi vrednost njegovog sinusa. Vrednost njegovog kosinusa se nalazi na lokaciji koja je pomerena za 1024 mesta u tabeli (digitalno π/2). - generisanje odbiraka sinusoide. Kako je ranije rečeno (paragraf 4.1), u procesu demodulacije rezolverskih signala neophodno je raspolagati odbircima pobude rezolvera. a bi se izbegla upotreba A/ konvertora ovi odbirci se mogu generisati očitavanjem gore pomenute look-up tabele formirane u RAM memoriji. Usvojena učestanost odabiranja R/ konvertora je 160 KHz, a nazivna učestanost pobude rezolvera 10 KHz. Odavde se vidi da je potrebno očitati 16 odbiraka po periodi pobude rezolvera, što znači da lookup tabelu treba očitavati sa korakom 256. - prikazivanje rezultata merenja. igitalizovana vrednost ugaone pozicije vratila rezolvera θ je predstavljena sadržajem akumulatora, dok je njegova ugaona brzina direktno proporcionalna signalu θ sa izalza PI regulatora (izraz 4.23). Ove dve izlazne veličine (brzina i pozicija) se mogu prikazati u vidu analognog napona posredstvom /A konvertora. Sadržaj akumulatora se za promenu pozicije vratila rezolvera od 0 do 2π rad promeni od 0 do 4095. Kada se ovde primenjeni 12-bitni /A konvertor A767 pobudi ovakvim digitalnim ulazom, pri konstantnoj brzini obrtanja rezolvera, na njegovom analognom izlazu će se pojaviti testerasti signal čija je amplituda jednaka maksimalnom izlaznom naponu /A konvertora, a učestanost mehaničkoj učestanosti obrtanja vratila rezolvera. Signal θ sa izlaza PI regulatora i pri velikim brzinama obrtanja vratila rezolvera uzima male vrednosti (izraz 4.25). Ako bi se ovaj signal direktno vodio na digitalni ulaz 12-bitnog /A konvertora na njegovom izlazu bi se dobio mali analogni napon, a rezolucija sa kojom bi se prikazivala brzina obrtanja rezolvera bi bila nedopustivo mala. Rezolucija se može povećati ako se izvrši akumulacija određenog broja uzastopnih odbiraka signala θ tako da se pri nekoj unapred usvojenoj maksimalnoj brzini obrtanja na /A konvertor šalje maksimalna akumulisana vrednost 12-bitnog označenog broja 2048. Potreban broj odbiraka koji treba akumulisati može da se odredi uz pomoć izraza 4.23:
n 15 = 1024 f S θ. (5.4) gde je n brzina obrtanja rezolvera izražena u obrtajima u minuti. Akumulisani sadržaj koji se šalje na /A konvertor se može opisati sledećom relacijom: N A = λ θ (5.5) gde je λ broj akumulisanih odbiraka signala θ. Kombinovanjem izraza 5.4 i 5.5 dobijamo: 15 N = 1024 n f MAX λ A S, (5.6) MAX gde je n max unapred usvojena maksimalna vrednost brzine obrtanja vratila MAX rezolvera, a N A maksimalna apsolutna vrednost broja zapisanog u komplementu dvojke koji se može upisati u akumulatorski registar. U konkretnom slučaju 12-bitne aritmetike N MAX A iznosi 2048. Sada za razne vrednosti n max možemo odrediti ogovarajuće λ: - za n = 5000ob MAX λ 960, min 5000 = (5.7) - za n = 10000ob MAX λ 480, min 10000 = (5.8) - za n = 20000ob MAX λ 240. min 20000 = (5.9) Ovde će biti usvojena vrednost λ 5000 = 960. Broj odbiraka signala θ koji se akumulišu, odnosno maksimalana brzina obrtanja koju može da prati realizovani R/ konvertor se naknadno može lako podesiti softverskim putem (izmenom projekta u Foundation 1.5 paketu, a zatim ponovnim učitavanjem u FPGA čip) bez potrebe za intervencijom na hardveru. Ulazni signali bloka PSINCOS su: - TETA - sadržaj akumulatorskog registra, odnosno digitalizovana ugaona pozicja vratila rezolvera, - T - signal sa ulaza akumulatora, odnosno digitalizovani priraštaj ugaone koordinate vratila rezolvera između dva uzastopna trenutka odabiranja - X0 i X1 - selekcioni signali - FS - sinhro signal učestanosti odbiranja
- BRZ_POZ - signal kojim se vrši izbor veličine koja se prikazuje na /A konvertoru (brzina ili pozicija) - FILTAR - signal kojim upravljačka jedinica sinhronizuje izračunavanje odbiraka signala T i TETA u filtru, PI regulatoru i akumulatoru. - CLK - signal takta. Izlazni signali ovog bloka su: - AR - 15-bitni signal koji zavisno od selekcionih signala X0 i X1 uzima vrednost: a) adrese memorijske lokacije na kojoj se nalazi odbirak pobude rezolvera b) adrese memorijske lokacije na kojoj se nalazi odbirak sinusne funkcije digitalizovanog ugla c) adrese memorijske lokacije na kojoj se nalazi odbirak kosinusne funkcije digitalizovanog ugla d) odbirka pozicije ili brzine vratila rezolvera u formatu pogodnom za prikazivanje na /A konvertoru Sa šeme bloka PSINCOS se vidi da se on sastoji od sledećih podblokova: - POBUA - ovaj blok izračunava adrese odbiraka pobude rezolvera iz RAM memorije. Sa njegove šeme se vidi da se on sastoji od akumulatorskog registra AKUMUL12C i 12-bitne konstante CONST256 koji su realizovani u LOGI BLOX modulu Foundation 1.5 paketa. - SAB12 i PIPOLA - ova dva bloka izračunavaju adresu na kojoj se nalazi kosinus sadržaja akumulatora. Realizovani su u LOGI BLOX modulu Foundation 1.5 paketa. SAB12 je 12-bitni sabirač a PIPOLA 12-bitna konstanta vrednosti 1024. - TAKUMUL - ovaj blok vrši transformaciju signala T i TETA u oblik pogodan za prikazivanje pozicije odnosno brzine obrtanja vratila rezolvera u vidu analognog napona posredstvom /A konvertora A767. Princip rada ovog bloka se može opisati na sledeći način: U akumulatorskom registru AKUMULBR12 se u svakoj periodi odabiranja pod uticajem signala FILTAR izvrši akumulacija jednog odbirka signala T. Blok BRBROJAC je realizovan kao brojač po modulu 960 sa signalom zasićenja BR. Na njegov takt ulaz se dovodi invertovani signal FILTAR tako da BRBROJAC vrši brojanje akumuliranih odbiraka signala T u akumulatoru AKUMULBR12. Kada BRBROJAC uđe u zasićenje u akumulatoru AKUMUL12BR se nalazi zbir 960 uzastopnih odbirka signala T. Na rastuću ivicu signala BR dolazi do setovanja flip-flopa FC, odnosno postavljanja signala XBR na vrednost logičke jedinice. Prelazak signala XBR u stanje logičke jedinice inicira automat BRZAUTO koji posredstvom signala REG sadržaj akumulatora se upisuje u prihvatni registar REG12, a zatim signaliom RST resetuje akumulator AKUMULBR12 i flip-flop FC. Sadržaj registra REG12, koji je digitalni ekvivalent brzine i signal TETA koji je digitalizovana pozicija vratila rezolvera se dovode na ulaz multipleksera MUX12_2NA1. Izbor veličine koja će se prikazivati na /A konvertoru (brzina ili
pozicija) vrši se pomoću tastera BRZINA/POZICIJA prikazanog na SEMI1 datoj na disketi u prilogu. Svakim pritiskom na taster menja se stanje flip-flopa prikazanog na šemi bloka TAKUMUL, a samim tim i selekcioni signal multipleksera MUX12_2NA1. Pre nego što se signal sa izlaza multipleksera odvede na /A konvertor mora se izvršiti invertovanje njegovog najvišeg bita. Ovo je neophodno uraditi zbog toga što su signali T i TETA zapisani u drugom komplementu a prenosna karakteristika /A konvertora A767 je takva da on za sve nule na ulazu daje minimalan negativan napon na izlazu, a za sve jedinice na ulazu maksimalan pozitivan izlazni napon. - MUX12_4NA1 - ovo je multiplekser koji zavisno od selekcionih signala S0 i S1, koje generiše upravljačka jedinica, na izlaz bloka PSINCOS propušta odgovarajući signal za adresiranje RAM-a ili signal za prikazivanje na /A konvertoru. Ovaj blok je realizovan u LOGI BLOX modulu Foundation 1.5 paketa, a selekcija je kodovana prirodnim binarnim kodom: - za S1=0 i S0=0 na izlaz multipleksera se propušta adresa odbirka pobude rezolvera - za S1=0 i S0=1 na izlaz multipleksera se propušta adresa na kojoj se nalazi vrednost sinusne fukcije ulaznog signala TETA - za S1=1 i S0=0 na izlaz multipleksera se propušta adresa na kojoj se nalazi vrednost kosinusne fukcije ulaznog signala TETA -za S1=1 i S0=1 na izlaz multipleksera se propušta digitalni ekvivalent ugaone brzine ili pozicije vratila rezolvera koji se prikazuje na /A konvertoru. 5.7 Realizacija upravljačke jedinice Upravljačka jedinica sinhronizovana generatorom učestanosti odabiranja upravlja radom celog sistema po unapred utvrđenom vremenskom redosledu. Ona inicira rad A/ kovertora, očitva rezultate A/ konverzije, očitava potrebne podatke iz RAM-a, upisuje operande u množač, usmerava međurezultate računskih operacija, sinhronizuje rad digitalnog filtra, PI regulatora i akumulatora, upravlja postupkom izračunavanja adresa i adresiranjem RAM-a i upravlja prikazivanjem rezultata R/ konverzije. Upravljačka jedinica je realizovana u okviru bloka UPRAVLJANJE prikazanog na priloženoj šemi R/ konvertora. Sa unutrašnje šeme upravljačke jedinice se vidi da se ona sastoji od sledećih blokova: - AUTO1 - ovaj blok upravlja radom redno-paralelnog množača (MNOZ8P12) opisanog u paragrafu 5.1. Njegovi ulazni signali su: - MNOZI - komandni siganal za početak procesa množenja, - CLK - signal takta. Izlazni signali ovog automata su: - UPIS i POMERI - signali koji upravljaju radom množača, - KRAJ - signal koji označava kraj množenja. Algoritam po kome funkcioniše AUTO1 je dat na slici 5.4: POČETAK NE 1 2 3
Princip rada ovog bloka se može opisati na sledeći način: AUTO1 se nalazi u stanju čekanja dok mu blok AUTO3 ne pošalje, posredstvom signala MNOZI, komandu za početak množenja. U toku jedne operacije množenja AUTO1 osam puta ponovi sledeći ciklus: - postavi signal UPIS na logičku jedinicu u trajanju jednog taktnog intervala, - u sledećem taktnom intervalu postavi signal POMERI na logičku jedinicu, a zatim po završetku osmog ciklusa postavi izlazni signal KRAJ na logičku jedinicu čime obaveštava blok AUTO3 da je množenje završeno. Vremenski dijagram signala ovog automata je prikazan na slici 5.3. Blok AUTO1 je realizovan u vidu VHL koda datog u prilogu. Iz priloženog se vidi da je automat opisan pomoću dva procesa. Proces KM opisuje kombinacionu mrežu automata, dok proces MEM opisuje njegovu memoriju. - AUTO2 - ovaj blok sinhronizovan frekvencijom odabiranja generiše upravljačke signale posredstvom kojih inicira početak rada A/ konvertora. Signali koji upravljaju radom ovog bloka su: - FS - signal učestanosti odabiranja, - CLK - signal takta. Izlazni signali ovog bloka su: - CONV13 - komandni signal posredstvom kojeg AUTO2 inicira početak A/ konverzije u A/ konvertorima A/1 i A/3 sa slike 5.2. - CONV24 - komandni signal posredstvom kojeg AUTO2 inicira početak A/ konverzije u A/ konvertorima A/2 i A/4, sa slike 5.2. Algoritam po kome funkcioniše automat AUTO2 je dat na slici 5.5: POČETAK 2 CONV 13 1 CONV 13 1 CONV 24 1 NE 3
A/ konvertori A7876 imaju više režima rada [9]. Ovde se koristi MO1 u kojem da bi se pokrenula A/ konverzija signal CONV treba prvo oboriti na logičku nulu za vreme t 1 koje minimalno iznosi 50ns, a zatim ga vratiti u stanje logičke jedinice, slika 5.6. Na rastuću ivicu signala CONV započinje A/ konverzija. Po završetku konverzije A/ konvertor postavlja signal INT u stanje logičke nule i time obaveštava okruženje da je rezultat konverzije spreman za očitavanje. Postavljanjem signala CS i R na vrednost logičke nule sadržaj A/ konvertora se pojavljuje na njegovom 12- bitnom ATA izlazu. Na opadajuću ivicu ovih signala signal INT se vraća u stanje logičke jedinice. Po završetku očitavanja signal R kao i signal CS treba vratiti u neaktivno stanje logičke jedinice. slika 5.6 Signali A/ konvertora A7876 u modu 1
Princip rada ovog automata se može opisati na sledeći način: AUTO2 po nailasku sinhro-impulsa FS iz generatora periode odabiranja obara signal CONV13 na vrednost logičke nule, a zatim ga u sledećem taktnom intervalu vraća u početno stanje logičke jedinice i odlazi u stanje čekanja sledećeg sinhro-impulsa. Kako je gore rečeno, na rastuću ivicu signala CONV13 započinje A/ konverzija u konvertorima A/1 i A/3. Nailaskom sledećeg sinhro-impulsa FS AUTO2 obara signal CONV24 na vrednost logičke nule, a zatim ga slično predhodnom slučaju, u sledećem taktnom intervalu vraća na vrednost logičke jedinice i odlazi u stanje čekanja sledećeg sinhro-impulsa. Na rastuću ivicu signala CONV24 započinje A/ konverzija u konvertorima A/2 i A/4. Nailaskom sledećeg sinhro-impulsa AUTO2 ponovo postavlja signal CONV13 na logičku nulu itd. Vremenski dijagram ulaznih i izlaznih signala automata AUTO2 je dat na slici 5.7: slika 5.7 Vremenski dijagram signala automata AUTO2 AUTO2 je ralizovan u vidu VHL koda datog u prilogu. Iz priloženog koda se vidi da se on sastoji iz dva procesa. Proces KM opisuje kombinacionu mrežu automata, dok proces MEM opisuje memorijski deo automata. - AUTO3 - ovaj blok posredstvom svojih upravljačkih signala upravlja očitavanjem sadržaja A/ konvertora, usmerava odgovarajuće adrese na adresnu magistralu RAM-a i upravlja očitavanjem potrebnih podataka iz RAM-a, kontroliše upisivanje operanada u množač, usmerava međurezultate tokom procesa obrade signala, kontroliše rad digitalnog filtra, PI regulatora i akumulatora, upravlja prikazivanjem rezultata R/ konverzije i generiše signale pomoću kojih upravlja radom ostalih automata u okviru upravljačke jedinice. Ulazni signali ovog bloka su: - INT1, INT2, INT3 i INT4 - ovo su gore pomenuti signali koje generišu A/ konvertori. Ovi signali se dovode u parovima preko dvoulaznih logičkih ILI kola. Na ovaj način se ne dozvoljava započinjanje ciklusa R/ konverzije sve dok se ne završi A/ konverzija oba rezolverska signala. Tek kada odgovarajući par A/ konvertora (A/1 i A/3 ili A/2 i A/4) završi konverziju na jednom od izlaza ILI kola se pojavljuje logička nula koja inicira početak R/ konverzije. Ovde treba napomenuti da su konvertori povezani sa ostatkom sistema tako da par A/1 i A/2 vrši diskretizaciju signala U SIN, dok par A/3 i A/4 vrši diskretizaciju signala U COS. - KRAJ - signal koji generiše automat AUTO1 za kontrolu množenja. Postavljanjem ovog signala na logičku jedinicu AUTO1 obveštava AUTO3 da je završena operacija množenja.
- CLK - signal takta. Blok AUTO3 na svom izlazu generiše sledeće signale: - R1, R2, R3 i R4 - signali pomoću kojih se očitava sadržaj A/ konvertora. - SA - signal dozvole upisa operanda iz RAM-a u 8-bitni registar množača i iz A/ konvertora u 12-bitni registar množača (paragraf 5.1) - SB - signal dozvole upisa 20-bitnog izlaza množača u prihvatni registar bloka QMP20NA12, (paragraf 5.2) - X0 i X1 - kontrolni signali koji upravljaju blokom PSINCOS (paragraf 5.6) - MNOZI - signal pomoću kojeg AUTO3 šalje komandu za započinjanje procesa množenja automatu AUTO1 - FILTAR - signal koji sinhronizuje rad digitalnog NF filtra, PI regulatora i akumulatorskog registra sa ostatkom sistema - SEL - selekcioni signal koji upravlja radom multipleksera MUX12_2NA1 na 12-bitnom ulazu množača. Zavisno od vrednosti ovog signala na ulaz množača se dovodi sadržaj nekog od A/ konvertora ili signal sa izlaza bloka QMP20NA12. - PROPUSTI - signal posredstvom kojeg se upravlja blokom QMP20NA12 (paragraf 5.2). Zavisno od vrednosti ovog signala blok QMP20NA12 realizuje odzimanje dva uzastopna 20-bitna proizvoda sa izalza množača i otseca razliku na 12 bita ili samo otseca donjih osam bita 20-bitnog izlaza množača - CSA - signal posredstvom kojeg se upisuje digitalni ekvivalent brzine obrtanja rezolvera i njegove pozicije u /A konvertor Algoritam po kome funkcioniše automat AUTO3 je dat na slici 5.8: POČETAK NE 1 4 7 10 INT13 = 0 A sinω e t B A2 B R A P A B A cosθ A sinω e t B A1 NE 5 P A B P A B A cosθ NE 8 NE 11 P A B KRAJ = 1 NE 2 A Q 0 KRAJ = 1 A KRAJ = 1 A KRAJ = 1 R Q + P 12 Q P Q 0 A θ n NFPI( R) B A4 R Q + P 12 Q P n n 1 θ θ + θ n A sinθ θ n NFPI( R) B A3 λ n n 1
Princip rada ovog automta se može opisati na sledeći način: AUTO3 se nalazi u stanju čekanja sve dok signali INT1 i INT3 ne uzmu vrednost logičke nule, odnosno dok A/ konvertori A/1 i A/3 ne završe proces konverzije. Kada AUTO3 dobije informaciju o završetku A/ konverzije posredstvom signala R1 i SA očitava digitalizovanu vrednost signala U SIN iz A/ konvertora A/1 i upisuje je u 12-bitni prihvatni registar množača, istovremeno posredstvom signala X0, X1 i SA iz RAM-a očitava vrednost kosinusa digitalizovanog ugla θ i upisuje u 8-bitni registar množača. Nakon upisivanja operanada u množač postavljanjem signala MNOZI na logičku jedinicu AUTO3 pokreće proces množenja (pod kontrolom automata AUTO1) i prelazi u stanje čekanja do završetka rada množača. Kada se završi proces množenja automat AUTO1 postavi signal KRAJ na logičku jedinicu i time obaveštava AUTO3 da je množenje završeno. Po prijemu ovog signala AUTO3 postavljanjem signala SB na logičku jedinicu, upisuje rezultat množenja u prihvatni registar bloka QMP20NA12, a zatim posredstvom signala R3 i SA očitava digitalizovanu vrednost signala U COS iz A/ konvertora A/3 i upisuje je u množač. Istovremeno sa očitavanjem A/ konvertora AUTO3 posredstvom signala X0, X1 i SA očitava vrednost sinusa digitlizovanog ugla θ iz RAM-a i upisuje je u 8-bitni registar množača. Po završetku upisivanja operanada u množač postavljanjem signala MNOZI na logičku jedinicu pokreće novi proces množenja i odlazi u stanje čekanja. Po završetku operacije množenja blok QMP20NA12, pri vrednosti signala PROPUSTI jednakoj logičkoj nuli (paragraf 5.2), vrši oduzimanje upravo izračunatog proizvoda od predhodnog rezultata množenja zapamćenog u prihvatnom registru istog bloka i nakon toga otsecanje donjih osam bita razlike formirajući 12-bitni izlaz. Sada AUTO3 postavlja signal SEL na logičku nulu i na taj način dovodi signal sa izlaza bloka QMP20NA12 na 12-bitni ulaz množača, a zatim postavljanjem signala SA na logičku jedinicu vrši njegovo upisivanje u množač. Istovremeno posredstvom signala X0, X1 i SA AUTO3 kontroliše očitavanje odbirka pobude rezolvera iz RAM-a i njegovo upisivanje u množač, a nakon toga postavljanjem signala MNOZI na logičku jedinicu pokreće proces množenja.
Pre završetka operacije množenja AUTO3 postavlja signal PROPUSTI na logičku jedinicu i na taj način dovodi blok QMP20NA12 u drugi režim rada u kojem ovaj blok vrši samo otsecanje donjih osam bita izlaza množača (paragraf 5.2). Kada se završi množenje, odnosno kada signal KRAJ uzme vrednost logičke jedinice, AUTO3 postavlja signal FILTAR na logičku jedinicu čime dozvoljava upis izlaznog signala iz bloka QMP20NA12 u digitalni NF filtar i samim tim izračunavanje priraštaja ugaone koordinate u NF filtru i PI regulatoru kao i akumulisanje izračunatog priraštaja u akumulatorskom registru. Nakon formiranja nove vrednosti digitalizovane ugaone koordinate vratila rezolvera θ u akumulatorskom registru i formiranja digitalnog ekvivalenta brzine u bloku TAKUMUL, AUTO3 postavljanjem signala X0 i X1 na logičku jedinicu i signala CSA na logičlu nulu vrši upisivanje pomenutog ekvivalenta brzine obrtanja rezolvera ili njegove pozicije (zavisno od signala BRZ_POZ, paragraf 5.6) u /A konvertor u cilju formiranja odgovarajućeg analognog napona. Po upisivanju sadržaja u /A konvertor AUTO3 odlazi u stanje čekanja do završetka procesa A/ konverzije u drugom paru A/ konvertora (A/2 i A/4). Po završetku A/ koverzije ovi A/ konvertori postavljaju svoje INT izlaze na logičku nulu i time iniciraju novi ciklus R/ konverzije. Vremenski dijagrami signala ovog automata su prikazani na slici 5.9. Automat AUTO3 je slika realizovan 5.9 Vremenski u vidu dijagram VHL koda signala datog automata u prilogu. AUTO3 Iz priloženog koda se vidi da se on sastoji iz dva procesa. Proces KM opisuje kombinacionu mrežu automata dok proces MEM opisuje memorijski deo automata. 5.8 Realizacija generatora učestanosti odabiranja Funkciju generatora učestanosti odabiranja obavlja blok FSGENERATOR. Ovaj blok je realizovan u LOGI BLOX modulu Foundation 1.5 paketa kao delitelj učestanosti. Njegovi parametri su odabrani tako da on učestanost takta od 12 MHz koju generiše kvarcni oscilator na XS40 kartici deli sa 75, i na taj način fomira signal učestanosti