肖斯雨 楊凱 王冠雄 孫澤渝 吳杰
(上海航天電子技術研究所, 上海, 201109)
由于宇航器搭載的載荷、 傳感器等各類數據采集設備在數量和精度上的巨大提升, 空間電子系統信息流的體量和速率需求迅猛增長, 在滿足宇航電子產品信號傳輸可靠性條件下, 實現10Gbps 量級高速信號傳輸成為星載高速數據通信的研究難題。 高速串行技術克服了并行設計的速度 “瓶頸”, 還節省了I/O 資源, 使印制板的布線更簡單, 這些特點使其更適用于星載單機資源 有 限、 PCB 尺 寸 限 制 等 環 境。 GTX (Gigabit Transceiver, 吉比特收發器) 是一種低功耗的收發器, 配置靈活, 與FPGA 邏輯聯系緊密, 可用于實現多種高速串行接口。 目前的GTX 接口線速度有效負載范圍為0.8Gbps~10Gbps, 在協議支持下可以在2x、 4x、 8x 的模式下運行。 本文研究FPGA 集成的GTX 高速接口的宇航應用, 面向宇航電子產品針對GTX 接口進行電源完整性與信號完整性設計, 以保證宇航高速串行信號傳輸接口的可靠性。
目前常用同步方式有系統同步、 源同步和自同步。 “系統同步” 利用片外的晶振進行同步,由于板間線路的長度不一致, 以及片內延遲不一致, 在時鐘速度較高時可能存在較大誤差。 “源同步” 是在發送數據的同時發送一個時鐘副本,這種設計需要更多的時鐘端口。 “自同步” 將時鐘包含在數據流中, 從數據流中進行時鐘恢復,不僅端口使用較少, 而且不論是在高速還是低速, 時鐘延遲與數據延遲都保持一致, 可以保證采樣的正確性。
GTX 收發器采用差分信號對數據進行傳輸。除了利用差分信號外, GTX 采用自同步技術來解決時鐘同步問題。 GTX 接口原理框圖如圖1所示。

圖1 GTX 接口原理框圖
將速率為y 的n 位寬并行數據轉變成速率為n×y 的串行數據。
在輸入數據發送之前, 暫時保存數據。
將數據編碼成適應不同線路的格式。 編碼器通常會消除長的無轉變的序列, 同時還可以平衡數據中0、 1 的出現次數。常用的線路編碼機制為8B/10B 編碼。
與并串轉換器的功能相反,將速率為n×y 的串行數據轉變成速率為y 的n 位寬并行數據。
修正發送時鐘和接收時鐘之間的偏差, 同時也可以實現多通道間時鐘歪斜的修正。
將線路上的編碼數據分解成原始數據。
在接收數據被提取之前,暫時保存數據。
GTX 是一種Serdes 接口, 基于FPGA 的GTX接口有星載板級、 單機級、 系統級等3 種高速互聯應用場景。 GTX 接口的通信能力可以覆蓋單板內的信號傳輸距離, 單板內部具有多個高速運算單元時, 采用高速串行通信GTX 接口實現高速運算單元的高速互聯架構。
單機級的應用為模塊間的GTX 接口高速互聯, 可以通過兩個Serdes 直連實現, 板間傳輸的傳輸線長度通常不超過0.5m, 5Gbps 的速率仍可保證可以接受的信道損耗。
系統級互聯通過雙星拓撲網絡實現, 系統內各個模塊均引出兩路GTX 配置成的SRIO 接口,分別接入兩個SRIO 交換矩陣, 從而組成雙星型網絡。 系統內部各個子模塊在模塊內部使用一塊RapidIO 互聯芯片用于模塊內處理單元互聯; 也可以將模塊內處理器直接接入SRIO 交換實現與存儲模塊, 如支持DMA 的計算—存儲模塊、 實時采集模塊 (高速AD)、 DSP 陣列等系統互聯。
基于單板、 單機、 系統這3 種宇航用應用場景, GTX 接口主要涉及的宇航電子產品應用場景包括: 系統內不同單機間有Gbps 速率量級的數據傳輸需求, 單機內總線需要具備有Gbps 量級的數據交換能力, 單機內總線需要使用SRIO、PCIE、 SATA、 GbE、 10GbE 等標準化通信協議,單機內部采用網絡交換的拓撲架構, 單板內部有多個高速運算單元需要互聯通信。 同時, 針對特定情況需要考慮傳輸路徑對GTX 接口的影響, 3種接口存在應用區別, 在此主要針對GTX 共性問題進行設計。
電路設計主要針對GTX 收發器, 設計接口外圍的電源與時鐘電路, 還包括電源完整性設計、 信號完整性設計、 耦合電容設計。
GTX 接口的供電標準見表1。 通過對以上軌道的電壓利用計算軟件XPE 中的快速估算功能計算各個電壓軌道的功率, 如圖2 所示。

圖2 GTX 供電軌道功率估算

