0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用NIOSII處理器實(shí)現(xiàn)IEEE-1394b雙向通信數(shù)據(jù)傳輸設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-08 09:23 ? 次閱讀

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

現(xiàn)在符合1394b標(biāo)準(zhǔn)的鏈路層和物理層控制芯片都遵循1394 OHCI(開(kāi)放式主機(jī)控制接口協(xié)議),它的主要功能是實(shí)現(xiàn)總線的鏈路層協(xié)議。本系統(tǒng)通過(guò)NIOSII處理器,根據(jù)1394 OHCI,對(duì)FPGA以及1394套片進(jìn)行控制,實(shí)現(xiàn)了雙向數(shù)據(jù)傳輸。其主要功能是將外部視頻數(shù)據(jù)打包,按照1394b協(xié)議,傳輸?shù)街鳈C(jī)端進(jìn)行實(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ù)包格式。無(wú)論是從主機(jī)存儲(chǔ)器中讀出發(fā)送數(shù)據(jù)包,還是將接收到的數(shù)據(jù)包寫(xiě)入主機(jī)存儲(chǔ)器,都是通過(guò)DMA來(lái)實(shí)現(xiàn)的。在向主機(jī)總線存儲(chǔ)空間讀和寫(xiě)時(shí),1394 OHCI也可以通過(guò)直接執(zhí)行1394讀和寫(xiě)請(qǐng)求而作為主機(jī)總線和1394之間的總線橋。

等時(shí)傳輸:1394 OHCI可以執(zhí)行循環(huán)控制器的功能。也就是說(shuō)它包含了一個(gè)循環(huán)計(jì)時(shí)器和計(jì)數(shù)器,可以在8 kHz時(shí)鐘的每個(gè)上升沿后安排一個(gè)循環(huán)開(kāi)始包的傳輸。1394 OHCI可以產(chǎn)生內(nèi)部時(shí)鐘。當(dāng)它不是循環(huán)控制器時(shí),1394 OHCI根據(jù)循環(huán)開(kāi)始包,通過(guò)更正其循環(huán)計(jì)時(shí)器來(lái)保持它的內(nèi)部時(shí)鐘與主節(jié)點(diǎn)的周期同步。1394 OHCI為等時(shí)發(fā)送和等時(shí)接收各提供了一個(gè)DMA控制器。每個(gè)DMA控制器支持高達(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 硬件結(jié)構(gòu)

以FPGA內(nèi)嵌的NIOSII處理器為開(kāi)發(fā)平臺(tái),控制實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。其硬件結(jié)構(gòu)框圖如圖1所示。主要由NIOSII系統(tǒng)模塊、SPI口的數(shù)據(jù)輸入輸出模塊、1394套片模塊、SRAM模塊、串口(UART)通信模塊、電源管理模塊、EPCS模塊和Flash模塊組成。其中,F(xiàn)PGA芯片為主控芯片,選擇Ahera公司Cyclone II系列的EP2C70F672C8N;Flash芯片用于存儲(chǔ)NIOSII嵌入式處理器的代碼和數(shù)據(jù),F(xiàn)PGA上電后從中讀??;SRAM芯片一個(gè)用于對(duì)外部大量視頻數(shù)據(jù)進(jìn)行緩存,另一個(gè)作為C代碼的運(yùn)行空間。串口主要用以產(chǎn)生異步數(shù)據(jù),外部視頻數(shù)據(jù)則主要通過(guò)SPI口進(jìn)行等時(shí)傳輸。

采用NIOSII處理器實(shí)現(xiàn)IEEE-1394b雙向通信數(shù)據(jù)傳輸設(shè)計(jì)

圖1 系統(tǒng)的硬件結(jié)構(gòu)框圖

3 軟件工作流程

在NIOSII IDE集成環(huán)境下,根據(jù)1394 OHCI協(xié)議,使NIOSII處理器實(shí)現(xiàn)對(duì)總線的初始化,以及管理,并通過(guò)DMA方式實(shí)現(xiàn)等時(shí)和異步數(shù)據(jù)傳輸。其中等時(shí)數(shù)據(jù)傳輸僅考慮將外部視頻數(shù)據(jù)打包發(fā)送到主機(jī),而異步數(shù)據(jù)傳輸分為主機(jī)發(fā)起的異步傳輸和1394設(shè)備發(fā)起的異步傳輸。

3.1 系統(tǒng)的自舉

主要為系統(tǒng)初始化、檢測(cè)電纜以及根節(jié)點(diǎn)的確定。系統(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è)電纜是否插入是通過(guò)讀取物理層芯片某寄存器的相應(yīng)位來(lái)判斷的。電纜插入后,通過(guò)檢查和配置Node ID寄存器,強(qiáng)制設(shè)置本節(jié)點(diǎn)為子節(jié)點(diǎn),主機(jī)為根節(jié)點(diǎn),直到成功為止。

3.2 數(shù)據(jù)的傳輸

在1394 OHCI中,不管是等時(shí)傳輸,還是異步傳輸,都是通過(guò)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。無(wú)論是物理層接收到的還是要發(fā)送出去的數(shù)據(jù)包,都被暫時(shí)存放在相應(yīng)的FIFO中,由1394套片的內(nèi)部邏輯控制將其傳送到1394總線上。

(1)主機(jī)發(fā)起的異步傳輸。

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

采用NIOSII處理器實(shí)現(xiàn)IEEE-1394b雙向通信數(shù)據(jù)傳輸設(shè)計(jì)

圖2 主機(jī)發(fā)起的異步傳輸工作流程

(2)1394設(shè)備發(fā)起的異步傳輸。

同樣,由1394設(shè)備發(fā)起的異步傳輸即由1394設(shè)備發(fā)出異步傳輸請(qǐng)求,主機(jī)進(jìn)行響應(yīng)。因此,這一部分主要是異步請(qǐng)求包的發(fā)送以及異步響應(yīng)包的接收,其工作流程如圖3所示。這時(shí)會(huì)產(chǎn)生異步請(qǐng)求輸出DMA中斷,這可由鏈路層芯片中斷寄存器的reqTxComplete位表征。1394設(shè)備接收到主機(jī)發(fā)來(lái)的異步響應(yīng)包后,會(huì)產(chǎn)生異步接收響應(yīng)中斷,這可通過(guò)鏈路層芯片中斷寄存器得知。另外,發(fā)送出去的請(qǐng)求包也將被暫時(shí)存放在內(nèi)存中,以便與返回的響應(yīng)包對(duì)應(yīng)。

采用NIOSII處理器實(shí)現(xiàn)IEEE-1394b雙向通信數(shù)據(jù)傳輸設(shè)計(jì)

圖3 1394設(shè)備發(fā)起的異步傳輸?shù)墓ぷ髁鞒?/p>

