HTML

Műszer

Hobby és amatőr elektronika, műszerépítés a XXI. században

Címkék

Friss topikok

  • Nite: @fromi: Ha egy bejegyzéssel kapcsolatos kérdésed van, akkor jobb odaírni kommentbe, mert esetleg m... (2010.11.26. 15:17) FAQ

Licenc

Creative Commons Licenc

Equivalent Time Sampling - mi ez, hogy működik, és jó-e ez nekünk...

Nite 2012.08.06. 16:29

 Valószínüleg akik digitális oszcilloszkópokat nézegettek már, találkoztak ezzel a bűvös kifejezéssel, manapság nem is nagyon lehet olyan szkópot venni amire nem írnák rá hogy sample rate: 100MSPS, equivalent time sampling (vagy ETS): 1GSPS vagy akár hazudhatnak mégnagyobbat is, mondjuk 10GSPS. Ettől aztán az egyszeri júzernek megindul egyből a nyálelválasztása. Annyi valószínüleg mindenkinek eszébe jut az ETS működéséről, hogy ezt a rengeteg sample-t nem a mérendő jel egy periódusa alatt szedi össze a műszer, hanem 10-100 periódus alatt, vagyis az egész nem használható, ha a bejövő jelünk nem periódikus.

 A rutinosabbak vetnek egy pillantást az analog bandwidth paraméterére is a műszernek, ugyanis az hótziher, hogy az ide leírtnál nagyobb frekvenciájú jelet soha az életben nem fognak mérni a szkópjukkal, az valahol a bemeneti erősítőnél el fog veszni. Általában egy bénább szkóp paraméterei úgy néznek ki, hogy 100MSPS real time, 200MHz analog bandwidth, 1GSPS equivalent sampling - ebből már lehet tudni, hogy vagy kínaiak, vagy hobbisták csinálták (tisztelet a kivételnek). Nade mit is jelent ez?

- 200MHz jelnél a bemenet csillapítása -3dB, vagyis ekkora frekvenciát ráakaszthatunk a szkópra.

- A szkóp legfeljebb 100 millió jelet rögzít egy másodperc alatt, vagyis a 200MHz-s jelünkből real time módban semmit sem fogunk látni. Ahhoz hogy valami fogalmunk legyen arról, mi történik a bemeneten, legfeljebb 25MHz körüli jelet szabad mérnünk, ennek egy periódusából 4 mintát vesz a gép (vagyis arról, hogy akkor ez most szinusz, négyszög, vagy háromszög, gőzünk sem lesz, csak hogy valami változik). Egy 10MHz körüli jelnek már az alakját is megbecsülhetjük nagyjából az alapján a 10 pont alapján, amit a szkópunk rögzített.

- Ha a bejövő jelünk viszont periódikus, akkor ráuszíthatjuk az ETS-t, ami 10 periódus alatt összeszed a jelünkből 10x annyi mintát, mint real time módban. Így a 200MHz-s jel egy periódusára is jutni fog 5 minta, amiből már láthatjuk, hogy legalább mozog...

 

Na jó de hogy csinálja?

 Marha egyszerű, mondok egy hasonlatot. Kimész a Hungaroringre, és videót szeretnél készíteni arról ahogy egy versenyautó befordul a célegyenesbe, de nincs kamerád csak fényképezőgéped. Mit csinálsz?

- először is kell egy trigger, mondjuk legyen az, ahogy az autó eléri a kanyar elejét. A legelső körben lefényképezed az autót itt.

- a második körben a trigger után (vagyis amikor az autó elérte a kanyar elejét) vársz még 0.1 másodpercet, és csak azután fényképezed le.

- a harmadik körben 0.2 másodpercet vársz a trigger után.

...

- mire a huszadik kört is megtette az autó, te már 2 másodpercet vártál a kép elkészítésével, és mehetsz haza a húsz fényképeddel. Otthon egymás után rakod őket, és filmet készítesz belőle. A filmen megcsodálhatod, ahogy az autó befordult a kanyarba.

 Látható, hogy ehhez az kell, hogy az autó lehetőleg minden körben ugyanazon az íven menjen, az ilyen hibajelek mint pl előzés nem jelennek meg a kis ETS filmeden.

Hogy néz ez ki elektronikában? Kb így:

 Fent a "Gate" jel a trigger, mint látjuk akkor keletkezik, amikor a jelünk felfelé menet átlépi a nullát (középső vonalat). Az "Out" jel minden periódusban delta D idővel később készül, így a bejövő jelet különböző fázaisaiban kapja el (piros pöttyök). Ha ezt elég sokáig csináljuk, majd a piros pöttyöket egymás után rajzoljuk, megkapjuk a bejövő jel alakját.

 

