楊 光,付文彬,郭元興,孟珞珈
(中國電子科技集團公司第三十研究所,四川 成都 610041)
PCI Express(Peripheral Component Interconnect Express)是一種高速串行計算機擴展總線標準,采用點對點通信模式,雙向數據傳輸,可以為每一個終端設備分配獨享的通道[1]。它具有帶寬高、速率快、串擾低和擴展性強等特點,廣泛應用于計算機、服務器和其他通信設備[2]。正是由于PCI Express 總線具有很高的傳輸速率,因此對傳輸介質要求很高,導致其傳輸距離很短。
目前,PCI Express 總線的大部分應用環境為設備內部的互聯總線,距離需求較短。但是,在一些特殊環境需要兩個設備之間通過PCI Express 總線進行高速互聯通信時,需要實現遠距離傳輸。針對這種使用環境,PCI-SIG 組織專門制定了PCI Express 總線外部線纜連接使用規范,制定了延長PCI Express 總線的接口定義、接口形態、信號特征和上電時序等。為了實現PCI Express 總線的遠距離傳輸,目前主要的手段是采用銅纜作為PCI Express總線的傳輸介質,同時在信號發送端采用中繼芯片增強驅動能力,從而實現PCI Express 總線的遠距離傳輸。該傳輸方式信號衰減嚴重,傳輸距離有限,目前最長達到15 m。此外,它采用銅纜,自身較重,不利于使用環境的搭建。
本文設計并實現了一種基于光纖傳輸的PCI Express總線延長方法,利用光纖介質信號傳輸質量高、傳輸距離遠以及重量輕等優勢,實現了PCI Express總線的遠距離傳輸,同時搭建測試環境對該方法實現的功能和性能進行了測試,滿足規范要求。
通過PCI Express 總線外部線纜連接使用規范可知[3],PCI Express 總線信號包含高速差分信號和輔助信號。高速差分信號的傳輸速率為2.5 Gb/s(GEN 1)、5 Gb/s(GEN 2)和8 Gb/s(GEN 3),因此高速差分信號可采用10 Gb/s 的光電轉換模塊進行傳輸。輔助信號主要包括CREFCLK、CPERST#、CPRSNT#、CPWRON 和CWAKE# 信號。其中,CREFCLK 為100 MHz 的差分參考時鐘,可在下游端采用晶振產生;其余信號均為低速的單端信號,可在PCI Express 總線下游鏈路端根據時序要求進行相關設置。
圖1 為PCI Express 高速總線光纖延長方法示意圖。在PCI Express 總線鏈路上游端,采用光電轉換模塊將PCI Express 總線發送端的電信號轉換為光信號,經光纖傳輸至鏈路下游端,再由下游端的光電轉換模塊將光信號還原成電信號。反之,PCIExpress 鏈路下游發送端的電信號經光電轉換模塊轉換為光信號后,再經光纖傳輸至上游端光電轉換模塊還原成電信號。

圖1 PCI Express 總線光纖延長示意
根據PCI Express 總線協議[4],系統復位時,PCI Express 總線上的設備需要完成鏈路訓練,實現物理層、數據收發模塊和鏈路相關狀態的初始化。只有正確完成鏈路訓練,PCI Express 總線兩端的設備才能進行數據交互。PCI Express 總線的鏈路訓練由LTSSM(Link Training and Status State Machine)狀態機控制。LTSSM 狀態機分為“Detect”“Polling”“Configuration”“Recovery”“L0”“L0s”、“L1”“L2”“Disabled”“Loopback”和“Hot Reset”共11個狀態。正常的鏈路訓練路徑如圖2所示。
PCI Express 總線的物理層在進行復位后,LTSSM 首先進入“Detect”狀態,通過Receiver Detect 識別邏輯檢測鏈路的接收端,判斷接收端是否可以正常工作。只有檢測到接收端是合法的設備后,才能跳入“Polling”狀態。在Polling 狀態和Configuration 完成通道資源檢測和寄存器配置后,跳入L0 正常工作狀態進行數據收發。其中,Receiver Detect 識別邏輯是通過檢測接收端的DC 共模輸入阻抗來判斷接收端是否合法[5]。如果接收端的DC 共模輸入阻抗在40~60 Ω 內,則認為接收端工作正常。對于光電轉換模塊,它的輸入阻抗并不在40~60 Ω 內,因此需要對PCI Express 鏈路中發送端的阻抗進行匹配,才能通過鏈路訓練時的“Detect”狀態檢測。阻抗匹配電路如圖3 所示,其中R1~R6為阻抗匹配網絡,Rs1和Rs2為光電轉換模塊的輸入阻抗。不同光模塊輸入阻抗不同,可通過調節R1~R6阻值將輸入阻抗調至40~60 Ω內。

