BUDAPESTI MŰSZAKI EGYETEM KÖZLEKEDÉSMÉRNÖKI KAR KÖZLEKEDÉSAUTOMATIKAI TANSZÉK
Digitális-Analóg (D/A) és Analóg-Digitális (A/D) átalakítók Segédlet az Irányítástechnika I. c. tantárgyhoz
Összeállította: DR.HRIVNÁK ISTVÁN egyetemi adjunktus BME Közlekedésautomatikai Tanszék
Lektorálta: HALMAVÁNSZKI JÁNOS MTA Izotóp Intézet
2
D/A és A/D átakítók
Budapest, 1995. augusztus-szeptember
BME Közlekedésautomatikai Tanszék
3
D/A és A/D átakítók
Tartalomjegyzék BEVEZETÉS _________________________________________ 6 I.1. Az analóg-digitális és a digitális analóg átalakítás ________ 7 I.2. D/A átalakítók alapelvei _____________________________ 7 I.3. CMOS technológiájú D/A átalakítók___________________ 9 I.3.1. Súlyozott áramok összegezése _______________________ 9 I.3.2. D/A átalakító morzekapcsolóval ____________________ 10 I.3.3. Ellenálláslétra ______________________________________ 11 I.3.4. Inverz létrakapcsolás _________________________________ 13
I.4. Bipoláris technológiájú D/A átalakítók ________________ 14 I.5. D/A átalakítók különleges célokra ____________________ 15 I.6. D/A átalakítók néhány alkalmazása __________________ 16 I.6.1. Függvénygenerátorként alkalmazott D/A átalakítók ________ 16
I.6.2. D/A átalakító alkalmazása tetszőlegesen programozható függvénygenerátorokban __________________________ 19 I.6.3. D/A átalakító alkalmazása programozható méréshatárú mérőerősítőkben_____________________________________ 20
I.7. D/A átalakítók pontossága __________________________ 21 I.7.1. Statikus jellemzők____________________________________ 21 I.7.2. Dinamikus jellemzôk _________________________________ 22
II.1. Az A/D átalakítás alapelvei _________________________ 27 II.2. Az A/D átalakítók jellemzõi ________________________ 29 II.2.1. Statikus hibák ______________________________________ 29 II.2.2. Dinamikus hibák____________________________________ 31
II.3. Az A/D átalakítók megvalósítása ____________________ 33 II.3.1. Közvetlen módszer___________________________________ 33 II.3.2. Kompenzációs elven működő átalakítók _________________ 37 BME Közlekedésautomatikai Tanszék
4
D/A és A/D átakítók
II.3.2.1. Követő (servo, vagy tracking) átalakító ___________ 38 II.3.2.2. Szukcesszív approximáció _____________________ 39
BME Közlekedésautomatikai Tanszék
5
D/A és A/D átakítók
II.3.3. Kaszkád elrendezés __________________________________ 42 II.3.4. Számlálót alkalmazó megoldások_______________________ 43 II.3.4.1 Fűrészfeszültség-eljárás (single slope)_____________ 44 II.3.4.2. Kettôs integrálási eljárás (dual slope) _____________ 44 II.3.5. Feszültség-frekvencia átalakítók (U-F konverterek): _______ 48 II.3.6. "Egy-bites", "delta" átalakítók ________________________ 50 II.3.7. A/D átalakítók realizálása mikroprocesszor felhasználásával 52
III. Az A/D és D/A átalakítók kiegészítõ eszközei ___________ 55 IV. A/D és D/A átalakítók felhasználása __________________ 55 Irodalomjegyzék______________________________________ 57 MÉRÉSI ÚTMUTATÓ ________________________________ 58
BME Közlekedésautomatikai Tanszék
6
D/A és A/D átakítók
BEVEZETÉS
Az elektronika a tudomány és a technika szinte valamennyi területét meghódította. Ismerete nemcsak a híradástechnikában, a számítástechnikában és az adatfeldolgozásban nélkülözhetetlen, hanem az élet minden területén, ahol mérni, vezérelni és szabályozni kell. A berendezéseket csak akkor használhatjuk rendeltetésszerűen, ha működésükkel tisztában vagyunk. Ez a segédlet a Budapesti Műszaki Egyetem Közlekedésmérnöki Kar hallgatói számára az Irányítástechnika I. című tantárgyhoz készült. Azokat az áramköri kapcsolásokat és eszközöket mutatja be, amelyek az analóg és digitális technika közötti kapcsolatot teremtik meg, elemezve néhány konkrét alkalmazási példát is. A témakör tárgyalása során feltételezzük, hogy az olvasó birtokában van az alapvető elektrotechnikai, digitális technikai és számítástechnikai ismereteknek. A segédlet elsősorban U.Tietze-Ch.Schenk: Analóg és digitális áramkörök c. könyv D/A és A/D átalakítók c. fejezete alapján készült, kiegészítve néhány, a könyv kiadása óta megjelent újabb áramkörrel, eszközzel.
BME Közlekedésautomatikai Tanszék
7
D/A és A/D átakítók
I.1.
Az analóg-digitális és a digitális analóg átalakítás
Ha folytonos analóg jelet digitálisan kell feldolgozni, akkor az analóg bemenô jelet az értékének megfelelô számmá (digitális értékké) kell alakítani. A feladatot analóg-digitális átalakítóval (A/D átalakító, A/D konverter, ADC) lehet megoldani. A Z számnak arányosnak kell lennie a bemeneti feszültséggel:
Z=
U be U LSB
ahol ULSB a legkisebb súlyú bithez tartozó feszültségegység (Least Significant Bit, LSB), tehát a Z=1-hez tartozó feszültség. A számok visszaalakítása ezzel arányos feszültséggé vagy árammá digitálanalóg átalakítóval (D/A átalakító, D/A konverter, DAC) lehetséges. Kimeneti feszültségük arányos a bemenetre adott számmal: Uki = ULSB Z. I.2.
D/A átalakítók alapelvei
A D/A átalakítók egy számot (digitális értéket) vele arányos feszültséggé alakítanak. Három, elvileg eltérő megoldást különböztethető meg: a) b) c)
a párhuzamos (direkt) eljárás, a súlyozásos eljárás, a számláncot alkalmazó eljárás.
A három eljárás elvét az l. ábra foglalja össze. Az l.a. ábrán a párhuzamos eljárásnál a feszültségosztó minden lehetséges kimeneti feszültséget elôállít. A kapcsolókat működtető n-bôl 1 dekódoló azt a kapcsolót zárja, amihez a megfelelô kimeneti feszültség tartozik. A súlyozásos eljárásnál az l.b. ábrán minden helyértékhez egy kapcsoló tartozik, és a súlyozó ellenállásokon át a szükséges kimeneti feszültség összegezôdéssel jön létre. Az l.c. ábrán változatosan ábrázolt számláncos eljárás csak egy kapcsolót igényel. A kapcsolót periodikusan nyitjuk és zárjuk. A kitöltési tényezőt úgy kell BME Közlekedésautomatikai Tanszék
8
D/A és A/D átakítók
beállítani, hogy a kimeneti feszültség számtani középértéke az elôírt értékre álljon be. U ref U ref
K4 U ki
R
K2
R
K1
2R
K0
4R
U ki
K3
R K2
b) Súlyozásos közelítés
R K1
U ref R
R K0
K
U ki
C
a) Párhuzamos eljárás
c) Számláncot alkalmazó eljárás
1. ábra D/A átalakítók megoldási módszerei +U t
+U t
+U t
U ki
1 T2
T1
U be U ki
T1
U be D U vez
U vez
T2 I0
I
Zár: U vez = +U t Nyit: U vez = 0V
⎧ 0V , ha U vez > 0V U ki = ⎨ ⎩> 0V , ha U vez < 0V
2. ábra Soros CMOS kapcsoló
3. ábra Differenciálerősítő elvű kapcsoló
BME Közlekedésautomatikai Tanszék
9
D/A és A/D átakítók
Az összehasonlítva az 1. ábrán bemutatott három módszert látható, hogy a párhuzamos eljárás Zmax+1 számú kapcsolót igényel, a súlyozásos megoldás log2 (Zmax+1) számút, a számláncot alkalmazó átalakító pedig egyetlen kapcsolóval működik. A párhuzamos megoldást a nagyszámú kapcsoló miatt ritkán használják. Ugyancsak ritka a számláncos eljárás alkalmazása is, amelynek az a hátránya, hogy a feltétlenül szükséges alul áteresztô szűrô miatt a kimeneti feszültség csak lassan változhat. A súlyozással működô D/A átalakító megoldások a leginkább elterjedtek a gyakorlati alkalmazásban. A továbbiakban ezen átalakítók többféle megvalósítási lehetôségérôl lesz szó. A kapcsolók áramköri megvalósítására alapvetően két megoldás terjedt el. CMOS áramkörökben a 2. ábrán látható transzmissziós kaput (transmission gate) használnak. Bipoláris áramkörökben állandó áramokat állítnak elô, és a kapcsolást 3. ábrához hasonló elrendezésben valósítják meg. I.3.
CMOS technológiájú D/A átalakítók
I.3.1. Súlyozott áramok összegezése A 4. ábrán látható egyszerű áramkör bináris számok velük arányos feszültséggé való átalakítását végzi.
U ref
2R
4R
8R
16R
Z3
Z2
Z1
Z0
3
2
2
2
1
Ik
+
0
2
U ki = −U ref
R V= R
2
Z ; 16
Ik =
U ki
U ref Z R 16
4. ábra Egy D/A átalakítási elv Az ellenállásokat úgy határozzuk meg, hogy zárt kapcsolóállásnál olyan áram folyjon rajtuk keresztül, amely megfelel az adott helyérték súlyának. A kapBME Közlekedésautomatikai Tanszék
10
D/A és A/D átakítók
csolókat akkor zárjuk, ha az adott helyértéken logikai 1 van. A műveleti erôsítô RV ellenálláson létrejövô negatív visszacsatolása miatt az összegzô ponton mindig zérus feszültség marad. A részáramok tehát nem befolyásolják egymást. Ha a Z0-val vezérelt kapcsoló van zárva, akkor a kimeneti feszültség: U ki = U LSB = −U ref
Rv 1 = − U ref 16 R 16
Ha minden kapcsoló zárva van, akkor U ki = U ki max = −U ref
15Rv 15 = − U ref . 16R 16
Általános esetben U ki = Z U LSB = −U ref
Z Zmax + 1
.
I.3.2. D/A átalakító morzekapcsolóval Az elôzô D/A átalakító hátránya, hogy a kapcsolón nagy feszültségváltozások lépnek fel. A nyitott kapcsolón Uref feszültségkülönbség van, záráskor a feszültségkülönbség 0 lesz. Ezért minden átkapcsolás során át kell tölteni a kapcsoló parazitakapacitásait. Ez a hátrány kiküszöbölhető, ha az 5. ábra szerint morzekapcsolót használunk, amely az összegzô- és a földpont között kapcsol át. Ezáltal minden ellenálláson állandó marad az áram. Ebbôl más elôny is adódik: a referenciafeszültség-forrás terhelése állandó marad.
U ref I' k
2R
4R
8R
16R
Z3
Z2
Z1
Z0
R V= R Ik
+
BME Közlekedésautomatikai Tanszék
U ki
11
D/A és A/D átakítók Ik =
U ref
Z
R Zmax + 1
;
I k' =
U ref Zmax − Z R Zmax + 1
U ki = Z U LSB = −U ref
Z Zmax + 1
5. ábra D/A átalakító morse kapcsolókkal A referenciafeszültség-forrás belsô ellenállásának az elôzô kapcsolással szemben nem kell 0-nak lennie. Az ellenállás-hálózat bemeneti ellenállása, amely egyben a referenciaforrás terhelô-ellenállása is példánkban : Rbe = 2 R x 4 R x 8 R x 16 R =
15 R. 16
I.3.3. Ellenálláslétra Az integrált D/A átalakítók gyártásánál általában a nagy érték tartományt átfogó, pontos ellenállások megvalósítása okozza a legnagyobb nehézségeket. Ezért a súlyozást a helyértékek szerint gyakran ellenállás-létrahálózattal valósítják meg, amint az a 7. ábrán látható. Ebben az esetben a binárisan növekvő ellenállás sor helyett csak R és 2R értékű ellenállásokat kell a félvezető lapkára integrálni. Egy ilyen létrahálózat alapeleme a 6. ábra szerinti terhelt feszültségosztó, amely a következô tulajdonságú: ha Rt terhelô ellenállással terheljük, akkor Rbe bemeneti ellenállásának Rt -nek kell lennie. Rt
U1
R be= R t
Rg
Rt
6. ábra Létrahálózat egy fokozatának felépítése
BME Közlekedésautomatikai Tanszék
U2
12
D/A és A/D átakítók U ref
U ref
R
2
2R U ref I' k
Z3
U ref R
4
2R
8
2R Z1
Z2
U ref R
Rg =2R
Rt =2R
Z0
RV = R Ik
U ki = Z U LSB = −U ref
+
U ki
Z Zmax + 1
7. ábra D/A átalakító létrahálózattal Az a α=U2/U1 feszültségátvitelnek ennél a terhelésnél egyenlônek kell lennie egy elôre megadott értékkel. Ezzel a két feltétellel megkapjuk a méretezési egyenleteket: R1 =
(1 − α )2 Rg α
,
és
Rt =
(1 − α ) R . g α
A bináris kódnál α = 0,5. Ha feltételezzük, hogy Rg=2R, akkor R1 = R
és
Rt= 2R,
összhangban a 7. ábrával. A referenciafeszültség-forrást az Rbe = 2 R x 2 R = R
ellenállás terheli. Az összegzô erôsítô kimeneti feszültsége: U ki = − Rv I k = −U ref
Rv R (8Z3 + 4 Z2 + 2 Z1 + Z0 ) = −U ref v Z 16 R 16 R
A 6. ábrán látható D/A átalakító csak R értékű ellenállásokat tartalmaz. A 2R ellenállás két R értékű ellenállás sorba kapcsolásával helyettesítő. Ezért nagyon jól gyártható az áramkör monolit technológiával is. A szükséges együttfutási pontosság így egyszerűen biztosítható. Az ellenállások értéke érdektelen, a névleges értéktől való eltérés nem okoz hibát, csupán a relatív hibát kell BME Közlekedésautomatikai Tanszék
13
D/A és A/D átakítók
minél kisebbre csökkenteni. Még ±50 %-os eltérések is szokásosak. Természetesen emiatt az Ik és Ik’ áramok is széles határok között változnak. A pontos kimeneti feszültség biztosítása céljából az RV visszacsatoló-ellenállást is ugyanazon a monolit chip-en kell megvalósítani. Így az előző egyenletben R abszolút értékével egyszerűsíthetünk; ez nem szól bele a kimeneti feszültség értékébe. Ezért az áram - feszültség átalakítására mindig belsô visszacsatolóellenállást kell használni és sohasem külsô ellenállást. I.3.4. Inverz létrakapcsolás A létrahálózat a 8. ábrán feltüntetett módon felcserélt bemenettel és kimenettel is elônyösen működhet, mert az összegzéshez ilyenkor erôsítô sem szükséges. Számításba kell venni a már említett hátrányokat, vagyis azt, hogy a kapcsolók nagy feszültségkülönbségű pontok közt kapcsolnak, és a referencia feszültségforrás terhelése is változik. A kimeneti feszültség számításához szükség van az Ui feszültségek és a hozzátartozó Ui’ csomóponti feszültségek közötti összefüggésekre. A szuperpozíció-tételt felhasználva minden bemeneti feszültségforrás feszültségét 0-nak vesszük, kivéve az Ui vizsgált feszültséget, majd összeadjuk az így kapott egyes kimeneti részfeszültségeket. Ha lezárjuk a hálózatot jobbról és balról R1 = Rt = 2R-rel, akkor feltételezés szerint minden csomóponttól jobbra és balra Rt = 2R eredô terhelés adódik. Ebbôl következnek az egyes feszültségek: 1 U i' = ΔU i . 3
A megfelelôen súlyozott részfeszültségek összegzésével a kimeneti feszültség: 1⎛ U U U ⎞ 2U ref Z U ki = ⎜ U 3 + 2 + 1 + 0 ⎟ = ⋅ 3⎝ 2 4 8⎠ 3 16
Mivel az áramkör belsô ellenállása független a beállított számtól és állandó értékű: Rb = Rt x Rg = (1 − α ) Rg = R ,
ezért a súlyozási arány akkor is megmarad, ha az R1 terhelô-ellenállás nem a feltételezett R1 = 2R értékű. BME Közlekedésautomatikai Tanszék
14
D/A és A/D átakítók U 0'
Rt =2R
R
Rg =2R
U 1'
2R U0
Z3
Z2
R
U 2'
2R U1
Z1
Iki
U 3'
R
2R U2
Z0
R1
U3
U ki
U ref
R1 Z R1 Z ⋅ = U ref ⋅ R + R1 Zmax + 1 R + R1 16
U ki = U ref
8. ábra Inverz létrakapcsolás A 9. ábrán látható helyettesítô képbôl a következő egyenletbôl közvetlenül megkaphatjuk az üresjárási feszültséget és a rövidzárási áramot : U ki0 =
U ref 16
Z = U ref
Z
I kir =
Zmax + 1 Rg = R
U0
U ref 16 R
Z=
Rref
Z
R Zmax + 1
Iki
R1 = 2R
U ki
9. ábra Az üresjárási kimeneti feszültség és a rövidzárási áram számítására alkalmas helyettesítő kép I.4.
Bipoláris technológiájú D/A átalakítók
A bipoláris technológiájú D/A átalakítók egyszerűen áramgenerátorokkal realizálhatók, amelyek az eredô kimenô áram összetevôit alkotják. Az elvet a 10. ábrán láthatjuk.
BME Közlekedésautomatikai Tanszék
15
D/A és A/D átakítók Ik
Z3
Z2
Z1
8ILSB
Z0
4ILSB
-
-
U ki = − Rt I LSB Z
I'k
2ILSB -
I k = I LSB Z
Rt
U ki
ILSB -
I k' = I LSB ( Zmax − Z )
10. ábra Kapcsolt áramgenerátoros D/A átalakító Az áramok helyértékük szerinti súlyozásúak. Aszerint, hogy az illetô bináris helyértéken 1 vagy 0 van; a helyértéknek megfelelô áram a kimenetre jut, vagy a föld felé folyik. Az Ik áram összegzô sínjének nem kell feltétlenül 0 feszültségen lenni, mert az áramgenerátor árama feszültség független. Természetesen ez az áramgenerátor kivezérlési tartományán belül érvényes csak. Az áramok összegzésére tehát megfelel egy terhelô ellenállás is. Az állandó áramok egyszerű tranzisztoros áramgenerátorokkal állíthatók elô. Ha a bázisfeszültségek egyenlôek, és minden emitter ellenállást a negatív tápfeszültségre csatlakozik, akkor az ellenállásoknak a helyérték súlyával fordított arányban kell változniuk. Ez a bipoláris technikában is toleranciaproblémákat okoz. Emiatt az áram elosztását itt is a korábbiakban megismert létrahálózattal illetve inverz-létrahálózattal oldják meg. I.5.
D/A átalakítók különleges célokra
Az előzőekben ismertetett D/A átalakítók különleges célokra is felhasználhatók. Rendelkezésre állnak olyan D/A átalakítók, amelyek alkalmasak többek között: - BCD (Binary Coded Decimal) számok analóg feszültséggé való átalakítására; - előjeles számok feldolgozására; - szorzó típusú átalakításra; - osztó típusú átalakításra. BCD számok analóg feszültséggé való átalakításakor minden decimális helyértékhez (dekádhoz) egy négy helyértékű D/A átalakító egységet használunk,
BME Közlekedésautomatikai Tanszék
16
D/A és A/D átakítók
és ezeket egy olyan létrahálózattal kötjük össze, amely súlya egységről egységre α=1/10 arányban csökken. Az előjeles számok feldolgozására alkalmas D/A átalakítók esetén a bemenô digitális információt - amely lehet pozitív és negatív szám - a megfelelő pozitív illetve negatív feszültséggé kell alakítani. A tetszôleges elôjelű bináris számok megszokott ábrázolási formája a kettes komplemens alak. Például 8 biten -128 és + 127 közötti tartományban írhatjuk fel a számokat ilyen formában. A D/A átalakítóba való beírásnál 128 hozzáadásával eltoljuk a számsort 0 és 255 közé. A 128-nál nagyobb számokat pozitívként értékeljük, a 128-nál kisebbeket negatívként. A tartomány közepét, esetünkben 0-t, a 128 jelenti. Az elôjeles számoknak ezt a felírásmódját, amikor csak pozitív számokat használunk, ofszet bináris ábrázolásnak hívjuk (offset binary). 128 hozzáadása egészen egyszerűen elvégezhetô az elôjelbit negálásával. Ahhoz, hogy a kimeneti feszültséget elôjelhelyesen megkapjuk, ki kell vonjuk a 128 ULSB = Uref/2 ofszetet. Ez egy egyszerű kivonó áramkörrel megoldható. A D/A átalakítók kimeneti feszültsége arányos a bemenetre adott Z számmal és az Uref referenciafeszültséggel. Tehát a Z Uref szorzatot állítják elô. Azokat a D/A átalakítókat, amelyeknél a referenciafeszültség változtatása lehetséges, szorzó típusú D/A átalakítóknak nevezzük. A bipoláris technológiával készült átalakítók csak pozitív referenciafeszültséggel működhetnek, mert ellenkezô esetben az áramgenerátorok lezárnának. A CMOS technológiával készült D/A átalakítóknál mind pozitív, mind negatív referenciafeszültség megengedett. A D/A átalakítót úgy is működtethetjük, hogy az átalakítandó számmal osztás jöjjön létre (osztó típusú D/A). Ebben az esetben a műveleti erôsítô visszacsatoló ágába helyezzük a szorzó D/A áramkört. I.6.
D/A átalakítók néhány alkalmazása
I.6.1. Függvénygenerátorként alkalmazott D/A átalakítók A szokásos D/A átalakítók kimeneti feszültsége arányos az átalakítóra adott Z számmal: Uki = aZ. Ha ehelyett egy tetszôleges Uki =f(Z) összefüggést kell realizálnunk, akkor elôször egy függvénygenerátorral ki kell alakítani az X=f(Z) függvényt, és az X értéket kell a D/A átalakítóra adni. Kisebb felbontási igénynél azonban erre van egy sokkal egyszerűbb módszer is. A Z bináris számmal egy analóg multiplexert vezérelünk. Ennek bemeneteire adjuk azokat az analóg jeleket, amelyeket a különbözô bináris számokhoz BME Közlekedésautomatikai Tanszék
17
D/A és A/D átakítók
kívánunk rendelni. Tehát minden analóg értékhez egy kapcsoló szükséges. Ez a megoldás csak kb. 16 lépésig célszerű. A 11. ábra egy ilyen megoldási lehetőséget ábrázol.
+ Uref
- U ref
R7
R6
R5
R4
K7
K6
K5
K4
K3
K2
K1
K0
R3
R2
R1
RV Ik
+
U ki
R0
11. ábra D/A átalakító tetszőleges súlyokkal Az K0. . . K7 kapcsolókból - a szokásos D/A átalakítókkal szemben - mindig csak egyet zárunk. Ezzel a kimeneti feszültség függvényértéke : ⎧ ⎪⎪ +U ref U ki ( Z ) = ⎨ ⎪−U ref ⎪⎩
Rv , ha Z = 0...3 (i = 0,1,2,3) Ri Rv , ha Z = 4...7 ( j = 4,5,6,7 ) Rj
Ezt az elvet fôleg szinuszos feszültségek digitális elôállításánál használják (pl. modemekben). Frekvenciaosztók segítségével egyszerűen lehet olyan különbözô frekvenciájú jeleket elôállítani, amelyek közös idôalapból származnak. Analóg rendszerekben való felhasználás szempontjából azonban nagy hátrányuk, hogy a kimenô jelek négyszögjelek. Ezekbôl úgy állíthatók elő szinuszjelek, hogy az alap harmonikust egy alul áteresztô szűrôvel vagy sáváteresztô szűrôvel kiválasztjuk. Ezt a szűrôt azonban mindig a megfelelô frekvenciára kell hangolni.
BME Közlekedésautomatikai Tanszék
18
D/A és A/D átakítók
sin(φ) 1,25
+3
1,00
+2
0,75
+1
0,50
+0
0,25 0,00 -0,25
-0
-0,50
-1
-0,75
-2
-1,00
-3
-1,25 -2
-7/4 -6/4 -5/4
-1
-3/4 -2/4 -1/4
0
1/4
2/4
3/4
1
5/4
6/4
7/4
2
2φ/π 12. ábra Szinusz függvény közelítése 16 lépcsővel +5V
f be
51k
+ [1] [2] [4] [8]
56k
91k
C
240k
Z0
R V = 20k =1
0
=1
1
K7
Z1 Z2
K6
K5
K 4 UDD
+
U1 Analóg multiplexer (pl. CD 4051)
0 G 7
Z3 K3
2
51k
K2 56k
U ki
K 0 U EE
K1 91k
U SS
240k
-5V
U ki = −
RV f U1 sin 2π be t 16 Ω
13. ábra Folyamatos szinusz jel előállítása Ezzel szemben a fenti megvalósítású D/A átalakítóval elôállíthatók frekvencia függetlenül szinusz jelek. Digitális bemenô jelként azonos idôintervallumonként a 12. ábra szerinti egyenletesen növekvô és csökkenô digitális számsorra van szükség. BME Közlekedésautomatikai Tanszék
19
D/A és A/D átakítók
Ha a számábrázolás abszolút érték és elôjel szerinti, akkor a kívánt számsor legegyszerűbben ciklikusan működô bináris számlálóval realizálható. A legnagyobb helyértékű bit az elôjel. A második legnagyobb helyértékű bittel kapcsolható át a kisebb helyértékű bitek számlálási iránya a megfelelô kimenetek kizáró VAGY-kapukkal történő negálásával. Ezek a bitek adják az abszolút értéket. A 13. ábrán feltüntetett megoldás 4 bites bináris számlálót használ. Hátránya ennek a kapcsolásnak, hogy a szinusz függvény pontos közelítéséhez nagyon pontos ellenállásértékeket kell biztosítani, ezért e helyett a következőkben ismertetendő megoldást alkalmazzák. I.6.2. D/A átalakító alkalmazása tetszőlegesen programozható függvénygenerátorokban A tetszőlegesen programozható függvénygenerátorok (AFG = Arbitrary Function Generator) az előre beprogramozott jelalakok (pl.: szinusz jel, négyszög jel, háromszög jel, stb.) választásán kívül lehetőséget biztosítanak tetszőleges jelalak beállítására is. Ezek a függvénygenerátorok a digitális oszcilloszkóp mintegy “kifordított” változatai. Amíg a digitális oszcilloszkóp a mérendő jelalakról meghatározott időközönként mintát vesz és eltárolja azt egy adathalmazban, addig a programozható függvénygenerátorok egy ilyen adathalmazból veszik meghatározott időközönként a jelalakot leíró értékeket, és egy D/A átalakító segítségével előállítják azt. A kívánt jel lehet egy digitális oszcilloszkóppal mért és onnan a függvénygenerátorba áttöltött, jelalakot leíró adathalmaz, illetve bármilyen jelalak beprogramozható a függvénygenerátorhoz rendelkezésre álló programozó eszközök segítségével. A 14. ábra egy ilyen tetszőlegesen programozható függvénygenerátor elvi felépítését mutatja be. Példánkban egy 8 bites D/A átalakító állítja elő kimeneti jelalakot. A D/A átalakító bemenetére (Data: D0-D7) egy 1024 byte kapacitású tároló juttatja a digitális (bináris) értékeket. Ebben a felépítésben 28=256 féle különböző értékkel képezhető le egy jel periódus. A számláló a beállított frekvenciának megfelelően lépteti a tároló címeit. A kimeneti jel frekvenciája jelen esetben f0/256. A K1, K2, K3, K4 kapcsolókkal a tárolóban tárolt 4 féle jelalak közül választhatunk például a 15. ábrán látható táblázatnak megfelelően: A programozhatóság feltétele, hogy a tároló, vagy annak megfelelő tartománya kívülről átírható legyen (pl. E2PROM). A tetszőlegesen programozható függvénygenerátorok széles frekvenciatartományt ölelnek át. Például Tektronix AFG 5101 típusú függvénygenerátora 12Hz - 12MHz tartományban működik, 12 bites felbontás mellett. BME Közlekedésautomatikai Tanszék
20
D/A és A/D átakítók
D/A átalakító Jelalak választás
Kimenet
Adat D0 - D7
K1 Cím K2 K3
Frekvencia kijelzés
TÁROLÓ
Cím kódoló
A8 - A9 Cím A0 - A7
K4
Számláló
Frekvencia állítás f0
14. ábra Programozható függvénygenerátor elvi felépítése
Kapcsoló K1 K2 K3 K4
Tároló címtartomány a 0 - 255 256 - 511 512 - 767 768 - 1023
Jelalak négyszög háromszög szinusz programozható
15. ábra Programozható függvénygenerátor által tárolt jelalakok és választásuk I.6.3. D/A átalakító alkalmazása programozható méréshatárú mérőerősítőkben A programozható méréshatárú mérőerősítő (PGA=Programmable Gain Amplifier) erősítése digitálisan állítható be. Ezzel biztosított a számítógéppel vezérelt automatikus méréshatár váltás funkciója. Az ilyen típusú mérőerősítőkben szorzó típusú D/A átalakítókat alkalmaznak. Egy programozható méréshatárú mérőerősítő elvi felépítését a következő 16. ábra mutatja be. Az erősítés értéke visszacsatolással állítható be, amely a D/A átalakítóval vezérelhető.
BME Közlekedésautomatikai Tanszék
21
D/A és A/D átakítók
R2 Szorzó típusú D / A átalakító R1 U be
+
U ki
16. ábra Programozható méréshatárú mérőerősítő elvi felépítése I.7.
D/A átalakítók pontossága
I.7.1. Statikus jellemzők A D/A átalakítók legfontosabb statikus jellemzői a következők: -
nullpont hiba, maximális érték hibája, linearitás hiba. monotonitási hiba.
A D/A átalakító nullpont hibáját a nyitott kapcsolókon folyó záróáram, illetve legfőképpen a kimeneti erősítő ofszet feszültsége határozza meg. Napjainkban a CMOS típusú elektronikus kapcsolók visszárama néhány pA-ben mérhető. Ezek a kapcsolók közelítik meg legjobban az ideális kapcsolót (ellenállása a két állásban Ron = 0 Ω, Roff = ∞ Ω ), mivel ellenállásuk Ron=10...100 Ω és Roff=100...1000 MΩ. Például egy 8 bites D/A átalakító 8 CMOS kapcsolójának együttes nyitott állapothoz tartozó árama legyen 8*2=16 pA. Ez a kimeneten - 10 kΩ-mos visszacsatoló ellenállást feltételezve a kimeneti erősítőn Uki=10 kΩ*16 pA=160 nV. A műveleti erősítő ofszet feszültsége ennél nagyságrendekkel magasabb, néhány mV-ban mérhető. Ezek a feszültségek együttesen határozzák meg a D/A átalakító nullpont hibáját. A maximális érték hibáját egyrészt a kapcsolók soros (bekapcsolt) ellenállása, másrészt az Rv negatív visszacsatoló-ellenállás pontossága határozza meg. Hasonlóképpen hatással van a maximális érték hibájára a referencia feszültségek pontossága is. A hibaforrások hatása beállítással nagymértékben csökkenthető. BME Közlekedésautomatikai Tanszék
22
D/A és A/D átakítók
Ezzel szemben a linearitás hiba nem egyenlíthetô ki. A linearitás hiba megadja, hogy egy lépés legkedvezôtlenebb esetben mennyivel nagyobb vagy kisebb, mint 1 LSB. A 17. ábrán a ±LSB/2 linearitás hibát ábrázoltuk. A kritikus eset a tartomány közepén jelentkezik. Ha a D/A átalakító bemenetére jutó szám bináris alakjában csak egy bit 1 értékű, akkor csak egyetlen kapcsolón át folyik áram. Ha a számot 1-gyel csökkentjük, akkor az összes kisebb súlynak megfelelô kapcsolón keresztül kell az eredôben egy ILSB-vel kisebb áramnak folynia. Ha a linearitás hiba nagyobb, mint 1 LSB, akkor a szintek monotonitása is megszűnik. A kimeneti feszültség a kritikus helyen csökkenhet akkor, ha a számot 1-gyel növeljük. Az ilyen hibát monotonitási hibának nevezzük. A 18. ábra erre mutat példát. A legtöbb D/A átalakítót úgy készítik, hogy a linearitás hibája ne lépje túl a ±LSB/2-t, mert egyébként a legkisebb bit kiértékelése értelmetlenné válna. U U LSB
U U LSB
7 6
7 6 5
5 4 3
3
2
4
2
1
1
0
0 Z
17. ábra ±1/2 LSB linearitás hibájú D/A átalakító
Z
18. ábra ±3/2 LSB linearitás hibájú D/A átalakító és az emiatt fellépô monotonitási hiba
I.7.2. Dinamikus jellemzôk A D/A átalakítók legfontosabb dinamikus jellemzői - a beállási idő és - a kapcsolási tranziens, glitch. A beállási idô megadja, hogy egy olyan átkapcsolás után, amikor a Z szám 0ról Zmax-ra változik, mennyi ideig tart a kimeneti feszültség állandósult állaBME Közlekedésautomatikai Tanszék
23
D/A és A/D átakítók
pothoz tartozó értékének LSB/2 hibán belüli elérése. Ekkor biztosítható csak a D/A átalakító felbontásával megadott pontosságú analóg jel. Az LSB/2 hibaelôírás következtében természetesen azonos idôállandójú, de nagyobb felbontású D/A átalakító beállási ideje nagyobb. Sok D/A átalakítónál elôször egy áramot állítunk elô, amit szükség esetén egy következô műveleti erôsítôvel feszültséggé alakíthatunk át. Ekkor még a műveleti erôsítô beállási ideje is korlátozza a sebességet, mely beállási idô rendszerint sokkal nagyobb, mint magáé a D/A átalakítóé. Rövidebb beállási idô elérésére olyan megoldást kell választani, amelyik műveleti erôsítô nélkül működik. Ezért CMOS típusoknál csak a 8. ábra szerinti inverz létrahálózatok jöhetnek számításba. A bipoláris technológiájú áramkörök általában ohmos terhelô ellenálláson is elôállíthatnak feszültséget. Nagy kimenô áramú típusok szükségesek ahhoz, hogy 50, ill. 75 Ω-os terhelô-ellenálláson is megfelelôen nagy kimeneti feszültség keletkezzen, így kaphatunk a MHz-es tartományban is működô (ún. video) átalakítókat. Kapcsolási tranziens jelenségként nagyon kellemetlen tüskék (glitch) jelentkeznek a kimeneten a bemenet változásakor. Oka kisebb részben a kapcsolójelbôl a kimenetre a kapcsolókapacitásokon keresztül átjutó összetevô, de fôképpen a D/A átalakító kapcsolóinak nem egyidejű átkapcsolása. A kritikus hely ismét a tartomány közepe. Ha a bemenetre kapcsolt szám legnagyobb helyértékű bitje 1 (Most Significant Bit, MSB), akkor csak egyetlen kapcsolón át folyik áram. Ha a számot 1-gyel csökkentjük, akkor nyit az MSB kapcsoló, és minden más kapcsoló zár. Ha az MSB kapcsoló elôbb kinyit, mielôtt a többi zárna, akkor egy rövid idôre 0 lesz a kimeneti feszültség. Ha az MSB kapcsoló késôbb nyit, miután a többi kapcsoló már lezárt, akkor egy rövid idôre a kimeneti feszültség maximális lesz. Tehát a fél kivezérlési tartománynak megfelelô nagyságú zavarjelek keletkezhetnek. A 19. ábrán az említett jelenségeket arra az esetre ábrázoltuk, mikor a kapcsolók zárási késleltetése kisebb, mint a nyitási. U U LSB
7 6 5 4 3 2 1
0 Z
BME Közlekedésautomatikai Tanszék
24
D/A és A/D átakítók
19. ábra A lassan nyitó kapcsolók miatt fellépő pozitív glitch-ek Mivel ezek a glitch-ek rövid idejű impulzusok, tüskék, ezért alul áteresztô szűrővel csökkenthetôk, azonban így hatásuk idôtartama is megnô. A feszültség-idô terület, vagyis a tüske energiája változatlan marad. Teljesen úgy szüntethető meg a jelenség, ha egy mintavevô-tartó áramkört a D/A után kapcsolunk. A mintavevô-tartó áramkört úgy kell idôzíteni, hogy a tüskék alatt tartó üzemmódban működjön, így a tüskék hatásai nem jelentkeznek. Azokat a mintavevô-tartó áramköröket, melyeket kifejezetten erre a célra terveztek, deglitcher áramköröknek nevezik. Egyszerűbb azonban kis tüskéjű D/A átalakító típusok alkalmazása. Ezek rendszerint belsô, élvezérelt tárat tartalmaznak a Z számra annak érdekében, hogy a vezérlés minden kapcsolóra egy idôben jusson. Ezenkívül a legkritikusabb, legnagyobb súlyú bitekre a párhuzamos átalakítási elvet alkalmazhatjuk, amely tüskehatásoktól eleve mentes. 1.
3. Kimenet D/A átalakító
Port A régi érték
U ki régi
Port B
Kimenet D/A átalakító
Port A
régi érték
új érték
2.
új
Port B új érték
Megoldás: Kimenet D/A átalakító
Port A a., b.,
U ki
új érték régi érték
Port B
U ki ??
Kimenet D/A átalakító
LATCH
LATCH
Port A
Port B
U ki régi
STROBE
régi érték új érték
20. ábra Portról történő feltöltés esetén fellépő glitch és kiküszöbölése
BME Közlekedésautomatikai Tanszék
25
D/A és A/D átakítók
8 bitnél szélesebb D/A átalakítóknál glitch-ek keletkezhetnek amiatt is, a digitális (bináris) érték beírása 8 bites portokról keresztül történik. Az ilyen jellegű hiba nem a D/A hibája, de az előbbiekben tárgyalt glitch-eknél sokkal durvább hibát okozhat. Ezért ezt a tervezésben mindenképpen figyelembe kell venni. Feltételezve egy 12 bites D/A átalakítót, a beíráshoz két port szükséges. Az első (A port) az alsó nyolc bitet, a második (B port) a felső 4 bitet vezérli. A D/A átalakító csak akkor működik helyesen, ha biztosított a két port teljesen szinkron működése. Ez úgy oldható meg, ha a D/A és a portok közé egy-egy közbenső tárolót (LATCH) építünk be, és mindkettőt egy közös órajelről (STROBE) vezéreljük. Az ilyen jellegű hibát és kiküszöbölését szemlélteti a 20. ábra. A beírás aszinkronitása miatt fellépő glitch-ek több nagyságrenddel nagyobbak lehetnek, mint a lassan nyitó kapcsolók miatt fellépők. A lassan nyitó kapcsoló miatt fellépő tüske néhány 100 ps, maximum ns nagyságú lehet. Ezzel szemben az aszinkron port beírás miatt akár néhány μs hosszú idejű tüske is felléphet. A következő 21. ábrán látható két táblázat rövid áttekintést nyújt a legfontosabb D/A átalakítókról és fontosabb paramétereikről. Típus AD 7524 AD 9768 AD 7541 AD 566A
Gyártó Analog Dev. Analog Dev. Analog Dev. Analog Dev.
Felbontás 8 bit
Beállási idő 200 ns
Kimenet
Technológia
összegező
CMOS
Belső felépítés A
8 bit
5 ns
20 mA*
bipoláris
B
12 bit
1 μs
összegező
CMOS
A
12 bit
250 ns
2 mA
bipoláris
B
DAC 800I DAC 800V DAC 812 DAC 701
Burr Brown Burr Brown Burr Brown Burr Brown
12 bit 12 bit 12 bit 16 bit
300 ns 3 μs 55 ns 4 μs
2 mA 10 V 10 mA 10 V
bipoláris bipoláris hibrid bipoláris
B B C B
MC 6890 MC 10318 MC 3412
Motorola Motorola Motorola
8 bit 8 bit 12 bit
200 ns 10 ns 200 ns
2 mA 50 mA 2 mA
bipoláris bipoláris bipoláris
B B B
DAC 830 DAC 1210 DAC 1265 DAC 888 DAC 208 DAC 312
National National National PMI PMI PMI
8 bit 12 bit 12 bit 8 bit 8 bit+S 12 bit
1 μs 1 μs 400 ns 100 ns 750 ns 250 ns
összegező összegező 2 mA 2 mA ±10 V 4 mA
CMOS CMOS bipoláris bipoláris bipoláris bipoláris
A A B B B B
HS 3160 DAC 9331 DAC 9377
Hibrid Sys. Hibrid Sys. Hibrid Sys.
16 bit 16 bit 16 bit
2 μs 2 μs 20 μs
összegező összegező ±10 V
CMOS hibrid hibrid
A A A
Am 6080 Am 6022
AMD AMD
8 bit 12 bit
160 ns 75 ns
2 mA 4 mA
bipoláris bipoláris
B B
BME Közlekedésautomatikai Tanszék
26
D/A és A/D átakítók HI 5618 HI 5690V DAC 608 DAC 612
Harris Harris Datel Datel
8 bit 12 bit 8 bit 12 bit
45 ns 1 μs 1 μs 1 μs
5 mA 10 V összegező összegező
bipoláris bipoláris CMOS CMOS
C B A A
TDC 1016
TRW
10 bit
20 ns
12 mA*
bipoláris
C
* S: A: B: C:
A tüskeenergia tipikusan 100 pVs 75 Ω-os terhelô-ellenállásos üzemnél elôjelbit ellenálláslétra hálózat kapcsolt áramgenerátor kapcsolt áramgenerátor inverz létrahálózattal
21. ábra Néhány gyakran használt D/A átalakító jellemző adatai
BME Közlekedésautomatikai Tanszék
27
D/A és A/D átakítók
II.1. Az A/D átalakítás alapelvei Az A/D átalakító (A/D konverter, ADC) feladata a bemeneti feszültséget ezzel arányos számmá alakítani. Három, elvileg eltérô és egy kombinált megoldást különböztetünk meg : - a közvetlen (direkt) módszert (word at a time), - a kompenzációs módszert, amely a követő (servo, vagy tracking) szukcesszív approximációs (fokozatos megközelítéses) módszereket (digit at a time) foglalja magánba, - a számlálót alkalmazó módszert (level at time) és végül, - kaszkád módszer (a közvetlen és a szukcesszív approximációs módszert kombináló). Az A/D átalakítók legújabb generációjához tartoznak a feszültség-frekvencia valamint frekvencia-feszültség (U-F, F-U konverterek), és a szigma-delta (Σ-Δ) átalakítók. A 22. ábrán az egyes hagyományos módszerek legfôbb tulajdonságait hasonlítottuk össze. Az U-F, F-U konverterek és a szigma-delta (Σ-Δ) átalakítók jellemzőit a későbbiekben részletezzük. Módszer
Lépések száma
Referenciafeszültségek száma
Tulajdonságok
Közvetlen
1
n
drága, gyors
log2n
log2n
közepes sebességű
n
1
olcsó, lassú
Kompenzációs Számlálót alkalmazó
22. ábra Néhány A/D átalakítási módszerek összehasonlítása A közvetlen eljárás során a bemeneti feszültséget összehasonlítjuk n számú referenciafeszültséggel, és megállapítjuk, hogy melyik kettô közé esik. Így a számot egy lépésben kapjuk meg. Az áramkör nagyon bonyolult, mert minden lehetséges számhoz egy komparátor szükséges. 0...100 méréstartományban 1es felbontáshoz n =100 komparátor szükséges. A szukcesszív approximációnál az eredményt nem egyetlen lépésben kapjuk meg, hanem mindig csak a bináris szám egy helyértékéhez tartozó értéket határozzuk meg. Az átalakítás a legnagyobb helyértéken kezdôdik, és azt vizsgáljuk, hogy a kimeneti feszültség nagyobb vagy kisebb, mint a legnagyobb BME Közlekedésautomatikai Tanszék
28
D/A és A/D átakítók
helyértékhez tartozó referenciafeszültség. A maradékot összehasonlítjuk a következô helyértékkel stb. Tehát az összehasonlítási lépések száma megegyezik a helyértékek számával, és ugyanennyi referenciafeszültség szükséges. A legegyszerűbbek a számlálót alkalmazó megoldások. Ennél azt számoljuk le, hányszor kell a legkisebb helyértékű referenciafeszültséget összeadni, hogy a bemeneti feszültséget megkapjuk. A lépések száma adja az eredményt. A legnagyobb n számhoz tehát n lépés szükséges, hogy az eredményt megkapjuk. A 23. ábrán a lehetséges pontosság és működési frekvencia tartományait ábrázoltuk.
23. ábra A/D átalakítók csoportosítása, felbontás és működési frekvencia szerint
BME Közlekedésautomatikai Tanszék
29
D/A és A/D átakítók
II.2. Az A/D átalakítók jellemzői II.2.1. Statikus hibák Az A/D átalakítók legfontosabb statikus hibái a következők: -
kvantálási hiba, jel-zaj viszony, ofszet hiba, erősítés hiba és a linearitás hiba.
Analóg jelek véges számú bitet tartalmazó számmá való átalakításakor a korlátozott felbontás következtében szisztematikus hiba keletkezik, amit kvantálási hibának nevezünk. Ennek értéke a 24. ábra alapján ±LSB/2, azaz akkora, mint a bemeneti feszültségváltozás fele, ami ahhoz szükséges, hogy a számot a legkisebb helyértéken megváltoztassuk. Ha a létrejövô számsorozatot D/A átalakítóval ismét feszültséggé alakítjuk vissza, a kvantálási hiba járulékos zajként jelentkezik. Ennek effektív értéke [1] szerint: U Zeff =
U LSB 12
N bites átalakítónál teljes szinuszos kivezérlésnél a jelfeszültség effektív értéke: U jeff =
1 1 N ⋅ 2 U LSB 2 2
Ebbôl a jel-zaj viszony [1]: SNR = 20 dB ⋅ lg
U jeff U Zeff
= N ⋅ 6 dB + 1,8 dB .
A rendszeres kvantálási hiba mellett kisebb vagy nagyobb kapcsolástechnikából adódó hibák is jelentkeznek. Ha a 24. ábrán megadott ideális átviteli karakterisztikánál a lépcsôk középpontjait összekötjük, a szaggatott vonallal jelölt egyenest kapjuk, amely az origón átmenô 1 meredekségű egyenes. Valóságos A/D átalakítónál ez az egyenes nem megy át az origón (ofszet hiba), és BME Közlekedésautomatikai Tanszék
30
D/A és A/D átakítók
meredeksége 1-tôl eltér (erôsítés hiba). Az erôsítéshiba a kivezérlési tartományon belül a kimenô jelnek a névleges értéktôl való eltérésében állandó relatív hibát okoz. Az ofszet hiba ezzel szemben állandó abszolút hibát hoz létre. Ez a két hiba rendszerint ofszet kiegyenlítéssel és a végkitérés beállításával kiküszöbölhetô. Ekkor már csak a drift és a nemlinearitások miatti hibák maradnak meg. A szisztematikus kvantálási hibákon felül linearitási hiba akkor lép fel, ha a lépcsôk nem egyformák. A linearitási hiba meghatározására elôször kiegyenlítjük az ofszetet és beállítjuk az erôsítést, és ezután meghatározzuk a bemeneti feszültség maximális eltérését az ideális egyenestôl. Ebbôl levonva az ±ULSB/2 rendszeres kvantálási hibát, megkapjuk a teljes nemlinearitást. Ezt rendszerint az LSB egységhez viszonyítva adják meg. A 25. ábrán felrajzolt példánál ±ULSB/2 értékű. A linearitás hiba másik jellemzôje a differenciális nemlinearitás. Ez megadja, hogy mennyire térnek el az egyes lépcsôk abszolút értékben az ULSB névleges értékétôl. Ha ez a hiba ULSB-nél nagyobb, akkor egyes számok hiányozhatnak (missing codes). Még nagyobb eltérésnél a Z szám a bemeneti feszültség növelésekor csökkenhet (monotonitás hiba). U ki(Z)
U ki(Z)
Teljes nemlinearitás (negatív)
Teljes nemlinearitás
U LSB
U LSB U LSB
U be
(pozitív)
U LSB
U be
U ki (Z) - U be
U ki (Z) - U be +
U LSB
1 U 2 LSB
U be
U be
- 1 U LSB 2
24. ábra. Kvantálási zaj keletkezése
U LSB
25. ábra. Linearitás hibás A/D átalakító
BME Közlekedésautomatikai Tanszék
31
D/A és A/D átakítók Az Uki(Z) feszültség azon Z szám D/A átalakított értékének felel meg, ami az A/D átalakító kimenetén lép fel
karakterisztikája
II.2.2. Dinamikus hibák Az A/D átalakítók dinamikus hibáit a következő paraméterekkel lehet megadni: - a konverziós (átalakítási) idő és a mintavevő-tartó beállási idejének összege, - pontosság, - apertúradzsitter (mintavételezési idő bizonytalansága), - különböző zajok. A figyelembe veendő domináns hibákat az határozza meg, hogy mit, hogyan és milyen típusú A/D átalakító segítségével kell mérni. Ezek alapján a következő fontosabb csoportok különböztethetők meg: - pillanatnyi érték meghatározása a mintavétel időpontjában (direkt módszer), - pillanatnyi érték meghatározása a konverzió valamely pontján (kompenzációs módszer), - átlagérték mérése (dual slope, Δ-Σ, U-F, F-U). Az A/D átalakítók alkalmazásánál két területet különböztethető meg, a digitális feszültségmérés és a jelfeldolgozás területe. Digitális feszültségmérô esetén abból indulunk ki, hogy a bemeneti feszültség az átalakítási idô alatt állandó. Ez a kikötés azért tehető, mert mérőműszerek használata esetén az emberi reakció idő nagyságrendekkel nagyobb, mint akár a leglassúbb A/D átalakítási folyamat. Ezzel szemben jelfeldolgozásnál az átalakítás ideje alatt a bemeneti feszültség változhat. Digitális jelfeldolgozásnál egy jel pl. U(t) mintavételezett impulzus függvényét kell meghatározni, majd a továbbiakban feldolgozni (pl. Fourier analízis, Z transzformáció, numerikus integrálás, numerikus deriválás, stb. módszerekkel). Az y tengely mentén a pontosságot az A/D átalakító pontossága biztosítja. Hasonló relatív pontosságot kell biztosítani az x tengely mentén is (mintavételezés gyakorisága és pontossága), ellenkező esetben az igényes nagy pontosságú A/D adatai jelfeldolgozási szempontból használhatatlanok lesznek.
BME Közlekedésautomatikai Tanszék
32
D/A és A/D átakítók
Digitális jelfeldolgozáshoz a változó feszültségbôl azonos idôközönként mintát veszünk a mintavevô-tartó áramkör segítségével. Ezeket a mintákat digitalizálja az A/D átalakító. A keletkezô {Z} számsor csak akkor helyettesíti a bemenô jelet információveszteség nélkül, ha teljesül a mintavételi tétel feltétele: az fm mintavételi frekvenciának legalább az fmax legnagyobb jelfrekvencia kétszeresének kell lennie. Ebbôl adódik az a követelmény, hogy az A/D átalakító konverziós (átalakítási) ideje és a mintavevô-tartó beállási idejének együtt kisebbnek kell lennie, mint 1 / (2fmax). A pontosság vizsgálatához figyelembe kell venni az A/D átalakító és a mintavevô-tartó áramkör tulajdonságait is. Pl. nincs semmi értelme egy 12 bites A/D átalakítót mintavevô-tartó áramkörrel együtt működtetni, ha az a rendelkezésre álló idôn belül nem áll be a végkitérés 2-12 = 1/4096 ≈ 0,025%-ának megfelelô pontossággal. További dinamikus hibát okoz az apertúradzsitter, vagyis a mintavételi idôpont bizonytalansága. A mintavevô-tartó áramkör tA apertúra ideje miatt a mért mintavételi érték késleltetett lesz. Ha az apertúra idô állandó, akkor valamennyi mért érték ugyanannyival lesz késleltetett. Ezáltal az idôben egyenközű mintavételezés feltétele továbbra is teljesülne. Ha azonban az apertúra idô a 26. ábrán láthatóhoz hasonlóan a dtA apertúradzsitter bizonytalanságú, akkora mérési hiba lép fel, mely éppen ezen idôkülönbség alatti dU feszültségkülönbséggel egyezik meg. U be
T: a mintavételezés periódusideje
dU
U
T
dt A
26. ábra. Az apertúradzsitter hatása
BME Közlekedésautomatikai Tanszék
t
33
D/A és A/D átakítók
A maximális dU hiba számításához tételezzünk fel fmax maximálisan lehetséges frekvenciás szinuszos bemenô jelet. A legnagyobb jelváltozási sebesség a nullátmeneteknél lép fel: dU dt
= U$ω max t =0
Ebbôl kiszámítható az amplitúdó hiba: dU = U$ω max dt A .
Ahhoz, hogy az amplitúdó hiba kisebb legyen, mint az A/D átalakító ULSB kvantálási lépcsôje, teljesülnie kell az apertúradzsitterre az alábbi feltételnek: dt A <
U LSB U LSB = . U$ω max 1 U ω max max 2
Nagyfrekvencián ez a követelmény nehezen teljesül, amit a következô példa bizonyít: 8 bites átalakítónál ULSB/Umax = 1/255. 10 MHz maximális jelfrekvenciához az előző egyenlet szerint az apertúradzsitter ≈120 ps nagyságú lehet, amely nehezen biztosítható. II.3. Az A/D átalakítók megvalósítása II.3.1. Közvetlen módszer A közvetlen módszer bemutatására legjobb példa a párhuzamos átalakító, amelyet villámgyors konverternek (flash converter) is neveznek. Működése az amplitúdó szelektor elvén alapul: egy komparátor-sor figyeli, hogy a bemeneti feszültség melyik két (referenciából leosztott) lépcső között van. A komparátorok válaszjeléből egy kódoló állítja elő a bináris (vagy Gray) kódú kimeneti jelet. A rendszer előnye, (látszólagos egyszerűsége mellett), hogy az átalakítás sebességét csak a komparátorok és a logika késleltetési ideje korlátozza, ezért ily módon nagyon gyors működésű átalakítókat (MHz-es jelek átalakítására) lehet készíteni. Hátrány, hogy szinte annyi komparátor kell, amennyi a lépcsők száma (2n-1). Főleg video konverterként használják a híradás- és méréstechnikában (digitális képfeldolgozás, oszcilloszkóp). BME Közlekedésautomatikai Tanszék
34
D/A és A/D átakítók
Közvetlen átalakító megvalósítását 3 bites számra a 27. ábra szemlélteti. 3 bittel 8 különbözô szám állítható elô a 0-val együtt, tehát 7 komparátor szükséges. A szükséges egyenlô idôközű referenciafeszültség-sorozatot feszültségosztó segítségével állítjuk elô. Ha a bemenetre pl. 5/2 ULSB és 7/2 ULSB közti bemeneti feszültséget adunk, akkor az 1...3 komparátor kimeneti állapota 1-es, a 4...7 komparátoré 0 szintű lesz. Olyan logikai áramkörre van szükség, amely a komparátorok ilyen állapota alapján a 3-as számértéket adja. A 28. ábrán táblázatban foglaltuk össze az összetartozó komparátor állapotokat és a bináris kódú eredményeket. A szükséges átalakítást egy olyan prioritásdekódolóra (decimális bináris átalakító) bízhatjuk, amelynél az x7 a legmagasabb és az x1 a legalacsonyabb prioritású bemenet. Uref
1 R 2
U be
13 U LSB 2 R 11 U 2 LSB R 9 U 2 LSB R 7 U 2 LSB R 5 U 2 LSB R 3 U 2 LSB R 1 U 2 LSB
+ + + + + + + -
K7
1D
Q
X7
Q
X6
Q
X5
Q
X4
C1
K6
1D C1
K5
1D C1
K4
1D
Z2
Prioritásdekódoló
K3
1D
Q
X3
Q
X2
Q
X1
C1
K2
1D C1
K1
1D
Z1 Z0
C1
C1
1 R 2 Clock
BME Közlekedésautomatikai Tanszék
35
D/A és A/D átakítók
Z=
U be U U = 7 be = Zmax be U LSB U ref U ref
27. ábra Közvetlen A/D átalakító A prioritásdekódolót nem lehet közvetlenül a komparátorok kimenetére csatlakoztatni, mert ha a bemeneti feszültség nem állandó, akkor idôlegesen teljesen hamis eredményt is kaphatunk. Példaként tekintsük a 3-ról 4-re való átváltást, amely bináris kódban 011-bôl 100-ba való átmenetet jelent. Ha a legnagyobb helyértékű helyen a változás kisebb késleltetése miatt gyorsabban megvalósul, mint a többin, akkor egy átmeneti idôre 111 jelenik meg, amely 7-nek felel meg. Ez a fél végkitérésnek megfelelô hibát jelent. Az analógdigitális átalakítás eredményét rendszerint tárba írjuk át, tehát meghatározott valószínűséggel a hibás érték továbbítódik. Ha a mérés idôtartamára a bemeneti feszültséget állandó értéken tartjuk, pl. egy mintavevô - tartó áramkörrel, akkor a hibát kiküszöbölhetjük. Az eljárás azonban korlátozza az átalakítható bemeneti feszültség frekvenciáját, mert a mintavevô-tartó áramkör beállási ideje véges. Ezzel azonban még mindig nem biztosítottuk, hogy a komparátorok kimeneti állapota ne változzék, mert a gyors mintavevôtartó áramkörök driftje jelentôs. Bemeneti feszültség
Komparátor állapotok
Bináris szám
Decimális érték
Ube/ULSB
K7
K6
K5
K4
K3
K2
K1
Z2
Z1
Z0
Z
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
2
0
0
0
0
0
1
1
0
1
0
2
3
0
0
0
0
1
1
1
0
1
1
3
4
0
0
0
1
1
1
1
1
0
0
4
5
0
0
1
1
1
1
1
1
0
1
5
6
0
1
1
1
1
1
1
1
1
0
6
7
1
1
1
1
1
1
1
1
1
1
7
28. ábra A közvetlen A/D átalakító állapotai a bemeneti feszültség függvényében A probléma megoldására a komparátorok bemenetén való analóg tárolás helyett a komparátorok kimenetén digitális tárolást használhatunk. A 27. ábrán ezt a célt szolgálják a minden komparátor kimenetre kapcsolt élvezérelt D tárolók. Így biztosítható, hogy a prioritásdekódolóra egy teljes órajel-periódus alatt állandó bemeneti jel kerüljön. BME Közlekedésautomatikai Tanszék
36
D/A és A/D átakítók
A következô trigger jel beérkezése elôtt a prioritásdekódoló kimenetén az állandósult állapotnak megfelelô adatok állnak rendelkezésre. A közvetlen átalakítási megoldás különleges elônye éppen a digitális mintavevô-tartó áramkör alkalmazásának lehetôsége. Ez a nagysebességű A/D átalakítás elôfeltétele. Analóg mintavevô-tartó áramkörök néhány MHz feletti frekvenciákra nagy hardver ráfordítással sem valósíthatók meg a szükséges pontossági igényeket kielégítő módon. A mintavételi idôpontot az órajel éle határozza meg. Ez a komparátorok bemenetén a komparátor késleltetéssel korábbi állapotnak felel meg. Ezért a késleltetési idôk különbsége határozza meg az apertúra bizonytalanságot. Hogy az elôzôekben említett kis értékeket elérhessük, lehetőleg kicsi kell, hogy legyen a késleltetés a komparátorok analóg bemeneteitôl a tárolókig. Ezért a legtöbb megoldásnál a tárolót a komparátor tartalmazza, és így lehetséges, hogy a tároló közvetlenül az analóg bemenetek után helyezkedjen el. Ilyen komparátor kialakítás eredményeképpen jutunk a 29. ábra szerinti bemenet elrendezéshez. +U t
+U t
T1
T3
Komparátor
T4
T2
Tároló
K I
29. ábra Komparátor bemenet bistabil tárolóval A K kapcsoló bal oldali állásában a T1 és T2 tranzisztor komparátorként működik. Ha átkapcsoljuk jobb oldali állásba a K kapcsolót, akkor a komparátor kikapcsol, és a T3, T4 tároló kezd működni. A tároló a komparátor kimeneti állapotát tárolja. A helyes működéshez még az sem szükséges, hogy a komparátor teljesen átbillent állapotában legyen, mert már néhány mV feszültségkülönbség hatására is az ugyancsak differenciálerôsítô elrendezésű flip-flop egyBME Közlekedésautomatikai Tanszék
37
D/A és A/D átakítók
értelműen az egyik vagy másik stabil állapotába billen. Az apertúradzsitter ily módon 10 ps-ra is csökkenthetô.
TDC 1029 TDC 1048 TDC 1025 TDC 1019
TRW TRW TRW TRW
6 8 8 9
Mintavételi frekvencia max.,[MHz] 50* 20* 15* 100*
F 74F500 AM 6606 AD 9000 CX 20116
Fairchild AMD Analog Dev. Sony
6 6 6 6
50 100* 100 100*
CA 3300 TM 1070 CA 3308 MP 7684 EF 8308
RCA Telmos RCA Micro Power Thomson
6 7 8 8
15* 10 15* 20 20
Típus
*
Gyártó
Felbontás [bit]
Appertúradzsitter [ps] 30* 60* 40* 100* 25 25 30
ECL TTL ECL TTL
Teljesítményfelvétel [mW] 1500* 1000* 3000* 4000*
TTL ECL ECL ECL
700 1200 800 1200
CMOS CMOS CMOS CMOS CMOS
100 100 150 250 400
Logika
Garantált értékek
30. ábra. Közvetlen eljárással működô A/D átalakítók jellemzôi A 30. ábrán közvetlen eljárással működô A/D átalakító áramkörök szerepelnek. Látható, hogy az A/D átalakítók széles választéka áll rendelkezésre 6...9 bit felbontással és 15...100 MHz mintavételi frekvenciával. A CMOS technológiájú típusok kis teljesítmény-felvételük miatt érdekesek, azonban más paramétereikben rosszabbak, mint a bipoláris típusok. Az A/D átalakítók linearitás hibája kis jelfrekvenciákra ±LSB/2, illetve esetenként ±LSB/4. Nagyobb frekvenciájú jeleknél nő a nemlinearitás mértéke. Így a legkisebb, sôt még a második legkisebb bit is használhatatlanná válhat. Ennek megfelelôen a kvantálási zaj 6, ill. 12 dB-lel nôhet [1]. II.3.2. Kompenzációs elven működő átalakítók Az alapelvet a 31. ábra mutatja: a vezérlő logika addig változtatja kimeneti jelét, (és a teljes átalakító kimeneti jelét), ameddig az általa vezérelt digitál-analóg konverter kimeneti jele (UDAC) egyenlő nem lesz az Ux bemeneti, analóg jellel. Ha eltérés van, akkor a komparátor jelzést ad a vezérlő logikának mindaddig, amíg a hurokban az egyensúly helyre nem áll.
BME Közlekedésautomatikai Tanszék
38
D/A és A/D átakítók
U be
+ -
VEZÉRLÕ LOGIKA
Komparátor D kimenet
DAC
Uref
31. ábra Kompenzációs elven működő A/D átalakító felépítése A vezérlő logika működésétől függően alapvetően kétféle rendszer szokásos: - a követő (servo, vagy tracking) átalakító, és - a fokozatosan közelítő (Successive Approximation) eljárás. II.3.2.1.
Követő (servo, vagy tracking) átalakító
A vezérlő logika legfontosabb része egy oda-vissza számláló (reverzibilis számlánc), amely egy órajel ütemében számol a komparátor kimenete által meghatározott irányban. A számláló kimenete a Z digitális jel, amelyet egy D/A átalakító analóg jellé alakít vissza (U(Z)). A komparátor összehasonlítja az Ube bemeneti feszültséget az U(Z) kompenzáló feszültséggel. Ha a bemeneti jel nagyobb mint a kompenzáló U(Z), akkor a komparátor úgy vezérli a számlálót, hogy előre számláljon, növekedjen Z és az U(Z) egészen a közelítő (1 LSB) egyenlőség beállásáig. Kisebb bemeneti jel esetében fordított a folyamat, U(Z) csökken. Végül is - ha Ube nem változik gyorsan - a digitális kimeneti jel (számlánc) követi a bemeneti jelet (32. ábra). Ezért is nevezik követô A/D átalakítónak (Servo vagy Tracking ADC). Ennek a megoldásnak ez tulajdonság kétségtelen előnye. Hátránya, hogy gyors változáskor (szélső, esetben 0V-ról Ubemax-ra történő ugráskor) U(Z), ill. a kimenet jele hosszú idő múlva (2n órajel periódus alatt ) éri el a bemeneti jelet.
BME Közlekedésautomatikai Tanszék
39
D/A és A/D átakítók
+ -
U be
U/D
Reverzibilis számlánc
Clock
K Z
U(Z)
D/A
Z
átalakító
Uref Z
Z = ( Zmax + 1)
U be U ref
32. ábra Kompenzációs, követő A/D átalakító A 32. ábrán látható kapcsolás szépséghibája, hogy soha nem áll meg, hanem a bemeneti feszültség körül 1 LSB-vel váltakoztatja értékét, mert az órajel sohasem áll le. Ez úgy küszöbölhető ki, hogy a közönséges komparátor helyett un. ablak komparátort használhatunk, amely letiltja az órajelet, amennyiben az Ube bemeneti feszültséget ±ULSB/2-re megközelíti az U(Z) kompenzáló feszültség. A vezérlôlogika elmaradásáért - a szukcesszív eljáráshoz képest - az átalakítási sebesség lényeges csökkenésével fizetünk, mert most a kompenzáló feszültség csak ULSB lépésenként változik. Ha a bemeneti feszültség csak lassan változik, akkor mégis gyors lesz a konverzió, mert a követés folyamatosan valósul meg, és nem kezdôdik mindig elölrôl, mint a következőkben ismertetendő szukcesszív approximációs eljárásnál. Ezen a követô elven működik a Datel cég ADC 856 típusú monolit integrált áramköre. Felbontása 10 bit, és konverziós ideje 1 μs / 1 LSB. II.3.2.2.
Szukcesszív approximáció
A 33. ábra olyan A/D átalakítási elvet szemléltet, amely a fokozatos közelítés (szukcesszív approximáció) elve alapján működik.
BME Közlekedésautomatikai Tanszék
40
D/A és A/D átakítók
+ -
Mintavevõtartó áramkör U be
Szukcesszív approximációs regiszter
D K
Clock
Z U(Z)
D/A
Z
átalakító
Uref Z
33. ábra Szukcesszív approximációs A/D átalakító A komparátor összehasonlítja a tárolt mérési részeredményt a D/A átalakító kimeneti feszültségével. A mérés kezdetén a Z számot a kapcsolás nullázza. Ezután a legnagyobb súlyú bit (MSB) 1 értékű lesz, és a kapcsolás megvizsgálja, hogy a bemeneti feszültség nagyobb-e, mint U(Z). Ha igen, akkor az 1es érték megmarad, egyébként visszaáll 0-ra. Így az MSB "mérlegelése" már létrejött. Ez az összehasonlítás alapján való mérlegelés sorban valamennyi bitre megvalósul, míg végül a legkisebb súlyú bit (LSB) értéke is előáll. Ekkor a szukcesszív approximációs regiszterben egy olyan szám képződik, amely a D/A átalakítás után akkora feszültséget hoz létre, amely ULSB felbontási lépésen belül Ube értékével egyezik meg. Így jó közelítéssel : U ( Z ) = U ref
Z Zmax + 1
= U be ,
és Z = ( Zmax + 1)
U be . U ref
Ha a bemeneti feszültség az átalakítási idô alatt megváltozik, akkor mintavevô-tartó áramkör szükséges a függvény mintaértékének közbülsô tárolására, hogy minden helyérték képzésekor ugyanazt az Ube(tj) bemeneti feszültséget vegye figyelembe. Mintavevô-tartó áramkör nélkül akkora hiba keletkezhet, amekkora a bemeneti feszültség változása a konverziós idô alatt. Az elsô három összehasonlító lépés folyamatábráját a 34. ábra szemlélteti. Látható, hogy minden lépésben azt kell eldönteni, hogy a vizsgált bit értéke 1 vagy 0. Az elôzôleg már meghatározott bitek változatlanok maradnak.
BME Közlekedésautomatikai Tanszék
41
D/A és A/D átakítók Start i 100
n 000
Z>100
i n Z>110 110 100 i
n Z>110 111 110
1. lépés
i n Z>010 010 000
i
n Z>101 101 100
i
n Z>011 011 010
2. lépés
i
n Z>001 001 000
3. lépés
34. ábra A szukcesszív approximáció folyamatábrája Az átalakítás folyamatát a SAR (Successive Approximation Register) vezérli.
Am 6108 Am 6112
AMD AMD
8 12
Konverziós idő [μs] 1 3
AD 7574
Analog Dev. Analog Dev.
8
15
-
30
CMOS
12
3
±15
775
hibrid
Típus
Gyártó
AD 578
Felbontás [bit]
Segédfeszültségek [V] -5 -5
Teljesítményfelvétel [mW] 600 500
Technológia TTL TTL
ADC 84 ADC 803 ADC 76
Burr-Brown Burr-Brown Burr-Brown
12 12 16
10 1,5 15
±15 ±15 ±15
1500 2000 1500
hibrid hibrid hibrid
ADC 847 ADC 5210 ADC 810
Datel Datel Datel
8 12 12
9 12 2
±15 ±15
125 700 2000
TTL hibrid hibrid
TDC 1001 F 74F505 HS 9516
TRW Fairchild Hybrid Sys.
8 8 16
0,4 0,2 100
-5 ±15
400 100 900
TTL TTL hibrid
SDM 862 SDM 863 SDM 872 SDM 873
Burr-Brown Burr-Brown Burr-Brown Burr-Brown
8 12 8 12
20 20 12 12
±15 ±15 ±15 ±15
1000 1000 1000 1000
CMOS CMOS CMOS CMOS
ADC 574A
Burr-Brown
8/12
13/20
±15 / ±12
1000
CMOS
35. ábra Szukcesszív approximációs A/D átalakítók jellemző adatai Tápfeszültség igény: +5 V és a táblázatban szereplő segédfeszültségek
Szukcesszív approximációs A/D átalakítók integrált kivitelben nagy választékban állnak rendelkezésre. Közülük néhányat jellemző paramétereikkel a 35. ábrán mutatunk be. BME Közlekedésautomatikai Tanszék
42
D/A és A/D átakítók
A 35. ábrán bemutatott táblázatból ki kell emelni az utolsóként szereplő ADC 574A típusú szukcesszív approximációs átalakítót, amely a legnagyobb számban gyártott 12 bites A/D átalakító. A PC-khez gyártott adatgyűjtő kártyák nagy részénél ezt az áramkört használják fel olyan kedvező tulajdonságai miatt, mint pl.: - a felbontás 8 vagy 12 bitre kívülről programozható, - 8, 12, 16 bites mikroprocesszor busz interfész, - nincs kódvesztés 0°C - +75°C hőmérséklet tartományban (-55°C +125°C, katonai kivitel esetén). II.3.3. Kaszkád elrendezés A közvetlen átalakítók hátránya, hogy a komparátorok száma a szóhosszal exponenciálisan nô. Egy 10 bites átalakítóhoz 1023 komparátor szükséges. Ez az igény jelentôsen csökkenthető, ha az átalakítás sebességére engedményt teszünk. Ennek érdekében kombinálhatjuk a közvetlen és valamely kompenzációs, pl. a szukcesszív approximációs módszert. 10 bites átalakítót úgy készíthetünk ezzel a bôvített közvetlen eljárással, hogy az elsô lépésben közvetlen módon meghatározzuk a felsô 5 bitet, amint ez a 36. ábrán látható. Az eredmény a bemeneti feszültség durván kvantált értéke. D/A átalakítóval képezzük a hozzátartozó analóg feszültséget, és ezt kivonjuk a bemeneti feszültségbôl. A maradékot egy 5 bites A/D átalakítóval digitalizáljuk. Ha a durva érték és a bemeneti feszültség közötti különbséget 32-szeresére erôsítjük, akkor mindkét A/D átalakító ugyanabban a bemeneti feszültségtartományban működik. A két átalakító között csak a pontossági követelményben van eltérés. Az elsô 5 bites A/D átalakítónak 10 bitesnek megfelelô pontosságúnak kell lennie, mert különben a különbségképzés után maradó rész információtartalom nélkülivé válna.
U be
Mintavevõtartó áramkör
5 bites közvetlen A/D
5 bites D/A
+ -
+
x 32
5 bites közvetlen A/D
U ref
Z9 Z8 Z7 Z6 Z5
Z = Zmax
U be U = 1023 be U ref U ref
BME Közlekedésautomatikai Tanszék
Z4 Z3 Z2 Z1 Z0
43
D/A és A/D átakítók
36. ábra. Kaszkád átalakítók elve Nagy jelfrekvencia esetén a második A/D átalakítót túlvezérli a különbségi jel, és a kimenô jelben durva hibák (pl. Missing Codes; egyes kódszavak hiánya) jelentkeznek. A hiba megszüntethető, ha a második A/D átalakító bemeneti feszültségtartományát megkétszerezzük, és ezáltal felbontását 1 bittel megnöveljük. A durva és a pontos értéket természetesen mindig ugyanazzal az Ube(tj) bemeneti feszültséggel képezzük. Az elsô fokozaton történô véges idejű áthaladás miatt azonban idôbeli késés keletkezik. Ezért a bemeneti feszültséget ennél az eljárásnál analóg mintavevô-tartó áramkörrel állandó értéken kell tartani, amíg az egész szám képzése be nem fejezôdött. Ez a fô hátránya a tisztán közvetlen eljárással szemben. A kaszkád típusú A/D átalakítók az előbb említett hátrány miatt ritkán használatosak. Néhány kaszkád A/D átalakító típusokról a következő 37. ábra ad áttekintést. Típus
Gyártó
Felbontás [bit]
ADC 0820 MP 7683 CX 20200 CX 20204 CAV 1040* CAV 1210*
National Micro Power Sony Sony Analog Dev. Analog Dev.
8 8 10 10 12 12
*
Mintavételi frekvencia max.,[MHz] 1 10 20 50 40 10
Technológia CMOS CMOS ECL ECL Modul Modul
Teljesítményfelvétel [W] 0,035 0,075 0,360 1,100 21 18
Mintavevő-tartó áramkört is tartalmaz
37. ábra Néhány kaszkád eljárással működő A/D átalakítók jellemzôje II.3.4. Számlálót alkalmazó megoldások A számlálós eljárással működô A/D átalakítók olcsó áramkörök. Konverziós idejük sokkal nagyobb, mint más átalakítóké, rendszerint 1ms és 1s közé esik. Ez azonban elegendő lassan változó jeleknél, melyek pl. hômérsékletmérésnél lépnek fel. Digitális voltmérôk számára is elég ez a sebesség, mert úgysem olvasható le gyorsabban az eredmény. Több megoldás is létezik a számlálási elv megvalósítására, amelyeket a továbbiakban ismertetünk. Közülük legfontosabb a "dual slope" eljárás, mert ezzel olcsón nagy pontosság érhető el.
BME Közlekedésautomatikai Tanszék
44
D/A és A/D átakítók
II.3.4.1
Fűrészfeszültség-eljárás (single slope)
Ezt az eljárást csak a teljesség kedvéért említjük meg, mivel ezt a típust már kb. a 70-es évek vége óta nem gyártják. A fűrészjeles A/D átalakító D/A átalakítót nem tartalmazott. Azon az elven működött, hogy a bemeneti feszültséget elôször értékével arányosan idôvé alakította át. Felépítésénél fogva azonban nem volt valódi aránymérő. A mérés idôtartama nem függött a vizsgált feszültség elôjelétôl, csak az abszolút értékétôl. Az átalakítóval elérhető legnagyobb pontosság 0,1% volt. II.3.4.2.
Kettôs integrálási eljárás (dual slope)
A single slope eljárást a kettős integrálási eljárás (dual slope) váltotta fel. Legfontosabb jellemzői a következők: - valódi aránymérő (Ube/Uref), - a konverziós idő hossza függ a bemenő jel nagyságától, - a dual slope átalakító csak a konverziós idő egy részében foglalkozik a bemenő jellel. A 38. ábra látható dual slope mérési eljárásnál nemcsak a referenciafeszültséget, hanem a bemeneti feszültséget is integráljuk. Ez a kapcsolás már valódi aránymérőként működik. Nyugalmi állapotban a K1 és K2 kapcsoló nyitott, a K3 zárva van. Az integrátor kimeneti feszültsége ezért 0. K3 C K1 U be
R
K2
+
+ -
Kapcsolóvezérlõ logika
K
A U1
Uref
&
Clock
f=1/T
38. ábra Dual slope eljárással működő A/D átalakító BME Közlekedésautomatikai Tanszék
Számlánc
Z
45
D/A és A/D átakítók
A mérés kezdetén a számláncot töröljük, a K3 kapcsolót nyitjuk, és K1-et zárjuk. Ezáltal a bemeneti feszültséget integráljuk. Ha a mérendô jel pozitív, az integrátor kimenete negatív lesz, és a komparátor engedélyezi az órajel generátort. Ezen mérési idôtartam akkor ér véget, amikor a számláló Zmax+ 1 periódus után túlcsordul, és ezáltal a számláló által mutatott érték ismét 0 lesz. Ezen integrálási szakasz végén az integrátor kimeneti feszültsége : U1( t1 ) = −
1
t1
U τ∫
be
dt = −
U be T
τ
0
( Zmax + 1)T .
Ezt követôen a referenciafeszültség integrálására kapcsol át az áramkör. A referenciafeszültség elôjelét ehhez a bemeneti feszültségéhez képest ellentétesre állítjuk. Így a kimeneti feszültség abszolút értéke csökkenni kezd, amint ez a 39. ábrán látható. UI
t2 t1
t2 t
U be integrálása
U ref integrálása
39. ábra Az integrátor bemeneti feszültségének időábrája különböző bemeneti feszültségeknél A komparátor és az eredményszámláló segítségével határozható meg, hogy milyen hosszú az az idôtartam, amíg ismét elérünk a nullátmenethez : t2 = ZT =
τ U ref
U1( t1 ) .
Az eredmény a előző összefüggés figyelembevételével: Z=
U be ( Zmax + 1) . U ref
BME Közlekedésautomatikai Tanszék
46
D/A és A/D átakítók
Az egyenlet szerint a kettôs integrálási eljárás szembeötlô jellegzetessége, hogy sem a τ = RC1 idôállandó, sem az 1/T órafrekvencia nem szerepel a végeredményben. Csak az szükséges, hogy az órajel frekvenciája a t1 + t2 idôtartam alatt állandó legyen. A szükséges rövid idejű stabilitás azonban viszonylag egyszerű órajel-generátorral is biztosítható. Emiatt ezzel az eljárással 0,01% pontosság is elérhető. A levezetés során láttuk, hogy a feszültségnek nem pillanatnyi értéke, hanem a tl mérési idô alatti átlaga szerepel a végeredményben. Ezért váltakozó feszültségre az elnyomás annál nagyobb, minél nagyobb a frekvenciája. Azokat a váltakozó feszültségeket, amelyeknek frekvenciája 1/tl-nek egész számú többszörösei, a kapcsolás teljesen elnyomja. Ezért az órajel frekvenciáját úgy kell beállítani, hogy tl a hálózati váltakozó feszültség periódusidejével vagy annak egész számú többszörösével legyen egyenlô. Ekkor az un. búgófeszültség hatása teljesen kiküszöbölhető. Mivel a kettôs integrálási eljárás olcsó és pontos, zavarelnyomása is nagy, ezért fôleg digitális feszültségmérôkben használják, ahol a viszonylag hosszú konverziós idô nem zavaró. A 38. ábrán látható számlálónak nem kell feltétlenül bináris számlálónak lennie, a működés elve változatlan, ha pl. BCD számlálót alkalmazunk. Ez a lehetôség ki is használható a digitális voltmérôkben, mert ebben az esetben nem kell bináris-decimális átalakítót használni. Automatikus nullpont-kiegyenlítés kettôs integrálási (dual slope) eljáráshoz A kettôs integrálási eljárásnál láttuk, hogy a τ=RC1 idôállandó és az f=1/T órajel-frekvencia az eredményben nem szerepel. A pontosságot tehát lényegében a referenciafeszültség toleranciája, az integrátor és a komparátor nullponthibája határozza meg. A nullponthiba automatikus nullpont-kiegyenlítéssel megszüntethető. E célból helyettesítjük a 38. ábrán szereplô K3 rövidzár kapcsolót egy a 40. ábra szerinti szabályozó áramkörrel, amellyel az integrátor megfelelô kezdeti feltételét állíthatjuk elô. A kapcsolást egy IC-be integrálják.
BME Közlekedésautomatikai Tanszék
47
D/A és A/D átakítók Integrátor
Erõsítõ R
K1
R
K4
U be
+
IB
C1
K2
R
U
1
K Uref
Uk
1
Komparátor
2
+
+
Vezérlõ logikára
3
CNull
40. ábra Dual slope eljárás automatikus nullpont-kiegyenlítése Nyugalmi állapotban a K3 kapcsoló zárva van. Ekkor az integrátor a komparátor elôerôsítôjével egy feszültségkövetôt alkot, Uk kimeneti feszültsége a CNull jelű kondenzátort feltölti. A nullpont-kiegyenlítéshez az integrátor bemenetét eközben a K4 kapcsoló zárásával 0 feszültségre (földpontra) kapcsoljuk. Így az Uk = U0l - IBR korrekciós érték áll be, ahol U0l az integrátor ofszet feszültsége, és IB a bemeneti munkaponti árama. Állandósult állapotban a kompenzálás miatt a C1-n átfolyó áram 0 lesz, mintha az integrátor ideális lenne. A bemeneti feszültség integrálásához a K3 és K4 kapcsolót nyitjuk, a K1-et zárjuk. Mivel az Uk feszültség ez idô alatt a CNull kondenzátoron tárolva megmarad, ezért a nullpont is az integrálási fázis alatt kiegyenlített marad. A nullpont driftet ekkor csak a rövid idejű stabilitás határozza meg. A komparátor ofszet hibájának hatását ez az eljárás csaknem kiküszöböli. Nyugalmi állapotban ugyanis az integrátor U1 kimeneti feszültsége nem 0, mint az elôzô kapcsolásnál, hanem a komparátor elôerôsítôjének ofszet feszültségére áll be, tehát éppen az elrendezés billenési küszöbfeszültségének értékére. Mivel a kompenzáló körben két erôsítô van sorba kötve, ezért könnyen lengések jöhetnek létre a szabályzókörben. A stabilizáláshoz a CNull kondenzátorral sorba köthetünk egy ellenállást. Ezenkívül célszerű a komparátor elôerôsítôjének erôsítését 100-nál kisebbre választani. Ezáltal egyszerűbben elérhetô kis késleltetési idô is, ami lényeges komparátor üzemmódban, vagyis az integrálási idôtartamok alatt. Típus ADC EK 8 B ADC EK 12 B ADC EK 12 D MC 14433 ADC 3511 ADC 3711
Gyártó Datel Datel Datel Motorola National National
Felbontás 8 bit 12 bit 3˝ digit 3˝ digit 3˝ digit 3ľ digit
Párhuzamos /multiplex párhuzamos párhuzamos párhuzamos multiplex multiplex multiplex
Bináris /BCD bináris bináris BCD BCD BCD BCD
BME Közlekedésautomatikai Tanszék
Tápfeszültség [V] ±5 ±5 ±5 ±5 5 5
Teljesítményfelvétel [mW] 20 20 20 8 2,5 2,5
48
D/A és A/D átakítók S 190* ICL 7135
Siemens Harris
3ľ digit 3ľ digit
7 szegmenses
kijelzőkhöz
multiplex multiplex
BCD BCD
12 ±5
40 10
9 ±5 9 5 5 5 9
10 10 0,5 0,5 2,5 2,5 10
LED/LCD
ICL 7106 Harris 3˝ digit párhuzamos ICL 7107 Harris 3˝ digit párhuzamos ICL 7136 Harris 3˝ digit párhuzamos ICL 7137 Harris 3˝ digit párhuzamos ADD 3501 National 3˝ digit multiplex ADD 3701 National 3ľ digit multiplex ICL 7129 Harris 3ľ digit multiplex * Automatikus méréshatár-átkapcsolás támogatással
LCD LED LCD LED LED LED LCD
41. ábra Monolit integrált A/D átalakítók, amelyek dual slope eljárással működnek Kettôs integrálású (dual slope) A/D átalakítók általában monolit CMOS integrált áramköri kivitelben kaphatók. Két fô csoport különböztethető meg: az egyikhez tartozó típusokat általános alkalmazásra szánták, (különösen mikroszámítógéphez történô illesztésre); a másik csoport tagjait speciálisan kijelzôk meghajtására tervezték. Míg az elôbbiek kimenete általában bináris, ill. BCD kódú, addig az utóbbiak többnyire 7 szegmensű kijelző vezérlésére alkalmas kimenettel rendelkeznek. Néhány példát a 41. ábrán foglaltunk össze. II.3.5. Feszültség-frekvencia átalakítók (U-F konverterek): A digitális kimeneti jel ebben az esetben logikai szintű impulzussorozat frekvenciája (amelyből szám-információ adott, egységnyi ideig történő számlálással nyerhető). Egy lehetséges változatot mutat be a 42. ábra. Mivel az integrátor kimeneti jelének meredeksége arányos Ube-vel, az átalakító linearitása csak az integrátor linearitásán múlik. A pontosságot az R, a C és az Uref értéke határozza meg. A 43. ábrán látható diagram az U-F konverter működését szemlélteti. A feszültség-frekvencia (U-F) konvertereket általában egyszerűbb, kis igényű rendszerekben alkalmazzák.
+U be
R
-U be
U be 1
+
1
C
+
Vezérlés
+
R
+
S
Ui
Q = 0 : +Ube Q = 1 : -U be
-U ref
42. ábra BME Közlekedésautomatikai Tanszék
Q
Kimenet
49
D/A és A/D átakítók
Feszültség-frekvencia átalakító elven működő A/D átalakító U be = 1V
U be = 0,5V
U be = 0V
0,5 kHz
0 kHz
0V +Ube
+Ube
+Ube
Integrátor kimenet -U be
-U be
-U ref
Flip-flop kimenet Q 1 kHz
43. ábra Feszültség-frekvencia átalakító működése Az U-F konverterek általában nem valódi aránymérők. Valódi aránymérőkké tehetők a következő ábra szerinti kapcsolással: K1 K2
U be
U-F konverter
K3
Uref
44. ábra U-F konverter valódi aránymérővé való átalakítása A 45. ábra táblázatában néhány U-F átalakítót mutatunk be jellemző paramétereikkel. Típus VCF32P VCF32M VCF42 VCF52 VCF62 VCF320 VCF100G VCF101N VCF110 AD652
Gyártó
Frekvencia
Burr-Brown Burr-Brown Burr-Brown Burr-Brown Burr-Brown Burr-Brown Burr-Brown Burr-Brown Burr-Brown Analog Dev.
max. 500kHz* max. 500kHz* 0-10kHz 0-100kHz max. 1MHz* max. 1MHz* max. 2MHz* max. 2MHz* max. 4MHz* 2MHz*
Bemeneti feszültség * * 0...+10V 0...+10V * * 0...+10V 0...+10V 0...+10V 0...+10V±5V
BME Közlekedésautomatikai Tanszék
Linearitás hiba(max.) ±0,01% ±0,05% ±0,01% ±0,05% ±0,002% ±0,002% ±0,1% ±0,02% ±0,05% 0,005-0,05%
50
D/A és A/D átakítók AD650 Analog Dev. 1MHz* AD654 Analog Dev. 500kHz ADVFC32 Analog Dev. 500kHz AD537 Analog Dev. 150kHz * A felhasználó által programozható / választható VCC: tápfeszültség
0...+10V±5V 0...+VCC 0...+10V -VCC...+VCC
0,005-0,1% 0,1-0,4% 0,01-0,2% 0,07-0,25%
45. ábra Néhány feszültség-frekvencia konverter jellemző paramétere
A feszültség-frekvencia konverterekhez hasonlóan léteznek frekvencia-feszültség átalakítók is, amelyek bemenete különböző frekvenciaérték, kimenete pedig a bemenetre kapcsolt frekvenciának megfelelő analóg feszültségérték. Ezen típusú átalakítók működése leginkább a D/A átalakítókéhoz hasonlítható. Az utóbbi időkben az ilyen fajta átalakítókat egyre gyakrabban alkalmazzák következő előnyös tulajdonságaik miatt: -
kevés vezeték (csak egy kimenet van), PC-hez könnyen illeszthető, a kapcsolás technikailag egyszerű (8-10 lábú IC tokozás), a vezérlő elektronikától tetszőlegesen távol lehet (100-200m), optikai leválasztást biztosít, akár 380V is adható a bemenetre anélkül, hogy ez a vezérlő elektronikát károsítaná, - a kapuidő szoftveres állításával a felbontás és a sebesség változtatható. II.3.6. "Egy-bites", "delta" átalakítók Nagyobb pontossági követelmény esetén (valamint analóg jelek digitális formában való távadásához, telemetriához, hírközléshez stb.) a feszültség-frekvencia átalakítók pontosabb változatát alkalmazzák. A töltés kiegyenlítéses (Charge-Balancing, Δ-Σ : delta-szigma) átalakítók egy lehetséges kialakítását mutatja a 46. ábra. A komparátor "figyeli" az integrátor kimeneti feszültségét és minden Clock jel pillanatában úgy módosítja a D flip-flop állapotát, hogy a negatív referencia feszültség be-, illetve kikapcsolásával az átlagos töltésegyensúly helyreálljon, az integrátor kimeneti feszültsége zérus felé konvergáljon. Ha a bemeneti feszültség kicsi, akkor ritkán, kevés órajel időtartamra kell csak a referenciát bekapcsolni, a soros kimeneti jel kevés 1-est tartalmaz. Ha a bemeneti feszültség a végkitérés fele (0,5 V), akkor egy órajelre BME Közlekedésautomatikai Tanszék
51
D/A és A/D átakítók
bekapcsolódik, egy órajelre kikapcsolódik a referencia; a kimeneti jelben minden második periódus lesz 1-es (50%-os az 1-esek aránya), és így tovább. Clock Clock kimenet 0...+1V
R
+
U be
C1
R Integrátor
CL
+
D
Komparátor
D flip-flop
Q
Soros kimenet
Vezérlés: ha Q = 0, kikapcsolva ha Q = 1, bekapcsolva Uref
-1V
46. ábra Δ-Σ : delta-szigma átalakító lehetséges kialakítása Maximális (+1V) bemeneti feszültségnél gyakorlatilag minden CLOCK periódusban 1-es a kimeneti jel. Vagyis a kimeneti jelben az 1-es periódusok (n1) számának és az összes periódus számának aránya éppen a mérendő Ube arányát adja Uref - hez képest. A töltés-egyensúly feltétele:
(n0 + n1 ) U be −n1 U ref
=0
ahol n0: n1:
adott idő alatt a kimeneti "0"-k száma a kimeneti "1"-ek száma.
Ebből: U be n1 = U ref n0 + n1
Meg kell említeni, hogy az ilyen típusú A/D átalakítók biztosítják a legnagyobb pontosságot. Ennél pontosabb átalakítók technológiai, technikai okok miatt (pl. zaj, kontakt potenciál) nem gyárthatók. A Δ-Σ átalakító legfontosabb jellemzői a következők: - valódi aránymérő, - a teljes konverziós ciklusidő alatt foglalkozik a bemenő jellel, - a konverziós idő független a bemenő jel nagyságától, BME Közlekedésautomatikai Tanszék
52
D/A és A/D átakítók
- folyamatosan a nullpont környezetében dolgozik. Néhány Δ-Σ átalakítót mutatunk be jellemző paramétereikkel az 47. ábra következő táblázatában. Típus AD776 AD1878 AD1879 AD7716 AD7710 AD1849
Gyártó
Felbontás
Analog Dev. Analog Dev. Analog Dev. Analog Dev. Analog Dev. Analog Dev.
16 16 18 20 21 16
Bemeneti frekvencia 50kHz 24kHz 24kHz 18,5...300kHz 2,62...262Hz 8...48kHz
Referencia feszültség 2V, belső 3V, külső 3V, belső 2,5V, belső 2,5V, belső 2,25V, belső
Busz interfész soros soros soros soros soros, μP soros
47. ábra Néhány delta-szigma konverter jellemző paramétere II.3.7. A/D átalakítók realizálása mikroprocesszor felhasználásával A mikroprocesszorok tömeges elterjedése óta (80-as évek eleje) új irányzat az analóg-digitál átalakítók realizálására (különösen nagypontosságú DVM-ek, multiméterek, "ipari" mérés-adatgyűjtő rendszerek céljaira), hogy nem használnak fel erre a célra készült LSI áramkört, hanem csak a legszükségesebb analóg hardvert építik fel, és ennek irányítását, az egész konverzió végrehajtását egy mikroprocesszor-rendszerre bízzák. A konverzió szoftver úton történik. Az algoritmus olyan, hogy a meglehetősen igénytelen analóg elektronikus rész összes hibáját automatikus nulla-méréssel, automatikus kalibrációval gyakorlatilag észrevehetetlenné teszik (egyedül a referencia feszültségnek kell pontosnak lennie!). Az átalakítás leggyakrabban töltés kiegyenlítéses elvű, annak valamilyen módosulata. A 48. ábra egy ilyen példát mutat (a Hewlett Packard HP 3455 A DVM átalakítójának vázlata).
BME Közlekedésautomatikai Tanszék
53
D/A és A/D átakítók
+
C
2R
+
U be
Ui
+ -
R
-Ucomp
-U ref
DIGITÁLIS EGYSÉG Sample counter 200000
Display counter
n0
nx
Stop (Állj)
Display value (Kijelzett érték)
MIKROSZÁMÍTÓGÉP
n0 = T f 0
(
)
nx = n t c + t r + t f f 0
48. ábra Mikroprocesszor vezérlésű A/D átalakító Az "analóg elektronika" egy integrátorból és két komparátorból áll. Az integrátor töltődését az Ube mérendő feszültséggel, illetve az Uref referencia feszültséggel lehet vezérelni 2R, illetve R-en keresztül a megfelelő elektronikus kapcsoló segítségével. A vezérlő egység az Ube-et a teljes T mérési ciklus alatt az integrátorra kapcsolja. Amikor az integrátor kimeneti feszültsége elér egy meghatározott ( -Ucomp) feszültséget, rákapcsolja a referencia forrást is egy rögzített (tc) időtartamra, ennek elteltével Uref-et leveszi és így tovább, egészen a T végéig. Az utolsó szakaszon lehet, hogy egy teljes tc-re "nincs idő", akkor tr marad. A legutolsó fázisban csak a referenciával téríti vissza 0V-ra az integrátort (ehhez tartozik tf idő). A tc időtartamok, valamint tr és tf alatt a "display counter" (kijelző számláló) egy órajel impulzusait számolja, a T időt pedig a "sample counter" (mintavételi időt meghatározó számláló) jelöli ki ugyanezen órajel adott számú periódusának (200 000) megszámlálásával. A töltésegyensúly feltétele: BME Közlekedésautomatikai Tanszék
54
D/A és A/D átakítók
(
)
n t c + t r + t f U ref U be T = R 2R
ahonnan
n tc + tr + t f U be n =2 =2 x U ref T n0
vagyis Ube referenciához viszonyított értéke a display counter-rel megszámolt nx-szel arányos (a jel 20 ms-ig átlagolódik az integrátoron). Az így kapott eredmény sok hiba-komponenst tartalmaz (R-ek hibája, kapcsolók hibája, Ucomp eltérése, integrátor ofszetje stb.) Mindez a rendszerben egy Uos offset feszültséggel és egy (hibás) "A" rendszer-erősítéssel modellezhető. A hibakiiktatás úgy történik, hogy a mikroprocesszor az átalakítóval 3 mérést végeztet (ld. 49. ábra) : megméri ugyanazzal a rendszerrel Ube-et, egy nagyon pontos referenciát és a precíz 0 V-ot. E1
U be 1 Uref
2
A0
3
ADC
Részeredmény
E2
0V U 0s
E3
49. ábra Hibakiiktatás elvi kapcsolása Ezen mérések eredményeiből kiszámítja a pontos eredményt: E=
A(U be + U os ) − AU os E1 − E 3 U = = be E 2 − E 3 A U ref + U os − AU os U ref
(
)
Hasonló elven működik pl. a KEITHLEY 191-es multimétere is (ebben sincs LSI átalakító, csupán néhány átlagos minőségű erősítő, kapcsoló, egy jó minőségű integráló-kondenzátor és feszültség referencia - minden más funkciót, pl. a mérési "pontszám", a felbontás 256-szorosra növelését egy 6802-es mikroprocesszor végzi. Az egész multiméter programja 512 byte-ban fért el). Az ilyen kategóriájú műszerek szokásos pontossága legalább 0,001%.
BME Közlekedésautomatikai Tanszék
55
D/A és A/D átakítók
III.
Az A/D és D/A átalakítók kiegészítő eszközei
A konverterek felépítéséhez, valamint A/D és D/A konvertereket tartalmazó rendszerek felépítéséhez az eddig részletesen tárgyalt eszközökön (erősítőkön, áramgenerátorokon, létrahálózatokon stb.) kívül egyéb kiegészítő eszközökre, egységekre is szükség van, amelyeket esetenként egy tokba (egy IC-be) integrálják az átalakítóval: -
analóg kapcsolókra, "programozható" osztókra, erősítőkre, analóg multiplexerekre, mintavevő-tartó (Sample and Hold) áramkörökre.
Ezek felépítésével, működésével, kialakításával ebben a segédletben nem foglalkozunk. IV.
A/D és D/A átalakítók felhasználása
Az A/D és D/A átalakítókat gyakorlatilag minden bonyolultabb elektronikával rendelkező berendezésben felhasználják. A hétköznapi életben ilyen áramköröket tartalmaz az autó, tv, mosógép, hifi berendezések stb. Az ipari felhasználás területéről meg kell említeni többek között a különféle mérési adatgyűjtő kártyákat, berendezéseket, az asztali-kézi multimétereket, a digitális szabályzókat (DDC = Direct Digital Control) és a programozható logikai vezérlőket (PLC = Programmable Logic Control). Az A/D és D/A átalakító áramköröket előszeretettel alkalmazzák az egyes folyamatokat felügyelő digitális folyamatszabályzó rendszerekben. A mérő és adatgyűjtő rendszerek tervezésének, az A/D ill. D/A átalakítók megválasztásának főbb szempontjait elsősorban a mérendő mennyiség jellege és a mérés környezete határozza meg. A megoldandó feladat általában egy, vagy több A/D ill. D/A átalakítás megvalósítása információ veszteség nélkül. Lényeges szempontok: 1. Pontosság:
Általában 6-20 (max. 28 egyes nagy pontosságú digitális mérőműszereknél) bit között változhat, a feladat jellegétől függően (pl. 5 digites lázmérő készítése értelmetlen, de ha alátervezünk - 2 digites kijelző - akkor információt veszítünk). BME Közlekedésautomatikai Tanszék
56
D/A és A/D átakítók
2. Sebesség:
A feladat jellegéből adódóan a mérendő jel sávszélességétől függően 3-107 darab mérést kell elvégezni másodpercenként (ennél nagyobb számú mérés esetén a tárolás nem biztosítható). A digitalizálni kívánt U(t) feszültség idő függvény Fourier soraiból az adatgyűjtés szempontjából érdekes, informatív komponens frekvenciájának legalább kétszerese kell, hogy legyen a mintavételezés frekvenciája (Shanon mintavételezési tétele).
3. Adattárolás:
A mérés, adatgyűjtés tárolási igénye függ a mérendő mennyiség jellegétől, a megkívánt pontosságtól, illetve a mérés sebességétől. Például 106 darab mérés/másodperc sebesség és 10 bit pontosság esetén kb. 2 Mbyte mérési eredmény keletkezik másodpercenként, amely felveti a mért adatok tárolásának és előzetes feldolgozásának, szűrésének problémáját.
4. Egyebek:
További tervezési szempontként többek között figyelembe kell venni: - a környezeti hatásokat (laboratóriumi, ipari, szélsőséges, extrém), - a bemeneti jelszintet, - a párhuzamosan kezelendő csatornák számát, - a megbízhatósági szempontokat, - a zavar- és zajérzékenységet valamint, - az érintésvédelmi szabályokat is.
Az A/D és D/A átalakítókkal kapcsolatban meg kell jegyezni, hogy nagyon széles kínálati palettával rendelkeznek. Egy-egy cég kb. 100-200 különböző típust gyárt.
BME Közlekedésautomatikai Tanszék
57
D/A és A/D átakítók
Irodalomjegyzék
[1]
U.Tietze-Ch.Schenk: Analóg és digitális áramkörök. Műszaki könyvkiadó, Budapest, 1990.
[2]
Megyeri József: Számítógépes folyamatirányítás. BME Villamosmérnöki kar, Budapest, 1988.
[3]
Kerényi István-Tuzson Tibor: Analóg perifériák mikroprocesszoros rendszerekhez. BME Mérnöktovábbképző Intézet, Budapest, 1986.
[4]
Dr.Komarik József: Analóg perifériális áramkörök számítógépekhez. BME Mérnöktovábbképző Intézet, Budapest, 1992.
[5]
Bahtiarov-Malinyin-Skolin: Analóg-digitális könyvkiadó, Budapest, 1990.
[6]
1992 Short From Designers’ Guide. Analog Devices, 1992.
[7]
Zsom Gyula: Digitális technika I. II. Műszaki könyvkiadó, Budapest, 1988
BME Közlekedésautomatikai Tanszék
átalakítók.
Műszaki
58
D/A és A/D átakítók
MÉRÉSI ÚTMUTATÓ
BME Közlekedésautomatikai Tanszék
BME KÖZLEKEDÉSMÉRNÖKI KAR KÖZLEKEDÉSAUTOMATIKAI TANSZÉK
DIGITÁLIS - ANALÓG ÉS ANALÓG - DIGITÁLIS ÁTALAKÍTÁS MÉRÉSE A mérés célja, a súlyozásos közelítés elvén működő 5 bites D/A átalakító, a számláncot alkalmazó eljárás alapján működő D/A átalakító, valamint a követő (servo, tracking) elven működő A/D átalakító vizsgálata.
A. Mérési feladatok 1. Határozza meg a súlyozásos közelítés elvén működő 5 bites D/A átalakító valamennyi lehetséges kimeneti feszültség értékét. A mért értékeket foglalja táblázatba. Lineáris regresszió segítségével határozza meg az átalakítás pontosságát. Jelenítse meg az oszcilloszkóp képernyőjén a D/A kimenetét, ha bemeneti értékei 0-31 között folyamatosan és ciklikusan változnak. A jelalakot ábrázolja milliméterpapíron. 2. Írjon PASCAL programot, amely a súlyozásos közelítés elvén működő 5 bites D/A átalakító kimenetén a szinusz függvénynek megfelelő jelalakot állítja elő. Oszcilloszkóp segítségével jelenítse meg a szinusz függvényt. A jelalakot ábrázolja milliméterpapíron. 3. Határozza meg a számláncot alkalmazó eljárással működő D/A átalakító legalább 11 lehetséges kimeneti feszültség értékét. A mért értékeket foglalja táblázatba. Lineáris regresszió segítségével határozza meg az átalakítás pontosságát. A bemeneti impulzussorozatokat ábrázolja milliméterpapíron. 4. A követő A/D átalakítás elvén működő átalakító segítségével mérjen le legalább 8, külső feszültségforrásból származó feszültséget (0 - 4V DC). Számítsa ki az átalakítás hibáját.
B. Elméleti ismeretek Kiadott segédletből:
D/A és A/D átalakítók működése,
Elektrotechnika c. tantárgyból:
az elektronikus feszültségmérő és az oszcilloszkóp használata,
Számítástechnika c. tantárgyból: Turbo PASCAL programozási nyelv, BME Közlekedésautomatikai Tanszék
2
D/A és A/D átakítás mérése
Matematika c. tantárgyból:
lineáris regresszió alkalmazása.
BME Közlekedésautomatikai Tanszék
3
D/A és A/D átakítás mérése
C. A mérési feladatok leírása A méréseket az A/D - D/A átalakító egység segítségével végezzük el. Ennek elvi kapcsolása a következő ábrán látható. D6
PIO10
+5V
ACK
LM324N
PIO8
+ -
R16 100k
Komparátor
Z1
A/D IN 0 - 4V DC
ZPD 4,7 GND
GND 10k
R13 10k
D4
PIO6
R12 10k
R11 10k
R10 10k
PC párhuzamos port (LPT/PIO)
D3
D2 D1 D0
PIO5
R9 10k
PIO4
PIO3
PIO2
R7
R8
10k
R5
R6
10k
10k
R1
R2
R3
R4
10k
10k
10k
10k
D/A OUT
PWM IN PWM IN D7
PIO9
R14
R15
10k
10k
C1
470nF
PWM OUT
C2
GND
GND
PIO25
470nF
GND
GND
GND
1. Csatlakoztassa a számítógép párhuzamos portjához (LPT, PIO) az A/D D/A átalakító egységet. Az átalakító egység D/A OUT és GND kivezetésére kösse a rendelkezésre álló elektronikus voltmérőt. A mellékelt PASCAL program megfelelő módosításával és futtatásával mérje le a lehetséges 32 (5 biten 25=32) különböző kimeneti feszültség értéket. A mért értékeket foglalja táblázatba. Csatlakoztassa az oszcilloszkópot a 2. mérésnek megfelelően. A mellékelt programban végezze el a következő módosítást BME Közlekedésautomatikai Tanszék
D/A és A/D átakítás mérése
4
(comment): {write('Z erteke: ',i:2); readln;}. Rajzolja le a kapott jelalakot.
BME Közlekedésautomatikai Tanszék
5
D/A és A/D átakítás mérése A/D - D/A átalakító LPT/PIO PC
A/D IN
D/A OUT
PWM IN
PWM OUT
Elektronikus Feszültségmérõ
GND
2. Csatlakoztassa a számítógép párhuzamos portjához (LPT, PIO) az A/D D/A átalakító egységet. Az átalakító egység D/A OUT és GND kivezetésére kösse a rendelkezésre álló oszcilloszkópot. A mellékelt PASCAL program megfelelő módosításával és futtatásával hozza létre az oszcilloszkóp képernyőjén a szinusz függvény jelalakját. Rajzolja le a kapott jelalakot. Oszcilloszkóp A/D - D/A átalakító
LPT/PIO PC
A/D IN
D/A OUT
PWM IN
PWM OUT
GND
3. Csatlakoztassa a számítógép párhuzamos portjához (LPT, PIO) az A/D D/A átalakító egységet. Az átalakító egység PWM OUT és GND kivezetésére kösse a rendelkezésre álló elektronikus feszültségmérőt valamint a PWM IN és a GND kivezetésre az oszcilloszkópot. A mellékelt PASCAL program megfelelő módosításával és futtatásával mérjen le 11 különböző kitöltési tényezőhöz (0%-100%, 10%-onként) feszültségértéket. A mért értékeket foglalja táblázatba. Rajzolja le a 10%, 50% és 100% kitöltési tényezőkhöz az oszcilloszkóp képernyőjén látható impulzussorozatokat.
BME Közlekedésautomatikai Tanszék
6
D/A és A/D átakítás mérése Oszcilloszkóp A/D - D/A átalakító
PC
LPT/PIO
A/D IN
D/A OUT
PWM IN
PWM OUT
GND
Elektronikus Feszültségmérõ
BME Közlekedésautomatikai Tanszék
7
D/A és A/D átakítás mérése
4. Csatlakoztassa a számítógép párhuzamos portjához (LPT, PIO) az A/D D/A átalakító egységet. Az átalakító egység A/D IN és GND kivezetésére kösse a rendelkezésre álló 10kΩ-os potenciométerrel leosztott központilag kiadott 4V-os egyenfeszültséget. Az elektronikus feszültségmérő segítségével folyamatosan mérje az A/D IN bemenetre jutó feszültséget. A mellékelt PASCAL program futtatásával mérjen le 8 különböző feszültséget (0V-4V-ig, 0,5V-onként). A mért értékeket foglalja táblázatba. A/D - D/A átalakító
LPT/PIO PC
A/D IN
D/A OUT
PWM IN
PWM OUT
Potenciométer (10k)
+4V
GND
GND
Elektronikus Feszültségmérõ
D. Felhasználható eszközök A mérési feladat elvégzéséhez a következő eszközök használhatók: • • • • •
A/D - D/A átalakító egység, PC számítógép Turbo PASCAL programozási környezettel, elektronikus feszültségmérő, oszcilloszkóp, 10kΩ-os potenciométer.
A 4. mérési feladathoz központilag kiadott 4V egyenfeszültség áll rendelkezésre.
E. A mérés menete, értékelés A mérés előtt elő kell készíteni a mellékletben közölt programok megfelelő módosításait, illetve a mérési eredmények, grafikonok számára szükséges táblázatokat. A mérés értékelését jegyzőkönyvben kell elvégezni, amelynek az általános követelményeken túl (ld. Elektrotechnika c. tantárgy mérési jegyzőkönyv követelmények) a következőket kell, hogy tartalmazza: BME Közlekedésautomatikai Tanszék
8
D/A és A/D átakítás mérése
1.mérés:
Z (0-31)
a mért értékek táblázatba és grafikonba foglalva, az átalakítás lineáris regresszióval történő közelítése. Az átalakítás maximális és átlagos hibájának számítása. A statikus jellemzők meghatározása (nullpont hiba, maximális érték hibája, linearitás hiba, monotonitási hiba). Az oszcilloszkópról vett jelalak milliméterpapíron ábrázolva.
Mért Uki [V]
Lineáris regresszióval számított Uki (yLR) [V]
Ideálisnak feltételezett Uki (yID) [V]
yLR-yID [V]
2.mérés:
a D/A átalakítóval előállított szinusz függvény oszcilloszkópról vett jel alakja milliméterpapíron ábrázolva.
3.mérés:
a mért értékek táblázatba és grafikonba foglalva, az átalakítás lineáris regresszióval történő közelítése. Az átalakítás maximális és átlagos hibájának számítása. A statikus jellemzők meghatározása (nullpont hiba, maximális érték hibája, linearitás hiba, monotonitási hiba). Ábrázolja milliméterpapíron a 10%, 50% és 100% kitöltési tényezőkhöz az oszcilloszkóp képernyőjén látható impulzussorozatokat.
Kitöltési tényező (0%-100%)
4.mérés:
Mért Ube [V]
Mért Uki [V]
Ideálisnak Lineáris regresszióval számított Uki feltételezett Uki (yLR) [V] (yID) [V]
yLR-yID [V]
a mért értékek táblázatba foglalva, az átalakítás lineáris regresszióval történő közelítése. Az átalakítás maximális és átlagos hibájának számítása. A statikus jellemzők meghatározása (nullpont hiba, maximális érték hibája, linearitás hiba, monotonitási hiba). Z
Lineáris regresszióval számított Z (yLR)
Ideálisnak feltételezett Z (yID)
BME Közlekedésautomatikai Tanszék
yLR-yID
D/A és A/D átakítás mérése
Budapest 1995. október
BME Közlekedésautomatikai Tanszék
9
D/A és A/D átakítás mérése
Mellékletek 1.,
Az 1. mérés mintaprogramja (da.pas): program da; uses crt; const cim=$378; var i:integer; label ujra; begin clrscr; ujra: for i:=0 to 31 do begin gotoxy(30,12); port[cim]:=i; write('Z erteke: ',i:2); readln; end; goto ujra; end.
2.,
Az 2. mérés mintaprogramja (sinus.pas) program sinus; uses crt; const cim=$378; var i:integer; p:array[1..3600] of integer; label ujra; begin clrscr; for i:=1 to 3600 do p[i]:=round(sin(i*pi/180)*15+16); gotoxy(15,12); write('Szinusz fuggveny megjelenitese az oszcilloszkopon'); ujra: for i:=1 to 3600 do port[cim]:=p[i]; goto ujra; end.
BME Közlekedésautomatikai Tanszék
10
D/A és A/D átakítás mérése
3.,
Az 3. mérés mintaprogramja (pwm.pas) program pwm; uses crt; const cim=$378; var i,j:byte; c:char; label ujra; begin ujra: clrscr; gotoxy(30,12); write('Kitoltesi tenyezo [%]: '); readln(j); if j<101 then begin repeat for i:=0 to 100 do if i>=j then port[cim]:=0 else port[cim]:=128; until keypressed; c:=readkey; end; goto ujra; end.
4.,
Az 4. mérés mintaprogramja (servo.pas) program servo; uses crt; const cim1=$378; cim2=$379; var i:integer; begin clrscr; i:=15; repeat if (port[cim2] and 64) <> 0 then begin if i<31 then inc(i); end else begin if i>0 then dec(i); BME Közlekedésautomatikai Tanszék
11
12
D/A és A/D átakítás mérése
end; port[cim1]:=i+64; gotoxy(30,12); write('A mert ertek: ',i,' '); delay(250); until keypressed; end. 5.,
A lineáris regresszió valamint az egyes hibák számításához szükséges összefüggések, meghatározások
Lineáris regresszió számításához szükséges összefüggések: n ⎛ n 2⎞ ⎛ n ⎞ ⎜ ∑ xi ⎟ ⋅ a + ⎜ ∑ xi ⎟ ⋅ b = ∑ xi yi ⎝ i =1 ⎠ ⎝ i =1 ⎠ i =1
y = ax + b
n ⎛ n ⎞ ⎜ ∑ xi ⎟ ⋅ a + nb = ∑ yi ⎝ i =1 ⎠ i =1
Maximális hiba:
a lineáris regresszióval meghatározott (yLR) és az ideálisnak feltételezett (yID) - az origót és a maximális mért értéket összekötő - egyenesek közötti maximális eltérés.
Átlagos hiba:
a lineáris regresszióval meghatározott (yLR) és az ideálisnak feltételezett (yID) - az origót és a maximális mért értéket összekötő - egyenesek közötti átlagos eltérés.
Nullpont hiba:
az elméleti (ideális) és a mért nullpont különbsége.
Maximális érték hibája: a lineáris regresszióval meghatározott maximális és a mért maximális érték különbsége. Linearitás hiba:
egy lépés 1ULSB-től való maximális eltérés.
Monotonitási hiba:
ha a liearitás hiba nagyobb, mint 1ULSB.
U LSB =
U kimax Z max − 1
Z max = 2 n
n=felbontás, bit
BME Közlekedésautomatikai Tanszék