文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.044
中文引用格式: 牛少平,史嘉濤,索高華,等. 一種1394總線分析邏輯電路的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(8):175-178.
英文引用格式: Niu Shaoping,Shi Jiatao,Suo Gaohua,et al. Design and implementation of a 1394 bus analysis logic circuit[J].Application of Electronic Technique,2016,42(8):175-178.
0 引言
IEEE 1394總線標(biāo)準(zhǔn)是一種具有高速、靈活和擴(kuò)展性好的數(shù)據(jù)傳輸標(biāo)準(zhǔn),是目前有效的數(shù)據(jù)傳輸方式之一,廣泛應(yīng)用于視頻傳輸、工業(yè)控制中,也越來越多地應(yīng)用在航空領(lǐng)域總線系統(tǒng)中。為確保新一代航空1394總線系統(tǒng)和設(shè)備功能的正確性、穩(wěn)定性,需要一個(gè)完善的總線測試環(huán)境對系統(tǒng)進(jìn)行充分測試。
本文結(jié)合航空1394系統(tǒng)應(yīng)用研制中遇到的各種情況,從總線系統(tǒng)的相關(guān)需求入手,根據(jù)總線設(shè)備研制規(guī)范,提出了一種航空1394總線分析邏輯電路。該邏輯電路可內(nèi)嵌于1394總線分析設(shè)備硬件中,能進(jìn)行1394總線數(shù)據(jù)和狀態(tài)的監(jiān)控、分析與存儲,支持發(fā)起多種總線行為和發(fā)送總線消息數(shù)據(jù),可以為航空領(lǐng)域1394總線系統(tǒng)的研制和測試提供有效支持。
1 設(shè)計(jì)與實(shí)現(xiàn)
1.1 硬件結(jié)構(gòu)
本文提出的1394總線分析邏輯電路內(nèi)嵌于如圖1所示1394總線分析設(shè)備中。其中,外圍硬件主要通過專用芯片實(shí)現(xiàn)1394物理層、鏈路層功能、數(shù)據(jù)存儲功能以及主機(jī)接口功能;邏輯電路作為整個(gè)設(shè)備的功能核心,主要實(shí)現(xiàn)總線信息的監(jiān)控以及解析功能。
圖1 1394總線分析設(shè)備結(jié)構(gòu)
1.2 邏輯電路
作為1394總線分析設(shè)備的功能核心,分析邏輯電路主要由下面幾個(gè)功能模塊組成,其功能結(jié)構(gòu)如圖2所示。
圖2 邏輯功能結(jié)構(gòu)
(1)主機(jī)接口控制模塊:實(shí)現(xiàn)了邏輯電路與硬件部分主機(jī)接口芯片之間的交互功能,包括響應(yīng)主機(jī)發(fā)起的命令、解析命令信息,以及將讀取數(shù)據(jù)進(jìn)行封包發(fā)送等功能。
(2)存儲接口控制模塊:一方面實(shí)現(xiàn)對片外存儲器進(jìn)行數(shù)據(jù)讀寫的接口功能,將內(nèi)部提供的數(shù)據(jù)寫入片外存儲器或從片外存儲器讀取數(shù)據(jù);另一方面完成數(shù)據(jù)信息寫入、讀出操作的調(diào)度控制,其工作模式可通過寄存器控制模塊中相應(yīng)的功能寄存器進(jìn)行配置更改。
(3)鏈路層接口控制模塊[1]:LLC-DM模塊實(shí)現(xiàn)通過鏈路層數(shù)據(jù)接口進(jìn)行消息數(shù)據(jù)收發(fā)的功能;LLC-MC模塊實(shí)現(xiàn)鏈路層控制寄存器的訪問配置功能。主要完成鏈路層工作模式配置或獲取鏈路層狀態(tài)信息等。
(4)寄存器控制模塊:實(shí)現(xiàn)用于邏輯功能控制的控制寄存器、用于標(biāo)識總線狀態(tài)的狀態(tài)寄存器,以及收發(fā)消息的計(jì)數(shù)寄存器等。初始化、啟動使能、發(fā)送幀周期等控制及參數(shù)信息均經(jīng)由主機(jī)訪問并操作相關(guān)控制寄存器位實(shí)現(xiàn)。
(5)其他模塊:包括基于異步FIFO的接收緩沖模塊、基于DPRAM的發(fā)送數(shù)據(jù)存儲模塊,以及不同時(shí)鐘域模塊之間的信號同步模塊。
1.3 關(guān)鍵設(shè)計(jì)
1.3.1 存儲結(jié)構(gòu)及存取調(diào)度機(jī)制
在消息數(shù)據(jù)和狀態(tài)信息的存儲控制方面,采用了如下優(yōu)化設(shè)計(jì):
首先,存儲結(jié)構(gòu)。這里將數(shù)據(jù)信息與狀分析信息進(jìn)行分區(qū)存儲,存儲結(jié)構(gòu)如圖3所示。數(shù)據(jù)區(qū)域按每條消息數(shù)據(jù)占用2 KB空間劃分,分析信息區(qū)域按每條消息占用8 B空間劃分,數(shù)據(jù)消息與分析信息一一對應(yīng)。采用這種數(shù)據(jù)存儲結(jié)構(gòu),可讓存取操作時(shí)的尋址更加規(guī)律準(zhǔn)確,降低誤操作的概率。
圖3 消息數(shù)據(jù)存儲結(jié)構(gòu)
其次,存取調(diào)度機(jī)制。存儲操作時(shí)先存數(shù)據(jù)信息,后存狀態(tài)信息;讀取操作時(shí)先讀狀態(tài)信息,后讀數(shù)據(jù)信息。存儲調(diào)度流程是因?yàn)闋顟B(tài)信息是完整分析一條數(shù)據(jù)信息后才產(chǎn)生的。讀取調(diào)度流程是便于軟件從狀態(tài)信息開始進(jìn)行解析。
1.3.2 數(shù)據(jù)獲取機(jī)制
上層主機(jī)獲取存儲器中的數(shù)據(jù)信息時(shí),一般采用直接尋址讀取的方式,而采用這種方式在獲取大量數(shù)據(jù)時(shí)往往需要發(fā)起多次多操作,很大程度上影響獲取數(shù)據(jù)的效率。針對本文設(shè)計(jì)中的存儲結(jié)構(gòu),這里采用一種新的數(shù)據(jù)獲取機(jī)制,如圖4所示。
圖4 數(shù)據(jù)獲取機(jī)制
主機(jī)以消息條目為輸入,對邏輯內(nèi)部消息讀取控制寄存器發(fā)起一次寫操作,讀取控制寄存器根據(jù)指定條目信息直接調(diào)度讀取該條信息完整數(shù)據(jù)并反饋輸出給主機(jī)。采用這種機(jī)制,主機(jī)只需發(fā)起一次操作,便可讀取一條消息的數(shù)據(jù),這樣一方面可提高數(shù)據(jù)獲取效率,另一方面提高應(yīng)用軟件的同步解析效率。
1.3.3 鏈路模式自動配置
1394總線狀態(tài)分析需要鏈路工作在正確的模式下,系統(tǒng)上電后,收發(fā)消息數(shù)據(jù)時(shí),鏈路的工作模式就需要進(jìn)行配置或調(diào)整,采用主機(jī)直接配置無疑會影響效率,甚至有可能影響正常的總線行為。
針對這種問題,本文在邏輯電路的LLC-MC模塊中實(shí)現(xiàn)鏈路工作模式的自動配置機(jī)制。如圖5所示,系統(tǒng)上電后,LLC-MC模塊檢測等待鏈路初始化完成后進(jìn)行默認(rèn)的接收模式配置。當(dāng)主機(jī)啟動發(fā)送任務(wù)時(shí),根據(jù)鏈路狀態(tài)適時(shí)配置鏈路切換到發(fā)送模式,等待發(fā)送完成后再迅速配置切換回接收模式。
圖5 鏈路自動配置過程
2 仿真與測試
本文首先對1394總線分析邏輯電路功能進(jìn)行了虛擬仿真驗(yàn)證。
如圖6所示,鏈路層數(shù)據(jù)接口llc_dm負(fù)責(zé)完成消息數(shù)據(jù)的接收,每接收一條消息,消息記錄計(jì)數(shù)器rec_cnt_reg計(jì)數(shù)遞增1,S400速率消息計(jì)數(shù)器計(jì)數(shù)遞增1,標(biāo)識著邏輯電路接收了一條速率為S400的消息數(shù)據(jù);llc_dm接口接收完一條消息數(shù)據(jù)后,存儲器接口DDR2將接收消息數(shù)據(jù)寫入片外存儲器暫存;最后由主機(jī)通過USB接口[2,3]進(jìn)行數(shù)據(jù)請求,每請求一次,邏輯通過DDR2接口取出一條消息數(shù)據(jù)交給USB回傳給主機(jī)。
圖6 邏輯功能驗(yàn)證結(jié)果
其次,通過嵌入該邏輯電路的1394總線分析設(shè)備進(jìn)行了實(shí)踐測試。
如圖7所示,總線分析設(shè)備在連接到1394總線系統(tǒng)時(shí),總線復(fù)位行為引起了各總線節(jié)點(diǎn)設(shè)備的響應(yīng),分析設(shè)備監(jiān)控到了多次的總線復(fù)位行為(Bus Reset)以及各節(jié)點(diǎn)發(fā)出的S100的物理層自標(biāo)識消息(PhySelfD0)。
圖7 1394總線分析設(shè)備實(shí)測結(jié)果
由于本文提出的1394總線分析邏輯電路主要針對航空1394總線系統(tǒng)的開發(fā),因而與國內(nèi)外現(xiàn)有通用1394總線設(shè)備相比,其具有更好的適用性、更高的效率以及較低的成本。
3 結(jié)論
通過試驗(yàn)表明,本文所述1394總線分析邏輯電路支持1394總線上不同速率、不同類型的消息數(shù)據(jù)收發(fā),有效完成總線行為監(jiān)控和數(shù)據(jù)分析,同時(shí)可內(nèi)嵌用于多種1394總線仿真設(shè)備或用于總線異常分析的測試設(shè)備,具有良好的航空系統(tǒng)設(shè)備適用性,對于當(dāng)今航空1394總線系統(tǒng)的研制與開發(fā)具有重要的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 劉光遠(yuǎn),張濤,鄭偉波.基于FPGA的數(shù)據(jù)采集系統(tǒng)IEEE1394接口設(shè)計(jì)[J].儀表技術(shù)與傳感器,2009(12):46-48.
[2] Cypress.EZ-USB FX2 Technical reference manual[EB/OL].(2001)[2016].http://www.cypress.com.
[3] 許永和.EZ-USB FX2系列單片機(jī)USB外圍設(shè)備設(shè)計(jì)與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.