(3)等時(shí)傳輸。

等時(shí)傳輸主要實(shí)現(xiàn)的功能是通過(guò)1394設(shè)備將外部的視頻數(shù)據(jù)等時(shí)傳輸?shù)街鳈C(jī)進(jìn)行實(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所示。

采用NIOSII處理器實(shí)現(xiàn)IEEE-1394b雙向通信數(shù)據(jù)傳輸設(shè)計(jì)

圖4 等時(shí)傳輸?shù)墓ぷ髁鞒?/p>

4 測(cè)試結(jié)果分析

為了測(cè)試系統(tǒng)性能,進(jìn)行了最快傳輸速度測(cè)試。設(shè)置總線傳輸速度為800Mb·s-1,根據(jù)1394總線協(xié)議的規(guī)定,每個(gè)數(shù)據(jù)包最大為4 096 bit。理論上一個(gè)傳輸周期125μs傳送一個(gè)數(shù)據(jù)包,因此每秒最多傳輸數(shù)據(jù)31.25 Mb,轉(zhuǎn)換為比特率,最大傳輸速度為250 Mb·s-1。實(shí)測(cè)的最快傳輸速度可達(dá)227 Mb·s-1,相對(duì)于1394a理論上的最大速度125 Mb·s-1提高了較多,因此該系統(tǒng)在傳輸速度上具有較大優(yōu)勢(shì)。同時(shí),主機(jī)端實(shí)時(shí)顯示的視頻實(shí)時(shí)性和可靠性也較好。

5 結(jié)束語(yǔ)

