韓一鵬,田 澤,牛少平
(1.中國航空計算技術(shù)研究所,陜西 西安 710068;2.集成電路與微系統(tǒng)設(shè)計航空科技重點試驗室,陜西 西安 710068)
一種SAE AS5643三節(jié)點仿真設(shè)備設(shè)計與實現(xiàn)
韓一鵬1,2,田 澤1,2,牛少平1,2
(1.中國航空計算技術(shù)研究所,陜西 西安 710068;2.集成電路與微系統(tǒng)設(shè)計航空科技重點試驗室,陜西 西安 710068)
為滿足新一代航空系統(tǒng)對數(shù)據(jù)傳輸?shù)膶崟r性、穩(wěn)定性的要求,對標準的IEEE-1394B總線協(xié)議加以限定,形成了SAE AS5643。三節(jié)點仿真卡是用于地面上模擬1394總線功能的設(shè)備,包含3個可配置的節(jié)點,可配置成根節(jié)點或者遠程節(jié)點連入系統(tǒng)總線,完成SAE AS5643通信協(xié)議的處理并且可以數(shù)據(jù)監(jiān)控。文中闡述了基于FPGA的三節(jié)點仿真卡設(shè)計實現(xiàn),所有模塊用Verilog代碼實現(xiàn),并結(jié)合Xilinx ISE開發(fā)環(huán)境和QustaSim仿真工具對其進行了時序仿真,并通過FPGA驗證了正確性。文中所闡述的設(shè)計均已實現(xiàn),F(xiàn)PGA綜合報告已經(jīng)滿足,虛擬仿真與FPGA測試已經(jīng)開展,基本功能已經(jīng)達到設(shè)計目的。該設(shè)計實現(xiàn)了三節(jié)點仿真卡,具有多通道同步,節(jié)點可配置,數(shù)據(jù)收發(fā)、數(shù)據(jù)監(jiān)控、故障注入、心跳字初始值步長值設(shè)置,VPC與CRC自檢測等功能。
AS5643;FPGA;機載總線;仿真卡
IEEE1394最初由蘋果公司提出,其目的是簡化計算機連接,并為數(shù)字數(shù)據(jù)實時傳輸提供高速接口。1995年,IEEE給出了IEEE1394的規(guī)范定義,后來對其進一步完善,形成了IEEE-1394B。其目的是傳輸多媒體實時數(shù)據(jù)時,提高帶寬、傳輸速度并且大幅度增加傳輸距離。IEEE-1394B不能滿足應用中對網(wǎng)絡確定性的需求,同期SAE為解決1394總線在航空電子系統(tǒng)中對數(shù)據(jù)帶寬、確定性的要求,形成了新的SAE AS5643。
國外最成功的應用是1394總線已經(jīng)在F-35戰(zhàn)斗機中成功代替了1553B軍事標準總線。1394總線減少了戰(zhàn)斗機上的線束質(zhì)量,這不僅增加了戰(zhàn)斗機上各節(jié)點間數(shù)據(jù)傳輸?shù)木嚯x,還在降低了費用的同時增加了可靠性。國內(nèi)也有部分廠家生產(chǎn)開發(fā)1394b總線的接口卡。為了仿真航空系統(tǒng)中1394總線系統(tǒng)的可靠性,需要設(shè)計一款地面虛擬仿真設(shè)備。
文中主要根據(jù)SAE AS5643協(xié)議內(nèi)容,從系統(tǒng)結(jié)構(gòu)、功能描述等方面詳細介紹了三節(jié)點仿真卡的設(shè)計與實現(xiàn),對將來的1394總線開發(fā)有一定參考價值。
該設(shè)計是在PC機環(huán)境下,配置3條各自獨立的系統(tǒng)總線接口,各總線擁有獨立軟硬件接口資源,每條總線還包含3個獨立的端口,支持100 Mbps、200 Mbps、400 Mbps三種傳輸速率[1-2],端口間采取變壓器耦合方式隔離。其系統(tǒng)架構(gòu)框圖如圖1所示。
圖1 三節(jié)點仿真卡邏輯系統(tǒng)架構(gòu)框圖
其中驅(qū)動軟件層主要是完成主機應用軟件對下層操作的調(diào)度功能。
鏈路層和物理層在三節(jié)點仿真卡上主要使用TI公司芯片實現(xiàn),主要完成標準1394鏈路層[3]和物理層功能[4]。
該設(shè)計的主要部分為事務層邏輯功能,主要利用Xilinx的FPGA實現(xiàn)。
三節(jié)點仿真卡FPGA邏輯可實現(xiàn)《SAE AS5643-002》[5-6]中規(guī)定的數(shù)據(jù)傳輸、網(wǎng)絡同步、總線狀態(tài)轉(zhuǎn)換及控制、錯誤注入和電源管理等功能[7]。
具體描述如下:
(1)需要支持S100B、S200B、S400B傳輸速率模式的配置能力;
(2)支持上電自動加載總線配置表、自檢測(BIT),及LLC和PHY芯片初始化;
(3)支持異步流數(shù)據(jù)包傳輸方式;
(4)支持幀周期開始包STOF實現(xiàn)網(wǎng)絡同步,幀周期可配置;
(5)支持節(jié)點數(shù)據(jù)帶寬預分配功能,發(fā)送、接收和預測與健康管理包偏移可配置,單位1 μs;
(6)支持根節(jié)點、遠程節(jié)點的切換;
(7)支持異步流數(shù)據(jù)包的VPC校驗字自動插入和校驗;
(8)支持基于消息接收時間、消息長度、VPC和CRC的消息完整性檢查;
(9)支持每條消息VPC和CRC錯誤注入功能;
(10)支持物理層芯片電源管理功能。
三節(jié)點仿真卡FPGA邏輯包含了PCIE主機接口及DMA、配置表、AS5643協(xié)議處理等模塊[8]。
PC主機可通過PCIE總線橋接口邏輯,填寫配置表內(nèi)容,DMA把將要發(fā)送的數(shù)據(jù)包存入數(shù)據(jù)DPRAM中,并從數(shù)據(jù)DPRAM中把保存的接收數(shù)據(jù)包讀出。AS5643邏輯塊實現(xiàn)數(shù)據(jù)包的收發(fā)操作功能,并控制LLC芯片和PHY芯片。配置DPRAM用于存儲配置表。
3.1 數(shù)據(jù)緩沖區(qū)DPRAM
該模塊主要實現(xiàn)發(fā)送接收消息的數(shù)據(jù)的存儲。對于發(fā)送,PCI將數(shù)據(jù)通過DMA寫入該模塊,數(shù)據(jù)在該模塊中緩沖,再由AS5643協(xié)議模塊取出打包發(fā)送;對于接收,接收到的數(shù)據(jù)存入該模塊,再由DMA取出。
該模塊分為0區(qū)和1區(qū)兩部分,每個發(fā)送或接收緩沖區(qū)大小為128 kByte,其中低64 kByte用作緩沖區(qū)0,高64 kByte用作緩沖區(qū)1。每條發(fā)送或接收消息占用固定的2 kByte大小。
發(fā)送時,由上層軟件決定消息存儲在緩沖區(qū)0或者緩沖區(qū)1;接收時,上層軟件按照DMA接收消息緩沖區(qū)0區(qū)更新標志寄存器,DMA接收消息緩沖區(qū)1區(qū)更新標志寄存器的內(nèi)容來確定消息存儲在0區(qū)還是1區(qū)。
3.2 全局控制模塊
該模塊主要實現(xiàn)了三個節(jié)點發(fā)送STOF消息、發(fā)送接收異步流消息以及中斷信號的整體控制。AS5643協(xié)議處理模塊對其只讀,主機對其可進行讀寫操作。該模塊主要由全局寄存器組成,包括中斷狀態(tài)、使能、清零寄存器,STOF消息發(fā)送控制寄存器,軟復位寄存器。
3.3 主機接口模塊
PCIe模塊[9]的功能是完成從PCIe串行鏈路到用戶端邏輯之間的PCIe協(xié)議轉(zhuǎn)換和數(shù)據(jù)高速傳輸。該模塊是由PCIe協(xié)議處理部分(以下簡稱PCIe核)和專用DMA部分(以下簡稱DMA核)組成。
PCIe PHY和PCIe核符合PCI Express v2.0協(xié)議[10],并兼容PCI Express v1.1協(xié)議,實現(xiàn)了協(xié)議規(guī)定的事務層、鏈路層、物理層的功能,支持端點操作。PCIe PHY和PCIe核為用戶提供底層PCIe的綜合狀態(tài)信息[11]。
DMA[12]核支持最多2個主機到本地(S2C)及2個本地到主機(C2S)DMA通道,支持用戶端直接控制。
PCIe模塊對外接口是由管理接口、消息接口、配置寄存器接口、Target接口、寄存器接口、DMA數(shù)據(jù)接口、DMA直接控制接口和主接口等組成。PCIe核事務層上的VC0_TX、VC0_RX接口分別與DMA核發(fā)送接收仲裁上的PCIe_TX、PCIe_RX接口相連,用于兩部分之間數(shù)據(jù)的傳輸。
3.4 AS5643協(xié)議處理模塊
該模塊主要實現(xiàn)AS5643協(xié)議處理功能[13-14],主要功能模塊包括:寄存器調(diào)度模塊、鏈路層芯片接口控制模塊及數(shù)據(jù)搬運模塊。
AS5643接口實現(xiàn)了主機和鏈路層接口芯片之間的通信,滿足基于IEEE-1394B的用法和需求建立的航空領(lǐng)域網(wǎng)絡傳輸數(shù)據(jù)總線標準SAE AS5643。FPGA邏輯并配合軟件實現(xiàn)了AS5643總線網(wǎng)絡協(xié)議定義的異步流包,固定幀速率,STOF包同步,帶寬預分配,縱向奇偶校驗VPC,匿名簽署消息,通道號的靜態(tài)分配等功能。邏輯的基本框圖如圖2所示。
圖2 AS5643邏輯框圖
寄存器主要實現(xiàn)用戶需求所要求的寄存器的功能及主機控制寄存器。
該模塊完成數(shù)據(jù)包發(fā)送控制(以DM接口為控制接口),數(shù)據(jù)包接收控制(以FIFO接口為控制接口),對鏈路層和物理層芯片的初始化控制,網(wǎng)絡拓撲信息的讀取(總線復位后的自標識包),主機命令的執(zhí)行和控制,以及接收VPC的檢查等功能。
3.5 數(shù)據(jù)搬運模塊
數(shù)據(jù)搬運模塊主要根據(jù)寄存器控制模塊發(fā)來的啟動信號和寄存器完成STOF包和異步流包數(shù)據(jù)發(fā)送的自動搬運,打包及DPRAM和發(fā)送數(shù)據(jù)包VPC的計算,并將打包計算好的數(shù)據(jù)填入FIFO中,以供DM模塊發(fā)送;同時將發(fā)送數(shù)據(jù)回環(huán)寫入DPRAM,以供對發(fā)送數(shù)據(jù)的實時監(jiān)控,實現(xiàn)BM功能。
文中根據(jù)1394協(xié)議與AS5643協(xié)議要求,首先給出了三節(jié)點仿真卡的整體設(shè)計,對三節(jié)點仿真卡的各模塊詳細設(shè)計進行了闡述。該仿真卡能夠?qū)崿F(xiàn)協(xié)議要求,實現(xiàn)數(shù)據(jù)收發(fā)、故障注入、消息完整性檢測等功能,從而通過地面設(shè)備虛擬仿真機載總線的可靠性。將來可以在協(xié)議基礎(chǔ)上進一步提升數(shù)據(jù)傳輸帶寬、確定性、實時性等性能,下一方案可逐步支持S800的速率要求。
[1] IEEE1394B-2002,IEEE standard for a high performance serial bus[S].[s.l.]:IEEE,2002.
[2] IEEE Std1394B,IEEE standard for a high-performance serial bus-amendment 2[S].[s.l.]:IEEE,2002.
[3] Li Shiping,Dai Fan,Wang Xudong.The principle and application technology of IEEE-1394 (Fire wire) system[M].Xi’an:Xidian University Press,2004.
[4] Anderson D.Fire Wire系統(tǒng)體系[M].第2版.北京:中國電力出版社,2001.
[5] Wolfram K D,Bloom H J.New radiation-hard high-speed serial data bus for satellite onboard communication[C]//Proceedings of IEEE international conference on geoscience and remote sensing symposium.[s.l.]:IEEE,2004.
[6] SAE AS5643/1 S400 copper mediainterface characteristics over extended distances[S].[s.l.]:IEEE,2004.
[7] SAE-AS5643,IEEE-1394 Binterface requirements for military and aerospace vehicle applications SAE aerospace standard 5643[S].[s.l.]:IEEE,2006.
[8] 常曉明.VerilogHDL實踐與應用系統(tǒng)設(shè)計[M].北京:北京航空航天大學出版社,2003:11-21.
[9] 李 攀,田 澤,蔡葉芳,等.基于SOPC的PCI通信接口設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2009,19(9):211-214.
[10] 廖寅龍,田 澤.FC網(wǎng)絡通信中PCIe的接口的設(shè)計與實現(xiàn)[J].航空計算技術(shù),2010,40(4):127-130.
[11] 馬鳴錦,朱劍冰,何紅旗,等.PCI,PCI-X和PCI Express的原理及體系結(jié)構(gòu)[M].北京:清華大學出版社,2007.
[12] 單天昌,陸 達.基于FPGA的PCI接口DMA傳輸?shù)脑O(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2010,20(4):215-219.
[13] 詹 鵬.航空高速總線協(xié)議AS5643的FPGA實現(xiàn)[J].電訊技術(shù),2013(8):1052-1057.
[14] 趙 彬,田 澤,楊 峰,等.基于AS5643協(xié)議的接口模塊設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2013,23(8):100-102.
Design and Implementation of a SAE AS5643 3 Ports Simulation Equipment
HAN Yi-peng1,2,TIAN Ze1,2,NIU Shao-ping1,2
(1.Aeronautics Computing Technique Research Institute,Xi’an 710068,China;2.Aeronautics Science and Technology Key Laboratory of Integrate Circuit and Micro-system Design,Xi’an 710068,China)
With the rapid development of aviation system,accuracy and instantaneity of data transmission are increasingly significant.To address the requirement of new generation aviation system,standard IEEE-1394B bus protocol should be restricted.Thus SAE AS5643 is developed.To simulate the reliability of 1394 bus system in aviation system,a series of ground virtual simulation devices including 3 ports simulation_card are designed.The 3 ports card is a visual simulator to simulate the node function of 1394 buses on the ground.It contains three nodes.In the system 3 ports simulation_card can be linked to system bus through the root node or the remote node,thus achieving AS5643 communication protocol processing and information interaction between peripheral and host system.To test the accuracy of FPGA,the timing simulation of CC simulation card is performed through Xilinx ISE development environment and QustaSim simulator.The design of FPGA is achieved.Designs contains three nodes with the function of data sending or receiving,faults injection,self-setting of heart,self-test of VPC and CRC and so on.
AS5643;FPGA;airborne data bus;simulation_card
2015-06-12
2015-09-18
時間:2016-03-04
中國航空工業(yè)集團公司創(chuàng)新基金(2010BD63111)
韓一鵬(1989-),男,助理工程師,研究方向為集成電路設(shè)計與驗證;田 澤,博士,研究員,中航首席技術(shù)專家,研究方向為SoC設(shè)計方法學、嵌入式系統(tǒng)設(shè)計、航空專用集成電路設(shè)計等。
http://www.cnki.net/kcms/detail/61.1450.TP.20160304.1508.004.html
TP39
A
1673-629X(2016)03-0202-03
10.3969/j.issn.1673-629X.2016.03.047