ESIstream IP–簡化確定性數據序列化的設計
概述
當使用現代寬帶數據轉換器時,管理產生的高速串行數據流是一個巨大的挑戰(zhàn)。ESIstream是一個開源的串行數據接口協(xié)議,成本極低,支持多種FPGA架構的簡單硬件實現,并占用最小的資源。簡單來說,它是JEDEC的JESD204B子集1和2標準的開源替代方案。另外,ESIstream可為用戶帶來很多好處,這里將討論其中的一些,包括低復雜度、低鏈接延遲和實現確定性延遲的簡單方案。
本文將僅闡述ESIstream的架構,因為當前有很多文檔已很好地描述了JESD204B的標準。然后我們將揭示這兩種協(xié)議之間的細微區(qū)別,并介紹Teledyne e2v,ESIstream協(xié)議的開發(fā)者,已決定發(fā)布自己的ESIstream VHDL IP,以進一步簡化用戶的使用。
串行的歷史
新千年以來,數據轉換器技術和CMOS工藝的發(fā)展開始到達功能的瓶頸。起初,高速ADC和DAC(fs>10MHz)采用并行數據接口,這意味著在印刷電路板(PCB)上需從每個數據轉換器上引出/引入大量的布線(圖1)。隨著采樣率和輸出數據速率的提高,PCB設計變得越來越有挑戰(zhàn)性。而串行化接口,起初使用LVDS(低壓差分型號),最近則使用串行器/解串器(SERDES)接口(時鐘嵌入在數據流中),為這種數據傳送的挑戰(zhàn)提供了一種解決方案,并可簡化PCB布線,大大推進形狀參數的發(fā)展。這種接口的簡化對鏈接的兩端都有利(圖1)。Serdes鏈接進一步簡化了PCB的設計,因為無需保證數據線長度匹配。
圖1 串行鏈接如何降低互聯負荷
然而,經過了很多年,才有了一種串行方案解決了寬帶數據轉換器帶來的所有系統(tǒng)級挑戰(zhàn)。實現確定性延遲是同時采樣的前提,人們付出了很多努力研究它。下表(表1)展示了過去12年甚至更長時間里JESD204標準的發(fā)展和開源ESIstream的發(fā)展。
串行數據的一個顯著的優(yōu)點是,當分辨率提高時,器件的封裝無需包含額外的數據線,這可以幫助限制引腳數的增加。但是,串行化的缺點是由于引入了編碼/解碼流程,且通過某些額外的接收路徑彈性緩沖器補償路徑之間的對齊度,導致增加了額外的傳遞延遲。
圖2 串行化引入互聯延遲
串行化也可幫助管理數據轉換器的電源需求,因為它能降低單個器件需要的特定輸出驅動器的數目。而且,通過實現差分串行線,可幫助減少復雜系統(tǒng)中產生的電氣噪聲,以保證良好的動態(tài)范圍。另外,編碼方案也可分散頻譜噪聲,而且差分信號可降低串擾。
事實上,直到現在,早期串行接口依然不能很好地支持多個并行通道的應用,設計師依然會面臨板級設計的挑戰(zhàn)。
ESIstream 具體實現
現在讓我們看一下ESIstream的核心要素。ESIstream使用14b/16b的數據編碼算法,低有效位優(yōu)先,支持超過13Gbps的線路速率。它支持12位和14位的轉換器。協(xié)議使用線性回饋移位寄存器加擾技術,為每個數據字加入不均等位和時鐘同步位(2個bit的額外負擔),如圖3。通過這種方式,它的編碼效率高達87.5%,比JESD204B(8b/10b的編碼流)略高。不均等位(DB)可在CLK位切換使能同步監(jiān)控時,保持數據鏈間的DC平衡。
圖3 ESIstream 基本數據幀
ESIstream發(fā)射端(Tx)和接收端(Rx)核心的上層框圖如圖4和圖5所示。
圖4 ESIstream的Tx路徑
圖5 ESIstream的Rx路徑
ESIstream編碼算法被設計成可減少串行接口的物理限制。最重要的是,發(fā)射端和接收端之間的鏈接需要AC耦合??紤]到這一點,發(fā)射的數據要確保DC平衡,否則鏈接耦合電容可能漂移,導致數據眼圖閉合,破壞接收的數據。
在接收端,時鐘和數據恢復(CDR)模塊通常使用PLL鎖到發(fā)射的信號,這樣無需使用獨立的時鐘線。但是,為了使得CDR鎖定并保持鎖定狀態(tài),需保證傳送的信號經過特定的變換次數。為發(fā)送的數據加擾是為了維持DC平衡,確保鏈接保持鎖定。ESIstream的開發(fā)者希望限制數字設計的復雜度,于是采用附加的算法最小化錯誤傳遞。這種算法基于斐波那契數列,長度為217-1。此外還應用了14位的移位。轉換流程輸出的有用數據和線性反饋移位寄存器數據(偽隨機碼)進行異或操作,如圖6。
圖6 通過與LSFR碼異或實現數據加擾
加擾之后,14位的數據結果被編碼成16位的數據幀。第一個附加位時鐘位,隨著每個連續(xù)幀切換。第二個附加位不均等位根據不均等計數器(RDC)的當前狀態(tài)設置。兩種RDC狀態(tài)可導致:
1.RDC小于+/-16,不均等位設置為‘0’。
2.RDC大于+/-16,不均等位設置為‘1’,數據反向(按位非運算)。這個操作可滿足Rx PLL鎖定的最小轉換次數的要求,并滿足鏈接DC平衡的需要。在正常操作下,接收端首先檢查不均等位。如果它為高,則在去擾前反向接收的數據。如果它為低,則直接對數據進行去擾操作。對于確定性操作,ESIstream要求鏈接同步,即發(fā)射端和接收端的數據幀對齊,鏈接兩端的加擾引擎在同樣的初始化狀態(tài)。同步分兩步,幀對齊和偽隨機位序列(PRBS)初始化。
圖7 ESIstream 鏈接同步幀
接收端通過使能SYNC啟動流程。這個脈沖應該持續(xù)至少一個幀周期。然后發(fā)射端發(fā)送一個32幀的對齊樣式(圖7)。在接收端,這個保留的序列繞過加擾和不均等的處理,使接收端和發(fā)射端時序對齊。在對齊幀之后,發(fā)射端立刻發(fā)送一個32幀的PRBS數據——包含14位的PRBS以及時鐘和不均等信息。經過正確地處理,接收端LFSR由接收端的PRBS字初始化。這時鏈接已同步(圖8)。用戶可在接收端通過觀察時鐘位,連續(xù)監(jiān)控同步狀態(tài)。如果時鐘位在某一幀沒有切換,則出現了同步問題,需復位鏈接重新同步。
圖8 ESIstream接收端線路同步序列
通過加擾以及時鐘位和不均等位的處理,ESIstream可保證確定的數據傳輸。