Beginners Guide to Clock Data Recovery

ha új vagy a tervezés és ellenőrzés világában, akkor valószínűleg sok kérdése van! Egyikük vonatkozhat egy fontos elem – az óra Adatmentés. Ebben a blogban, megpróbáljuk de-misztifikálni ezt a folyamatot.

a különböző protokollok tervezésének célja egy információ (adat) átvitele egyik helyről a másikra. Gyakran soros adatkommunikációt használnak az adatok nagy sebességű továbbítására. A vevő végén a továbbított adatokat anélkül kell lekérni, hogy elveszítenék integritását a mellékelt időzítési információkkal. Ezt a folyamatot Clock and Data recovery-nek hívják.

ebben a cikkben a CDR követelményeit és működését, valamint a CDR modellezésének olyan problémáit fogjuk kidolgozni, mint a jitter és a PPM.

BTW, ha sok időt töltesz a hullámformák bámulásával, próbálva értelmet találni, a protokoll hibakereső eszközünk (PDA) érdekes lehet az Ön számára. Kérjük, vessen egy pillantást egy rövid 3 perces demo itt (nincs fülhallgató? Semmi gond! Feliratok vannak rajta!).

az adatkommunikáció különböző technikái:

a CDR indítása előtt megnézzük az adatkommunikáció különböző technikáit, amelyek:

1. Soros Adatkommunikáció

soros kommunikációban az adatbitek egymás után kerülnek továbbításra.

serial-data-communication

2. Párhuzamos Adatkommunikáció

párhuzamos kommunikációban az adatbitek egyszerre több vezetéken vannak meghajtva.

parallel-transmission

a fenti számok alapján könnyen megítélhető, hogy a párhuzamos kommunikáció sokkal gyorsabb lesz, mint a soros kommunikáció.

de akkor felmerül a kérdés, miért részesítik előnyben a soros kommunikációt a párhuzamos kommunikációval szemben???

ez azért van, mert a gyakorlatban a párhuzamos kommunikáció nem gyorsabb, mint a soros kommunikáció. Ez annak köszönhető, hogy a következő okok miatt-

a) ferde

utazási útvonal hossza minden bit lesz más.Ennek köszönhetően egyes bitek korán vagy korábban érkezhetnek, mint mások, amelyek megrongálhatják az információkat.

parallel-transmission-skew

hogy megoldja ezt akkor pad a biteket. De ez a sebesség költségén lenne, mivel minden kapcsolat sebességét a leglassabbra csökkenti.

b) inter symbol interferencia és Cross talk

több párhuzamos kapcsolat miatt ISI és Cross talk kerül bevezetésre a rendszerben, amely egyre súlyosabb, mint a kapcsolat hossza növekszik. Tehát ez korlátozza a kapcsolat hosszát.

c) Az I/O tűszám korlátozása

a párhuzamos adatkommunikációhoz sokkal több I/O tű szükséges, mint amennyi a Soros adatkommunikációhoz szükséges.

mi az óra Adatmentés?

mivel a nagy sebességű soros interfészek többsége nem rendelkezik kísérő órával, a vevőnek vissza kell állítania az órát, hogy a Soros vonalakon mintavételezhesse az adatokat.

a mintavételi óra helyreállításához a vevőnek körülbelül azonos frekvenciájú órára van szüksége. A helyreállított óra létrehozásához a Vevőnek fázisosan igazítania kell a referenciaórát a bejövő adatfolyam átmeneteihez. Ez az úgynevezett Clock recovery.

mintavétel, hogy a bejövő adat jel visszanyert óra generálni egy kicsit stream nevezzük Adatmentés. Ezt együtt Clock Data Recovery-nek vagy CDR-nek hívják.

CDR-re van szükség a bejövő adatfolyam adatainak helyreállításához kísérő órajel hiányában, bithibák nélkül a túl/alul mintavétel miatt.

