<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于EMIF接口的DSP控制系統(tǒng)設計

          基于EMIF接口的DSP控制系統(tǒng)設計

          作者: 時間:2013-05-23 來源:網(wǎng)絡 收藏

            1 引言

            隨著信息技術的發(fā)展,數(shù)字信號處理技術成為數(shù)字化社會最重要的技術之一。由于數(shù)字信號處理器(DSP)速度快,穩(wěn)定性高,功耗小,近些年來在通信、圖像處理、自動控制等領域中得到了廣泛的應用。其中,美國德州儀器公司(TI)的TMS320 系列DSP 占據(jù)了世界DSP 市場的主要份額,TI 也因此成為了世界上最大的DSP 制造商。本系統(tǒng)采用了TMS320C6722 浮點型DSP芯片。

            (External Memory Interface)是TMS320 系列DSP上具有的一種高速接口,其設計初衷是實現(xiàn)DSP 與不同類型的外部擴展存儲器(如SDRAM,FLASH 等)之間的高速連接。在當前的一些應用中,為了更充分的應用DSP的運算能力,擴展其引腳資源,工程師們常用連接,再通過與多種外部設備相連。這樣,成為了一個中轉站,各種數(shù)字芯片的數(shù)據(jù)都可以通過FPGA傳輸至DSP.對于更加復雜的系統(tǒng),當一塊FPGA 芯片的引腳資源都被用盡時,可以在DSP 的上連接多塊FPGA芯片,再將功能各異的芯片連接至FPGA.這樣,DSP 芯片僅通過EMIF 接口就能實現(xiàn)對復雜系統(tǒng)的控制。

            2 基于EMIF 接口的DSP+FPGA 系統(tǒng)實現(xiàn)

            2.1 系統(tǒng)架構

            圖1 是本人所使用的系統(tǒng),DSP芯片通過EMIF接口連接了2 片F(xiàn)PGA,其中EP2C8F256I8 主要負責DSP核心處理所需數(shù)據(jù)的交換,連接了FLASH 芯片,SDRAM芯片,A/D 芯片。另一塊FPGA 芯片EP2C8F144I8 負責與外部通信,連接了USB 接口芯片,I2C通信芯片和CAN總線通信芯片。

            TMS320C6722 型DSP的EMIF接口設計初衷是與外部擴展存儲器連接,EMIF接口有兩種工作方式:SDRAM工作模式與異步工作模式。SDRAM工作模式是專為SDRAM設計的同步工作模式,EMIF接口能自動給SDRAM進行刷新;異步工作模式是與SRAM、FLASH等異步器件工作時采用的模式。在本系

            圖2 所示是DSP 與一片F(xiàn)PGA 的接口連接圖,DSP 與多片F(xiàn)PGA連接時,接口可以按圖的方式復用,TMS320C6722 型DSP的EMIF 接口有14 根地址線,與不同F(xiàn)PGA進行通信時,要使用不同的地址。

            2.2 DSP 與FPGA 通信時序

            2.2.1 異步讀操作

            DSP發(fā)出對FPGA的讀申請時,就會進行異步讀操作。當讀操作不能在外部器件的一個訪問周期內完成時,EMIF就會進行多個周期的操作,直到完成整個申請。

          陀螺儀相關文章:陀螺儀原理



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();