《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的IEEE 1394b串行總線高速數(shù)據(jù)傳輸系統(tǒng)
基于FPGA的IEEE 1394b串行總線高速數(shù)據(jù)傳輸系統(tǒng)
電子科技
尋建暉,,李玉山,昶旭曦
摘要: 介紹了IEEE 1394h串行總線的特點,,并以FPGA嵌入式處理器Nios II為控制核心,,設(shè)計實現(xiàn)了一種1394b高速數(shù)據(jù)傳輸系統(tǒng)。闡述了該系統(tǒng)的硬件設(shè)計和軟件工作流程,。實驗表明,,該系統(tǒng)可靠性高、實時性好,、具有廣泛的應(yīng)用價值,。
關(guān)鍵詞: FPGA IEEE 1394b 串行總線 NIOS II
Abstract:
Key words :

摘要:介紹了IEEE 1394h串行總線" title="串行總線">串行總線的特點,并以FPGA" title="FPGA">FPGA嵌入式處理器Nios II" title="Nios II">Nios II為控制核心,,設(shè)計實現(xiàn)了一種1394b高速數(shù)據(jù)傳輸系統(tǒng),。闡述了該系統(tǒng)的硬件設(shè)計和軟件工作流程。實驗表明,,該系統(tǒng)可靠性高,、實時性好、具有廣泛的應(yīng)用價值,。
關(guān)鍵詞:IEEE 1394b" title="IEEE 1394b">IEEE 1394b,;串行總線;FPGA,;Nios II

    隨著信息技術(shù)的迅速發(fā)展,,計算機的速度不斷提高,外部設(shè)備的速度也隨之提高,。常用串行總線,,如USB2.0總線最高速率為480 Mb·s-1,IEEE 1394a總線最高速率為400 Mb·s-1,,但在有些情況下難以滿足高帶寬和實時性的要求,,成為系統(tǒng)性能進一步提升的瓶頸,。IEEE 1394 b-2002正是在這種情況下應(yīng)運而生,它最高支持800 Mb·s-1的總線傳輸速率,,最多可支持63個節(jié)點,,最大傳輸距離100 m,支持即插即用,、等時和異步傳輸,,并且向下完全兼容IEEE 1394a的設(shè)備。1394b串行總線可以應(yīng)用在眾多的領(lǐng)域中,,無論是在視頻傳輸還是計算機外設(shè),、網(wǎng)絡(luò)互連等方面都有著巨大的市場潛力。具有相同功能的1394b產(chǎn)品,,比普通計算機配套設(shè)備便宜,,具有更好的可擴展性和競爭力。

1 系統(tǒng)的硬件設(shè)計及仿真
    系統(tǒng)硬件設(shè)計框圖如圖1所示,。根據(jù)用戶需求,,該系統(tǒng)以FPGA為單板控制核心,外部慢設(shè)備的控制或狀態(tài)信號通過RS-232總線發(fā)送到FP-GA內(nèi)部的相應(yīng)接收模塊,。這些慢設(shè)備發(fā)送的數(shù)據(jù)信息量不大,,但要求準確無誤的傳送到主機端顯示,所以這些數(shù)據(jù)在1394b總線上采用了異步傳輸?shù)姆绞?。除慢設(shè)備外,,系統(tǒng)單板還通過RS-422差分接收器接收兩路壓縮后的DVD視頻圖像數(shù)據(jù)。這些圖像數(shù)據(jù)通過等時傳輸?shù)姆绞讲婚g斷的發(fā)送到主機上,,經(jīng)過解壓縮進行實時播放,。系統(tǒng)單板上還留有一些擴展接口,用于功能擴展,。

a.JPG


    綜合考慮系統(tǒng)的功能需求及實現(xiàn)的復(fù)雜度,,F(xiàn)PGA采用了Altera公司Cyclone II系列的EP2C70F67216。這款FPGA具有68 416個邏輯單元,,422個用戶I/O管腳,,I/O標準支持3.3 V PCI,可以通過IP核實現(xiàn)主從模式的PCI接口,。在系統(tǒng)中FPGA主要完成:(1)異步與等時數(shù)據(jù)的接收。(2)數(shù)據(jù)拼接與數(shù)據(jù)緩存,。(3)外部SRAM的控制,,實現(xiàn)大量數(shù)據(jù)的片外緩存。(4)與鏈路層控制器間的PCI接口時序控制,。(5)與Nios II軟核之間的接口模塊,。

    鏈路層控制器TSB82AA2通過PCI總線與FPGA相連,,PCI接口的時序較復(fù)雜,本設(shè)計采用了FPGA內(nèi)部的IP核PCI_Compiler來實現(xiàn)PCI主從傳輸模式,。鏈路層控制器與FPGA的連接關(guān)系如圖2所示,。在SOPC Builder開發(fā)環(huán)境中,只需要設(shè)置相應(yīng)的參數(shù),,就可以實現(xiàn)PCI總線與FPGA內(nèi)部Av-alon總線之間的數(shù)據(jù)交換,。需要注意的是,在生成硬件網(wǎng)表前需要加入IP核有關(guān)文件中提供的PCI約束信息,,并按照約束文件的要求鎖定管腳,。

