張立輝++王紅春++劉智武++白楊
摘要:該文從AFDX端系統(tǒng)與測控系統(tǒng)之間高速串行數(shù)據(jù)傳輸?shù)男枨蟪霭l(fā),設(shè)計了一種基于AFDX的高速串行數(shù)據(jù)轉(zhuǎn)換接口,實現(xiàn)AFDX數(shù)據(jù)到測控系統(tǒng)自定義數(shù)據(jù)的轉(zhuǎn)換和傳輸。該設(shè)計利用FPGA內(nèi)部的緩沖區(qū)資源,生成高速接口邏輯單元,通過外部LVDS接口進行數(shù)據(jù)的傳輸,大大提高了AFDX端系統(tǒng)的可用性。通過仿真和測試,驗證了設(shè)計的有效性。
關(guān)鍵詞:FPGA;AFDX;高速串行數(shù)據(jù)傳輸;LVDS
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2015)11-0192-03
The Design and Implementation of one High Speed Serial Data Transfer Interface Based on AFDX
ZHANG Li-hui, WANG Hong-chun, LIU Zhi-wu, BAI Yang
(AVIC Aeronautical Computing Technique Research Institute, Xian 710065, China)
Abstract:This paper puts forward the requirement of high speed serial data transfer between AFDX and measurement & control system, designs one high speed serial data transfer interface based on AFDX. This design takes advantage of the buffer resources inside FPGA, generates the high speed interface logic units,transmits data through external LVDS interface,improves the usability of AFDX end system.The efficiency of this design is verified by emulation and test.
Key words:FPGA;AFDX;High speed serial data transfer;LVDS
隨著機載網(wǎng)絡(luò)的發(fā)展,多種型號飛機選用AFDX作為飛機航空電子系統(tǒng)的主干網(wǎng)絡(luò)。在民用以太網(wǎng)基礎(chǔ)上發(fā)展起來的AFDX,基于100Mbps開關(guān)以太網(wǎng),增加了帶寬分配和余度管理等策略保證網(wǎng)絡(luò)通信延遲的確定性和高可靠性,能夠滿足機載環(huán)境高速、分布、確定的通信要求。
AFDX端系統(tǒng)負責航空電子機載設(shè)備接入AFDX,并實現(xiàn)數(shù)據(jù)通信,互聯(lián)系統(tǒng)框圖如圖1所示。
圖1 AFDX端系統(tǒng)互聯(lián)系統(tǒng)框圖
本文基于測控系統(tǒng)AFDX端系統(tǒng),實現(xiàn)了一種高速串行數(shù)據(jù)轉(zhuǎn)換接口,并利用AFDX測試設(shè)備對設(shè)計進行仿真和測試驗證,結(jié)果表明本文的高速串行數(shù)據(jù)轉(zhuǎn)換接口能夠很好地支持AFDX與測控系統(tǒng)串行同步接口數(shù)據(jù)轉(zhuǎn)換和通信。
1 高速串行數(shù)據(jù)轉(zhuǎn)換接口設(shè)計分析
測控系統(tǒng)AFDX端系統(tǒng)負責實現(xiàn)連接任務(wù)載荷管理計算機中AFDX交換機和測控系統(tǒng)管理計算機主處理器模塊,實現(xiàn)兩者互聯(lián)和數(shù)據(jù)轉(zhuǎn)換,測控系統(tǒng)采用串行同步接口,AFDX數(shù)據(jù)格式和同步接口數(shù)據(jù)發(fā)送時序如圖2所示。
、
圖2 串行同步接口數(shù)據(jù)發(fā)送時序
根據(jù)用戶的使用要求,測控系統(tǒng)AFDX端系統(tǒng)需要實現(xiàn)接口:余度網(wǎng)絡(luò)接口、高速串行同步接口,高速串行同步接口與測控系統(tǒng)連接,將余度網(wǎng)絡(luò)中接收到的數(shù)據(jù)通過高速接口傳給測控系統(tǒng)。余度網(wǎng)絡(luò)接口分別連接到兩個高速數(shù)據(jù)通信網(wǎng)絡(luò)交換機,接收任務(wù)載荷管理計算機發(fā)送出來的數(shù)據(jù)幀,收發(fā)數(shù)據(jù)格式滿足圖2中的數(shù)據(jù)幀格式。AFDX與測控系統(tǒng)串行同步接口數(shù)據(jù)轉(zhuǎn)換使用FPGA邏輯實現(xiàn)。
測控系統(tǒng)AFDX端系統(tǒng)功能框圖見圖3。
圖3 AFDX端系統(tǒng)功能框圖
2 接口電路設(shè)計
LVDS信號電平主要用于低壓差分信號點到點的傳輸,在本設(shè)計中需要2路LVDS信號傳輸并行數(shù)據(jù)。接口電路設(shè)計的主要工作為電平匹配設(shè)計、阻抗配置和信號等長[1]。
LVDS傳輸?shù)男盘枖[幅小,功耗低,一般差分線上電流不超過4mA,負載阻抗為100
LVDS鏈路匹配設(shè)計如圖4所示。
圖4 LVDS接口鏈路匹配
為了保證多路LVDS的信號同步,需要對同一組信號線進行等長設(shè)計[2]。同時由于LVDS信號設(shè)計速率大于500Mbps,出于信號完整性的考慮,印制板布線時,需要對信號線進行嚴格的阻抗控制,使信號線差分阻抗保證在100ohm±10%,阻抗計算公式如下所示。
[ZDiff≈2ZO1-0.374e-2.9s2h+1Ohms] (1)
3 收發(fā)單元設(shè)計
3.1 發(fā)送單元設(shè)計
高速串行轉(zhuǎn)換接口邏輯單元按照用戶的通信協(xié)議,將接收到的幀數(shù)據(jù)發(fā)送出去。
高速串行轉(zhuǎn)換接口邏輯根據(jù)緩沖區(qū)中已有數(shù)據(jù)的多少,向測控系統(tǒng)報是否準備好。當測控系統(tǒng)準備好時發(fā)起一次傳輸,高速串行轉(zhuǎn)換接口邏輯按照測控系統(tǒng)輸出的時鐘從緩沖區(qū)取出數(shù)據(jù)并發(fā)送出去。高速串行轉(zhuǎn)換接口邏輯采用狀態(tài)機實現(xiàn),工作過程如圖5所示。
復(fù)位后狀態(tài)機處于IDLE狀態(tài),此時,判斷緩沖區(qū)中已有數(shù)據(jù)是否不小于235字節(jié),如果是則置發(fā)送數(shù)據(jù)準備好NDSR為1,否則置為0。如果NDSR為1,且測控系統(tǒng)準備好NDTR也為1則發(fā)起一次測控幀傳輸,開始從緩沖區(qū)取數(shù)據(jù),狀態(tài)機進入S1狀態(tài)。
圖5 高速串行數(shù)據(jù)轉(zhuǎn)換接口邏輯狀態(tài)機示意圖
在S1狀態(tài)下,將數(shù)據(jù)字節(jié)的D7位發(fā)送出去,狀態(tài)機進入S2狀態(tài)。
在S2狀態(tài)下,將數(shù)據(jù)字節(jié)的D6位發(fā)送出去,狀態(tài)機進入S3狀態(tài)。
在S3狀態(tài)下,將數(shù)據(jù)字節(jié)的D5位發(fā)送出去,狀態(tài)機進入S4狀態(tài)。
在S4狀態(tài)下,將數(shù)據(jù)字節(jié)的D4位發(fā)送出去,狀態(tài)機進入S5狀態(tài)。
在S5狀態(tài)下,將數(shù)據(jù)字節(jié)的D3位發(fā)送出去,狀態(tài)機進入S6狀態(tài)。
在S6狀態(tài)下,將數(shù)據(jù)字節(jié)的D2位發(fā)送出去,狀態(tài)機進入S7狀態(tài)。
在S7狀態(tài)下,將數(shù)據(jù)字節(jié)的D1位發(fā)送出去,狀態(tài)機進入S8狀態(tài)。
在S8狀態(tài)下,將數(shù)據(jù)字節(jié)的D0位發(fā)送出去。判斷當前發(fā)送出去字節(jié)數(shù)目,如果未完成一次測控幀發(fā)送則繼續(xù)從緩沖區(qū)取數(shù)據(jù),狀態(tài)機進入S1狀態(tài),如果已經(jīng)完成一次測控幀發(fā)送,則進入IDLE狀態(tài),等待下次發(fā)送。
3.2 接收單元設(shè)計
接收單元從余度網(wǎng)絡(luò)控制單元獲取接收到的幀數(shù)據(jù),并提取出UDP payload,寫入數(shù)據(jù)緩沖區(qū)。
接收單元查詢余度網(wǎng)絡(luò)控制單元標記FIFO的狀態(tài),一旦發(fā)現(xiàn)不為空,表明已經(jīng)接收到任務(wù)載荷管理計算機發(fā)出的幀。然后讀FIFO數(shù)據(jù),并從中計算幀在接收緩沖DPRAM中保存的起始位置和幀長度。再計算出幀的UDP payload保存的起始位置和長度,然后從接收緩沖DPRAM中取出UDP payload并按照字節(jié)的方式寫入數(shù)據(jù)緩沖區(qū)。接收單元采用狀態(tài)機實現(xiàn)。
接收單元采用狀態(tài)機實現(xiàn),如圖6所示。
圖6 寫緩沖區(qū)控制單元狀態(tài)機示意圖
接收單元復(fù)位后處于IDLE狀態(tài)。
在IDLE狀態(tài)下,判斷標記FIFO是否為空,如果不為空則進入S1狀態(tài);
在S1狀態(tài)下,取標記FIFO數(shù)據(jù),解析幀在接收緩沖DPRAM中保存的起始位置和幀長度,并計算UDP payload長度;
在S2狀態(tài)下,計算幀UDP payload在接收緩沖DPRAM中保存的起始位置。判斷UDP payload長度是否大于緩沖區(qū)剩余空間。如果大于則進入IDLE狀態(tài),否則進入S3狀態(tài);
在S3狀態(tài)下,給出標記FIFO讀信號(FIFO采用預(yù)取模式,先取數(shù)據(jù)再給出讀信號)。進入S4狀態(tài);
在S4狀態(tài)下,從接收緩沖DPRAM中取UDP payload,并將取出的數(shù)據(jù)寫入緩沖區(qū)單元,直到UDP payload完全寫入緩沖區(qū)單元。進入IDLE狀態(tài)。
由于接收緩沖DPRAM寬度為32位,因此需要按照8位的方式分4次寫入數(shù)據(jù)緩沖區(qū)。
數(shù)據(jù)緩沖區(qū)使用片內(nèi)RAM資源實現(xiàn)一個8位寬度的FIFO,深度32768,大小32KB,即256Kb。
數(shù)據(jù)緩沖區(qū)使用非同步的雙時鐘設(shè)計,寫時鐘為余度網(wǎng)絡(luò)控制的時鐘,讀時鐘為高速接口邏輯的時鐘。
數(shù)據(jù)緩沖區(qū)提供已使用單元計數(shù)功能,標記當前FIFO已使用的FIFO單元數(shù)目。
接收操作根據(jù)已使用單元計數(shù)值判斷緩沖區(qū)是否可以放入MAC接收緩沖區(qū)中保存的下一個幀的payload。當數(shù)據(jù)緩沖區(qū)可以放入時,接收單元從接收緩沖DPRAM中取出這個幀的payload并寫入數(shù)據(jù)緩沖區(qū)。當數(shù)據(jù)緩沖區(qū)不足以放入時,接收單元會認為數(shù)據(jù)緩沖區(qū)將滿,不會再取數(shù)據(jù),直到數(shù)據(jù)緩沖區(qū)再有足夠空間。數(shù)據(jù)緩沖區(qū)將滿時,如果接收緩沖DPRAM也滿則新收到的幀被丟棄。
高速接口邏輯根據(jù)已使用單元計數(shù)值判斷數(shù)據(jù)緩沖區(qū)中是否有足夠的數(shù)據(jù)準備好發(fā)送給測控系統(tǒng)。當已使用單元計數(shù)值不小于235字節(jié)時,表明數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)可以發(fā)起一次傳輸。
4 仿真與驗證
高速串行數(shù)據(jù)轉(zhuǎn)換接口設(shè)計完成后,采用Modelsim6.5d進行仿真驗證,仿真結(jié)果如下圖7所示。
圖7 高速串行數(shù)據(jù)轉(zhuǎn)換接口設(shè)計仿真
由上圖可看出,幀傳輸過程中NDSR和NDTR持續(xù)有效,幀傳輸結(jié)束后再根據(jù)緩沖字節(jié)數(shù)目報NDSR有效或無效。AFDX端系統(tǒng)發(fā)出NDSR有效后,在發(fā)送第1位數(shù)據(jù)的時鐘上升沿信號由“0”變成“1”;在最后一位數(shù)據(jù)的下一個時鐘上升沿,信號由“1”變成“0”。AFDX端系統(tǒng)輸出數(shù)據(jù)高位先出,以字節(jié)為單位。仿真結(jié)果表明設(shè)計滿足發(fā)送時序要求。
完成仿真后,將接口邏輯加入完整FPGA邏輯進行系統(tǒng)測試,實際測試結(jié)果表明:基于AFDX的高速串行數(shù)據(jù)轉(zhuǎn)換接口設(shè)計功能正確,傳輸速率達到了設(shè)計要求。
5 結(jié)束語
本文設(shè)計實現(xiàn)了一種基于AFDX的高速串行數(shù)據(jù)轉(zhuǎn)換接口,通過邏輯實現(xiàn)AFDX數(shù)據(jù)幀到高速串行數(shù)據(jù)的轉(zhuǎn)換和傳輸,并通過外部LVDS接口實現(xiàn)AFDX端系統(tǒng)與測控系統(tǒng)之間的數(shù)據(jù)通信,在工程上取得了良好的應(yīng)用。
參考文獻:
[1] 羅乃冬. 基于LVDS技術(shù)的傳輸接口設(shè)計[ J]. 聲學(xué)與電子工程, 2008(1): 53.
[2] 魏雪松. PECL 標準光收發(fā)器接口及應(yīng)用[J]. 電子產(chǎn)品世界, 2000(4): 132.