A Serializer/Deserializer ( SerDes ) egy pár funkcióblokk, amelyet általában a nagy sebességű kommunikációban használnak az adatok soros és párhuzamos interfészek közötti mindkét irányú konvertálására. A „SerDes” kifejezés a különféle technológiákban és alkalmazásokban használt általános interfészekre utal. A SerDes elsődleges célja, hogy egyetlen vonalon vagy differenciálpáron keresztül nagy sebességű adatátvitelt biztosítson, hogy csökkentse a chipen lévő I/O érintkezők számát és az összetevők közötti kapcsolatot.
A SerDes fő szerkezete két funkcionális blokkra oszlik: egy párhuzamos-soros átalakító blokkra (PISO, Parallel In Serial Out ) és egy soros-párhuzamos átalakító blokkra (SIPO, Serial In Parallel Out ). Négy különböző SerDes architektúra létezik:
A PISO párhuzamos-soros átalakító blokk jellemzően párhuzamos órabemenettel, adatbeviteli vonalkészlettel és adattároló bemenettel rendelkezik. Belső vagy külső fáziszárt hurkot (PLL) használhat a bejövő párhuzamos órajel megszorzására a soros kimeneti órajel frekvenciájára. A PISO legegyszerűbb formája csak egy eltolási regiszterrel rendelkezik , amely párhuzamos adatokat vesz párhuzamos órajellel, és magasabb soros órajellel továbbítja. A megvalósítások regiszter kettős pufferelést is használhatnak, hogy elkerüljék a metastabilitást a különböző órajelű részek közötti adatátvitel során.
A SIPO-k, a soros-párhuzamos átalakító egység jellemzően bemeneti órajel-kimenettel, kimeneti adatvonalakkal és kimeneti adatreteszekkel rendelkeznek. A vételi óra visszaállítható az adatokból az óra-helyreállítási módszerrel. Az órajeleket nem továbbító SerDek azonban referenciaórákat használnak a PLL-nek a szükséges TX frekvenciára történő rögzítésére, hogy elkerüljék az adatfolyamban jelenlévő alacsony frekvenciájú harmonikusokat . A SIPO blokk csökkenti a párhuzamos kimenet bejövő órajelét. Az implementációkban jellemzően két regiszter van dupla pufferként összekapcsolva. Az egyik regiszter a soros folyam órajelére szolgál, a másik pedig a lassabb, párhuzamos oldalon tárolt adatok tárolására szolgál.
A SerDek bizonyos típusai tartalmaznak egy kódoló/dekódoló blokkot. Az ilyen kódolás és dekódolás célja általában az átvitt jel statisztikai tulajdonságainak megváltoztatása, hogy megkönnyítse az órajel helyreállítását a vevőnél és fenntartsa a keretszinkronizálást. A kódolás DC egyensúlyt is biztosíthat.
A párhuzamos órajelű SerD-eket általában egy párhuzamos bemeneti busz cím- és vezérlőjelekkel történő sorba rendezésére használják. A soros adatfolyam az órajellel együtt kerül elküldésre. Óra jitter 5-10 ps rms nagyságrendű.
A belső órajellel rendelkező SerDes egyetlen adatfolyamba sorosítja az adatokat és az órajelet. Először egy órajelciklust, majd az adatbitfolyamot továbbítják; ez periodikusan emelkedő élt hoz létre az adatbitfolyam elején. Mivel az órajelek beágyazottak és a bitfolyamból kinyerhetők, a sorosító (adó) jitter toleranciája 80-120 ps rms, míg a referencia órajel eltérés a deserializátorban ±50 000 ppm (azaz 5%) lehet.
A 8b/10b típusú SerDes minden adatbájtot 10 bites kóddá alakít, mielőtt sorba rendezné az adatokat. A deszerializáló a referenciafrekvenciát használja a bitfolyamból visszanyert órajelek vezérlésére. Mivel az órainformáció az adatbitfolyamba általánosítva van, és nem kifejezetten bele van ágyazva, ezért a sorosító (adó) effektív jittere 5-10 ps tartományba esik, a deszerializáló referenciafrekvencia eltérése pedig kb. ±100 ppm .
A SerDes-ben használt szabványos kódolási séma a 8b/10b kódolás . Ez fenntartja a DC egyensúlyt, biztosítja a keretezést és garantálja a gyakori átmeneteket. A garantált átmenetek lehetővé teszik a vevő számára, hogy kinyerje a beágyazott órákat. A vezérlőkódok lehetővé teszik a keretezést, általában a csomag elején. A SerDes 8b/10b tipikus párhuzamos oldalsó interfésze egy órajellel, egy vezérlővonallal és 8 adatvonallal rendelkezik.
Az ilyen sorosítót, valamint egy 8b/10b kódolót és egy deserializer-plus-dekóder blokkot a Gigabit Ethernet specifikáció határozza meg .
A SerDes-ekkel használt másik szabványos kódolási séma a 64b/66b kódolás. Ez az áramkör statisztikai DC egyensúlyt és kódoló átmeneteket biztosít. A keretezés determinisztikus átmeneteken keresztül történik hozzáadott keretezési bitekben.
Az ilyen serializer-plus-64b/66b kódoló és deserializer-plus-dekódoló blokkokat a 10 Gigabit Ethernet specifikáció határozza meg . Az adó rész tartalmaz egy 64b/66b kódolót, egy kódolót és egy sebességváltót, amely a 66b jelet 16 bites interfésszel alakítja át. Egy másik sorosító ezután ezt a 16 bites interfészt soros jellé alakítja át.
A bitbeillesztett SerDes több lassú soros adatfolyamot multiplexel gyorsabb soros adatfolyamokká, és a vevő a gyorsabb bitfolyamokat demultiplexeli vissza lassabb adatfolyamokká.
Az Optical Internetworking Forum ( OIF ) közzétette az Interoperabilitási Megállapodásokat ( IAs ) a Common Electrical I/O -ra vonatkozóan , amelyeken belül 5 generációt határoztak meg a 3,125, 6, 10, 28 és 56 Gbps sebességgel működő SerDes elektromos interfészek. Az FPMO új projekteket is bejelentett, amelyek 112 Gbps sebességgel működnek [1] . Ezen kívül három korábbi generációs elektromos interfész leírása is megjelent. Ezeket a konvenciókat különböző mértékben adaptálták vagy elfogadták, vagy befolyásolták az IEEE 802.3 , InfiniBand , Serial RapidIO , Fibre Channel és sok más szabvány által meghatározott elektromos interfészeket.