圖3 發送端阻抗匹配網絡
在PCI Express 總線鏈路訓練過程中,還有一種“Electrical Idle”低功耗休眠狀態。通常情況下,PCI Express 總線接收端需要收到EIOS 序列后才進行低功耗狀態。但是,有時接收端在沒有收到EIOS序列的情況下,若發現空閑狀態檢測電壓閾值小于75 mV[5],也可以進入低功耗狀態。因此,在鏈路訓練時,因線路的抖動和不當的偏差,可能導致PCI Express 總線進行錯誤的低功耗狀態判斷。因此,硬件設計時需要防止電路產生抖動和偏差。
PCI Express 總線延長方法硬件總體設計如圖4所示,分為上游端主機卡、光電轉換及傳輸單元和下游端接口卡3 部分。其中,上游端主機卡用于將PCI Express 總線轉換為外部線纜,連接使用規范中規定的標準接口;光電轉換及傳輸單元主要用于PCI Express 總線的光電轉換和光信號的傳輸;下游端接口卡主要實現將延長后的PCI Express 總線信號還原為標準接口。
上游端主機卡主要由PCI Express 總線輸入接口、電源模塊、PCI Express 總線控制芯片、MCU和PCI-SIG 標準線纜擴展接口組成。PCI Express總線輸入接口設計為通用的金手指接口,可插入通用的PCI Express 總線插槽。電源模塊主要為上游端主機卡供電,由金手指接口輸入12 V 和3.3 V電壓,經電源模塊PTH0808WAD、PME5218 和TPS74401 轉換為5 V、2.5 V 和1.0 V 電壓,以供電路板工作。PCI Express 總線控制芯片主要用于提高PCI Express 總線信號質量,防止出現抖動和偏差,導致鏈路訓練時進行錯誤的“Electrical Idle”狀態判斷。本設計中PCI Express 總線控制芯片采用89H24NT6AG2ZCHLGI。該芯片為24-Lane 的交換芯片,嚴格遵循PCI Express 總線協議,在接口信號上具有去預重、接收均衡和驅動強等特點,可有效提升PCI Express 總線電信號信號傳輸質量。MCU 采用C8051F320,通過IIC 總線對89H24NT6AG2ZCHLGI 進行相關功能的配置。PCISIG 標準線纜擴展接口采用Molex 公司的75586-0104 和74540-0401,且接口定義與規范保持一致。
光電轉換及傳輸單元主要由PCI-SIG 標準線纜擴展接口、阻抗匹配網絡、光電轉換模塊和光纖組成。PCI-SIG 標準線纜擴展接口與上游端主機卡設計相同。阻抗匹配網絡可根據第1 章節的方法進行設計。光電轉換模塊采用10 Gb/s 光電轉換模塊進行傳輸,滿足光纖與光模塊配套即可。設計中采用Samtec 公司的PCIEO-4G3-030.0 高速光纖線纜組件,將PCI-SIG 標準線纜擴展接口、阻抗匹配網絡、光電轉換模塊和光纖進行高度集成,方便用戶設計。該組件集成的光纖長度為30 m,傳輸速率滿足GEN 1 和GEN 2。PCIEO-4G3-030.0 高速光纖線纜組件兩端分別為host 端口和target 端,其中host端口接上游端口,target 端接下游端口。
下游端接口卡主要由PCI-SIG 標準線纜擴展接口、電源模塊、PCI Express 總線控制芯片、MCU、時鐘Buffer 和標準PCI-Express 總線接口組成。其中,PCI-SIG 標準線纜擴展接口、PCI Express 總線控制芯片和MCU 與上游端主機卡設計相同。電源模塊由外部輸入12 V 電壓,通過MQ7250R2T、PME5218 和TPS74401 轉換為電路所需的3.3 V、5 V 和1.0 V。時鐘Buffer 采用6 輸出差分緩沖器ICS9DB106BGILF進行時鐘擴展,用于標準PCI Express 總線接口擴展。設計中采用89H24NT6AG2ZCHLGI 進行信號質量提升,同時利用其交換功能,將延長后的PCI Express總線擴展為4 路標準X4 接口。
硬件連接示意圖如圖5 所示,光電轉換及傳輸單元的host 端口與上游端主機卡相連,光電轉換及傳輸單元的target 端口與下游端接口卡相連。
測試環境的搭建主要用于該方法功能和性能的驗證,如圖6 所示。測試環境由COM-E 計算機模塊、上游端主機卡、光電轉換及傳輸單元、下游端接口卡、PCI Express 接口測試夾具、顯卡、電源和示波器組成。COM-E 計算機模塊的PCI Express 總線經上游端主機卡、光電轉換及傳輸單元和下游端接口卡延長后,通過接入的顯卡可以測試PCI Express總線延長后的數據傳輸功能。通過接入PCI Express總線測試夾具,將信號傳輸至示波器,從而實現對PCI Express 總線延長后的接口性能測試。