Hogyan Működik A Clock Data Recovery?

a CDR végrehajtásának két fő funkciója a frekvenciadetektálás és a fázisbeállítás.

I) Frekvenciadetektálás

ez egy olyan folyamat, amely a bejövő adatfolyamból kinyert frekvenciát zárolja. Ez úgy történik, hogy észleli az adatfolyam két egymást követő éle közötti időeltolódást.

ezt a zárolt frekvenciát használják az átvitt adatátviteli bitfolyam regenerálására.

annak érdekében, hogy jobban megismerje a frekvenciadetektálást, hadd adjak egy mondatban az írásjelek analógiáját. Lehet, hogy megfigyelte, hogy amikor egy út javítási munkákon megy keresztül, az építőipari vállalat megjelenítő üzenetet helyez el a táblán, hogy lelassítsa az elhaladó járműveket. Ez az üzenet valami ilyesmi –

lassú, férfiak a munkahelyen

most, Ha ugyanazt az üzenetet megfelelő írásjelek nélkül írják, akkor ez valami teljesen mást jelenthet! –

lassú férfiak a munkahelyen

az írásjelek olyanok, mint az észlelt frekvencia. Ha rossz frekvenciára van zárva, az helytelen adatmintavételhez vezet!

frequency-detection

tehát itt a kérdés az, hogyan lehet helyesen mintát venni a bejövő adatbit-adatfolyamból?

az egyik megoldás, amely azonnal eszébe jut, a bitfolyam mintavétele ugyanazon a frekvencián, amelyen továbbították.

ehhez létre kell hozni az órát a vevőn, amelynek ugyanaz a frekvenciája van, amelyen az adatokat továbbították. De nem lehet pontosan azonos frekvenciájú két órát generálni két különböző óragenerátor használatával, még akkor sem, ha ugyanazokkal a specifikációkkal rendelkeznek.

szintén nem lehet pontos frekvenciájú órát generálni.

ugyanakkor a mintavételi frekvencia percenkénti különbsége bithibához vezethet, amint azt az alábbi ábra leírja:

frequency-detection-minor-difference

amint azt a fenti ábra mutatja, egyetlen bitből kétszer vesznek mintát a TX és az RX frekvencia percbeli különbsége miatt.

hogyan lehetne másképp létrehozni egy Tx clock frekvenciájú órát?

ezt a bejövő adat bitfolyam széleinek ellenőrzésével lehet elvégezni.Ebben a folyamatban azonban a kezdeti bitek, amelyek megszokják a frekvencia észlelését, elvesznek. Ennek megoldása érdekében az érvényes adatok továbbítása előtt egy adott bitsorozatot továbbítanak. Ezeket a szekvenciákat képzési szekvenciáknak nevezzük. A képzési szekvenciák nagyon magas élsűrűséggel rendelkeznek, így a vevő könnyen rögzítheti a frekvenciát azáltal, hogy ellenőrzi a vezeték egymást követő éleit az érvényes adatok megkezdése előtt. Az alábbi ábra egy nagy élsűrűségű szekvenciát mutat.

frequency-sequence-high-density

a bejövő adat bitfolyam frekvenciája helyreállt. RX óra most generált alapuló visszanyert frekvencia.

a fenti visszanyert frekvencia ideális esetben megfelelő, ha az átvitel során nincs zaj, azaz a TX óra órafrekvenciája végig azonos. Az adatok szintén a TX óra periódusának szerves többszöröse. Ez azonban gyakorlatilag nem igaz, mivel számos olyan tulajdonság van, amely befolyásolja az adatátvitelt és torzítja az óra egyenletességét.

az alábbi ábra egy valós idejű órát ábrázol, amelynek periódusában eltérések vannak.

variable-period-clock

főleg két attribútum van, amelyek a legtöbb nagysebességű soros adatkommunikációt érintik –

A) Jitter:

