基于FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計
(2)1394設(shè)備發(fā)起的異步傳輸。
同樣,由1394設(shè)備發(fā)起的異步傳輸即由1394設(shè)備發(fā)出異步傳輸請求,主機(jī)進(jìn)行響應(yīng)。因此,這一部分主要是異步請求包的發(fā)送以及異步響應(yīng)包的接收,其工作流程如圖3所示。這時會產(chǎn)生異步請求輸出DMA中斷,這可由鏈路層芯片中斷寄存器的reqTxComplete位表征。1394設(shè)備接收到主機(jī)發(fā)來的異步響應(yīng)包后,會產(chǎn)生異步接收響應(yīng)中斷,這可通過鏈路層芯片中斷寄存器得知。另外,發(fā)送出去的請求包也將被暫時存放在內(nèi)存中,以便與返回的響應(yīng)包對應(yīng)。
圖3 1394設(shè)備發(fā)起的異步傳輸?shù)墓ぷ髁鞒?p> ?。?)等時傳輸。
等時傳輸主要實(shí)現(xiàn)的功能是通過1394設(shè)備將外部的視頻數(shù)據(jù)等時傳輸?shù)街鳈C(jī)進(jìn)行實(shí)時顯示。外部視頻數(shù)據(jù)與FPGA的SPI接口相連,FPGA把接收到的數(shù)據(jù)緩存在SRAM中,等時傳輸時,FPGA讀取SRAM中的數(shù)據(jù),生成等時數(shù)據(jù)包。這一部分的主要工作就是等時數(shù)據(jù)包的發(fā)送,其工作流程如圖4所示。
圖4 等時傳輸?shù)墓ぷ髁鞒?p> 4 測試結(jié)果分析
為了測試系統(tǒng)性能,進(jìn)行了最快傳輸速度測試。設(shè)置總線傳輸速度為800Mb·s-1,根據(jù)1394總線協(xié)議的規(guī)定,每個數(shù)據(jù)包最大為4 096 bit。理論上一個傳輸周期125μs傳送一個數(shù)據(jù)包,因此每秒最多傳輸數(shù)據(jù)31.25 Mb,轉(zhuǎn)換為比特率,最大傳輸速度為250 Mb·s-1。實(shí)測的最快傳輸速度可達(dá)227 Mb·s-1,相對于1394a理論上的最大速度125 Mb·s-1提高了較多,因此該系統(tǒng)在傳輸速度上具有較大優(yōu)勢。同時,主機(jī)端實(shí)時顯示的視頻實(shí)時性和可靠性也較好。
5 結(jié)束語
本系統(tǒng),采用800 Mb·s-1的總線傳輸速率,利用FPGA內(nèi)嵌的NIOSII處理器作為控制核心,實(shí)現(xiàn)了雙向傳輸,用異步傳輸方式傳輸主機(jī)端指令和攝像頭方位及狀態(tài)信息,用等時傳輸方式將攝像頭數(shù)據(jù)傳輸到主機(jī)端進(jìn)行實(shí)時顯示。實(shí)驗(yàn)表明,相對于1394a,該方案具有高速通信、可靠性高、實(shí)時性強(qiáng)等優(yōu)點(diǎn),達(dá)到了預(yù)定目標(biāo),運(yùn)行良好。本系統(tǒng)研究的是1394設(shè)備與主機(jī)間的通信,在此基礎(chǔ)上還可以研究在脫離計算機(jī)的環(huán)境下,兩個1394設(shè)備間的通信傳輸以及多個設(shè)備的組網(wǎng)傳輸。
評論