圖6 測試環境示意
從測試環境示意圖分析可知,COM-E 計算機模塊的VGA 顯示接口并沒有從COM-E 計算機模塊主板引出,而是通過延長后的PCI Express 總線接入顯卡擴展VGA 接口引出。COM-E 計算機模塊上電后,如果顯示器正常顯示操作系統界面,則驗證了PCI Express 總線經延長后擴展VGA 接口功能正常和數據傳輸能力正常。
接口性能的測試是通過PCI Express 接口測試夾具將延長后的PCI Express 總線信號引入示波器進行信號質量的測試。示波器采用力科816Zi-B,自帶PCI Express 總線測試模塊,并根據PCI Express總線規范參數提供眼圖模板。其中,一對差分對的測試結果如圖7 和圖8 所示。圖7 為光纖30 m 延長后,速率為2.5 Gb/s 的眼圖。從眼圖中可以看出,占空比上下區域對稱,眼睛張開,噪聲和抖動都在正常范圍內,眼圖沒有觸碰深色的模板區域,信號質量良好。圖8 為光纖30 m 延長后,速率為5 Gb/s的眼圖。可以看出,眼圖的噪聲和抖動增大,但占空比區域任然對稱,眼睛仍然處于張開狀態,沒有觸碰深色的模板區域。信號質量仍在可接受范圍,并不影響使用。

圖7 光纖30 m 延長2.5 Gb/s 眼圖

圖8 光纖30 m 延長5 Gb/s 眼圖
通過測試環境的驗證可知,基于光纖傳輸的PCI Express 總線延長方法在通信功能和信號質量上都能滿足兩個設備之間的遠距離通信需求,進一步驗證了該方法的可行性和正確性。
PCI Express 總線在計算機、通信以及航空航天等領域得到了廣泛應用。因此,為實現PCI Express總線的遠距離傳輸,提出了一種基于光纖傳輸的PCI Express 總線延長方法,結合原理分析進行硬件設計,并搭建測試環境驗證了其功能和性能。結果顯示,PCI Express 總線的光纖延長方法較傳統的同軸電纜延長方法,具有傳輸距離遠、信號質量高和重量輕等優勢,可用于設備之間的遠距離高速互聯和計算機總線類接口的板卡試驗測試等,具有很高的實用價值。