張洪亮
(中國西南電子技術(shù)研究所,成都 610036)
基于FPGA的BLVDS總線設(shè)計
張洪亮
(中國西南電子技術(shù)研究所,成都 610036)
針對現(xiàn)有的航空總線系統(tǒng)結(jié)構(gòu)復(fù)雜、傳輸速率低、電磁兼容性差等問題,提出了一種基于FPGA的總線型低壓差分信號(BLVDS)總線解決方案。介紹了BLVDS的總線結(jié)構(gòu),對BLVDS的通信方式和基于FPGA使用硬件描述語言實現(xiàn)BLVDS總線通信的方法進行了深入研究。同時,分析了信號傳輸質(zhì)量,在工程中驗證了其高速率和高可靠的總線傳輸特性,為新一代航空高速總線系統(tǒng)提供了參考。
航空總線;數(shù)據(jù)傳輸;總線型低壓差分信號;硬件描述語言
機載數(shù)據(jù)總線技術(shù)是現(xiàn)代先進飛機電傳操作系統(tǒng)和航空綜合化最重要的關(guān)鍵技術(shù)之一。航空電子系統(tǒng)的發(fā)展對機載數(shù)據(jù)總線不斷提出新的要求[1]。采用新一代的高速率、低功耗、電磁兼容性的總線技術(shù)成為新的發(fā)展方向。
總線型低壓差分信號(BLVDS)是一種新型總線接口電路,適合于多點電纜或背板應(yīng)用。BLVDS可以為系統(tǒng)提供理論最高800Mbit/s的傳輸速率,并具有功耗低、電磁兼容性好等特點。受1553B總線的傳輸方式啟發(fā),筆者基于FPGA,采用硬件描述語言(HDL)實現(xiàn)了250Mbit/s的BLVDS的FPGA邏輯設(shè)計。
BLVDS總線通信系統(tǒng)由背板和通信子板組成。背板有8個插槽,可以插入8個子卡,并布有BLVDS總線、備份總線和匹配電阻。通信子板包含3種類型:主控節(jié)點、總線監(jiān)視器、通信終端。其中,主控節(jié)點向通信終端發(fā)送指令字、數(shù)據(jù)字;總線監(jiān)視器接收總線上傳輸?shù)乃袛?shù)據(jù)作為分析使用;通信終端接收主控節(jié)點發(fā)送過來的指令和數(shù)據(jù),并可以回復(fù)相應(yīng)的狀態(tài)和數(shù)據(jù)。
通信系統(tǒng)結(jié)構(gòu)如圖1示。
圖1 BLVDS總線結(jié)構(gòu)Fig.1 The system diagram of BLVDS
BLVDS為一主多從的多點總線??偩€的主節(jié)點稱為主控節(jié)點,從節(jié)點稱為終端節(jié)點。
總線上所有節(jié)點都有一個唯一的總線地址,用于各個節(jié)點的識別。當(dāng)主控節(jié)點需要向某一終端節(jié)點發(fā)送數(shù)據(jù)時,主控節(jié)點應(yīng)先向終端節(jié)點發(fā)送接收指令,終端節(jié)點在接收到數(shù)據(jù)1 ms內(nèi)向主控節(jié)點回復(fù)狀態(tài)字,并將接收到的信息上報應(yīng)用層。
當(dāng)終端節(jié)點需要發(fā)送數(shù)據(jù)給主控節(jié)點時,終端節(jié)點的應(yīng)用層將要發(fā)送的數(shù)據(jù)寫入緩存等待發(fā)送,主控節(jié)點每10 ms都會向總線上各個終端節(jié)點發(fā)起查詢指令,當(dāng)查詢到要發(fā)送數(shù)據(jù)的終端節(jié)點時,終端節(jié)點向主控節(jié)點在1 ms內(nèi)回復(fù)狀態(tài)信息和需要發(fā)送的數(shù)據(jù)。系統(tǒng)通信流程[2]如圖2示。
圖2 系統(tǒng)通信方式Fig.2 The communication of system
BLVDS總線上每一次消息的發(fā)送或查詢只能由主控節(jié)點發(fā)起,任何終端節(jié)點都無權(quán)主動向總線上發(fā)送數(shù)據(jù)。當(dāng)主控節(jié)點向某個終端節(jié)點發(fā)送詢問消息后,終端節(jié)點應(yīng)在1 ms之內(nèi)作出響應(yīng),向總線發(fā)送狀態(tài)信息。主控節(jié)點若在1 ms內(nèi)沒有在總線上探測到該終端節(jié)點發(fā)出應(yīng)答消息,則認(rèn)為該終端節(jié)點響應(yīng)超時。主控節(jié)點判定終端節(jié)點響應(yīng)超時后,則重復(fù)向該終端節(jié)點發(fā)送詢問消息,若重復(fù)3次發(fā)送仍未收到該終端節(jié)點的應(yīng)答消息,則認(rèn)為該節(jié)點為故障節(jié)點,并向應(yīng)用層報告。
該設(shè)計使用了硬件設(shè)計語言在FPGA內(nèi)部實現(xiàn),包含終端節(jié)點、主控節(jié)點和總線監(jiān)視器各項功能,CPU可以根據(jù)需要對FPGA內(nèi)部的寄存器(雙口內(nèi)部特定地址)進行配置從而獲得不同的功能。在CPU需要發(fā)送總線數(shù)據(jù)時,只需要將準(zhǔn)備好的數(shù)據(jù)寫入相應(yīng)地址的雙口RAM內(nèi)部,然后再向FPGA發(fā)送一個發(fā)送標(biāo)志位,FPGA將自行將所有數(shù)據(jù)向BLVDS總線發(fā)送數(shù)據(jù);在CPU需要接收數(shù)據(jù)時,FPGA先將接收好的數(shù)據(jù)進行解析,然后存入相應(yīng)的雙口RAM內(nèi),并向CPU發(fā)出中斷,通知其來讀取數(shù)據(jù)[3]。
BLVDS總線通信系統(tǒng)的發(fā)送/接收方式已經(jīng)在1.2節(jié)中介紹,這里不再重復(fù)。圖3為指令字(包含查詢指令)、數(shù)據(jù)字、狀態(tài)字的格式定義。圖中,同步頭表示該幀數(shù)據(jù)的類型;數(shù)據(jù)個數(shù)表示該幀數(shù)據(jù)所包含的數(shù)據(jù)字個數(shù);源地址表示發(fā)送該消息的節(jié)點地址;目的地址表示接收該消息的節(jié)點地址;P為奇偶校驗位。
圖3 消息格式定義Fig.3 The frame of message
2.2.1 接收FPGA邏輯設(shè)計
外部時鐘進入FPGA后,首先使用DCM進行鎖相、倍頻后生采樣時鐘。整個邏輯將使用這個采樣時鐘進行邏輯處理。當(dāng)外部BLVDS信號(Sy-lock、Sy-data、Sy-rclk)進入FPGA后,首先幀同步器使用采樣時鐘對這些信號進行采樣處理。采樣處理完成后,同步信號判決器對同步信號Sy-lock進行判別,若該信號有效,則證明數(shù)據(jù)處于有效狀態(tài),可以對數(shù)據(jù)進行采樣。數(shù)據(jù)鎖存器是將兩個10 bit數(shù)據(jù)進行合并和鎖存,然后供源地址鎖存器、目的地址鎖存器、數(shù)據(jù)長度鎖存器以及雙口RAM等所有內(nèi)部邏輯使用。源地址鎖存器和目的地址鎖存器的作用是將接收到的源地址和目的地址進行鎖存,并與CPU寫入寄存器的地址進行比對。在接收數(shù)據(jù)的同時,Byte計數(shù)器也對接收到的字節(jié)計數(shù),奇偶校驗器也進行同步校驗,接收到的數(shù)據(jù)也被同步寫入雙口RAM中。當(dāng)Byte計數(shù)器的計數(shù)值與數(shù)據(jù)長度鎖存器長度相等時,進入幀判別器,幀判別成功的標(biāo)志為目的地址與當(dāng)前模塊地址相同、校驗正確并符合本協(xié)議通信過程后,方可發(fā)送判別成功標(biāo)志。中斷處理器檢測到判別成功后,向CPU發(fā)送接收中斷,此時CPU可以從雙口RAM中讀取數(shù)據(jù)。圖4為接收邏輯框圖。
圖4 接收邏輯框圖Fig.4 The diagram for receiving logic
2.2.2 發(fā)送FPGA邏輯設(shè)計
當(dāng)FPGA接收到來自CPU的發(fā)送標(biāo)志位后,標(biāo)志位處理器開始對標(biāo)志位同步處理,并將處理好的標(biāo)志位送至幀判別器。與此同時,地址累加器開始累加,FPGA開始自動讀取雙口RAM內(nèi)的數(shù)據(jù)。數(shù)據(jù)鎖存器將數(shù)據(jù)鎖存,并將需要解析部分的數(shù)據(jù)送至源地址鎖存器、目的地址鎖存器和數(shù)據(jù)長度鎖存器。源地址鎖存器和目的地址鎖存器作用是將鎖存到的地址與CPU寫入寄存器的地址進行比對,并將比對的結(jié)果送入幀判別器。10 bit數(shù)據(jù)轉(zhuǎn)換器作用是將鎖存的數(shù)據(jù)進行10 bit轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)據(jù)送至BLVDS發(fā)送芯片。幀判別器的作用是在接收到標(biāo)志位、并在目的地址和源地址符合要發(fā)送的要求時,啟動同步信號發(fā)生器。同步信號發(fā)生器將產(chǎn)生同步信號,并使用25 MHz時鐘將同步信號與10 bit數(shù)據(jù)進行同步。圖5為發(fā)送邏輯時序圖。
圖5 發(fā)送邏輯時序圖Fig.5 The diagram for transmission logic
為了驗證設(shè)計的正確性和性能指標(biāo),搭建了如圖1所示總線測試平臺[4],使用Ti公司型號為TMS320F2812的DSP作為CPU進行功能驗證、傳輸測試、工程驗證。
使用DSP作為主控節(jié)點和終端節(jié)點的CPU進行功能驗證。驗證流程為:DSP完成設(shè)置寄存器后,在主控節(jié)點DSP將需要發(fā)送的數(shù)據(jù)寫入FPGA,并給FPGA一個發(fā)送標(biāo)志位,FPGA發(fā)送邏輯自動發(fā)送數(shù)據(jù)。在經(jīng)過背板傳輸后,終端節(jié)點的FPGA接收數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送至通信終端的DSP,DSP將接收到的數(shù)據(jù)進行打印。在此過程,使用Chipscope軟件采集到了主控節(jié)點發(fā)送邏輯和接收邏輯的時序圖,如圖6所示。圖中tx-count為發(fā)送數(shù)據(jù)字節(jié)計數(shù)器,PRIULBUS1-SYNC為發(fā)送同步信號,PRIULBUS1-TDATA為發(fā)送的數(shù)據(jù),PRIDLBUS1-LOCK-buf為接收同步信號,PRIDLBUS1-RDATABUF為接收數(shù)據(jù)。驗證結(jié)論:發(fā)送的數(shù)據(jù)可以通過總線傳輸后正確接收。
圖6 主控節(jié)點發(fā)送接收數(shù)據(jù)時序圖Fig.6 The diagram of transmitting and receiving data from master node
為了衡量傳輸系統(tǒng)的性能優(yōu)劣,在實驗室中,通常用眼圖分析法來分析信號的傳輸質(zhì)量。對總線上串化后的數(shù)據(jù)進行眼圖測量,圖7為測試時的眼圖。從圖7中可以看出每個碼元將重疊在一起,波形無失真,最終在示波器上看到的是跡線又細又清晰的“眼睛”,“眼”開啟得較大,表明信號傳輸質(zhì)量較好。驗證結(jié)論:信號傳輸質(zhì)量較好,信號傳輸可靠。
圖7 數(shù)據(jù)和時鐘經(jīng)過串化后的眼圖Fig.7 The eye diagram for serialized data and clock
根據(jù)設(shè)計需求,使用測試系統(tǒng)進行了工程驗證,在速率為250 Mbit/s時,CPU每1 ms周期內(nèi)需完成20 byte數(shù)據(jù)的收發(fā)和兩節(jié)點無時間間隙連續(xù)收發(fā),分別對主控節(jié)點進行自發(fā)自收測試,主控節(jié)點與通信終端互相收發(fā)測試,經(jīng)過50 000幀數(shù)據(jù)收發(fā)測試,均無誤碼、丟包現(xiàn)象。由此可得出結(jié)論:設(shè)計可靠,滿足現(xiàn)階段需求。
數(shù)據(jù)總線是航空電子系統(tǒng)的神經(jīng)樞紐。本文設(shè)計完成了一種基于FPGA的高速率、低功耗的BLVDS總線通信方式,在嚴(yán)格的時序內(nèi)完成了模塊內(nèi)部和模塊級間的數(shù)據(jù)傳輸,并通過功能驗證、傳輸測試和工程驗證的方法使設(shè)計得到驗證,達到了預(yù)期的目標(biāo)和性能,檢驗了設(shè)計的正確性和可行性,為航空領(lǐng)域新一代總線發(fā)展提供了重要參考。
[1]支超有.機載數(shù)據(jù)總線技術(shù)及其應(yīng)用[M].北京:國防工業(yè)出版社,2009.
ZHI Chao-you.Avionics Data Bus Technology and Its Application[M].Beijing:National Defense Industry Press,2009.(in Chinese)
[2]聶俊偉,向超,彭啟琮.基于NIOS2的MIL-STD-1553B總線協(xié)議的分析[J].通信技術(shù),2007(12):18-20.
NIE Jun-wei,XIANG Chao,PENG Qi-cong.Analysis of MIL-STD-1553B Protocol Based onNIOS2[J].Communications Technology,2007(12):18-20.(in Chinese)
[3]黃潤龍.基于FPGA的高速同步串行總線設(shè)計[J].電訊技術(shù),2008,48(11):92-96.
HUANG Run-long.Design of High SpeedSynchronous Serial Bus Based on FPGA[J].Telecommunication Engineering,2008,48(11):92-96.(in Chinese)
[4]楊翠虹,文豐,姚宗.基于LVDS的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計[J].通信技術(shù),2010(9):59-61.
YANG Cui-hong,WEN Feng,YAO Zong.Design of Longdistance High-Speed Serial Data Transmission System based onLVDS[J].Communications Technology,2010(9):59-61.(in Chinese)
ZHANG Hong-liang was born in Penglai,Shandong Province,in1984.He received the B.S.degree from Harbin Engineering University in2008.He isnow anassistantengineer.His research direction is electronic communication.
Email:anywn310@163.com
Design of BLVDS Bus Based on FPGA
ZHANG Hong-liang
(Southwest China Institute of Electronic Technology,Chengdu 610036,China)
To solve problems of avionics system based on electrical bus,such as complex structure,low transmission rate,bad electromagnetic compatibility,a kind of Bus-Low Voltage Differential Signaling(BLVDS)based on FPGA is proposed.The structure of BLVDS bus is introduced and related key technologies are investigated including BLVDS communications and the method for BLVDS communicationsbased on FPGA by hardware description language.At the same time,the signal transmission quality is analysed,the high speed and high reliable bus transmission characteristics are verified in application of project,which provides important reference for new-style avionics high speed bus system.
avionics bus;data transmission;BLVDS;HDL
V243;TP336
A
10.3969/j.issn.1001-893x.2012.06.039
1001-893X(2012)06-1022-05
2011-11-01;
2012-04-10
張洪亮(1984—),男,山東蓬萊人,2008年于哈爾濱工程大學(xué)獲學(xué)士學(xué)位,現(xiàn)為助理工程師,主要研究方向為電子通信。