<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于MPC8260和FPGA的DMA接口設計

基于MPC8260和FPGA的DMA接口設計

作者:黃圣春 習勇 魏急波 趙海 國防科技大學(xué) 時(shí)間:2008-05-16 來(lái)源:?jiǎn)纹瑱C與嵌入式系統應用 收藏

  2.1.2  中斷處理

本文引用地址:http://dyxdggzs.com/article/82690.htm

  系統設計中使用了兩類(lèi)中斷方式: IRQ引腳引入的外部中斷和CPM觸發(fā)的內部中斷。初始化過(guò)程包括:使能對應的中斷屏蔽位、選擇中斷優(yōu)先級、連接對應中斷向量號和中斷服務(wù)程序等。為了保證較好的傳輸實(shí)時(shí)性,需要把中斷優(yōu)先級盡量設得高一些。

  與一般中斷處理過(guò)程的區別在于:MPC8260中斷處理控制器采用分級結構來(lái)擴展中斷信號總數。CPM內的中斷就是二級中斷,需要通過(guò)CPM中斷控制器和SIU中斷控制器兩級中斷控制。本設計中用來(lái)通知內核本次傳輸過(guò)程結束的中斷是CPM內最后一個(gè)BD表傳送結束的信號BC(BD Completed)。BC信號和命令結束等幾個(gè)信號一起通過(guò)SIU中斷掛起寄存器中的I位向內核發(fā)出中斷信號。所以在中斷初始化時(shí)要同時(shí)有效I屏蔽寄存器和SIU中斷屏蔽寄存器對應的比特位。具體的中斷初始化實(shí)例如下:

        

  尤其要注意的是,中斷處理程序結束之前的清SIU中斷掛起寄存器,不能直接在SIU中斷掛起寄存器的I位寫(xiě)1,而是要通過(guò)在事件寄存器的BC位寫(xiě)1來(lái)間接地清SIU中斷掛起寄存器。

  2.2  部分程序

  系統中的芯片選用Xilinx公司的VirtexII 3000。利用VirtexII內嵌的大容量BlockRAM配置為單口RAM來(lái)做緩沖區,在程序中可以用Xilinx的集成開(kāi)發(fā)環(huán)境ISE 7.1i內部自帶的IP核生成。對來(lái)說(shuō),由于數據的輸入/輸出都是順序的,所以?xún)啥硕贾灰?根地址線(xiàn)用于區分相鄰的兩個(gè)數據就可以了。地址線(xiàn)配合內部計數器構成讀寫(xiě)指針,當寫(xiě)指針從緩沖區的一半跳到另外一半時(shí)發(fā)相應的中斷信號。

  FPGA設計的關(guān)鍵部分是和MPC8260的總線(xiàn)設計。通過(guò)適當選擇緩沖區的起始地址和長(cháng)度,可以使MPC8260讀FPGA都以突發(fā)的方式進(jìn)行。設計中,MPC8260對FPGA的突發(fā)讀寫(xiě)遵循自己配置的UPM模式,所以要綜合考慮UPM模式設計和FPGA讀寫(xiě)邏輯設計。在設計UPM模式時(shí),可以在每次MPC8260鎖定數據總線(xiàn)數據之前由通用功能信號線(xiàn)(General Purpose Line,GPL)產(chǎn)生一個(gè)下降沿通知FPGA往數據總線(xiàn)上寫(xiě)新數據;或者通過(guò)GPL把總線(xiàn)時(shí)鐘送到FPGA達到收發(fā)同步來(lái)完成MPC8260與FPGA之間的讀寫(xiě)。

  3  總結

  結合MPC8260的中斷處理和傳輸機制,設計了一種MPC8260和FPGA之間的高速數據傳輸。測試結果顯示:采用循環(huán)讀的方式把FPGA中的數據復制到SDRAM中,數據傳輸速率只有11 Mbps左右;而采用本文介紹的方式,最高速率能夠達到500 Mbps,并且內核占用率較低,實(shí)驗結果完全能夠滿(mǎn)足系統設計需求。本研究對于PowerPC系列CPU的設計有一定的參考價(jià)值。

  參考文獻

  [1]  Freescale. MPC8260 PowerQUICCTM II Family Reference Manual .MPC8260RM Rev.2, 2005-12.

  [2]  Freescale. MPC8260 PowerQUICCTM II IDMA Functionality.Rev. 3,2006-02.

  [3]  Freescale. MPC8260 IDMA Timing Diagrams. Rev. 4,2006-07.


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA DMA 接口 微處理器 SDMA IDMA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>