新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式1394總線接口的設計和實現

        嵌入式1394總線接口的設計和實現

        作者: 時間:2011-12-01 來源:網絡 收藏

          一、 引言

          IEEE1394 是1986 年由蘋果電腦公司針對高速數據傳輸開發的一種總線接口,并于1995年由美國電氣和電子工程師協會(IEEE)制定成標準,旨在取代并行SCSI 接口。目前為止,它主要發展為IEEE1394-1995,1394a,1394b 等系列標準。1394 作為一個工業標準的高速串行總線,已經被廣泛應用于數字攝像機、數字照相機、電視機頂盒、計算機及其外圍設備、DVD 設備等等,甚至在航天軍事領域也有一定的應用潛力。這些設備便攜性的需求加快了它們集成度的提高,這些都將使1394 總線與處理器的結合有很廣闊的應用前景。

          等時傳輸模式的優越性使1394 總線廣泛應用于圖像傳輸領域,而數字信號處理器(DSP)在圖像等信號處理方面具有很大優勢,因此基于DSP 實現的1394 總線接口在圖像傳輸和處理領域有著廣泛的應用需求,但是,DSP 芯片與1394 總線芯片時序一般不能直接匹配。本文提出了一種基于DSP 的1394 總線接口實現方案,能在基于DSP 處理器的系統上方便地實現1394 總線接口,具有較強的現實意義。

          二、 設計方案

          1394 總線協議包括物理層,鏈路層,傳輸層,應用層以及串行總線管理器。目前已經有很多廠家能提供1394 總線接口的協議芯片,可以很容易地實現1394 總線接口本身。本文主要介紹如何通過FPGA 實現處理器與1394 總線鏈路層控制器芯片的匹配,嵌入式處理器把1394 總線設備作為外設實現數據讀取和寫入。整體結構框圖如圖1。其中DSP 是本文使用的嵌入式處理器類型,1394 鏈路層控制器和1394 物理層控制器是1394 總線協議芯片。FPGA 是現場可編程門陣列,是本文用于實現DSP 與1394 鏈路層控制器匹配的主要芯片,與分立器件相比,它具有可擦除、功耗小、體積小和調試方便等優勢。本文選用ACTEL 公司生產的APA300 芯片來完成設計,它有30 萬門陣列資源,已經遠遠滿足本設計的需求。


          2.1 TMS320V33

          德州儀器(TI)在DSP 設計廠商中具有領先優勢,TMS320V33 是TI 推出的TMS320 系列的第三代處理器的升級版本的32 位浮點運算數字信號處理器,也是目前國內外使用最為廣泛的浮點DSP 芯片之一。它有24 位地址總線和32 位數據總線,本設計中使用高17 位地址信號作為選通信號,低7 位地址信號作為輸出給鏈路層芯片的有效地址信號,低16 位數據總線作為有效數據信號,H1 是37.5Mhz 時鐘信號。TMS320V33 讀寫外部寄存器時序如圖2。


          2.2 鏈路層控制器

          目前能提供 1394a 鏈路層控制器芯片的廠商有很多,芯片種類也很多。而其中TI 公司生產的TSB12LV32 功能全面,應用廣泛。它是一款高性能通用1394a 鏈路層控制器,它主要實現1394 鏈路層協議。圖3 和圖4 是1394 鏈路層芯片TSB12LV32 的握手模式讀寫時序圖。其中BCLK 代表時鐘信號輸入,最大工作頻率是60Mhz;MWR 代表讀寫使能信號輸入,高電平時讀使能有效,低電平時寫使能有效;MCS 代表選通信號輸入,低電平有效;MCA 代表選通應答信號輸出,低電平有效;MA 代表地址信號輸入;MD 代表雙向數據信號;另外COLDFIRE,M8BIT/SIZ0,MCMODE/SIZ1 為設置工作模式專用信號。在本設計中我們選用握手工作模式。



          2.3 方案選擇

          鏈路層控制器最高僅 60Mhz 的理論工作頻率使得高性能的TMS320V33 必須增加自己的讀寫周期才能與之很好的配合,TMS320V33 的讀寫周期可以通過RDY 信號或者增加可編程等待狀態改變。在本設計中我們對TMS320V33 使用RDY 信號的方法來配合它與鏈路層芯片的讀寫時序。兩種方法沒有好壞之分,區別僅在于DSP 可編程等待狀態的數量是有限的,但是大部分情況下增加有限的等待狀態已經足夠。

          我們可以選擇使用組合邏輯和時序邏輯來完成此FPGA 設計,雖然組合邏輯設計方法簡單、占用資源少,但是它僅僅是讓DSP 和鏈路層芯片的讀寫時序“湊”到一起,很難實現完全配合,而且會在讀寫過程中存在很多“毛刺”、“競爭”和“冒險”,不適合應用在性能要求比較高的場合。有限狀態機是時序邏輯的一種,它由狀態、狀態轉換條件和狀態輸出組成。它具有以下優點:1.它是同步時序電路,克服了組合邏輯順序控制不靈活的缺點,便于與CPU 配合;2.狀態機容易構成性能良好的同步時序邏輯模塊,只需要將“毛刺”控制在下一個狀態到來之前,這對于對付設計中的“競爭冒險”現象無疑是一個較好的辦法;3.狀態機的結構模式相對簡單,設計方案相對固定,設計方法具有通用性。

          基于以上情況,本設計中使用“有限狀態機”的方法實現嵌入式處理器與鏈路層芯片的時序匹配,保證在處理器的一次讀寫操作中數據能正確有效地傳送。結合圖2、圖3 和圖4的讀寫時序給出狀態轉換圖如圖5。此狀態機一共由6 個狀態組成,分別為IDLE、START、RD0、RDi、WR0、WRi。在RESET 信號有效時設計進入復位階段,復位后狀態機進入IDLE 狀態;在IDLE 狀態中,如果片選信號有效,狀態機進入START 狀態,同時輸出給鏈路層控制器MCS 端口低信號,選通鏈路層芯片寄存器;狀態機進入START 狀態后,開始檢測讀寫使能信號,如果讀(寫)信號有效,則進入RD0(WR0)狀態,同時向鏈路層控制器芯片讀(寫)的地址;在RD0(WR0)狀態中,檢測鏈路層控制器芯片的MCA 管腳信號,在MCA 有效時讀(寫)有效數據,并向DSP 輸出RDY 有效信號,狀態機進入RDi(WRi)狀態,經過一個時鐘后釋放數據和地址總線,返回IDLE 狀態。


          三、 設計實現

          目前用于 FPGA 設計的主流硬件描述語言主要有VHDL 和verilog HDL,本設計借助VHDL語言實現。下面簡要列出實現狀態機的VHDL 代碼結構:






          將此設計方法實現的電路下載到實際系統中進行驗證,試驗結果表明,該設計能成功完成TMS320V33 對TSB12LV32 芯片讀寫控制功能。接口后仿真時序如圖6 所示,包括一次寫操作和三次讀操作。


          四、 結論

          本設計實現的 TMS320V33 與1394 總線鏈路層芯片TSB12LV32 的接口設計方法,設計思路清晰,時序準確,并且具有一定的靈活性和通用性,其他類似處理器與1394 總線鏈路層芯片的接口都可以采用類似的設計方法。

          本文的設計方法為其它各種處理器與外設接口的匹配設計實現提供了有益的參考。


        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
        電機保護器相關文章:電機保護器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 嘉义市| 高邑县| 资兴市| 松江区| 西盟| 萨嘎县| 潢川县| 大冶市| 南开区| 邹平县| 射洪县| 晋城| 泊头市| 湛江市| 镇康县| 芒康县| 达孜县| 青铜峡市| 呼伦贝尔市| 柘城县| 德安县| 修水县| 宁武县| 合阳县| 新野县| 乌拉特后旗| 三江| 芒康县| 克什克腾旗| 娄烦县| 利川市| 辛集市| 衡东县| 河西区| 光山县| 平远县| 肥乡县| 台安县| 太康县| 英德市| 宜宾市|