Serial ETS vs Random ETS

 A fent leírt módszer a Serial ETS-t mutatja be. Röviden tehát annyi a serial ETS lényege, hogy a trigger után meghatározott, pici, pontos időegységeket vár szépen növekvő sorrendben, és így járja be a bejövő jelet.

 Van az ETS-nek egy másik formája is, a random, amit megérteni kicsit nehezebb, a hardvere viszont egyszerűbb tud lenni. A random ETS megértéséhez azt kell látnunk, hogy a bejövő jelünk által indított trigger általában nem esik egybe azzal a pillanattal, amikor az ADC mintát vesz a jelünkből.

 Miért? Ez egyszerű, azért mert az ADC általában egy meghatározott órajelről fut folyamatosan, amit nem nagyon fogunk módosítgatni, általában ez a szkóp legnagyobb real time mintavételi sebessége, mondjuk 100MSPS esetén 100MHz. Ez akkor is így van, ha mondjuk egy 50Hz-es jelet vizsgálunk éppen, ugyanis az ADC-knek van egy minimum frekvenciája amin hajlandóak működni (mondjuk egy 100MSPS ADC-nál ez olyan 20MSPS), mivel a sample and hold áramkör nem képes a vett mintát a végtelenségig tartani. Kis frekvenciás jelek vizsgálatánál azokat a mintákat amik nem kellenek (mert mondjuk nem férnének be a memóriába amúgy sem) a szkóp eldobja.

 Szóval van egy órajelünk, ami odabent ketyeg az ADC mellett a szkópban. Egyszercsak beesik egy trigger, hogy a bejövő jelünk átlépte a trigger szintet. Mikor vesz mintát a jelből az ADC? Amikor a saját órajele legközelebb felfutó élen lesz, tehát n1 idő elteltével. A következő periódusnál megint beesik egy trigger, és az ettől teljesen aszinkron ADC vesz belőle egy mintát n2 idő elteltével. Majd a harmadik periódusban n3 elteltével, stb.

 Hogy lesz ebből ETS? Ha megvan a mintánk mondjuk 20 periódusra, és emellett felírtuk n1...n20 értékét, akkor a 20 mintát sorba tudjuk rendezni a legkisebb n-től a legnagyobbig, és kész is a jelünk, valahogy így:

 

Megvalósítás

 Vegyük először a serial ETS-t, ez a pontosabb de bonyolultabb módszer. Ehhez az ADC mintavételi órajelét tologatni kell a triggerhez képest meghatározott időkkel. Látnunk kell, hogy mivel fogalmunk sincs, hogy a trigger mikor fog beesni, nem tudunk folyamatosan mintavételezni mint a random esetben (ezért a serial ETS-nél a trigger előtti jelek nem vizsgálhatók). Amikor viszont bejött a trigger, nagyon pontosan időzítenünk kell, majd ellőni az ADC-t - ez a módszer nagyon hasonlít a fenti fényképes analógiára. Egyszerűnek tűnik, de hirtelen jó  megoldást nem is tudnék mondani, hogy ennyi fajta órajelet hogyan lehetne szinkronizálni a triggerhez amatőr körülmények között.

 Jóval egyszerűbb a random ETS, ahol az ADC folyamatosan futhat, épp csak az eltelt időt kell megmérni a trigger és az azt követő mintavétel között. Ezt ne úgy képzeljük el, mint az időmérést általában, hogy a triggerkor elindítunk egy countert, és megnézzük az értékét a mintavételkor - ehhez iszonyat órajelen kéne futnia a számlálónknak. Sokkal inkább úgy szokták megoldani a dolgot, hogy a trigger jelével elkezdenek egy kis kondit tölteni, és a benti órajel következő felfutó élére két ADC is mintát vesz: az egyik a bejövő jelből, a másik pedig a kis kondin lévő feszültségből, mely az eltelt idővel pont arányos. Ezt az értéket hozzácsapják a vett mintákhoz, és a mintavétel végén ez alapján sorba állítják őket.

 Szkóp építéskor nem biztos hogy csak az ETS miatt két ADC-t akarunk használni egy csatornához, van más megoldás is barkács ETS-re: a trigger ugyanúgy tölteni kezdi a kis kondit R ellenálláson keresztül, majd az órajel bejöttekor elkezdjük kisütni 20R ellenálláson keresztül, ami elvileg 20x annyi ideig fog tartani. Hogy mikor ér a 0-ra, azt egy komparátorral vizsgálhatjuk, és ennek a lassabb jelnek a hosszát már mérhetjük számlálóval.

 A random ETS előnye, hogy a trigger előtti mintákat is felhasználhatjuk, hátránya viszont, hogy ha a bejövő jelünk és az ADC órajelének frekvenciája megegyezik, vagy egymás harmónikusai, akkor az egész elvünk nem fog működni, mivel a triggertől mérve mindig ugyanannyi idő elteltével fog indulni az ADC. Ennek kiküszöbölésére találták ki az ADC Clock Dither-t, ami a bejövő jel két periódusa között megváltoztatja az ADC órajelének a fázisát mondjuk egy PLL-el, így ezek a jelek is mérhetőek lesznek.

 

