摘 要:介紹了AOS(高等在規系統)的主要功能及其數據流特性,進而分析了合路器和分路器在該系統的仿真演示和驗證中的重要作用。最后,以美國Xilinx公司的Vietex4芯片為基礎實現了合路器和分路器,兩者之間通過物理信道以帶有優先級的輪詢方式傳遞數據。通過邏輯分析儀觀察測試測試數據流,取得了較好的結果,基本滿足系統要求。
關鍵詞:FPGA;VCDU;分路器;合路器
中圖分類號:TN919.7 文獻標識碼:A
文章編號:1004373X(2008)0311103
Study and Implementation of Multiplexer and Demultiplexer in AOS
LIU Yonggang,ZHANG Tianqiao,ZHU Shouzheng
(East China Normal University,Shanghai,200062,China)
Abstract:Firstly,this paper presents the main function of AOS(Advanced Orbiting Systems) and its data flow characteristic,then focuses on the important role of multiplexer and demultiplexer in the system stimulation and verification.Finally,multiplexer and demultiplexer are realized based on the Virtex4 of Xilinx,Inc.in America,and can transfers data through physical channel to each other in the polling with priority,then a well result is got after testing data flow by logic analyzer.The design satisfies the demand of system.
Keywords:FPGA;VCDU;multiplexer;demultiplexer
1 引 言
為了適應空間技術的發展,尤其是“國際空間站”的建立與發展的需要,空間數據系統咨詢委員會(CCSDS)在提出常規分包遙測遙控系統的基礎上又面向載人空間站、無人空間平臺、自由飛行器、深空探測器以及高級空間運輸系統等復雜航天器提出了靈活性更強,更多樣化的數據處理業務——高等在軌數據系統,簡稱高等在軌系統(AOS)。
空間實驗室AOS的數據流有如下特性:(1) 數據種類多;(2) 碼率差異大;(3) 異步工作,其數據的產生可看作隨即過程;(4) 數據源可更換。
因此,AOS系統具有如下特點:
(1) 根據數據源的性質分類,將特性相同或相近的數據源合并成一類,并使用相同的虛擬信道;
(2) 高速和低速數據在不同的級別處理;
(3) 各數據源的碼率之和大于信道碼速率;
(4) 數據處理設備具有通用的功能和接口。
根據AOS標準的相關要求,可以將系統分成如下幾個主要部分:信號源、鏈路控制器、合路器、分路器和信號宿。鏈路控制器在數據源端將待傳數據打包成符合AOS標準(VCDU格式)的包后發送給合路器,同時在數據宿端將分路器傳過來的數據進行解包,然后傳到數據宿。合路器、分路器主要完成多個鏈路控制器之間數據的調度和可靠傳送。
由以上功能劃分來看,信道合路器、分路器是整個AOS系統中的關鍵設備。他們屬于空間鏈路層中的硬件實體,其作用相當于虛擬信道存取子層(VCA)中的信道存取過程。
2 合路器與分路器的研究設計
2.1 合路器設計
2.1.1 傳輸數據類型及其主要功能
AOS體制主要用于復雜航天器的數據系統中。復雜航天器需要傳輸的數據種類很多,有圖像、語音、數據、文件、電子郵件等,數據的碼速率也相差很大。高等在軌系統能夠將不同類型、不同速率的眾多數據合一形成統一數據流(虛擬信道數據單元,VCDU),經過組織后送到空間物理信道進行傳輸。
采用AOS體制的航天器數據系統中,信道合路器存在于空間數據鏈路層與物理層之間,其主要功能有:將不同類型和速率的數據進行合路后形成下行統一數據幀,完成對VCDU的合路調度。向插入區插入數據,進行信道編碼,數據幀同步,對數據進行隨機化處理等任務以及填充VCDU產生功能。
2.1.2 功能實現手段
不同種類信源的數據(根據具體情況而定,這里定為5種)經過各自對應的鏈路控制器形VCDU后傳送到合路器。鏈路控制器(VCLC)向合路器傳輸數據過程如圖1所示:當鏈路控制器生成一個VCDU需要傳送時,首先由鏈路控制器向合路器提出發送請求;合路器在滿足接收該鏈路控制器VCDU的條件下,給出允許發送信號;鏈路控制器在收到允許發送信號完畢;當一個VCDU傳送完畢時,雙方的計數機制使請求發送和允許發送信號復位,傳送周期結束。
圖1 信道合路器與VC鏈路控制器的接口
合路器做出必要的保護,如:在鏈路控制器與合路器傳送數據的過程中,不滿一個完整的VCDU時突然停止繼續傳送,此時合路器在等待足夠長時間后應對已接收到的數據用填充格式拼成一個完整VCDU后申請發送。
合路器將各路傳送來的VCDU分別緩存在對應的FIFO中,并在傳送的每個VCDU前加上32位的同步碼1ACFFC1DH以形成CADU。通過合路器的綜合調度,5路VCDU最后將合路成一個連續的速率為200 Mb/s的數據流,并在5路都無輸出的情況下輸出填充VCDU (此VCDU的VCID置為保留值“全1”)以保持輸出數據的連續性。在每個CADU發送過程中,適時從插入業務數據源取得插入數據,并將插入業務數據放到每一個正在傳送的VCDU的插入域。時序電路產生各個模塊所需的時鐘信號和門控信號。高速數據傳送單元負責將合路后的200 Mb/s的數據流通過物理信道(LVDS標準電平)可靠傳送到分路器。
2.1.3 合路器的調度
虛擬信道多路技術是AOS的精髓,他是一種信道時分制,但又根本不同于傳統的時分制。傳統的時分制是固定的傳輸時隙,而多路復用技術是按需動態劃分的,實現了多類型數據源的合路傳輸,同時提高了空間數據信道的利用率。虛擬信道(VC)是建立在一個物理信道上的多個并行的“虛擬”通路,使該物理信道可以被多個不同類型的用戶共享。在該方案中采用帶有優先級的輪詢的方式占用物理信道,即當兩個或者兩個以上優先級不同的VCDU同時存在時,優先級高的VCDU先占用物理信道;當兩個或兩個以上優先級相同的VCDU同時存在時,以輪詢方式占用物理信道。
2.2 分路器設計
2.2.1 分路器的主要功能
分路器的主要功能是:幀同步以及信道譯碼、提取插入數據、丟棄填充VCDU等,從而完成對信道合路器合路后數據的分路處理。他將一個連續的速率為200 Mb/s的數據流恢復為合路前的5路不同速率、不同性質的數據。
2.2.2 功能實現手段
合路器完成合路后的數據經物理信道傳至分路器。分路器負責接收合路器傳送過來的200 Mb/s的數據流,然后將接收到的數據流傳送到數據緩存區同時提取同步及導頭輸出至分路控制單元。分路控制單元根據主導頭中的信息產生相應的控制信號,及時將來自不同信源的VCDU分別輸出至對應VC的數據緩存區。一旦分路控制單元根據VCDU導頭解算出了VCID,就可將VCDU寫入各VC對應的數據緩沖區。同時,分路控制單元在適當的時候取出VCDU導頭后插入域中的數據并傳送給插入業務數據緩存區。如果是填充VCDU,則不選通數據緩存區,直接舍去,防止無效數據傳輸至數據處理設備。VC鏈路控制器接收信道分路器中數據緩沖器發送的數據。如圖2所示:每一個VCDU為一個獨立的傳送周期。信道分路器在其接收到一個完整的VCDU后給出數據有效信號,并送出時鐘和數據,直到該VCDU傳送完畢,當一個VCDU傳送完畢時,數據有效信號復位,傳送周期結束。
圖2 信道分路器與VC鏈路控制器的接口
3 Virtex4在研究中的應用
Virtex4 FPGA是美國Xilinx公司出品的新一代的平臺FPGA,他使用高級硅片組合模塊(ASMBL)柱狀架構構建,使用300 mm(12英寸)晶圓技術,采用90 nm銅工藝制造。Virtex4 FPGA的基本構造塊是其他Virtex系列器件的增強版本,這就使得現存的設計能夠向上兼容。其自帶的IPCore供用戶方便使用,加快設計研發的速度。
BlockRAM提供了18 kb的雙端口RAM,他還可以通過級聯實現更大的RAM。此外,VirtexTM—4 FPGA對BlockRAM的一個改進就是增加了可編程的FIFO邏輯,因此合路器和分路器的緩存器實現就盡可能簡單。
此外, Virtex4的LVDS的IPCore輕松實現速率為200 MHz的物理信道。LVDS是一種低擺幅的差分信號技術,他使得信號能在差分PCB線對或平衡電纜上以幾百Mb/s的速率傳輸。通過一個LVDS接口把并行數據轉換成串行數據,能把串行信號傳送更遠的距離(達到10 m),而典型的邏輯總線只能把信號傳送50 cm的距離。
如圖3所示,分路器位于上方,合路器位于下方,中間以雙絞線相連,傳送CADU,接口電平均為LVDS標準。
圖3 分路器和合路器
4 測試及驗證
合路器/分路器可以支持5路數據,其中1路支持150 Mb/s的高速率,其他4路支持小于50 Mb/s的任意速率(測試全部用50 Mb/s),插入數據采用150 Mb/s的速率。在合路速率為200 Mb/s的情況下(即物理信道速率為200 Mb/s)進行了驗證。由于合路器在合路的過程中,需要在鏈路控制器傳過來的VCDU前增加一些同步信號(如前所示)以形成實際物理信道傳送的CADU(信道存取數據單元),增加了一些額外的開銷,因此5路信號源輸入的平均速率之和應略小于合路速率200 Mb/s,以保證傳輸中無數據幀丟失。
用Tektronix TLA 5201邏輯分析儀捕捉到合路器和分路器所傳遞的數據流(見圖4,圖5)。
圖4 信道合路器向VC鏈路控制器傳送數據
圖4所示為信道合路器向VC鏈路控制器傳送數據,信號為req,ack,clk,vcdu;圖5所示為信道分路器向VC鏈路控制器傳送數據,信號依次為insert_data_req,insert_clk,insert_data(皆為插入數據相關),main_data_req,main_clk,main_data(主要數據相關)。
圖5 信道分路器向VC鏈路控制器傳送數據
由圖5可以看出,分路器接收到物理信道傳過來的CADU,判斷出同步頭后(同時,也解出VCID),首先將插入數據送入插入數據宿,然后再將后面的信號送到對應的信號宿。
測試結果表明:合路器/分路器可以較好地保持合路與分路能力,各虛擬信道數據保持流暢,無丟失現象。
5 結 語
本文介紹了合路器和分路器在空間實驗室AOS仿真演示和驗證中的重要作用,對虛擬信道進行帶有優先級的輪詢算法的動態調度和多路復用,提高了物理信道的利用率,使系統可以對5路不同信源和碼率的信號進行合路和分路,最后用FPGA電路實現了該系統。通過對系統數據傳輸的觀察,進行了功能驗證,進而對下一步設計(如實現更好的調度算法,提高物理信道的傳輸速率)打下了基礎。
參考文獻
[1]Advanced Orbiting Systems,Networks And Data Linds;Architectural Specification,CCSDS 701.0 — B— 2,Blue Book,Consultative Committee for Space Data Systems,Nove— mber 1992.
[2]Advanced Orbiting Systems,Networks And Data Linds;Architectural Specification,CCSDS 701.0 — B— 3,Blue Book,Consultative Committee for Space Data Systems,June,2000.
[3]顧瑩琦,譚維熾.CCSDS 下行鏈路虛擬信道調度方法及其性能分析[J].中國空間科學技術,2001,6(3):29—35.
[4]武文紅,李健,許春鳳.AOS 多路復用功能幾個關鍵問題的研究[J].微計算機信息,2006,10(3):102—104.
[5]Michael D Cilietti.Advanced Digital Design with Verilog HDL[M].北京:電子工業出版社,2004.
作者簡介 劉永剛 男,1982年出生,河北省沙河市人,華東師范大學電子系碩士研究生。主要研究FPGA在嵌入式系統中的應用。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。