雷 莉, 鄭建生, 朱玉建
(武漢大學 a.電子信息學院;b.GNSS中心,湖北 武漢 430072)
激光通信技術是將大容量的激光同靈活的空間無線通信相結合,并具有高傳輸速率、寬可利用頻帶、高可靠性、強保密性、終端設備體積小、功耗低等特點[1],是解決微波通信瓶頸的有效手段,非常適于衛星與衛星、衛星與飛機以及臨近空間平臺等之間高碼率、大容量信息的傳輸,目前國內外對空間激光通信技術的研究十分重視,空間激光通信系統研制開發的必備輔助工具激光通信數據模擬器的研制也顯得尤為重要,它可以模擬激光通信數據信號,測試激光通信系統功能和性能指標是否滿足要求,同時也可以測試空間激光通信系統的可靠性和應答功能,是空間激光系統完成自檢測試的重要輔助工具。
激光通信數據包含兩路,一路是1.6 Gb/s高速激光數據,用于傳輸數據信息;一路是100 Mb/s中速激光數據,用于傳輸控制指令和狀態信息,要求誤碼率小于10e-9。本系統以FPGA為控制核心,分別產生1.6 Gb/s高速激光數據信號和100 Mb/s中速激光數據信號,通過RS422接口與PC機通信實現人機交互。本系統通過 PC機的交互界面設置激光通信數據模擬器的工作狀態和發送激光通信數據幀數,通過RS422串口發送控制指令,系統接收到控制指令會返回狀態信息給 PC機顯示以告知用戶。該系統的總體設計框圖如圖 1所示。整個系統以FPGA為核心,系統的控制模塊、數據產生模塊,編碼模塊都在FPGA內部完成。外部的時鐘模塊為系統時鐘信號,包括 100 MHz的全局時鐘和125 MHz的高速收發器參考時鐘;配置端口是指JTAG端口,用于程序下載和在線調試,而配置芯片為程序提供存儲空間和斷電后的程序寫入;電源模塊為系統芯片提供電源,包括1.0 V、1.2 V、1.8 V、2.5 V和3.3 V電源;光電收發模塊負責將FPGA串行輸出的電信號轉換為光信號用于空間激光傳輸;RS422電平轉換模塊實現LVTTL電平與RS422電平的轉換,用于PC機與系統的信息交互。

圖1 系統的總體設計框
循環冗余編碼(CRC)由于其誤碼監測能力強、抗干擾能力優異,被廣泛用于線路差錯編碼。并行CRC校驗是把輸入N位數據按照串行CRC校驗原理一位一位運算得到N位的CRC校驗結果表達式,這個校驗結果表達式就是并行 CRC校驗的校驗公式,并行CRC校驗就是把串行CRC校驗的N步運算和為一步[2]。本系統的高速數據信號產生中的Rocket I/O收發器支持CRC32校驗,中速數據信號產生亦采用 CRC32編碼,CRC32的校驗編碼公式(生成多項式)為:

系統中CRC校驗模塊的輸入數據為16位,校驗從高位開始,經過16次的串行移位運算得到最終的并行校驗異或公式(New_crc指運算后的 CRC結果,crc運算前的CRC結果,data輸入的16位數據,只列出了New_crc[0]見式(2):

在激光通信中,線路編碼是數據傳輸必不可少的,主要是解決普通二進制在光纖數字系統中不適合傳輸的問題。適合在激光通道中傳輸的信號不同于一般的電信號,由于光源只能表示兩種狀態,一種為“有”,一種為“無”,不能滿足雙極性碼三種狀態的要求,所以信號只能采用單極性編碼,用光源的“有”和“無”代表二進制單極性碼中的“0”和“1”。單極性碼不可避免出現長串連“0”、連“1”,另外含有直流分量會使得信號提取困難且信號基線浮動,為了改正單極性編碼的缺點,在信號碼流進入電光轉換模塊之前進行碼型變換,使調制后的光脈沖適合于光傳輸。8B/10B是字變換mBnB碼的一種,是目前諸多主流的高速串行接口或總線的編碼方案,其主要優點有:
1)高轉換密度,就是保證了發送數據流中有足夠的信號轉換。
2)DC補償,對信號進行DC補償,能保證“0”和“1”的數目相當平衡。
3)檢錯,由于8B/10B編碼遵循特定規則,可以檢測很多信號的傳輸錯誤。
4)特殊字符[3],可以用作控制信號。
運用8B/10B編碼傳輸發送的“0”和“1”的數量能基本保持一致,連續的“0”或者“1”的個數不會超過5個,能有效避免 DC失調,使接收端能正確復原傳輸數據[4]。Xilinx V5系列FPGA內部集成的IP核RocketI/O高速收發器可配置8B/10B編碼選項,從而簡化高速數據產生的設計,對于中速數據,采用FPGA編程實現8B/10B編碼設計。8B/10B編碼結構圖如圖 2所示,采用查找表法實現,主要分為5B/6B編碼、3B/4B編碼和K碼檢測部分。編碼是將8位數據映射到10位,分為數據字符集和K字符集,K字符集主要用來作為控制信息。在這種編碼中,只包含有256個10位數據字符編碼和12個10位控制字符編碼,其他的 10位數據是無效的,以犧牲數據傳輸效率來提高傳輸可靠性。

圖2 8B/10B編碼結構
8B/10B 編碼提高了數據傳輸速率,改善了AC耦合與快速傳輸之間的矛盾。編碼特點也幫助提高了數據傳輸的準確度,利用編碼的冗余特點實現的內嵌時鐘改善了PCB 的傳輸性能,同時也極大地提高了高速串行數據傳輸的性能[5]。
系統主要通過FPGA控制實現模擬數據信號的產生輸出,對FPGA的功能頻率和性能都有一定要求,如何選擇一款合適的可編程邏輯陣列芯片至關重要。綜合系統的設計要求,最終采用Xilinx公司的Virtex-5系列FPGA[6]。Virtex-5系列采用的是第二代高級芯片組合模塊列式架構,具有先進的高性能邏輯結構外,還內置大量的IP硬件系統級模塊,該芯片具有一下特點:
1)邏輯資源豐富。
2)內含 12個集成數字時鐘管理器(DCM)和 6個鎖相環(PLL)時鐘生成器的增強型時鐘管理模塊,最高支持550 MHz工作時鐘。
3)存儲資源豐富,包括功能強大的36 kb模塊RAM/FIFO。
4)內含12個功耗優化型高速串行收發器模塊(RockI/O),最高速率可以達到3.75 Gb/s。
5)支持 20 多種 I/O 接口標準,如 LVTTL、LVDS、LVPECL、LVCMOS33、LVCMOS25等常規電平[7]。
該系列FPGA內部集成了串行速率高達3.75 Gb/s的高速收發器,可以滿足本系統1.6 Gb/s高速激光數據的指標要求,且其內部還配置了數字時鐘管理、鎖相環和FIFO,能很好地滿足設計需要,使系統工作穩定且功耗低,一致性好,調試難度低。
系統邏輯設計包括復位模塊、時鐘管理模塊、100 Mb/s中速數據產生模塊、1.6 Gb/s高速數據產生模塊和RS422控制模塊。
系統中需要復位的模塊包括時鐘管理模塊(DCM)和其它模塊,由于其它模塊需要的有些時鐘信號來自DCM,所以要先完成DCM復位,且等到時鐘鎖定之后才能完成其它模塊的復位,保證系統正常復位。如圖3所示,Rst是外部輸入的復位信號,sysRst是DCM模塊的復位信號,sysRst2是其它模塊的復位信號。

圖3 系統復位信號
本系統采用RS422作為PC機與FPGA的控制接口,RS422模塊接收PC機發出的控制指令,返回系統工作狀態參數。RS422是采用四線接口,具有獨立發送和接收通道,能實現雙工通信。由于它的數據信號采用差分傳輸方式,抗干擾能力強,傳輸速率快,傳輸距離遠,再加上結構簡單,價格低廉,是在數據通信中得到廣泛應用的一種串行接口。RS422串行通信接口波特率設置為115200,采用12位異步通信接口,1位起始位、8位數據位,一位校驗位和2個停止位,校驗采用奇校驗。其數據格式如圖4所示。

圖4 RS422串行通訊數據格式
產生1.6 Gb/s的高速數據的關鍵技術在于如何實現串行高速率輸出。Xilinx V5系列FPGA中集成的Rocket I/O模塊,內置鎖相環、時鐘恢復和修正電路、通道綁定、對齊、8B/10B編碼、空閑序列生成,循環冗余校驗等模塊[8],它的靈活性和可配置性使得它容易集成到設計中。RocketIO模塊需要通過適當的配置以滿足本系統設計需求。啟動IP核生成向導,按照向導完成GTP模塊的配置,配置分為以下幾步:
1)組件名稱和模塊配置。
2)串行輸出數率和協議標準配置。3)8B/10B可選端口配置。
4)輸入輸出的延遲、時鐘和緩沖配置。
5)發送預加重、終端電阻和接收均衡配置。
6)RX接收OOB、PRBS和同步虧損配置。
7)RX接收Comma字符配置。
8)通道綁定和時鐘修正配置。
9)通道綁定序列配置。
10)時鐘修正序列配置。
11)RX接收端PCI Express和SATA接口協議配置[9]。
通過合適的配置,可以生產模塊代碼,調用這個模塊代碼完成1.6 Gb/s的數據輸出。
中速激光數據產生用硬件編程語言編寫中速數據發生器模塊,通過接收中速數據產生模塊的控制信息,控制數據發生器數據的產生,并加入數據幀頭和CRC編碼結果組成數據幀,經過FIFO緩存后送入 8B/10B編碼模塊,最后經過并串轉換輸出。8B/10B編碼程序設計流程如圖5所示,RD極性是指編碼中“0”和“1”的個數差即數據流的不平衡度,輸入8位數據,首先判斷是否為K(控制)字符,如果是K字符根據RD極性可以直接進行8B/10編碼得到10位輸出,同時更新RD,如果是D(數據)字符,則根據RD極性進行5B/6B編碼,并更新RD極性,然后依據更新的RD極性執行3B/4B編碼,并再次更新RD極性,最后輸出10位編碼數據。10位編碼數據輸出送入并串轉換模塊串行輸出。

圖5 8B/10B編碼程序設計流程
激光通信數據模擬器測試框圖如圖6所示。激光通信數據模擬器模擬產生1.6 Gp/s的高速激光數據和100 Mb/s的中速激光數據,經過光放大模塊(EDFA)后由光纖傳輸給接收端,為了更好地模擬空間激光數據傳輸,接收端加一個激光衰減器,光信號經過衰減之后進入激光通信系統,經過串并轉換、8B/10B解碼等數據處理之后轉發給PC機存儲分析。

圖6 激光通信數據模擬器測試框
激光通信數據測試分1.6 Gb/s的高速激光數據測試和100 Mb/s的中速激光數據測試,考慮激光強度的影響,測試中調節激光衰減率,在不同接收光強下測試誤碼率,如表1所示。

表1 測試結果(連續測試4個小時)
文中設計了一個模擬產生1.6 Gb/s和100 Mb/s的激光通信數據模擬器,能很好地輔助激光通信等系統完成自檢測試,為實現激光通信系統的低誤碼率的測試提供保障,能有效縮小系統的開發周期,同時也為其他系統的高速和中速數據產生及數據傳輸低誤碼率的實現提供方案,該系統對以后衛星與衛星之間、衛星與地面之間的空間激光通信系統的設計具有很大的借鑒意義。下一步的研究工作是擴大數據模擬器的應用范圍,使其能應用在存在隨機錯誤和突發錯誤的信道[10]和深空通信[11]中,這需要對模擬數據進行級聯等更加復雜的信道編碼,來提高數據傳輸的安全性和可靠性。
[1]趙尚弘,吳繼禮,李勇軍.衛星激光通信現狀與發展趨勢[J].激光與光電子學進展,2011,9(48):7-21.
[2]李宥謀.以太網中8位并行CRC-32軟核設計[J].西安郵電學院學報,2006,11(05):32-35.
[3]李宥謀.8B/10B編碼器的設計及實現[J].電訊技術,2005(06):26-29.
[4]許軍,許西榮.PCI- Express中8b/10b編碼解碼器的設計與實現[J].微電子學與計算機,2006,23(03):37-39.
[5]李玉偉,潘明海.8B/10B編碼對高速傳輸的影響分析[J].信息安全與通信保密,2011(03):41-43.
[6]李超然,鄭建生,林炳章.基于FPGA的同步脈沖傳輸系統設計[J].通信技術,2011,44(06):6-8.
[7]XILINX, Virtex-5Q Family Overview DS100(v5.0)[EB/OL].(2010-5-22)[2012-12-30]. http://china.xilinx.com/support/documentation/data_sheets/ds 174.pdf.
[8]吳帥.基于 PCI Express總線和光模塊的高速串行傳輸系統設計與實現[D].長沙:國防科學技術大學,2008.
[9]GTP Transceiver Wizard v2.1 Getting Started Guide[EB /OL].(2010-04-19)[2012-12-30].http://china.xilinx.com/support/documentation/ip_documentati on/v5_gtpwizard_gsg188.pdf.
[10]李元興,成堅.一種用級聯碼構造的公開密鑰密碼體制[J].信息安全與通信保密,1989,3(39):1-6.
[11]岳平,胡飛.深空通信中極低碼率編碼技術研究[J].通信技術,2012,45(01):20-22.