表1 GTX 供電端口標準
為優化GTX 接口性能, 需在MGTV、MGTAV、 MGTAV供電軌道上設置濾波電容,保證供電噪聲小于10mVpp, 噪聲帶寬范圍在10kHz~80MHz 內。
對于7 系列FPGA 的GTX, 每個Quad 有2個外部差分參考時鐘源, 因此對每一個Quad 而言, 可以選擇2 個不同的參考時鐘, 每個CHANNEL 接收端和發送端都可以獨立選擇參考時鐘, 一組時鐘可以給相鄰的2 個Quad 使用。
在時鐘源與GTX 接收端口之間加0.1μF 的AC 耦合電容可以有效減小傳輸線路上的噪聲并降低功耗, 還可以阻隔通路上的直流信號, 能夠為芯片提供理想時鐘源。 同時為減小時鐘抖動, 在PCB 布線階段要避免參考時鐘鏈路上出現阻抗突變, 在信號傳輸路徑上出現過孔、 跨層等阻抗突變時要更改設計或采取特殊工藝降低不良影響。
與電源完整性相關的主要因素為電源噪聲,大多數芯片的正常工作電壓范圍通常在額定值±5%范圍內, 而老式的穩壓芯片的輸出電壓精度通常是±2.5%, 電源噪聲的峰值幅度不應超過±2.5%。 電源噪聲精度通常受各種制約條件限制, 包括負載情況、 工作溫度等, 因此在電源設計時需考慮留足余量。
以3.3V 供電芯片為例, 若芯片正常工作電壓范圍為3.13V ~3.47V, 穩壓芯片標稱輸出3.3V。 安裝到電路板上后, 穩壓芯片輸出3.36V。 那么容許電壓變化范圍為3.47V-3.36V=0.11V=110mV。 穩 壓 芯 片 輸 出 精 度±1%, 即3.36V×±1%=±33.6mV。 電源噪聲余量為110mV-33.6mV=76.4mV。
為保證邏輯電路能正常工作, 表征電路邏輯狀態的電平值必須落在一定范圍內。 比如對于3.3V 邏輯, 高電平大于2V 為邏輯1, 低電平小于0.8V 為邏輯0。
與信號完整性 (SI) 有關的因素主要有3類: 反射、 串擾和輻射。 反射是由于傳輸路徑上的阻抗不匹配導致; 串擾是由于線間距導致; 輻射則與高速器件本身以及PCB 設計有關。 由于GTX 接口的通信鏈路采用了AC 耦合的方式, 因此GTX 接口信號的布線主要的設計因素即為盡量避免傳輸線路徑上出現阻抗突變。 去耦電容設計如圖3 所示。

圖3 去耦電容設計
根據以上內容, PCB 設計時針對電源完整性與信號完整性作出了以下約束。
a) 信號換層時, 不要改變參考層; 信號換層時, 不改變參考層的網絡屬性, 減小過孔本身產生的阻抗變化影響, 減小對信號回流路徑的影響; 信號換層時, 在信號過孔附近增加一個與參考層同屬性的過孔; 若換層前后, 兩層參考層的網路屬性不同, 要求兩參考層相距較近, 減小層間阻抗和返回路徑上的壓降; 當換層的信號較密集時, 附近的地或者電源過孔之間應保持一定距離, 換層信號很多時, 多打幾個對地或者對電源的過孔。
b) 解決串擾的辦法是, 高速信號、 時鐘信號、 其他數據信號等間距滿足3W 原則。 3W 原則是指兩相鄰信號線中心距不少于信號線寬度的3 倍, 當設計滿足3W 原則時, 信號線間由互感、 互容產生的互擾可減少70%。
本部分主要闡述宇航電子產品的GTX 接口性能測試方法, 該項測試需要地測設備的支持,地測設備連接框圖如圖4 所示。

圖4 性能測試實驗框圖
地測設備向被測FPGA 發送數據, 數據為測試要求的固定碼型, 并記錄發送數據量; 被測FPGA 內部將收發數據總線回環, 將地測發送的數據接收后全部傳回地測, 待測FPGA 發送結束后, 地測對比發送數據與接收數據, 進行誤碼比對和數據量比對, 得出丟包數以及數據的誤碼率。 并根據v=2D/t 計算有效數據速率v (bps), 其中, D 為地測發送數據量 (bit), t為地測開始發送數據到地測收到最后一個數據的耗時 (s)。
測量被測單機的有效數據速率V, V=V× -β,其中, V為有效數據速率 (bps), V為信道開關速率 (bps), 為編碼開銷, β 為測試誤差。
數據測試量要求在全速收發模式下, 收發每個碼型的時間不小于1 小時。


圖5 信道誤碼率測試結果圖

圖6 信號完整性結果圖
根據測試結果, GTX 高速傳輸接口眼圖形狀良好, 誤碼率為1e-8, 信號完整性較好, 符合標準規范。 在耦合電容為5μF, 交換速率3.125Gbps工況下, 信號完整性可以保證。
通過對GTX 高速串行通信接口進行電路設計與信號完整性設計, 分析宇航電子產品的電路設計與應用場景, 并對GTX 高速接口的PCB 設計完成信號完整性及電源完整性2 方面設計優化后, 得到的結果: 在耦合電容為5μF, 數據吞吐量1.25Gbps 與5Gbps 條 件 下, 完 成 了4 路3.125Gbps 傳輸速率的信道誤碼率測試, 結果滿足使用要求, 電源完整性及信號完整性滿足宇航電子產品要求。