Jó ez nekünk?

Szerk.: pár dolognak utána néztem és eszerint módosítottam az írást

 Röviden: igen is meg nem is.

 Ez leginkább azoknak a marhanagy cégeknek jó, akik oszcilloszkópokat gyártanak, és el tudják őket adni félmillió forintért. Ennek megértéséhez nézzük meg, hogy működik egy olyan ADC, amit a boltban megvehetsz.

 Minden ADC elején van egy sample and hold áramkör, ami mintát vesz a bejövő jelből, és addig megőrzi a felvett értéket, amíg a konverter fokozat kisilabizálja a digitális értékét. Ez nagyon-nagyon-nagyon leegyszerűsítve így néz ki:

 A ctrl1 és ctrl2 kapcsolók felváltva működnek. Amikor ctrl1 zárva van és ctrl2 nyitva, akkor az áramkör mintát vesz a bejövő jelből. A következő fázisban ctrl1 lesz nyitva, ctrl2 zárva, ilyenkor a kimeneten megjelenik a vett minta. A jelenleg megvásárolható ADC-k úgy működnek, hogy a bejövő órajel felfutó élére mintát vesznek, a lefutó élre tartani kezdik azt, és konvertálják digitális jellé.

 Ez azt is jelenti, hogy két ADC-t simán párhuzamosan lehet kötni, ha az egyik órajelét invertáljuk. Ilyenkor amíg az egyik konvertál, addig a másik mintát vesz, és vica versa - két db 100MSPS ADC-ből csináltunk egy 200MSPS-est, hurrá.

 Ugyanakkor az is tuti, hogy amíg az ADC-nk mintát vesz, addig a bejövő jelnek bármiféle nagyon gyors változását a mintavételező kondik integrálni fogják, a mintavételi idő tartamán keresztül - ami ugye az órajel fél periódusa. Ez olyan, mintha a fenti versenyautós-fényképezős analógiánkat sötétben kéne megoldanunk, vaku nélkül, 1 másodperces záridővel: lesz ugyan 20 képünk, de mindegyik tök homályos, és tippünk se lesz a végén, hogy hol is volt az autó a kanyarban. Ha az elektromos jeleket ábrázoló képeket nézed, nagyon szép piros meg fekete pöttyöt rajzolt oda a mintavételhez a készítőjük, csakhogy azok nem pöttyök, hanem csíkok lesznek, amiken belül a jel változásáról halvány gőzünk sem lehet.

 A tanulság annyi, hogy ETS kivitelezéséhez nem elég egy gyors ADC - kell hozzá egy sokkal de sokkal gyorsabb sample and hold áramkör is. Ilyet pedig eddig még nem láttam boltban, meg kell szépen építeni. Ha azt vesszük, hogy 500MSPS-es ADC még kapható, sőt, ha valaki nagyon akar, szerezhet magának 1GSPS-est is, szerintem sokkal jobban jár mindenki ha nem kezd neki sample and hold építgetésének. 100ps alatt mintát venni egy jelből? Úgy, hogy még csak műszered sincs, amivel megnézhetnéd, hogy működik-e az áramköröd?

 Horror. (egyszer esküszöm nekilátok :)

 Mi az a frekvencia, ameddig a sample and hold áramkör követni tudja a bejövő jel változásait? Az ADC adatlapján ezt is megtaláljuk, "analog input bandwidth" címszó alatt. Egy ilyen primitív ADC-nél, mint mondjuk az ADS830, ez speciel 300MHz (nem is rossz egy 60MSPS-es konvertertől). Ha ez alatt marad a jelünk, akkor használhatunk ETS-t arra, hogy feltérképezzük. ETS nélkül ezzel az ADC-vel legfeljebb 15-20 MHz-es jelek vizsgálhatók. Ha feltételezzük, hogy a jelünk periódikus, ETS-el a mintavételnek könnyen elérhető a 10-20szorosa is, tehát akár a 200MHz sem feltétlenül marad álom.

Címkék: ets dso equivalent time sampling

Szólj hozzá!

A bejegyzés trackback címe:

https://muszer.blog.hu/api/trackback/id/tr914698466

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása