FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)_第1頁
FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)_第2頁
FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)_第3頁
FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)_第4頁
FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 FPGA的IEEE-1394b雙向數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì) 隨著IEEE Std 1394-1995技術(shù)的高速發(fā)展,IEEE 1394已經(jīng)成為眾多電子設(shè)備基本的外部接口。然而,要進(jìn)一步擴(kuò)展它的適用領(lǐng)域,就必須克服其接口被限制工作在較短距離以及不適用于較高數(shù)據(jù)傳輸率的缺陷。IEEE Std 1394b-20*作為其修訂版本支持800 Mbs-1傳輸速率,且中繼距離長達(dá)100m。它將原來的DS(Data-Strobe)編碼方式改良為8B10B編碼方式,這對(duì)于1394性能的改良起著決定性作用。同時(shí),1394b是向下兼容的,也就是說同一個(gè)電路既可以選擇使用DS編碼也可以選擇使用

2、8B10B編碼。 現(xiàn)在符合1394b標(biāo)準(zhǔn)的鏈路層和物理層控制芯片都遵循1394 OHCI(開放式主機(jī)控制接口協(xié)議),它的主要功能是實(shí)現(xiàn)總線的鏈路層協(xié)議。本系統(tǒng)通過NIOSII處理器,根據(jù)1394 OHCI,對(duì)FPGA以及1394套片開展控制,實(shí)現(xiàn)了雙向數(shù)據(jù)傳輸。其主要功能是將外部視頻數(shù)據(jù)打包,按照1394b協(xié)議,傳輸?shù)街鳈C(jī)端開展實(shí)時(shí)顯示,并實(shí)現(xiàn)與主機(jī)的相互通信。 1 1394 OHCI的特點(diǎn) 支持事務(wù)層和總線管理層,而且?guī)в幸粋€(gè)PCI主機(jī)總線接口,以及高速率數(shù)據(jù)傳輸所需要的DMA引擎。支持兩種數(shù)據(jù)傳輸:異步傳輸和等時(shí)傳輸。 異步傳輸:1394 OHCI可以發(fā)送和接收所有1394所定義的數(shù)據(jù)包格

3、式。無論是從主機(jī)存儲(chǔ)器中讀出發(fā)送數(shù)據(jù)包,還是將接收到的數(shù)據(jù)包寫入主機(jī)存儲(chǔ)器,都是通過DMA來實(shí)現(xiàn)的。在向主機(jī)總線存儲(chǔ)空間讀和寫時(shí),1394 OHCI也可以通過直接執(zhí)行1394讀和寫請(qǐng)求而作為主機(jī)總線和1394之間的總線橋。 等時(shí)傳輸:1394 OHCI可以執(zhí)行循環(huán)控制器的功能。也就是說它包含了一個(gè)循環(huán)計(jì)時(shí)器和計(jì)數(shù)器,可以在8 kHz時(shí)鐘的每個(gè)上升沿后安排一個(gè)循環(huán)開始包的傳輸。1394 OHCI可以產(chǎn)生內(nèi)部時(shí)鐘。當(dāng)它不是循環(huán)控制器時(shí),1394 OHCI根據(jù)循環(huán)開始包,通過更正其循環(huán)計(jì)時(shí)器來保持它的內(nèi)部時(shí)鐘與主節(jié)點(diǎn)的周期同步。1394 OHCI為等時(shí)發(fā)送和等時(shí)接收各提供了一個(gè)DMA控制器。每個(gè)DM

4、A控制器支持高達(dá)32個(gè)不同的DMA上下文(context)。等時(shí)發(fā)送DMA控制器可以在每個(gè)周期,從每個(gè)上下文發(fā)送數(shù)據(jù)。而每個(gè)上下文只能從的等時(shí)信道發(fā)送數(shù)據(jù)。等時(shí)接收DMA控制器可以在每個(gè)周期,從每個(gè)上下文接收數(shù)據(jù)。但是每個(gè)上下文既可以從的等時(shí)信道接收數(shù)據(jù),也可以從多個(gè)等時(shí)信道接收數(shù)據(jù)。 2 硬件構(gòu)造 以FPGA內(nèi)嵌的NIOSII處理器為開發(fā)平臺(tái),控制實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。其硬件構(gòu)造框圖如圖1所示。主要由NIOSII系統(tǒng)模塊、SPI口的數(shù)據(jù)輸入輸出模塊、1394套片模塊、SRAM模塊、串口(UART)通信模塊、電源管理模塊、EPCS模塊和Flash模塊組成。其中,F(xiàn)PGA芯片為主控芯片,選擇Ahe

5、ra公司Cyclone II系列的EP2C70F672C8N;Flash芯片用于存儲(chǔ)NIOSII嵌入式處理器的代碼和數(shù)據(jù),F(xiàn)PGA上電后從中讀??;SRAM芯片一個(gè)用于對(duì)外部大量視頻數(shù)據(jù)開展緩存,另一個(gè)作為C代碼的運(yùn)行空間。串口主要用以產(chǎn)生異步數(shù)據(jù),外部視頻數(shù)據(jù)則主要通過SPI口開展等時(shí)傳輸。 圖1 系統(tǒng)的硬件構(gòu)造框圖 3 軟件工作流程 在NIOSII IDE集成環(huán)境下,根據(jù)1394 OHCI協(xié)議,使NIOSII處理器實(shí)現(xiàn)對(duì)總線的初始化,以及管理,并通過DMA方式實(shí)現(xiàn)等時(shí)和異步數(shù)據(jù)傳輸。其中等時(shí)數(shù)據(jù)傳輸僅考慮將外部視頻數(shù)據(jù)打包發(fā)送到主機(jī),而異步數(shù)據(jù)傳輸分為主機(jī)發(fā)起的異步傳輸和1394設(shè)備發(fā)起的異

6、步傳輸。 3.1 系統(tǒng)的自舉 主要為系統(tǒng)初始化、檢測(cè)電纜以及根節(jié)點(diǎn)確實(shí)定。系統(tǒng)初始化主要是配置鏈路層芯片存放器,使其工作在需要的狀態(tài)下。分為對(duì)PCI存放器的初始化和對(duì)OHCI存放器的初始化。對(duì)PCI存放器的初始化包括對(duì)TSB82AA2設(shè)備ID和PCI廠商ID的驗(yàn)證,OHCI基地址存放器的設(shè)置以及對(duì)指令狀態(tài)存放器的配置。而對(duì)OHCI存放器的初始化則包括對(duì)各個(gè)中斷存放器和DMA上下文的設(shè)置,以及控制存放器的配置。檢測(cè)電纜是否插入是通過讀取物理層芯片某存放器的相應(yīng)位來判斷的。電纜插入后,通過檢查和配置Node ID存放器,強(qiáng)制設(shè)置本節(jié)點(diǎn)為子節(jié)點(diǎn),主機(jī)為根節(jié)點(diǎn),直到成功為止。 3.2 數(shù)據(jù)的傳輸 在1

7、394 OHCI中,不管是等時(shí)傳輸,還是異步傳輸,都是通過DMA方式實(shí)現(xiàn)的,而且每個(gè)DMA都有一個(gè)FIFO,用于暫時(shí)存放數(shù)據(jù)。其中各FIFO的存儲(chǔ)容量為:異步發(fā)送(AT)FIFO為5 kB,異步接收(AR)F7FO為2 kB,等時(shí)發(fā)送(IT)fIFO為2 kB,等時(shí)接收(IR)FIFO為2 kB。無論是物理層接收到的還是要發(fā)送出去的數(shù)據(jù)包,都被暫時(shí)存放在相應(yīng)的FIFO中,由1394套片的內(nèi)部邏輯控制將其傳送到1394總線上。 (1)主機(jī)發(fā)起的異步傳輸。 主機(jī)發(fā)起的異步傳輸即由主機(jī)發(fā)出異步傳輸請(qǐng)求,1394設(shè)備開展響應(yīng),因此在這一部分,主要是異步請(qǐng)求包的接收以及異步響應(yīng)包的發(fā)送。其工作流程如圖2

8、所示。1394設(shè)備接收到主機(jī)發(fā)來的異步請(qǐng)求包后,就會(huì)產(chǎn)生異步接收請(qǐng)求中斷,這可由鏈路層芯片中斷存放器的RQPkt位表征。當(dāng)一個(gè)數(shù)據(jù)包傳送完畢后,數(shù)據(jù)包的一個(gè)指令描述符的xferStatus字段將被重置,這時(shí)數(shù)據(jù)包已被成功傳送到AT響應(yīng)FIFO中。 圖2 主機(jī)發(fā)起的異步傳輸工作流程 (2)1394設(shè)備發(fā)起的異步傳輸。 同樣,由1394設(shè)備發(fā)起的異步傳輸即由1394設(shè)備發(fā)出異步傳輸請(qǐng)求,主機(jī)開展響應(yīng)。因此,這一部分主要是異步請(qǐng)求包的發(fā)送以及異步響應(yīng)包的接收,其工作流程如圖3所示。這時(shí)會(huì)產(chǎn)生異步請(qǐng)求輸出DMA中斷,這可由鏈路層芯片中斷存放器的reqTxComplete位表征。1394設(shè)備接收到主機(jī)發(fā)

9、來的異步響應(yīng)包后,會(huì)產(chǎn)生異步接收響應(yīng)中斷,這可通過鏈路層芯片中斷存放器得知。另外,發(fā)送出去的請(qǐng)求包也將被暫時(shí)存放在內(nèi)存中,以便與返回的響應(yīng)包對(duì)應(yīng)。 圖3 1394設(shè)備發(fā)起的異步傳輸?shù)墓ぷ髁鞒?(3)等時(shí)傳輸。 等時(shí)傳輸主要實(shí)現(xiàn)的功能是通過1394設(shè)備將外部的視頻數(shù)據(jù)等時(shí)傳輸?shù)街鳈C(jī)開展實(shí)時(shí)顯示。外部視頻數(shù)據(jù)與FPGA的SPI接口相連,F(xiàn)PGA把接收到的數(shù)據(jù)緩存在SRAM中,等時(shí)傳輸時(shí),F(xiàn)PGA讀取SRAM中的數(shù)據(jù),生成等時(shí)數(shù)據(jù)包。這一部分的主要工作就是等時(shí)數(shù)據(jù)包的發(fā)送,其工作流程如圖4所示。 圖4 等時(shí)傳輸?shù)墓ぷ髁鞒?4 測(cè)試結(jié)果分析 為了測(cè)試系統(tǒng)性能,開展了快傳輸速度測(cè)試。設(shè)置總線傳輸速度為800Mbs-1,根據(jù)1394總線協(xié)議的規(guī)定,每個(gè)數(shù)據(jù)包為4 096 bit。理論上一個(gè)傳輸周期125s傳送一個(gè)數(shù)據(jù)包,因此每秒多傳輸數(shù)據(jù)31.25 Mb,轉(zhuǎn)換為比特率,傳輸速度為250 Mbs-1。實(shí)測(cè)的快傳輸速度可達(dá)227 Mbs-1,相對(duì)于1394a理論上的速度125 Mbs-1提高了較多,因此該系統(tǒng)在傳輸速度上具有較大優(yōu)勢(shì)。同時(shí),主機(jī)端實(shí)時(shí)顯示的視頻實(shí)時(shí)性和可靠性也較好。 5 結(jié)束語 本系統(tǒng),采用800 Mbs-1的總線傳輸速率,利用FPGA內(nèi)嵌的NIOSII處理器作為控制,實(shí)現(xiàn)了雙向傳輸,用異步傳輸方式傳輸主機(jī)端指令

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論