b.JPG


    當FPGA為PCI主設(shè)備時,它通過PCI-Avalon橋發(fā)起PCI主傳輸,,如圖3所示是PCI主模式寫交易的仿真時序,。當FPGA為PCI從設(shè)備時,鏈路層控制器是PCI命令的發(fā)起者,,并由PCI-Avalon橋自動進行分析,,將PCI總線上的命令轉(zhuǎn)化為相應(yīng)的Avalon總線信息,圖4所示是PCI從模式配置讀寫仿真圖,。

c.JPG



2 嵌入式軟核Nios ll的設(shè)計
    Nios II是Ahera推出的32位RSIC嵌入式處理器,,根據(jù)用戶的需求有Nios II/f(快速)、Nios II/s(標準)以及Nios II/e(經(jīng)濟)3種可配置的方案,。Nios II還支持片內(nèi)調(diào)試和指令定制,,具有較大的靈活性和可擴展性,而且許多常用的標準外設(shè)接口已經(jīng)以IP核的形式集成在了SOPC Builder開發(fā)環(huán)境中,,用戶如需要則可直接調(diào)用,,縮短了開發(fā)周期和成本。根據(jù)應(yīng)用需要,,本系統(tǒng)將Nios II配置成快速型,,時鐘頻率為100 MHz。Nios II與各種外設(shè)通過Avalon總線連接,,具體的連接關(guān)系如圖5所示,。

d.JPG


    本系統(tǒng)中Nios II主要完成3個功能:(1)實現(xiàn)1394b設(shè)備的自舉,協(xié)助主機完成設(shè)備識別以及設(shè)備的身份確認,。(2)實現(xiàn)異步數(shù)據(jù)收發(fā)功能,,異步讀、異步寫,,根據(jù)請求包的類型進行分別處理,。(3)滿足傳輸條件時,為等時傳輸申請等時信道和帶寬,,成功后開始組織等時傳輸,,傳輸結(jié)束后釋放信道和帶寬,。圖6為Nios II工作流程圖。

e.JPG


    下面介紹等時傳輸過程,,根據(jù)系統(tǒng)設(shè)計,,將外部DVD壓縮圖像數(shù)據(jù)作為等時數(shù)據(jù)來處理。具體過程如下:
    (1)NioslI CPU對1394b的OHCI和鏈路層寄存器進行初始化,,判斷線纜是否插入,,強制根節(jié)點,直到設(shè)備完成自舉,,節(jié)點的身份確認,,如圖7所示。

f.JPG


    (2)自舉過程結(jié)束后,,Nios II CPU檢測等時傳輸?shù)臈l件是否滿足,,如果滿足則向主機發(fā)出申請,申請等時信道和帶寬,。
    (3)申請成功后,,Nios II CPU開始組織數(shù)據(jù)進行傳輸。首先它向DMA控制器發(fā)送寄存器配置信息,,從而將數(shù)據(jù)傳送任務(wù)交由DMA控制器完成,。
    (4)DMA控制器從FPGA的緩存單元中取出數(shù)據(jù),并添加包頭將數(shù)據(jù)拼接成合法的等時數(shù)據(jù)包格式,,并發(fā)起PCI主模式傳輸,。
    (5)數(shù)據(jù)經(jīng)由PCI總線傳送到鏈路層芯片中,又通過物理層芯片傳送到1394b總線上,,并由主機上連接的數(shù)據(jù)采集卡接收,,最終由主機端的應(yīng)用程序解壓縮和播放數(shù)據(jù)。

3 結(jié)束語
    文中介紹了一種基于FPGA的IEEE 1394b高速數(shù)據(jù)傳輸系統(tǒng),,它能實現(xiàn)外部多路數(shù)據(jù)的實時傳送,。由于支持1394b的設(shè)備與支持1394a的設(shè)備可以相互兼容,所以在此基礎(chǔ)上可以建立1394組網(wǎng)平臺,,實現(xiàn)多個系統(tǒng)的互聯(lián)與傳輸,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。