a Jitter egy periodikus jel széleinek eltolódása. Ez megszakítja a jel periodicitását.

periodic-signal-jitter

a Jitter rövid távú hatás. Ebből következik Gauss-Eloszlás ezért a jitter átlagos átlaga nulla, azaz a jitter kumulatív hatása nulla.

frekvencia-Jitter-Eloszlás

mivel az órajel szélei elmozdulnak a jitter miatt, a kérdés az, hogy mi az optimális helyzet a mintavételhez?

egy kicsit kell mintát venni a központban. Ez az optimális helyzet, ahol a szélek maximális elmozdulása mindkét oldalon (balról jobbra vagy jobbról balra) tapasztalható. Ha azonban egy él eltolódása nagyobb lesz, mint a bitperiódus fele, akkor bithiba lesz.

frequency-jitter-distribution

B) PPM (millió rész):

PPM bizonyos alkatrészek (kvarckristály óragenerátor esetén) pontatlansága egy áramkörben, amely pontatlan periódusú jel előállításához vezet. A PPM nem szakítja meg a jel periodicitását. Ahogy a neve is mondja, a PPM hosszú távú hatás, amely a bitperiódus pontatlanságát jelöli egymillió óraciklus felett. A PPM additív vagy szubtraktív jellegű.

jitter-free-range-frequency

csakHa a jitter vagy a PPM kumulatív hatása a TX CLK-ban az RX CLK több mint felévé válik, akkor hibák lennének a túl/alul mintavétel miatt.

az alábbi példa bemutatja, hogy a bejövő adatfolyam folyamatos változásai hogyan befolyásolhatják az adatok mintavételét. Ugyanezt a példát vesszük figyelembe a problémák megoldása érdekében, ahogy tovább haladunk.

clock-frequency-ppm-effect

az RX CLK (FD) frekvencia zárolva van a frekvencia érzékelés során. Mivel a bejövő adatfolyamból mintát vesznek az FD-n, amint azt a piros doboz mutatja, egyetlen bit kétszer kerül mintavételre. Ez a bejövő adat bitfolyam variációi miatt következik be.

a TX CLK frekvenciájának ezen variációival való találkozáshoz a CDR második funkciója, a Fázisbeállítás a képen látható. Ez beállítja RX CLK élek.

II) Fázisbeállítás

a Fázisbeállítás a jel fázisának egy másik jelhez való illesztésének folyamata. Itt illeszkedik a frekvencia észlelés során visszanyert óra fázisához a bejövő adat bitfolyammal.

hadd adjak egy analógiát a fázisigazításhoz.

lehet, hogy látott egy analóg rádiót. Két gomb van, nevezetesen a durva hangolás és a finomhangolás az analóg rádión. Ha valaki azt akarja, hogy hallgatni bármilyen hangjelzést, durva tune gombot használnak, hogy rögzítse rá a frekvencia, ahol a jelek hallhatók, de bizonyos zavarok. Itt a durva dallam olyan jó, mint a frekvencia észlelése, a zavarok pedig jitter és PPM. Ahhoz, hogy távolítsa el ezeket a zavarokat, és a hang hallható, finomhangolás gombot használnak, amely beállítja az előre lezárt frekvencia egy kicsit itt-ott, hogy egy tökéletes hangjelzést. Itt a finomhangolás hasonlít a fázis igazításához.

phase-alignment-radio

a fázis igazításához a következő szabályokat kell betartani:

  1. ha átmenetet észlel a huzalon, akkor tegye az RX CLK(FD+PD) = 1 szintet.
  2. ha az RX CLK(FD) periódus az RX CLK(FD+PD) után befejeződik, és a huzalon semmilyen átmenet nem észlelhető, akkor érvényesítse az RX CLK (FD+PD) posedge-jét.

itt az RX CLK(FD) az órajel frekvenciája zárolva van a frekvenciafelismerési folyamat során, az RX CLK(FD+PD) pedig az órajel frekvenciája a fázisbeállítási folyamat során.

