文獻(xiàn)標(biāo)識(shí)碼: 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è)完善的總線測(cè)試環(huán)境對(duì)系統(tǒng)進(jìn)行充分測(cè)試,。
本文結(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)控,、分析與存儲(chǔ),支持發(fā)起多種總線行為和發(fā)送總線消息數(shù)據(jù),,可以為航空領(lǐng)域1394總線系統(tǒng)的研制和測(cè)試提供有效支持,。
1 設(shè)計(jì)與實(shí)現(xiàn)
1.1 硬件結(jié)構(gòu)
本文提出的1394總線分析邏輯電路內(nèi)嵌于如圖1所示1394總線分析設(shè)備中。其中,,外圍硬件主要通過專用芯片實(shí)現(xiàn)1394物理層,、鏈路層功能、數(shù)據(jù)存儲(chǔ)功能以及主機(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)存儲(chǔ)接口控制模塊:一方面實(shí)現(xiàn)對(duì)片外存儲(chǔ)器進(jìn)行數(shù)據(jù)讀寫的接口功能,,將內(nèi)部提供的數(shù)據(jù)寫入片外存儲(chǔ)器或從片外存儲(chǔ)器讀取數(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)識(shí)總線狀態(tài)的狀態(tài)寄存器,,以及收發(fā)消息的計(jì)數(shù)寄存器等,。初始化、啟動(dòng)使能,、發(fā)送幀周期等控制及參數(shù)信息均經(jīng)由主機(jī)訪問并操作相關(guān)控制寄存器位實(shí)現(xiàn),。
(5)其他模塊:包括基于異步FIFO的接收緩沖模塊、基于DPRAM的發(fā)送數(shù)據(jù)存儲(chǔ)模塊,,以及不同時(shí)鐘域模塊之間的信號(hào)同步模塊,。
1.3 關(guān)鍵設(shè)計(jì)
1.3.1 存儲(chǔ)結(jié)構(gòu)及存取調(diào)度機(jī)制
在消息數(shù)據(jù)和狀態(tài)信息的存儲(chǔ)控制方面,采用了如下優(yōu)化設(shè)計(jì):
首先,,存儲(chǔ)結(jié)構(gòu),。這里將數(shù)據(jù)信息與狀分析信息進(jìn)行分區(qū)存儲(chǔ),存儲(chǔ)結(jié)構(gòu)如圖3所示,。數(shù)據(jù)區(qū)域按每條消息數(shù)據(jù)占用2 KB空間劃分,,分析信息區(qū)域按每條消息占用8 B空間劃分,數(shù)據(jù)消息與分析信息一一對(duì)應(yīng),。采用這種數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),,可讓存取操作時(shí)的尋址更加規(guī)律準(zhǔn)確,,降低誤操作的概率,。
圖3 消息數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
其次,存取調(diào)度機(jī)制,。存儲(chǔ)操作時(shí)先存數(shù)據(jù)信息,,后存狀態(tài)信息;讀取操作時(shí)先讀狀態(tài)信息,,后讀數(shù)據(jù)信息,。存儲(chǔ)調(diào)度流程是因?yàn)闋顟B(tài)信息是完整分析一條數(shù)據(jù)信息后才產(chǎn)生的。讀取調(diào)度流程是便于軟件從狀態(tài)信息開始進(jìn)行解析,。
1.3.2 數(shù)據(jù)獲取機(jī)制
上層主機(jī)獲取存儲(chǔ)器中的數(shù)據(jù)信息時(shí),,一般采用直接尋址讀取的方式,而采用這種方式在獲取大量數(shù)據(jù)時(shí)往往需要發(fā)起多次多操作,,很大程度上影響獲取數(shù)據(jù)的效率,。針對(duì)本文設(shè)計(jì)中的存儲(chǔ)結(jié)構(gòu),這里采用一種新的數(shù)據(jù)獲取機(jī)制,如圖4所示,。
圖4 數(shù)據(jù)獲取機(jī)制
主機(jī)以消息條目為輸入,,對(duì)邏輯內(nèi)部消息讀取控制寄存器發(fā)起一次寫操作,讀取控制寄存器根據(jù)指定條目信息直接調(diào)度讀取該條信息完整數(shù)據(jù)并反饋輸出給主機(jī),。采用這種機(jī)制,,主機(jī)只需發(fā)起一次操作,便可讀取一條消息的數(shù)據(jù),,這樣一方面可提高數(shù)據(jù)獲取效率,,另一方面提高應(yīng)用軟件的同步解析效率。
1.3.3 鏈路模式自動(dòng)配置
1394總線狀態(tài)分析需要鏈路工作在正確的模式下,,系統(tǒng)上電后,,收發(fā)消息數(shù)據(jù)時(shí),鏈路的工作模式就需要進(jìn)行配置或調(diào)整,,采用主機(jī)直接配置無疑會(huì)影響效率,,甚至有可能影響正常的總線行為。
針對(duì)這種問題,,本文在邏輯電路的LLC-MC模塊中實(shí)現(xiàn)鏈路工作模式的自動(dòng)配置機(jī)制,。如圖5所示,系統(tǒng)上電后,,LLC-MC模塊檢測(cè)等待鏈路初始化完成后進(jìn)行默認(rèn)的接收模式配置,。當(dāng)主機(jī)啟動(dòng)發(fā)送任務(wù)時(shí),根據(jù)鏈路狀態(tài)適時(shí)配置鏈路切換到發(fā)送模式,,等待發(fā)送完成后再迅速配置切換回接收模式,。
圖5 鏈路自動(dòng)配置過程
2 仿真與測(cè)試
本文首先對(duì)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)識(shí)著邏輯電路接收了一條速率為S400的消息數(shù)據(jù);llc_dm接口接收完一條消息數(shù)據(jù)后,,存儲(chǔ)器接口DDR2將接收消息數(shù)據(jù)寫入片外存儲(chǔ)器暫存,;最后由主機(jī)通過USB接口[2,3]進(jìn)行數(shù)據(jù)請(qǐng)求,,每請(qǐng)求一次,,邏輯通過DDR2接口取出一條消息數(shù)據(jù)交給USB回傳給主機(jī)。
圖6 邏輯功能驗(yàn)證結(jié)果
其次,,通過嵌入該邏輯電路的1394總線分析設(shè)備進(jìn)行了實(shí)踐測(cè)試,。
如圖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)識(shí)消息(PhySelfD0),。
圖7 1394總線分析設(shè)備實(shí)測(cè)結(jié)果
由于本文提出的1394總線分析邏輯電路主要針對(duì)航空1394總線系統(tǒng)的開發(fā),因而與國(guó)內(nèi)外現(xiàn)有通用1394總線設(shè)備相比,,其具有更好的適用性,、更高的效率以及較低的成本。
3 結(jié)論
通過試驗(yàn)表明,,本文所述1394總線分析邏輯電路支持1394總線上不同速率,、不同類型的消息數(shù)據(jù)收發(fā),有效完成總線行為監(jiān)控和數(shù)據(jù)分析,,同時(shí)可內(nèi)嵌用于多種1394總線仿真設(shè)備或用于總線異常分析的測(cè)試設(shè)備,,具有良好的航空系統(tǒng)設(shè)備適用性,對(duì)于當(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.