Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
dr. Dabóczi Tamás
Beágyazott és ambiens rendszerek Oktatási segédanyag a VIMIA347-es tantárgyhoz
2008. március 28.
Copyright Ez a dokumentum a "Beágyazott és ambiens rendszerek" (VIMIA347) című tantárgyhoz készült oktatási segédanyagnak. A tárgy hallgatói a tantárgyhoz kapcsolódó tanulmányaikhoz szabadon letölthetik a következő internet címről: http://portal.mit.bme.hu/?l=oktatas/targyak/vimia347/index.html az alábbi feltételekkel: •
az töltheti le, aki hivatalosan felvette a "Beágyazott és ambiens rendszerek" (VIMIA347) című tárgyat tanulmányaiba,
•
a segédlet elektronikusan nem terjeszthető,
•
a segédlet kinyomtatható egyszer, és a nyomtatás idejére átmenetileg lokálisan tárolható elektronikusan, de a nyomtatást követően (maximum 1 héten belül) az elektronikus változatot törölni kell.
•
a kinyomtatott dokumentum tovább nem másolható.
© dr. Dabóczi Tamás, 2008.
Beágyazott és ambiens rendszerek
3.
Beágyazott rendszerek Beágyazott rendszerek fogalma A beágyazott rendszerekre többféle definíció létezik. Ezek közül néhányat felsorolunk: •
azok a számítógépes alkalmazói rendszerek, amelyek •
autonóm működésűek,
•
intenzív információs környezetükkel,
kapcsolatban
állnak
fizikai/technológiai
•
olyan egység, ami vezérel vagy felügyel egy gépet, berendezést vagy ipari folyamatot (IEE),
•
az a számítógép, aminek nincs billentyűzete (humoros megfogalmazás).
Néhány tipikus példa beágyazott rendszerekre a mindennapjainkból: • • • • • • •
mosógép, mobiltelefon, videó kamera, GPS, fax, repülőgép, gépjármű elektronika (ABS, ASR, befecskendező vezérlő, fedélzeti számítógép, automata sebességváltó, klíma) stb.
Mitől különbözik a beágyazott rendszer a hagyományos mikroprocesszoros alkalmazásoktól? A hagyományos mikroprocesszoros rendszerek is beágyazott rendszerek voltak, de ma más a technológia, rendszertechnika és a tervezési/implementálási módszer. Chip méret csökkent, komplexitás nőtt → 1 chipbe sokminden integrálható. Digitális jelfeldolgozás fejlődött → beépül a chipbe. Eszközök újraprogramozhatóak. SW technológia fejlődött (objektum orientált programozás, jó fejlesztői környezet). Megjelentek a tudás reprezentáció új módszerei (mesterséges intelligencia, szakértői rendszerek, neurális hálók, soft computing). Mindez a fejlődés egy új megközelítést igényel a fejlesztésben, tervezésben. Érzékelők forradalma A beágyazott rendszer intenzív kapcsolatban áll a fizikai környezettel, vagyis érzékelőket, beavatkozókat is tartalmaz. Érzékelők kompaktabbak, beépül a jelkondicionálás, kalibrálás, korrigálás az érzékelőbe. Beépül a jelfeldolgozás egy része az érzékelőbe. (Integrated smart sensors: érzékelő, erősítő, A/D, mikrokontroller, önkalibrálás, linearizálás, szabványos digitális kimenet.)
Beágyazott és ambiens rendszerek
4.
Beavatkozók fejlődése Megjelentek a Mikro-elektromechanikai rendszerek (MEMS: Micro ElectroMechanical Systems) MEMS és félvezető technika ötvözése: szilíciumon lapon beavatkozó (μmIntegration: micromachined integration). Ezáltal az érzékelő, jelfeldolgozó és beavatkozó egység egybeintegrálható. Példa: Szilícium lapon relé (1 A, 109 életciklus) DMD projektor (szilícium lapon tükör tömb, nagyfrekvenciás működés)
Érzékelők (szenzorok) A következőkben érzékelőket ill. átalakítókat az alábbi értelemben fogjuk használni. Átalakító (transducer): egyik típusú energiát a másikba alakítja. Érzékelő (sensor): valamilyen jel → elektromos jel. Megkülönböztetünk aktív és passzív érzékelőket: aktív:
külső gerjesztésre van szüksége (pl. nyúlásmérő bélyeg, RTD, termisztor)
passzív:
maga generál elektromos kimenetet (pl. termoelem, fotodióda stb.)
(Lehetne fordítva is definiálni, de az ipar így használja.) Érzékelők egy rendszer részei: érzékelő – jelkondicionáló – analóg jelfeldolgozás – A/D átalakító – digitális jelfeldolgozás – információ továbbítás – beavatkozás A jelkondicionáló által elvégzendő feladatok a következőek: erősítés, szintillesztés, galvanikus leválasztás, impedancia illesztés stb. Analóg feldolgozásba tartozik: linearizálás, zavarszűrés stb. Néhány példa fizikai tulajdonságok mérésére: fizikai tulajdonság
érzékelő
aktív/passzív
kimenet
hőmérséklet
termoelem
P
feszültég
félvezető
A
feszültég/áram
ellenállás hőmérő
A
ellenállás
termisztor
A
ellenállás
nyúlásmérő bélyeg
A
ellenállás
piezo érzékelő
P
feszültség (töltés)
gyorsulás
gyorsulásmérő
A
kapacitás (töltés)
pozíció
lin. változó diff. transzformátor (LVDT)
A
AC feszültség
fény intenzitás
fotodióda
P
áram
erő/nyomás
Beágyazott és ambiens rendszerek
5.
Analóg-Digitális átalakítók AD átalakító típusok közvetlen:
feszültség ! digitális
közvetett:
feszültség ! idő/frekvencia/stb. ! digitális
pillanatérték mérő:
jól meghatározott időpontban (flash, kondenzátor kisütés) amplitúdó függő időpontban (számlálós, szukcesszív,
fűrészgenerátoros) átlagérték mérő:
(dual slope)
Közvetlen AD Két fő típust különböztetünk meg: visszacsatolt és visszacsatolás nélküli változatot. Visszacsatolt közvetlen AD: U be
Vezérlõ regiszter
DAC
A pontosság és a linearitás a DA-n múlik. Régebben:
lézerrel trimmelt vékonyréteg ellenállások a DA-ban
Ma: ppm/°C)
kapcsolt kapacitás (hőmérsékleti együttfutás jobb, mint 1
Vezérlési algoritmusok: Számlálós AD: U
be
t
Beágyazott és ambiens rendszerek
6.
Követő számlálós: U
be
t
Szukcesszív approximációs: U
be
0,5FS
t
(Ez a legelterjedtebb a 3 közül, tipikusan 12-16 bites.) Kapcsolt kapacitással megvalósított bemenet és DA fokozat (3 bites): K2 U
C
K
1
C
C
C
2
4
4
S 1
S 2
S 3
A
S 4
U be U
ref
∑ C = 2C 1. K1, K2 bekapcsolva:
követ (track or sample)
2. K1 kikapcsolva:
tartás (hold)
3. K2 is kikapcsolva:
az „A” pont szabadon mozog
4. S1, S2, S3, S4 földre kapcsolva: 5. S1 U ref -re kapcsolása:
U A = −U be
Beágyazott és ambiens rendszerek
7.
C C
C
C
2
4
4
U ref
UA =
U ref
− U be 2 Komparátor kimenettől függően S1 vagy így marad, vagy ismét földre kapcsol. C
6. S2 U ref -re kapcsolása: C 2
U ref
C
C
4
4
C
U A -hoz
U ref
-et ad hozzá 4 Komparátor kimenettől függően S2 vagy így marad, vagy ismét földre kapcsol. 1,5C
7. Hasonlóan S3, S4-re is. Újabb bit hozzáadása: C/4 helyett párhuzamosan C/8-C/8. C 4
C 8
C 16
C 2
C n
2
n
Beágyazott és ambiens rendszerek
8.
Flash konverter (párhuzamos, szimultán átalakító) U be U
ref
1,5R
R
R
R E G I S Z T E R
Á T K Ó D O L Ó
N
R
0,5R
Ehhez N bites AD esetén 2 N − 1 komparátorra, és 2 N ellenállásra van szükség!
Előnyök: •
nagy sebesség
100 MHz / 10-12 bit 1 GHz / 8 bit (20 GHz / 8 bit)
Hátrányok: •
nagy fogyasztás,
•
nagy bemeneti kapacitás (analóg bemenet minden komparátorra elmegy),
•
nagy méret, ezért drága,
•
torzítás (2N ellenállást kellene azonosra állítani).
Beágyazott és ambiens rendszerek
9.
Subranging ADC U
be
S/H
4 bites ADC
4 bites DAC
4 bites ADC
4
4
Kimeneti regiszter 8
Tulajdonságok: •
kisebb fogyasztás, mint flashnél,
•
kisebb méret,
•
csak kicsivel lassabb, mint a flash.
Gyorsítás: U be
pipelined subranging ADC S/H
S/H
6 bites ADC
S/H
6 bites DAC
7 bites ADC
6
7 buffer
6
Hibakorrekciós logika
Kimeneti regiszter 12
Beágyazott és ambiens rendszerek
10.
A 3. mintavevő/tartó (SH) glitch mentessé teszi a 7 bites ADC bemenetét. A pipeline lehet 3-as, sőt 4-es is. A pipeline késleltetést okoz, de az eredő áteresztő képesség nem változik. (Késleltetés gyakran nem gond, kivétel a szabályozó köröknél.)
Fűrészgenerátoros ADC (ramp runup) tx U
be
C R U
Indít
ref
Gyors órajel
Számláló RST
U be
t tx
Az első blokk végzi el a feszültség/idő, a második blokk az idő/digitális átalakítást. A tx időt méri a számláló. A „mintavétel” az átalakítás végén, ami függ a mintavett értéktől.
Beágyazott és ambiens rendszerek
11.
Kondenzátor kisütős feszültség-idő átalakító (charge rundown) t
Ux
x
I ref
Indít Ux
t tx
Mintavétel az indításkor történik, ami előny.
Dual slope átalakító (kettős meredekségű, analóg módon integráló) C
Ux
R
+U ref −U ref
Lépések: •
Ux integrálása fix ideig,
•
+/- Uref integrálása addig, amíg vissza nem tér 0-ra. U
be
Ux U ref
t T
ref
T
x
Beágyazott és ambiens rendszerek
U x = −U ref
12.
Tx Tref T x = t 01 n x , Tref = t 02 nref
Óragenerátor:
Tx Tref
Ha t 01 = t 02 , akkor U x = −U ref •
óragenerátor rövididejű stabilitására van csak szükség,
•
de függ a referencia feszültségtől.
Zavarérzékenység szinuszos zavarfeszültség esetén Maximális hiba akkor adódik, ha pont egy fél periódust integrál az AD. 2 T
T
2
∫ A sin (ωt )dt = ... = 0
2A
π
≈ 0.64 A
Ha Tref -et szinkronizáljuk a zavarhoz (tipikusan hálózati 50 Hz), akkor arra a frekvenciára a zavarérzékenység nagyon jó.
Digitálisan integráló ADC feszültség ! frekvencia ! digitális U
U x
számláló
f T
i
U x = kf , N = Ti f = kTiU x Pontosabban: N = kTi U x
(egyszerű középérték)
Mérési időt itt is célszerű a hálózati 50 Hz-hez megválasztani ( l ⋅ 20 ms )
Szigma-Delta ADC Nagy frekvenciával mintavételezve, kvantálva, majd aluláteresztő szűrve és decimálva egy jelet az effektív bitszám megnő. A szükséges túlmintavételezési arány azonban nagyon nagy, így ez nem praktikus. A Szigma-Delta modulátor egy olyan visszacsatolt struktúra, melyben a mintavételezés során a hasznos jel lényeges torzítása nélkül a kvantálási zaj a nagyfrekvenciás tartományba tolódik ki.
Beágyazott és ambiens rendszerek
13.
Szigma-Delta modulátor H(f)
ADC
DAC
Lineáris modellje: q
H(f)
Y(f )=
H(f ) 1 X ( f )+ Q( f ) 1+ H ( f ) 1+ H ( f )
H(f) integrátor jellegű (aluláteresztő).
Pl. H ( f ) =
1 f 1 X ( f )+ Q( f ) esetén Y ( f ) = f 1+ f 1+ f
Kis frekvencián: hasznos jelre az átvitel
kb. 1
zajra az átvitel
kb. 0
Nagy frekvencián: hasznos jelre az átvitel
kb. 0
zajra az átvitel
kb. 1
A Szigma-Delta modulátor a kvantálási zajt kitolja a nagyfrekvenciás tartományba, míg alacsony frekvencián a hasznos jelet nem torzítja. Ezt hívják zaj formálásnak (noise shaping). A Szigma-Delta modulátort egy aluláteresztő szűrő és decimáló fokozat követi. Ezáltal az egyszerű túlmintavételezéshez képest lényegesen kisebb túlmintavételezési aránnyal is elérhető az adott bitszám növekedés. A teljes ADC blokkvázlata: U be
Σ−Δ modulátor
Tulajdonságok: •
mintavevő-tartó általában elhagyható,
•
átlapolásgátló szűrő általában elhagyható
•
de digitális decimáló szűrőnek beállási ideje van
decimátor
Ki
Beágyazott és ambiens rendszerek
14.
Elsőrendű Szigma-Delta modulátor: 1
+U
−U
N
digitális szûrõ
decimáló
ref
ref
Előnyök: •
komparátor, mint 1 bites ADC lineáris (nagyon jó differenciális nemlin.)
Másodrendű Szigma-Delta modulátor: 1
N
digitális decimáló
szûrõ
+U ref
−U ref
Tulajdonságok: •
jobb zajelnyomás, mint az elsőrendű modulátronál,
•
de stabilitási gondok lehetnek
Stabilitást figyelni kell, és ha gond van, be kell avatkozni. Több bites Szigma-Delta modulátorok: n bites flash
H(f)
N decimáló
n bites DAC
Linearitással gond lehet, viszont nagyobb bitszám érhető el ugyanavval a túlmintavételezési aránnyal.
Beágyazott és ambiens rendszerek
15.
Szigma-Delta ADC alkalmazása: •
alapvetően hangfrekvenciás tartományban,
•
főleg audio alkalmazások,
•
tipikus bitszám: 16-24 bit.
Előnyök: •
lineáris fázis,
•
olcsó (nagy tömegben gyártják, audio, szórakoztató elektronika),
•
egyszerű átlapolásgátló szűrő elég (ha egyáltalán kell).
Hátrányok: •
késleltetés,
•
nem multiplexelhető a bemenet (de létezik egy tokban 6 Szigma-Delta ADC),
•
digitális oszcilloszkópba nem alkalmas (ott az átlapolt spektrumú jelalak az érdekes).
Decimálás Mintavételi frekvencia csökkentése: •
ADC órajelének csökkentésével,
•
digitális jel esetén decimálással.
Decimálásra egy példa: CD 44.1 kHz frekvenciájáról a DAT 48 kHz frekvenciájára való áttérés. (160-szoros interpolálás, majd 147-es decimálás.) Decimálási arány általában egész szám. Decimálás után a jel spektruma sűrűbben ismétlődik (decimálási arányszor sűrűbben). Ezért a decimálást általában aluláteresztő szűrés előzi meg, hogy a spektrum átlapolódását megakadályozzuk.
FIR szűrés + decimálás fs x(n)
h(0)
z −1
z −1 h(1)
M
z −1 h(2)
h(N−1) y(n) Regiszter
Beágyazott és ambiens rendszerek
16.
Gyorsabb számolást tesz lehetővé, ha az összegzést csak minden M. mintára végezzük el (a többit úgyis eldobjuk). Ehhez több regiszterre van szükség: x(n) z
−1
z
−1
z
−1
fs N bites regiszter
h(0)
h(1)
M
h(2)
h(N−1) y(n)
Több fokozatú decimáló szűrők A decimálást több lépésben, egymás utáni aluláteresztő szűrő/decimáló fokozatokkal végezzük el. Felező szűrő:
minden fokozat a mintavételi frekvencia negyedétől nyomja el a jelet, és felére csökkenti a mintavételi frekvenciát. |H|
f fs 4
fs 2
fs
Halfband filter: hasonlít a felező szűrőhöz, de a mintavételi frekvencia negyedénél véges elnyomással (1/2) rendelkezik, és erre a pontra antiszimmetrikus. Ennek megfelelően súlyfüggvényében minden 2. minta nulla. CIC filter (Cascaded Integrator Comb, kaszkád integráló fésű szűrő): mozgóablak jellegű átlagolás megvalósítása ügyes struktúrával k + M −1
∑ x[i ]
Mozgóablak átlag:
i =k
M −1
H = ∑ z −i = i =0
− j 2πf 1 − z −M = ... = e −1 1− z
M −1 Δt 2
sin (πfMΔt ) N N sin (πfΔt )
fs 1 (azaz ) egész számú többszöröseinél leszívás van. M MΔt Ha N nagy, ill. f kicsi, akkor a folytonos sinc-hez tart.
Ez a digitális sinc.
k + M −1
k + M −1
k −1
i=k
i = −∞
i = −∞
∑ x[i] → ∑ x[i ] − ∑ x[i]
Beágyazott és ambiens rendszerek
17.
I
D
Σ
z
A
−M
mozgóablak átlagolást felbontottuk differenciálóra.
egy
kaszkád
integrátorra
és
Integrátor:
z
−1
HI =
1 1 − z −1
Differenciáló:
y[n] = x[n] − x[n − M ] H D = 1 − z −1
1 − z −M A kettő együtt: H = 1 − z −1 I
D
M
A decimáló és a differenciáló sorrendje felcserélhető: I
M
D
Több fokozat egymás után (sinc3): I
I
I
M
D
D
•
Az integrátoroknál növekvő bitszámra van szükség az egymásutáni fokozatoknál. A differenciálóknál csökkenő bitszám is elég.
•
moduló aritmetika kell,
•
szélesebb tartományban elnyom
Gond: sinc3 torzítása nem elhanyagolható kis frekvencián. Megoldás: Σ−Δ modulátor
sinc
3
FIR
fs körül. M
D
Beágyazott és ambiens rendszerek
18.
FIR: •
kompenzálja a sinc3 átviteli hibáját kis frekvencián,
•
meredek vágás, de már kis mintavételi frekvencián (többször decimált jel),
•
tipikusan programozható FIR (20..100 tap-es).
Előny: •
egyszerű,
•
leszívásokat az elnyomandó zavar frekvenciákra lehet tenni (pl. 50 Hz).
Lehet sincN szűrőt is így generálni.
Szigma-Delta ADC összefoglalva Előny: •
lineáris fázis,
•
olcsó (nagy tömegben gyártják audió és szórakoztató elektronikába),
•
egyszerű átlapolásgátló szűrő elég (ha egyáltalán szükséges).
Hátrány: •
késleltetés,
•
nem multiplexelhető
•
digitális szkópba nem jó
Beágyazott és ambiens rendszerek
19.
Bit-per-stage ADC (soros, ripple) (fokozatonként egy bit) A Bit-per-stage ADC az 1 bites subranging ADC-k egy speciális változata. U ref
U
be
S/H
S
1
S
S
2
S
3
ÁTKÓDOLÓ N
Fűrészfog erősítőt tartalmazó Bit-per-stage ADC Egy fokozat felépítése: fűrészfog erősítő
G=2
+U ref
−U ref
bináris kimenet
Időben lineárisan növekvő bemenőjelre adott válasz: U be +U
ref
t
−U ref
N−1
Beágyazott és ambiens rendszerek
20. R1 +U
ref
t
−U ref
Egy 3 bites ADC időben lineárisan növekvő bemenőjelre adott válasza: U be +U
ref
−U ref R1 +U
ref
−U ref R2 +U
000
001
010
011
100
101
110
111
ref
−U ref
Gond: kódváltásoknál ugrás az egyes fokozatok kimenetein, emiatt hosszú a beállási idő, kisebb sebesség érhető el (meg kell várni, amíg a tranziens végighalad minden fokozaton, és beáll). Tranziens viselkedés szempontjából jobb architektúrájú az abszolút érték erősítőt tartalmazó Bit-per-stage ADC
Beágyazott és ambiens rendszerek
21.
Abszolútérték erősítőt tartalmazó Bit-per-stage ADC MagAmps (Magnitude Amplifier, abszolútérték erősítő, soros Gray konverter) Egy MagAmp fokozat felépítése: U
G=2
ref
maradék
G=−2
bináris kimenet
Időben lineárisan növekvő bemenőjelre adott válasz: U +U
be
ref
t
−U ref R1 +U
ref
t
−U ref
Beágyazott és ambiens rendszerek
22.
Egy 3 bites MagAmp erősítőt tartalmazó ADC időben lineárisan növekvő bemenőjelre adott válasza: U be +U
−U
ref
ref
R1 +U
ref
−U ref R2 +U
−U 000
001
011
010
110
111
101
100
ref
ref
Itt az egyes fokozatok kimenetén nincs ugrás, ezért gyorsabb a beállás, nagyobb sebesség érhető el. Ez az architektúra a Flash konvertererek versenytársa, avval a további előnnyel, hogy nem kell lézerrel trimmerelni ellenállásokat, mint ahogy azt a Flash igényli. Létezik vegyes architektúra is. Pl. Felső 5 bit MagAmp fokozat, alsó 3 bit Flash. Így egy 8 bites felbontás mellett 100 MHz-es mintavételi frekvencia érhető el. S/H
MagAmp1
MagAmp2
MagAmp3
MagAmp4
MagAmp5
3 bites flash ADC 3
Gray
Gray
Gray
Gray
Gray
Bin
Regiszter 5
Gray −> Bináris
3
5
Kimeneti regiszter 8
Beágyazott és ambiens rendszerek
23.
AD átalakítók hibái, jellemzése AD átalakítók általános felépítése: f
s
N S/H
kódoló
Lehetséges hibaforrások, hibák: Analóg bemeneti buffernél •
termikus zaj,
•
torzítás,
•
véges sávszélesség
Mintavevő-tartónál: •
termikus zaj,
•
torzítás,
•
véges sávszélesség,
•
appertúra jitter.
Kódolónál: •
kvantálási zaj,
•
nemlineáris torzítások (integrális és differenciális nemlinearitás)
DC hibák •
offset hiba,
•
erősítés hiba,
•
nullpont hiba (bipolárisnál)
•
integrális nemlinearitás (ideális ill. tényleges végpontokra),.
•
differenciális nemlinearitás (legnagyobb eltérés)
AC hibák •
termikus zaj,
•
torzítás.
termikus zaj mérése: földelt bemenet esetén a kimeneti kódról hisztogram. A hisztogram jellemzése a zaj csúcstól-csúcsig értékével történik. A csúcstólcsúcsig értéket úgy definiálják, hogy az az érték, amit kisebb, mint 0.1%-ban lép
Beágyazott és ambiens rendszerek
24.
túl. Ez Gauss eloszlás esetén 2*3.3*szórásnak.
megfelel a
6.6*RMS-nek,
vagyis a
tozítás: jöhet az analóg részből, és az integrális ill. differenciális nemlinearitásból. Nem mindegy, hogy hol a hiba, a karakterisztika melyik részén. A differenciális nemlinearitás legyen elszórva az egész tartományban, ne egy pontba koncentrálódjon. Általában nagy jeleknél az integrális, kis jeleknél a differenciális nemlinearitás dominál. Jellemzés: •
harmonikus torzítás (dBc, dB relative to carrier) •
legnagyobb harmonikusra (worst harmonic)
•
összes harmonikusra (total harmonic distortion, THD)
∑H
THD =
2 i
N
A
ahol A az alapharmonikus amplitudója, Hi a harmonikusok amplitudója, N a figyelembevett felharmonikusok száma (általában 5)
•
torzítás+zaj
•
total harmonic distortion + noise, THD+N
∑H
THD + N =
2 i
+ ∑ Ni
2
M*
N
A
ahol Ni a zaj (DC nélkül), illetve minden egyéb, ami nem az 1..5 harmonikus, M* a zaj sávszélességét definiáló szám
•
jel/zaj viszony (signal to noise ratio, SNR)
A
SNR =
∑N
2 i
M
•
signal to noise and distortion ratio, SINAD, SIN+D
SINAD =
A
∑H N
2 i
+ ∑ Ni
2
M
A THD+N reciproka, ha a zaj sávszélessége fs/2.
•
effektív bitszám (effective number of bits, ENOB) ENOB =
•
SINAD − 1.76 dB 6.02
spurious free dynamic range, SFDR (a spektrumban a legnagyobb tüske és az alapharmonikus viszonya)
Beágyazott és ambiens rendszerek
25.
Kétféle viszonyítási alap: dBc:
dB relative to carrier, alapharmonikushoz viszonyítva
dB FS: dB relative to Full Scale, teljes kivezérléshez viszonyítva |X|
FS SFDR (dBFS) SFDR (dBc)
f
•
intermodulációs torzítás 2-4 frekvencia közel egymáshoz, megjelennek összeg és különbségi frekvenciák is.
Jitter hatása az effektív bitszámra Appertúra jitter (mintavételi időpont bizonytalansága) származhat az órajel bizonytalanságából, és a mintavevő tartó hibájából. A appertúra jitter meredek felfutású jelnél nagy amplitúdó bizonytalanságot okoz, hiszen a mintavételi időpillanat kis elcsúszása is a jel pillanatértékének nagy változását eredményezi. Ez csökkenti az effektív bitszámot. Az appertúra jitter által okozott hiba jó közelítéssel lineárisan függ a jel meredekségétől. A TTL kapuknak nagy a jittere (1-5 ps). Nagy frekvenciás alkalmazásoknál ezért tranzisztoros oszcillátor kellhet. ADC-k dinamikus tulajdonságainak mérése ADC
buffer (N db. szó)
N pontos FFT
Kvantálás zajmodelljénél azt feltételeztük, hogy a kvantálási zaj és a kvantálandó jel korrelálatlanok. Amennyiben a periodikus jel frekvenciája és a mintavételi frekvencia harmonikus arányban állnak, a kvantálási zaj tökéletes AD esetén periodikus, vagyis korrelált lesz a bemenőjellel. Ez csökkenti a dinamika tartományt (SFDR csökken). Valóságos rendszerben általában szélessávú rendszer zaj van jelen, ami ditherként hat, és csökkenti a korreláltságot. Gond: ADC-k tesztjére elterjedt módszer a szinusz jellel való gerjesztés. Nehéz szétválasztani, hogy mi a torzítás, és mi a korreláció hatása. Ennek érdekében gondosan kell megválasztani a mintavételi frekvenciát (ill. a teszt jel frekvenciáját). Tovább segíthet dither és átlagolás alkalmazása.
Beágyazott és ambiens rendszerek
26.
A zaj küszöb FFT után: N bites AD esetén SINAD=6.02 N + 1.76 dB A zaj küszöb ez alatt van. Az FFT ugyanis sávszűrős spektrum analizátorként működik. A sávszűrő sávszélessége (ezáltal az FFT felbontása) fs/M, ahol M a minták száma.
⎛M ⎞ A zaj csillapítása 10 log⎜ ⎟ ⎝ 2⎠ (Azért M/2, mert pozitív és negatív frekvencián is van egy-egy sávszűrő.) A zajküszöb csökkenthető a mintavett pontok számának növelésével, ezáltal ugyanis a sávszűrő sávszélessége csökken.
AD átalakítók összehasonlítása
konvertálási idő mintavételi frekvencia bitszám
flash
subranging
szukcesszív approx.
SzigmaDelta
Dual slope
~ 1 ns
~ 10 ns
~ μs
~ 10 μs .. ms
~ 100 ms ..
1..10 GHz
100 MHz
MHz
10..100 kHz
Hz
8
8 .. 10
12 .. 16
16 .. 24
> 20
linearitás
+
abszolút pontosság
+
késleltetés
(> tconv)
(> tconv)
zajelnyomás mintavevő-tartó
nem kell
esetleg kell, néha benne van
kell (ált. beépítik)
átlapolásgátló szűrő alkalmazás
+
+
ált. nem kell
kell (sokszor benne van)
ált. nem kell szkóp, video, rádió
videó, rádió
általános ipari
audio
DVM
Beágyazott és ambiens rendszerek
27.
Digitális-Analóg átalakítók Lánc (string), vagy hőmérő típusú átalakítók Ezeket általában önállóan nem gyártják, inkább alkotóelemei más struktúráknak. Feszültség kimenetű string DAC U ref
3
dekódoló
R
R
R U ki
R
R
Tulajdonságok: •
2N ellenállás és kapcsoló szükséges!
•
kódfüggő kimeneti impedancia,
•
szigorúan monoton,
•
kis glitch,
•
könnyű így nemlineáris DAC-t készíteni (pl. logaritmikus, exponenciális stb.).
Áram kimenetű string DAC U
ref
R
R
R
R
R
R
R
R
( 3 dekódoló
)
1
Beágyazott és ambiens rendszerek
28.
Itt több ellenállást kapcsolunk párhuzamosan egyszerre. Tulajdonságok: •
2N-1ellenállás és kapcsoló szükséges!
•
glitch kódfüggetlen.
Bináris (létra) kialakítású átalakítók R-2R létra R
2R
R
2R
R
2R
R
2R
2R
2R
2R
Tulajdonságai: •
a láncot elvágva váltakozva R ill. 2R az eredő ellenállás,
•
i. csomópont és a föld között mindig 2/3 R az eredő ellenállás,
•
egyik oldalon feszültséggel gerjesztve a felső csomópontokon a feszültség binárisan csökken,
•
bármely felső csomópontot feszültséggel gerjesztve a felső csomópontokon a feszültség binárisan csökken,
•
bármely 2R ágban egy feszültséggenerátoros gerjesztés hatására a 2R ág felső csomópontján a gerjesző feszültség harmada jelenik meg.
R-2R létra alapú átalakítók Előny:
kevés elemre van szükség.
Hátrány:
kódfüggő glitch.
Referencia feszültség, áram kimenet U R
2R
2R I/32
R
2R
R
2R
I/16
I/8
R
2R I/4
ref
I
2R I/2 MSB
I out =
U ref R
k , k = ∑ ai 2 − i
I R
out
Beágyazott és ambiens rendszerek
29.
Az áram kimenetű átalakítók végén tipikusan egy áram-feszültség átalakítót alkalmaznak. Referencia feszültség, feszültség kimenet R
2R
R
2R
U
R
2R
2R
I/8
out
2R
I/4
2R
I/2 MSB
U
ref
2 U out = U ref k 3
Referencia áram, feszültség kimenet
I
I R
I R
I R
MSB
U 2R
2R
2R
2R
2R
U out =
2R
4 RIk 3
Referencia áram, áram kimenet
I/16
I/8
I/4
I/2
I MSB
I out = 2 Ik A referencia áram osztása R-2R létrával történik.
I
out
out
Beágyazott és ambiens rendszerek
30.
Szegmentált DA architektúrák Kelvin-Varley osztó U ref
U
out
Pl. 12 bit felbontás eléréséhez 6+6 bites DAC szükséges, ami 26+26=128 ellenállást jelent, és nem 212=4096-ot. Kelvin osztó + R-2R létra U ref
R
2R
2R
Ha a létra háló monoton, akkor az egész DAC monoton.
U out
R
2R
2R
2R
Beágyazott és ambiens rendszerek
31.
Szorzó DA-k Az eddigi típusoknál is a kimeneti feszültség (vagy áram) a referencia feszültséggel (vagy árammal) volt arányos. Ilyen értelemben ezek is szorzók, mégsem ezeket nevezzük szorzó DA-knak. A szorzó DA-kban a referencia feszültség vagy áram széles tartományban változhat, akár egy AC jel is lehet.
DAC-k logikai felépítése digitális bemenet
Bem. puffer
Kim. puffer
analóg DAC kimenet
fc
Kettős pufferelés eredménye: •
bemenet bármilyen formátumú lehet,
•
kimenet járhat fix frekvencián, míg a bemenet aszinkron módon töltődik,
•
több DAC tölthető párhuzamosan, és a kimenet engedélyezhető egyszerre.
Glitch A glitch a kódváltáskor történő tranziens. Forrása lehet kapacitív csatolás, vagy az, hogy a kapcsolók nem egyszerre váltanak.
ideális eset
dupla glitch
unipoláris glitch
A glitch jellemzése időparaméterekkel konverziós idõ
slew holtidõ time
hibasáv
recovery time lineáris beállás
Beágyazott és ambiens rendszerek
32.
Holtidő (dead time): digitális váltás, de a kimenet még nem változik Slew time:
a kimenet változását a slew rate határozza meg
Recovery time:
DAC “helyreáll” a gyors változásból, túllőhet
Lineáris beállás (linear settling): beáll a végértékhez.
exponenciálisan, vagy közel lineárisan
A beállási idő az előző négy szakasz együtt (amíg a hibahatáron végleg bentmarad). A glitch jellemzése impulzus területtel Végérték egyenese fölötti és alatti hullámok összterülete ([V sec, μV sec, pV sec]) Peak glitch area:
legnagyobb pozitív vagy negatív csúcs terület
Mid scale glitch:
MSB váltáskor lejátszódó tranziens (ez általában a legrosszabb)
Glitch kódfüggése Kódfüggetlen glitch: minden óraütemben ugyanúgy lejátszódik Spektruma a mintavételi frekvencia egész számú többszöröseinél egy vonal. Kódfüggő glitch:
kb. a jel alapharmonikusával periodikus
A jel alapharmonikusának egész számú többszöröseinél spektrumvonal. Nulladrendű tartó hatása A DA átalakító a kimenetén a diszkrét értéknek megfelelő feszültségszintet a következő mintavételi időpontig tartja. Ezt hívják nulladrendű tartónak. Ezáltal a kimenet lépcsős lesz. Ez a lépcsősség abból ered, hogy a kimenet csak adott időpillanatokban változik, tehát ez nem a kvantáló hatása. (Természetesen a kvantáló miatt is csak diszkrét feszültségszintek jelenhetnek meg, de a két hatás egymástól független.) A nulladrendű tartó hatása modellezhető úgy, hogy a diszkrét jelsorozat konvolválódik egy analóg négyszög ablakkal, melynek a szélessége a mintavételi idő. A diszkrét jel spektruma a négyszög ablak spektrumával (sinc) szorzódik. A sinc leszívási pontjai a mintavételi frekvencia egész számú többszöröseinél vannak. Megjelennek az ismétlődő spektrumok a sinc oldalhullámainak csillapításával. A sinc főhulláma az alap spektrumban is mérhető torzítást okoz. Ahol ez gond, ott általában a nulladrendű tartó átviteli függvényét kompenzálják, mielőtt a DA-ra kerülne a jel.
Interpoláló DA-k A DA átalakító analóg kimenőjele egy mintavételezett jel. Mintavételezett jel spektruma ismétlődik a mintavételi frekvenciával. Az ismétlődések ugyan a nulladrendű tartó átviteli függvényének (sinc) megfelelően csillapítottak, de nem elhanyagolhatóak. Ráadásul a sinc főhulláma is jelentős torzítást okoz az alap spektrumban. Ahol ez nem engedhető meg (pl. CD lejátszó kimenete), egy olyan aluláteresztő szűrőre lehet szükség, amely az ismétlődéseket kiszűri. Mivel a diszkrét jel sávszélessége és a Nyquist frekvencia tipikusan közel vannak egymáshoz, az aluláteresztő szűrőnek igen meredeken kell vágnia. Ez nagy kihívást jelent az analóg szűrőknek, általában csak rossz fázismenettel biztosítható a specifikáció.
Beágyazott és ambiens rendszerek
33.
A megoldást a túlmintavételezés, vagy interpolálás jelentheti. (Az interpolálás a tipikus, hiszen csak a DA átalakításkor van szükség a nagyobb mintavételi frekvenciára. Előtte ez csak nagyobb tárolókapacitást és számításigényt jelenteni.) A spektrum az interpoláció arányában ritkábban ismétlődik, ezáltal az aluláteresztő szűrő lényegesen egyszerűbben és jobb tulajdonságokkal megvalósítható. Interpoláció Interpoláló szűrő Az interpoláció leggyakoribb formája a következő: •
minden mintavett érték mögé nullákat írunk be, mégpedig annyit, mintha magasabb mintavételi frekvenciával mintavételeztük volna a jelet (interpoláció arányánál eggyel kevesebb),
•
Aluláteresztő szűrővel csak az alap spektrumot engedjük át, az eredeti mintavételi frekvenciával ismétlődőket nem.
Az interpoláló szűrőt polifázisú szűrőkkel szokták megvalósítani. A polifázisú szűrő alapgondolata, hogy mivel nullákat illesztünk minden mintavett érték mögé, a szűrés során ezekkel az értékekkel való szorzást fölösleges elvégezni. M-szeres interpoláció esetén a következő szűrőegyütthatók szorzódnak nem nulla értékkel: •
0. érték:
{h(0), h(M), h(2M), h(3M), …}
•
1. érték:
{h(1), h(M+1), h(2M+1), h(3M+1), …}
•
2. érték:
{h(2), h(M+2), h(2M+2), h(3M+2), …}
•
…
•
M-1. érték:{h(M-1), h(M+M-1), h(2M+M-1), h(3M+M-1), …}
•
M. érték: {h(0), h(M), h(2M), h(3M), …} (ismétlődik az előző rész)
•
…
Ez azt jelenti, hogy az egymás utáni kimeneti értékek kiszámításához körforgásszerűen mindig más és más szűrőegyütthatókkal kell konvolválni minden M. mintavett értéket (melyek nem nullák). Amint az összes szűrőegyüttható blokkal elvégeztük a konvolúciót, és így megkaptunk M egymás utáni kimeneti értéket, a konvolúciót újabb mintavett blokkra végezzük el. Példaként nézzünk meg egy 3-szoros interpolációt, 9 tap-es FIR szűrővel. 8
yi = ∑ xi −k hk k =0
ahol xi a nullákkal kiegészített diszkrét jel sorozat. Mivel minden 3. diszkrét jel értéke különbözik csak nullától, a következőképp egyszerűsödik a számítás.
Beágyazott és ambiens rendszerek
34. …
yi = xi h0 + xi −3h3 + xi −6 h6 yi +1 = xi h1 + xi −3 h4 + xi −6 h7 yi + 2 = xi h2 + xi −3 h5 + xi −6 h8 yi +3 = xi +3 h0 + xi h3 + xi −3 h6 yi + 4 = xi +3 h1 + xi h4 + xi −3 h7 yi +5 = xi +3 h2 + xi h5 + xi −3 h8 … Lineáris interpoláció A mérnöki gyakorlatban elterjedten alkalmazzák a lineáris interpolációt annak egyszerűsége, kis számításigénye miatt. A lineáris interpoláció során az új értékeket úgy származtatjuk, hogy két egymást követő mintát egy egyenessel kötünk össze. A köztes pontok az egyenes megfelelő mintái lesznek. A lineáris interpoláció hatása a nulladrendű tartóból vezethető le egyszerűen. Megvizsgáltuk, hogy a nulladrendű tartó hatása leírható a diszkrét jelsorozat négyszög ablakkal való konvolúciójával. Ennek a négyszögablaknak az önkonvolúciója egy dupla széles háromszög ablak. Evvel való szűrés írja le a lineáris interpolációt. Ez alapján a spektrális viselkedése is egyszerűen számolható. Az önkonvolúció a frekvencia tartományban négyzetre emelésnek felel meg. A lineáris interpoláció a frekvencia tartományban leírható tehát a sinc2 jellegű átviteli függvénnyel, melynek leszívási pontjai az eredeti mintavételi frekvencia egész számú többszöröseinél vannak. Mivel a szűrőnk diszkrét, ezért az átviteli függvénye periodikus. A sinc2 jellegű átviteli függvény átlapolódik. Ezt hívjuk diszkrét sinc-nek, illetve sinc2-nek. Amennyiben egy lineárisan interpolált jelet teszünk ki egy DA átalakítóra, a nulladrendű tartó hatása is megjelenik. Ez a frekvencia tartományban egy sinc-es átvitelt jelent, melynek leszívási pontjai az új (magasabb) mintavételi frekvencia egész számú többszöröseinél vannak. A diszkrét jel spektruma tehát szorzódik egyszer egy diszkrét sinc2-nel, az eredeti mintavételi frekvenciának megfelelő leszívásokkal, és egy folytonos sinc-cel, az új, magasabb mintavételi frekvenciának megfelelő leszívásokkal. Látható, hogy a lineáris interpoláció jobban torzítja az alap spektrumot, mint a nulladrendű tartó, cserébe viszont az ismétlődéseket erősebben elnyomja. Minősége azonban még így is messze elmarad az interpoláló szűrővel való megvalósítástól, mely mind az alap spektrum torzítatlansága, mind az ismétlődések elnyomása tekintetében egy nagyságrenddel jobb lehet.
Szigma-Delta DA-k A Szigma-Delta DA-k működése sokban hasonlít a Szigma-Delta AD-kéhez. Blokkvázlata a következő:
Beágyazott és ambiens rendszerek
N
N
digitális
s
|X|
f
szûrõ
s
|X|
f
s
analóg
DAC kf
|X|
2 szintû analóg jel
1 bites
modulátor kf
s
1
Σ−Δ
interpoláció f
35.
kf
s
|X|
f
kf
s
f
f
A Szigma-Delta modulátor feladata, hogy a kvantálási zajt kitolja a nagyfrekvenciás tartományba, míg kisfrekvencián a hasznos jel érintetlen marad. A modulátor felépítése a következő: N
1
1 bites csonkoló MSB
A modulátor felépítése sokban hasonlít az AD-kben alkalmazottéhoz, de itt az aluláteresztő szűrő diszkrét, és a kvantálás újrakvantálást jelent. A lineáris modell a következő: n
x
q
H(z)
y
Z tartományban felírva a jelek kapcsolatát kifejezhetjük a hasznos jelre és a kvantálási zajra vonatkozó átvitelt. Y ( z ) = H ( z )[ X ( z ) − Y ( z )] + N q ( z )
Y (z ) =
H (z ) 1 X (z ) + N q (z ) 1 + H (z ) 1 + H (z )
Elsőfokú modulátor
z −1
MSB
A hurokszűrő átvitele:
H (z ) =
z −1 1 = −1 1− z z −1
1 bites csonkoló
Beágyazott és ambiens rendszerek
36.
1 H (z ) 1 = z − 1 = = z −1 1 + H (z ) 1 + 1 z z −1
Átvitel hasznos jelre:
(csak késleltetés)
1 1 z −1 = = 1 − z −1 = 1 + H (z ) 1 + 1 z z −1
Átvitel zajra:
1− z
−1
= 1− e
− jω
= 2j
e
+j
ω 2
−e 2j
−j
ω 2
e
−j
ω 2
⎛ πf ⎛ω ⎞ = 2 sin ⎜ ⎟ = 2 sin ⎜⎜ ⎝2⎠ ⎝ fs
⎞ ⎟⎟ ⎠
A modulátor átvitele (abszolút érték) a hasznos jelre és a zajra: |H| jel
zaj f f
s
Hiba visszacsatolásos modulátor
A hiba visszacsatolásos modulátor nevét onnan kapta, hogy az újrakvantáló hibáját vezetjük a visszacsatoló ágba: k+1
1 (MSB)
1 bites csonkoló
x
k H(z) −e k
k+1
1 (MSB)
x k H(z) −e
Az 1 bites csonkoló és a hiba visszacsatolás megvalósítása igen egyszerű. A csonkolónál a legfelső bitet (MSB) vezetjük tovább, a csonkoló hibája pedig a maradék alsó bitek (0 .. MSB-1). Lineáris modellje:
Beágyazott és ambiens rendszerek
37. nq
x
y −1 H(z)
A modulátor átvitele a következő:
− E ( z ) = ( X ( z ) − H ( z )E ( z )) − Y ( z ) Y ( z ) = X ( z ) + (1 − H (z ))E ( z ) = X ( z ) + (1 − H ( z ))N q ( z )
A hasznos jelre az átvitel egységnyi, késleltetés és fázistolás nélkül. Elsőfokú modulátor esetén:
H ( z ) = z −1 , 1 − H ( z ) = 1 − z −1
átvitel zajra:
⎛ πf 1 − z −1 -et korábbban kiszámoltuk: 2 sin ⎜⎜ ⎝ fs
(
Másodfokú modulátor esetén: H ( z ) = 1 − 1 − z −1
)
(
2
= z −1 2 − z −1
(
1 − H ( z ) = 1 − 1 + 1 − z −1
átvitel zajra:
2 ⎛ πf 1 − z −1 = 4 sin 2 ⎜⎜ ⎝ fs
⎞ ⎟⎟ ⎠
)
) = (1 − z ) 2
−1 2
⎞ ⎟⎟ ⎠
Másodfokú modulátor realizálása: k
k+m
z−1
1
k+m−1
2 −1
z
−e
A realizáláshoz csak összeadásra, kivonásra és shiftelésre van szükség, így a hardver implementáció egyszerű.
Beágyazott és ambiens rendszerek
38.
Jelszintézis Hagyományos frekvencia szintézis Hagyományos frekvencia szintézerek egy oszcillátor bankot tartalmaznak. A frekvenciák keverése, összeadása szorzó áramkörökkel történik. x
0
1
x0 2
x0
f
3
out
x0 4
Az oszcillátor banknál rugalmasabb elrendezés a fáziszárt hurokkal (PLL) megvalósított frekvencia szorzó: f0
fázis detektor
VCO
f out=Nf
0
÷N
Ha a visszacsatoló ágban a frekvenciát N-nel osztjuk, akkor a kimenő frekvencia N-szerese lesz a referencia frekvenciának.
Digitális frekvencia szintézis f
c
cím számláló
PROM
regiszter
DAC
f
out
A frekvencia változtatása fc változtatásával történik. Értelemszerűen a PROM átírása is lehetőséget biztosít a frekvencia változtatására. A PROM-ban bármilyen jelalakot tárolhatunk, az elrendezés nem korlátozódik szinuszos hullámformára.
Beágyazott és ambiens rendszerek
39.
A digitális szintézis rugalmasabb elrendezését biztosítja a numerikusan vezérelt oszcillátor: fázis akkumulátor N Δ fázis
soros N párhuzamos átalakító
f
ROM N
N
regiszter 24−32
fázis regiszter
c
f out =
Mf c 2N
~10 szinusz
12−16
M
A kimenő jel frekvenciája:
N
tábla
DAC
f out
Beágyazott és ambiens rendszerek
Kommunikáció beágyazott eszközökben A kommunikációt osztályozhatjuk az alábbi tulajdonságok alapján: •
pont-pont vagy busz kapcsolat,
•
soros vagy párhuzamos átvitel (a tendencia a soros).
Fontosabb szabványok, protokollok: RS 232/422/485 I2 C CAN / DeviceNet Ethernet FireWire: számítógép és perifériák, eszközök között J1850 SAE (OBD II) Profibus Smart Distributed System (SDS): PLC-PC kommunikáció, ipari alkalmazás, Honeywell Ezek közül néhányat részletesebben is megvizsgálunk.
Aszinkron soros kommunikáció (RS 232/422/485, IrDA) Üzenet felépítése: start bit, 5-8 adat bit, paritás, stop bit Start bit:
1-ről 0-ra vált a jel,
Paritás:
páros/páratlan, illetve elhagyható,
Stop bit:
1, 1.5, 2 bit hosszú.
Jelszintek: RS232, 1 vezeték: RS 422/485
„0”
3 .. 25 V
“1”
-3 .. –25 V
2 vezeték, szimmetrikus, differenciális kimenet
Jelkonverterek:
MAX 232 TTL "! RS 232
A +5 V-os tápfeszültségből töltéspumpával állítja elő a +/- 10V-ot. Tipikus sebesség:
9.6 kbps .. 115.2 kbps
40.
Beágyazott és ambiens rendszerek
41.
IrDA (Infrared Data Association, HP) A fizikai réteg más, mint az RS 232-nél. Az átvetel optikai úton történik, infravörös tartományban. A teljesítmény spórolás érdekében a villanás 3/16-od kitöltési tényezőjű (ez a “0” szint, az „1”-esnél nem villan). Tulajdonságok: •
fél duplex átvitel,
•
hibajavítás 16 bites CRC kóddal
•
max. link hossz 1 méter
IrDA 1.0
2400 baud .. 115.2 kbaud, RZI moduláció, 9600 baud-ról iterálnak fel/le.
IrDA 1.1
4 Mbaud-ig RZI, magasabb átviteli sebességnél 4 PPM moduláció
Figyelem! A PC-ben az UART hiába tud gyakran nagyobb sebességet, mint a 115.2 kbaud, a MAX 232 szintillesztő általában nem működik nagyobb sebességgel!
Inter IC (I2C) bus Általános jellemzők Hol találhatók meg: •
mikrokontrollerek,
•
memóriák,
•
kijelzők,
•
billentyűzet,
•
AD és DA átalakítók.
Minden eszköznek saját azonosítója (címe van). Master/slave kommunikáció. Master lehet adó és vevő is. Több master is lehet a rendszerben. Ekkor ütközést detektálás, és arbitráció. Soros 8 bites csomagok. Busz kapacitás max. 400 pF lehet (ez limitálja a max. eszközszámot) Sebesség:
standard:
max. 100 kbps
fast:
max. 400 kbps
high speed:
max 3400 kbps
Beágyazott és ambiens rendszerek 2 vezeték:
42.
SDA Serial Data Line SCL Serial Clock Line
Fogalmak: Adó:
adatot küld
Vevő:
adatot fogad
Master:
adatforgalmat indít, órajelet generál, adatforgalmat leállít
Slave:
a megcímzett eszköz
Multi master: több master jelölt próbálkozhat egyszerre az üzenet sérülése nélkül Arbitráció:
master jelöltek versenye, az üzenet sérülése nélkül
Szinkronizáció:
több eszköz órajelének szinkronizálási folyamata
Az órajelet mindig a master generálja. Az órajel változhat, ha a slave Wait-et kér, vagy arbitrációkor. Jelszintek: open collector-os kimenetek. Bit szintű adatátvitel Adat érvényes, ha a SCL órajel magas. Kivétel a START és a STOP.
SDA SCL adat adat érvényes változhat
SDA SCL S START
P STOP
Beágyazott és ambiens rendszerek
43.
Byte szintű adatátvitel STOP vevő ACK
ismételt START
not ACK
SDA SCL
1
S
2
8
9
START
1
9
vevő WAIT
Acknowledge:
órajelet a master generálja adat jelet az adó magasan hagyja, vevő lehúzza (ACK)
Ismételt start: ugyanaz, mint a start Ha a slave küld adatot:
master Not ACK-val válaszol, majd STOP
Órajel szinkronizáció Minden Master a SCL High!Low átmenetnél reset-eli az órajelét, és Low állapotot kezd. A SCL így Low állapotú lesz. SCL-en High állapot akkor lehet, ha minden Master High-ban van. Az SCL órajel állapotok hossza: Low: leghosszabb master Low High: legrövidebb master High Handshake az órajellel: lassú eszközök az órajel Low-ba húzásával lassíthatják az adatátvitelt (bit és byte szinten is!). Arbitráció Csak szabad buszon szabad átvitelt kezdeményezni. Egyszerre való kezdésnél bitenkénti arbitráció az SDA-n, amikor a SCL High állapotú. DATA 1
kiadott
ez a master
DATA 2 SDA SCL
SDA -> elveszti a buszt
S START
Beágyazott és ambiens rendszerek
44.
Címzés adatformátuma (frame felépítése) Start
1 .. 7
8
9
1 .. 8
9
1 .. 8
9
Stop
S
cím
R/W
ACK
adat
ACK
adat
ACK
P
Lehetséges adatátviteli módok: Master az adó S Slave cím W
ACK adat
ACK adat
ACK P
ACK adat
ACK adat
ACK P
Master Slave
Master a vevő S Slave cím R
Master Slave
Kevert mód S Slave cím R
ACK adat
ACK SR Slave cím W
ACK adat
ACK P
Speciális címek: •
Generall Call cím: mindenkinek szól (broadcast üzenet)
•
10 bites címzés
•
Start byte Start byte:
S Start byte ACK SR
...
Ha a mikrokontrollernek nincs belső I2C interface-e, akkor software-ből kell lekezelni. •
általában ritkán mintavételezni a buszt,
•
ha esemény történt a buszon, akkor sűrűn mintavételezni
Start byte-nál ritka a mintavételezés, ismételt start-ra (SR) lehet szinkronizálni, és sűrűbben lekérdezni a buszt. Továbbfejlesztések: Fast mode, High speed mode
Beágyazott és ambiens rendszerek
45.
Integrált Intelligens Szenzorok (Integrated Smart Sensors) Mitől intelligens egy intelligens szenzor? Egy hagyományos rendszernél általában pont-pont kapcsolat van a szenzorok és a számítógép között, a lekérdezés multiplexelt. érzékelõ 1 mérõrendszer érzékelõ 2
jelfeldolgozó rsz.
Ennek következménye a sok kábel, melyet nehéz építeni és karbantartani. Ezt lehet elkerülni a szenzorok hálózatba kapcsolásával. Megjelennek a szenzor buszok, és kontrol hálózatok. Egy intelligens szenzornál az intelligencia a következő területeken jelentkezik: •
támogatást nyújt a hálózatba kötéshez,
•
logikai döntések az információ forrásánál,
•
önteszt,
•
önkalibráció, önkorrekció,
•
nem csak a nyers mérési adatot továbbítja, hanem egy feldolgozottat,
•
azonosítja magát. Szenzor
Jelkond. Erõsítõ
ADC
μP
Mérõrendszer
smart sensor
Szenzor buszok kétirányú adat és vezérlõ busz host
érzékelõ/ beavatkozó
érzékelõ/ beavatkozó
érzékelõ/ beavatkozó
1. node
2. node
N. node
Minden csomópont tartalmazhat egy vagy több érzékelőt/beavatkozót.
Beágyazott és ambiens rendszerek
46.
Michigan Parallel Standard Bus (~1990) Ennél a párhuzamos protokollnál a host kérdezi le az érzékelőt. A kommunikációt hand shake jelek vezérlik. A host egy hand shake jel kíséretében kiküldi az érzékelő/beavatkozó címét. A node a “Node hand shake” és “Bus reserve” jelekkel válaszol, és foglalja le a buszt az adat küldéshez. A “special purpose” vezeték IT kérésre és új szenzor jelzésére alkalmazható. 8 adat vonal
paritás
host
Host Handshake Node Handshake
szg.
Special Purpose +Vcc −Vss GND
érzékelõ/ beavatkozó
érzékelõ/ beavatkozó
Michigan Serial Standard Bus A Michigan Parallel Standard Bus egyik hátránya a sok vezeték. Kevesebb busz vonalat igényel a soros kommunikáció. A Michigan Serial Standard Bus ilyen kommunikációt valósít meg. soros adatvonal
host
+Vcc −Vss
szg.
sync CLK
node
node
A soros vonali kommunikáció fél duplex (két irányú, de nem egyidőben). A kevesebb buszvonal miatt nincs IT kérési lehetőség. A host-tól az utasítás formátuma a következő: cím, üzenet hossza, utasítás, adat(ok) A szenzortól a válasz: kód, üzenet hossza, adat A zajérzékenységet paritással, és idő ellenőrzéssel növelik. Integrated Smart Sensor Bus (~1997) A busz 4 vezetéket tartalmaz: data, clock, +Vcc, GND
Beágyazott és ambiens rendszerek
47.
A rendszerben 1 master van. Az adat lehet analóg jel, kitöltési tényező, frekvencia, bit folyam vagy digitális szenzor jel. Interrupt kérési lehetőség van. Egyéb szenzor buszok és kontrol hálózatok Szenzor busz:
a szenzor az adatot átadja a mikroprocesszornak, ritkán processzál.
Device level control network: alap jelfeldolgozás a csomóponti szinten történik már. Fieldbus network:
vezérlés a csomópont szinten is megtörténhet.
A vezérlési funkciók elosztásával a rendszer teljesítménye és megbízhatósága megnövekszik. Néhány protokoll, mely jelzi a terület szerteágazó voltát: • • • • • • • • • • •
ASI (Actuator Sensor Interface), CAN bus (Controller Area Network): Bosch, Intel, Philips ’80, Device Net (CAN alapú), Ethernet (10 Mbps, 100 Mbps, 1 Gbps), Fire Wire (IEEE 1394, Sony iLink): Apple Foundation Fieldbus GPIB (General Purpose Interface Bus, IEEE 488, HPIB) ’78 HART (Highway Addressable Remote Transducer): 4-20 mA J1850 – SAE Standard: személyautók, GM, Ford (CAN alapú) LonWorks Profibus (DIN 19245): Siemens
A különböző protokollok egymással nem kompatibilisek. Mihez alkalmazkodjon a szenzor gyártó? Ezen a problémán kívánt segíteni az IEEE Instrumentation and Measurement Society egyik munkacsoportja, és kidolgozta az IEEE P1451 szabványt.
Beágyazott és ambiens rendszerek
48.
IEEE 1451 standard Egy intelligens szenzor a következő rétegeket tartalmazza: •
érzékelő/beavatkozó,
•
jelkondícionáló,
•
jel konverzió (ADC vagy DAC),
•
mikroprocesszor,
•
kommunikációs réteg.
Ennek az a hátránya, hogy minden hálózathoz különböző intelligens érzékelőt kell fejleszteni, gyártani. Az IEEE 1451 a következő módosítást javasolja: definiáljunk egy köztes réteget az intelligens érzékelőn belül, mely elválasztja a hálózati kommunikációt a szenzorral kapcsolatos feldolgozástól. field network utasítás
field network
adat
utasítás
komm. interface
adat
komm. interface
1111 0000 0000 1111
mikroprocesszor
mikroprocesszor
jelátalakítás
TEDS
jelkondicionálás érzékelõ/beavatkozó
standard digit. interface
jelátalakítás
jelkondicionálás érzékelõ/beavatkozó
Ezzel a szétválasztással két különálló hardver egységünk lett: •
Network Capable Application Processor, NCAP
•
Smart Transducer Interface Module, STIM
A két réteget egy hálózat és érzékelő/beavatkozó független digitális interface választja el (Transducer Independent Interface, TII). A szenzor/beavatkozó tulajdonságait leíró elektronikus adatlap (Transducer Electronic Data Sheet, TEDS) a STIM modulban van, avval együtt vándorol. field network
Network Capable Application Processor (NCAP)
Transducer Independent Interface (TII) Smart Transducer Interface Module (STIM) TEDS
A szétválasztás következtében a szenzor gyártók egy egységes interface-hez alkalmazkodhatnak (TII), ugyanúgy, ahogy a hálózati illesztőt fejlesztők.
Beágyazott és ambiens rendszerek
49.
A 1451 standard felépítése 1451.1: Network Capable Application Processor (NCAP) Information model (publikált szabvány) 1451.2:
Transducer to Microprocessor Communications Protocols and Transducer Electronic Data Sheet (TEDS) Formats (publikált szabvány)
1451.3:
Digital Communication and Transducer Electronic Data Sheet (TEDS) Formats for Distributed Multidrop Systems (több fizikailag szeparált érzékelő/beavatkozó, draft specifikáció)
1451.4:
Mixed-mode Communication Protocols and Transducer Electronic Data Sheet (TEDS) Formats (digitális TEDS adat és analóg szenzor jel ugyanazon a vezetéken egymás után, draft specifikáció) bármely kontroll hálózat
bármely hálózati könyvtár 1451.1 API
NCAP
Smart Transducer Object Model 1451.1 Transducer I/O API
1451.2 Smart Transducer Interface Module (STIM)
1451.3 Transducer Bus Interface Module (TBIM)
1451.4
Mixed−Mode Transducer (MMI)
Az IEEE 1451 nem egy újabb hálózatot definiál, bármely hálózathoz alkalmazható. A STIM és az NCAP között standard digitális interface van. A STIM felépítése Egy STIM több érzékelőt vagy beavatkozót tartalmazhat, akár vegyesen is, különböző típusúakat (analóg kimenet, digitális kimenet, bináris kimenet, analóg bement stb.).
Beágyazott és ambiens rendszerek
50.
TEDS XDCR
ADC
XDCR
DAC
XDCR
TII cím logika
μP
komm. interface
DI/O
XDCR
Az elektronikus adatlap össze van kötve a STIM modullal (tehát az érzékelőkkel/beavatkozókkal), avval együtt mozog, ha áthelyezzük egyik helyről a másikra. Kötelező megvalósítani a következő elektronikus adatlapokat: •
Meta TEDS:
adatok a TEDS-ről, adatok az érzékelőről/beavatkozóról, időzítési adatok, csatornák közti kapcsolatok.
• Channel TEDS:
szenzor/beavatkozó fizikai tulajdonságai, korrekció típusa, adat típusa, formátuma, időzítési információ.
Opcionálisak a következő elektronikus adatlapok: •
Calibration TEDS
•
Meta ID TEDS
•
Channel ID TEDS
•
Calibration ID TEDS
•
End User Application Specific TEDS
•
Extension TEDS
Ezek közül egyet emelünk, a kalibrációért felelős elektronikus adatlapot (Calibration TEDS) A kalibráció többféle lehet: •
lineáris,
•
több változós, szakaszosan polinomiális, változó szegmens szélességgel, szegmens offset-tel,
Beágyazott és ambiens rendszerek
51.
A korrekció több szinten történhet: •
STIM-ben (ekkor csak ott van szükség Calibration TEDS-re),
•
NCAP-ben (ekkor Calibration TEDS STIM-be és NCAP-be is),
•
számítógépbe a hálózat fölött (TEDS a STIM-be és a számítógépbe is)
A kalibráció után szükség van egy ún. correction engine-re, mely elvégzi a korrekciót. Ezek a korrekciós utasítások függetlenek az érzékelőtől/beavatkozótól. A korrekció leírása: •
dátum, idő (utolsó kalibrálás),
•
kalibrációk közötti megengedett max. idő,
•
melyik csatornát kell korrigálni,
•
korrekciós függvény és az együtthatók.
Lehetséges műveletek: •
TEDS kiolvasása:
read frame
•
Szenzor adat olvasása:
trigger --- read frame
•
TEDS írása:
write frame
•
Beavatkozó írása:
write frame --- trigger
Transducer Independent Interface (TII) A digitális interface az NCAP és a STIM egységet választja el egymástól egy szabványos felülettel. A következő vonalakkal rendelkezik: •
DIN:
cím és adat NCAP!STIM
•
DOUT:
adat STIM!NCAP
•
DCLK:
DIN/DOUT adatát ez latch-eli
•
NIOE:
adat átvitel aktív, átvitelt körbehatárolja
•
NTRIG:
trigger (pl. mérés indítás)
•
NACK:
trigger vagy a feladat visszaigazolása (pl. mérés elvégezve)
•
NINT:
IT kérés
•
NSDET:
STIM leföldeli, ezért az NCAP érzi, hogy van-e rajta STIM
•
+5V:
tápfeszültség
•
COMMON:
föld
Beágyazott és ambiens rendszerek
52.
Architektúra DIN DOUT DCLK NIOE NTRIG
STIM
NACK
NCAP
NINT NSDET +5V COMMON
Nagy távolságot a hálózat hidalja át. A szigorúan vett érzékelőhöz/beavatkozóhoz az analóg vonal rövid (utolsó méter) A STIM Plug and Play jellegű, vagyis az egyik hálózat NCAP-jéből a másik hálózat NCAP-jébe minden nehézség nélkül áthelyezhető (feltéve, hogy azonos a csatlakozó). A csatlakozó nincs szabványosítva, ez alkalmazásfüggő. Csatlakozó típusokat most definiálnak.