itt az ideje, hogy vizsgálja meg, hogy a munka a fázis igazítás. Vegyük ugyanazt a példát, amelyet korábban a PPM jitter esetében is figyelembe vettünk.

ppm-jitter-phase-alignment

itt óra időszak RX CLK (FD) = 10

órák, amelyek nem vannak hozzárendelve egy időszak az ábrán alapértelmezés szerint időszak 10.

a fenti ábrán korábban láttuk, hogy az utolsó bitet kétszer mintavételezték a folyamatos állandó variáció eredményeként (10-től 12-ig) a TX CLK-ban (ennek oka lehet PPM).Most azonban, amint azt a piros doboz mutatja, a bit helyesen van mintavételezve.

az első TX óra ciklusban a periódus 10 időegység, amely a frekvencia észlelése után zárolva van, és az RX CLK-n(FD+PD) is tükröződik. Az 1. szabály szerint az adatok széle az RX CLK(FD+PD) szintjét 1-re teszi(az első pontozott nyíl jelöli). Ezután a negedge-t RX CLK-n(FD+PD) érvényesítik az RX CLK(FD) periódus fele után. Ezután a posedge-t az RX CLK-n(FD+PD) érvényesítjük, az RX CLK(FD) periódusának felétől vagy az adatok átmenetétől függően, amelyik előbb következik be (2.szabály).

a hatodik és hetedik TX órajelcikluson az adatbitek 0 és 0, nincs átmenet a vonalon. Tehát az RX CLK(FD+PD) követni fogja a 2.szabályt, hogy az RX CLK(FD) óra periódusa legyen, amelyet az RX CLK (FD+PD) első ciklusában ábrázolnak piros dobozban. Mivel a hetedik óraciklus időtartama 12 időegység, az adatok átmenete a vártnál 2 időegység után következik be. Most az RX CLK (FD + PD) már megerősítette a posedge-t, és elkezdi várni az RX CLK(FD) periódus felének befejezését, hogy érvényesítse a negedge-t az RX CLK-n(FD+PD). Az 2 időegység befejezése után azonban egy átmenet észlelhető, ami újraindítja az RX CLK(FD) felének várakozási idejét. Ez az RX CLK(FD+PD) negedge-jéhez vezet 7 időegység után 5 helyett (azaz az RX CLK(FD) periódus fele). Ezután posedge után 5 időegység (2. ciklus RX CLK(FD+PD) piros dobozban). Hasonlóképpen a fázisbeállítás a bejövő adatfolyam állandó változásai alapján állítja be az óra periódusát.

az alábbi ábra negatív jitter esetet ábrázol…

negative-jitter-case

a harmadik TX óra periódus változott 10 időegység 7 időegység negatív jitter miatt. Ez a variáció helyesen találkozott a fázis igazításával, a piros mezőben ábrázolva.

az RX CLK(FD+PD) posedge az adatokon észlelt átmenetként fordul elő. Az RX CLK(FD+PD) Negedge az RX CLK(FD) periódus felének befejezése után következik be. Most egy átmenet látható az adatokon az RX CLK(FD) periódus felének befejezése előtt, amely az RX CLK(FD+PD) 0-ról 1-re történő szintátmenetet okoz (a 3.ívelt pontozott nyíl mutatja).

az alábbi ábra pozitív jitter esetet ábrázol…

positive-jitter-case

ötödik TX óra időszak változott 10 időegység 13 időegység miatt pozitív jitter. Ez a variáció helyesen találkozott a fázis igazításával, a piros mezőben ábrázolva.