本系統(tǒng),采用800 Mb·s-1的總線傳輸速率,利用FPGA內(nèi)嵌的NIOSII處理器作為控制核心,實(shí)現(xiàn)了雙向傳輸,用異步傳輸方式傳輸主機(jī)端指令和攝像頭方位及狀態(tài)信息,用等時(shí)傳輸方式將攝像頭數(shù)據(jù)傳輸?shù)街鳈C(jī)端進(jìn)行實(shí)時(shí)顯示。實(shí)驗(yàn)表明,相對(duì)于1394a,該方案具有高速通信、可靠性高、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),達(dá)到了預(yù)定目標(biāo),運(yùn)行良好。本系統(tǒng)研究的是1394設(shè)備與主機(jī)間的通信,在此基礎(chǔ)上還可以研究在脫離計(jì)算機(jī)的環(huán)境下,兩個(gè)1394設(shè)備間的通信傳輸以及多個(gè)設(shè)備的組網(wǎng)傳輸。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18927

    瀏覽量

    227230
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598919
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417162
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于IEEE1394b雙向傳輸設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    介紹了基于IEEEl394b總線雙向數(shù)據(jù)傳輸系統(tǒng)PC機(jī)端設(shè)備驅(qū)動(dòng)程序。結(jié)合IEEEl394b總線規(guī)范,以Windows環(huán)境為例詳細(xì)介紹了利用Fir-eAPI SDK開(kāi)發(fā)
    發(fā)表于 10-31 15:47 ?1897次閱讀
    基于<b class='flag-5'>IEEE1394b</b>的<b class='flag-5'>雙向</b><b class='flag-5'>傳輸</b>設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    基于FPGA和DSP的1394b雙向數(shù)據(jù)傳輸系統(tǒng)

    會(huì)給FPGA之外的電路或者系統(tǒng)帶來(lái)諸多問(wèn)題。因此這里采用PCI9054總線接口芯片配合FPGA和DSP來(lái)實(shí)現(xiàn)1394b雙向數(shù)據(jù)傳輸系統(tǒng),將對(duì)
    發(fā)表于 05-14 12:35

    面向回路供電應(yīng)用的隔離式單線雙向數(shù)據(jù)傳輸參考設(shè)計(jì)包括BOM,PCB文件及光繪文件

    描述此設(shè)計(jì)的重點(diǎn)是適用于回路供電應(yīng)用的跨隔離層雙向通信。此類解決方案的挑戰(zhàn)首先是在傳感發(fā)送內(nèi)的尺寸受限,如果是回路供電系統(tǒng),則總電流消耗受限。主要特色隔離式單線雙向
    發(fā)表于 08-15 06:40

    采用音頻接口實(shí)現(xiàn)數(shù)據(jù)傳輸模塊設(shè)計(jì)

    為標(biāo)準(zhǔn)曼徹斯特編碼數(shù)據(jù)信息,送入讀寫(xiě)裝置。電路設(shè)計(jì)如圖2所示。3 數(shù)據(jù)傳輸模塊的軟件設(shè)計(jì)3.1 設(shè)計(jì)線程 通信雙方的手機(jī)終端采用軟件方法實(shí)現(xiàn)
    發(fā)表于 06-21 05:00

    如何正確實(shí)現(xiàn)EndDevice和Coordinator之間的數(shù)據(jù)傳輸

    大家好:我正在學(xué)習(xí)使用 IEEE 802.15.4 中的 JN5169 來(lái)開(kāi)發(fā)項(xiàng)目。我的項(xiàng)目基于JN-AN-1174。我已經(jīng)實(shí)現(xiàn)了從EndDevice到Coordinator的數(shù)據(jù)傳輸,但是現(xiàn)在我
    發(fā)表于 03-24 08:38

    采用DataSocket技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸設(shè)計(jì)

    采用DataSocket技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸設(shè)計(jì)DataSocket技術(shù)是虛擬儀器設(shè)計(jì)過(guò)程中面向網(wǎng)絡(luò)4B-)N控的技術(shù)擴(kuò)展,它支持實(shí)時(shí)數(shù)據(jù)
    發(fā)表于 02-26 09:41 ?129次下載

    IEEE 1394傳輸方式

    IEEE 1394傳輸方式 1394接口以半雙工方式工作,可以進(jìn)行雙向通信,但在某一時(shí)刻只能有一個(gè)方向傳送
    發(fā)表于 08-01 08:08 ?3493次閱讀

    基于IEEEl394b總線雙向數(shù)據(jù)傳輸設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

      介紹了基于IEEEl394b總線雙向數(shù)據(jù)傳輸系統(tǒng)PC機(jī)端設(shè)備驅(qū)動(dòng)程序。結(jié)合IEEEl394b總線規(guī)范,以Windows環(huán)境為例詳細(xì)介紹了利用Fir-eAPI SDK開(kāi)發(fā)
    發(fā)表于 12-17 10:10 ?1141次閱讀
    基于IEEEl394<b class='flag-5'>b</b>總線<b class='flag-5'>雙向</b><b class='flag-5'>數(shù)據(jù)傳輸</b>設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    基于IEEE1394b雙向傳輸設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    結(jié)合IEEE1394b總線規(guī)范,以Windows環(huán)境為例詳細(xì)介紹了利用FireAPI SDK開(kāi)發(fā)IEEE1394b設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)原理﹑實(shí)現(xiàn)方法。
    發(fā)表于 02-08 15:43 ?41次下載
    基于<b class='flag-5'>IEEE1394b</b>的<b class='flag-5'>雙向</b><b class='flag-5'>傳輸</b>設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    PIS車地?zé)o線雙向數(shù)據(jù)傳輸方案設(shè)計(jì)

    PIS車地?zé)o線雙向數(shù)據(jù)傳輸方案設(shè)計(jì)
    發(fā)表于 12-27 16:51 ?0次下載

    基于ARM處理器和FPGA在數(shù)據(jù)傳輸中的應(yīng)用與研究

    基于ARM處理器和FPGA在數(shù)據(jù)傳輸中的應(yīng)用與研究
    發(fā)表于 10-15 10:28 ?4次下載
    基于ARM<b class='flag-5'>處理器</b>和FPGA在<b class='flag-5'>數(shù)據(jù)傳輸</b>中的應(yīng)用與研究

    基于STM32微處理器的GPRS數(shù)據(jù)傳輸技術(shù)的研究

    本文介紹了一種基于STM32微處理器的GPRS數(shù)據(jù)傳輸技術(shù)的研究。對(duì)STM32微處理器串口的設(shè)置以及中斷的配置來(lái)闡述STM32微處理器底層的配置,再通過(guò)SIM900A的發(fā)送和接收
    發(fā)表于 12-28 14:06 ?2977次閱讀

    1394b數(shù)據(jù)傳輸有什么特點(diǎn)?如何利用FPGA設(shè)計(jì)一個(gè)1394b雙向數(shù)據(jù)傳輸系統(tǒng)?

    傳輸,IEEE又公布了支持更高傳輸速率的IEEE Std 1394b-2002(簡(jiǎn)稱1394b
    發(fā)表于 08-18 09:40 ?1.5w次閱讀
    <b class='flag-5'>1394b</b><b class='flag-5'>數(shù)據(jù)傳輸</b>有什么特點(diǎn)?如何利用FPGA設(shè)計(jì)一個(gè)<b class='flag-5'>1394b</b><b class='flag-5'>雙向</b><b class='flag-5'>數(shù)據(jù)傳輸</b>系統(tǒng)?

    利用Fir-eAPI SDK開(kāi)發(fā)IEEE1394b設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    現(xiàn)有的大部分數(shù)據(jù)傳輸接口總線造價(jià)比較高,且難以滿足實(shí)際運(yùn)用中對(duì)傳輸速率的要求,成了阻礙整個(gè)系統(tǒng)性能提高的一大屏障。IEEE-1394是現(xiàn)今最高速的串行總線接口之一,IEEE1394lb
    的頭像 發(fā)表于 10-02 14:02 ?2925次閱讀
    利用Fir-eAPI SDK開(kāi)發(fā)<b class='flag-5'>IEEE1394b</b>設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)

    I2C隔離如何實(shí)現(xiàn)雙向數(shù)據(jù)傳輸

    觀看此視頻,了解ADuM1250/ADuM2250 iCoupler?數(shù)字隔離如何利用Philips針對(duì)I2C開(kāi)發(fā)的三電平邏輯系統(tǒng)來(lái)實(shí)現(xiàn)雙向數(shù)據(jù)傳輸。
    的頭像 發(fā)表于 08-01 06:06 ?5124次閱讀