az RX CLK(FD+PD) követni fogja a 2.szabályt, hogy az RX CLK(FD) óra periódusa legyen, amelyet az RX CLK(FD+PD) első ciklusában ábrázolnak piros dobozban. Mivel az ötödik óraciklus időtartama 13, Az adatok átmenete a vártnál 3 időegység után következik be. Most az RX CLK (FD + PD) már érvényesíti a posedge-t, és elkezdi várni az RX CLK(FD) periódus felének befejezését, hogy érvényesítse a negedge-t az RX CLK-n(FD+PD). Az 3 időegység befejezése után azonban egy átmenet észlelhető, ami újraindítja az RX CLK(FD) felének várakozási idejét. Ez az RX CLK(FD+PD) negedge-jéhez vezet 8 időegység után 5 helyett (azaz az RX CLK(FD) periódus fele). Ezután posedge után 5 időegység (2. ciklus RX CLK(FD+PD) piros dobozban).

ez volt az egész munkafolyamat fázis igazítás.

egy figyelmeztetés…!

van egy probléma, amely nem terjed ki a frekvenciaérzékelésre és a fázisbeállításra! Fázis igazítás működik átmenet bejövő adatfolyam. Azonban lehetséges, hogy hosszú azonos bitfolyam, amely nem rendelkezik semmilyen átmenet benne. Ebben az esetben, ha egy él kumulatív eltolódása a visszanyert óraidőszak több mint felévé válik (RX CLK(FD)), akkor bithibákhoz vezet, és helytelenül mintát vesz az adatokból.

a probléma megoldásához a bitszekvenciákat különféle típusú kódolással dolgozzák fel, mielőtt vezetéken továbbítanák. Ez korlátozza az egymást követő azonos bitek számát egy bizonyos szintre. Ez csökkenti annak valószínűségét, hogy a kumulatív eltolódás az RX CLK(FD) több mint felére közeledik.

például az USB 3.0-ban az adatbiteket 8B10B kódolással dolgozzák fel, mielőtt vezetéken továbbítanák.

az alábbi ábra a CDR viselkedési blokkdiagramját írja le

behavioural-block-diagram-cdr

a bejövő adatfolyam bemenetként az FD(frequency detector), az ED(edge detector) és a D flip flop. A frekvenciadetektor a képzési szekvenciák alapján frekvenciát generál. Az éldetektor kimenetet ad, amikor átmenetet észlel a bejövő adatokon. A frekvenciadetektor és az éldetektor kimenetei bemenetként kerültek át az óragenerátor blokkba, amely egy órát generál az adatok mintavételéhez. Ez a generált óra és a bejövő adatok át D flip flop regenerálni a bitfolyamot.

az alábbi ábra a fázisbeállítás utáni óragenerálás folyamatábráját ábrázolja

clock-generation-post-phase-alignment

az RX CLK (FD + PD)1-re vagy 0-ra lesz inicializálva. Az inicializálás után két párhuzamos folyamat indul el, várjon időzítőt az RX CLK(FD) idő felére és a bejövő adatok élérzékelésére. Amelyik a két párhuzamos folyamat közül először befejeződik, letiltja a másik folyamatot. Ha timer időtúllépés előtt bármilyen él észlel, akkor ellenőrzi az aktuális szint RX CLK (FD+PD). Ha az RX CLK(FD+PD) szintje 1, akkor lépjen az “RX CLK(FD+PD)=0” tevékenységre, és állítsa vissza az RX CLK(FD+PD) értéket 0-ra, különben LÉPJEN az “RX CLK(FD+PD)=1″ tevékenységre. Indítsa újra mindkét párhuzamos folyamatot, és várja meg bármelyik befejezését. Ha a befejezési várakozási idő előtt él észlelhető, akkor lépjen az” RX CLK(FD+PD)=0 ” tevékenységre, és állítsa az RX CLK(FD+PD) szintjét 1-re.Indítsa újra mindkét párhuzamos folyamatot, és várja meg bármelyik befejezését.

remélem, hogy ez a cikk segít a mérnököknek az óra modellezésében és az adatok helyreállításában.

szerző: Deepak Nagaria Aditya Mittal

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.