<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與嵌入式系統應用 收藏

  引言

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

  在基于軟件無(wú)線(xiàn)電的某無(wú)線(xiàn)通信信號偵收平臺的設計中,天線(xiàn)接收到的信號經(jīng)過(guò)變頻器處理和A/D變換之后,經(jīng)過(guò)高速通道把采集的信號送入主控板進(jìn)行數據分發(fā)處理。系統的結構框圖如圖1所示。

       

                    圖1  主控板的系統結構框圖

  主控板的硬件核心是嵌入式MPC8260,負責系統軟件的加載、數據的分發(fā)以及與外界命令控制的交互。軟件上,采用高性能的VxWorks嵌入式實(shí)時(shí)操作系統。從天線(xiàn)接收到的射頻信號經(jīng)過(guò)變頻和A/D變換之后作為數據源連接到,對接收到的數據進(jìn)行中頻變換和信道估計等預處理后,在CPU的控制下將數據傳輸到本地內存,最后CPU對數據打包后進(jìn)行快速分發(fā)。因此,將40~50 Mbps的高速數據流從傳給CPU成為系統設計的一個(gè)關(guān)鍵。

  如果每傳遞一個(gè)字節的數據都需要CPU的介入,那么不論是采用中斷驅動(dòng)還是采用程序查詢(xún)的方式,數據傳輸速率都會(huì )很低,無(wú)法滿(mǎn)足系統需求。(直接存儲器存?。┖鸵话愕某绦蚩刂苽魉头绞较啾染哂袛祿魉退俣雀?、I/O響應時(shí)間短和CPU額外開(kāi)銷(xiāo)小的優(yōu)點(diǎn),因此,選擇的傳輸模式,使FPGA中的數據不經(jīng)過(guò)CPU內部寄存器的中轉而直接存放到本地內存。MPC8260支持多種實(shí)現方式,分別適用于不同數據傳輸源/目的設備、不同傳輸數據塊大小和存儲模式的需要,因此需要根據主控板的系統特點(diǎn)設計出合適的DMA傳輸。

  1  MPC8260的 DMA系統結構

       

            圖2  CPM原理框圖

  MPC8260是Freescale公司主要針對數據通信領(lǐng)域而設計的一種嵌入式PowerPC,具有雙核結構:1個(gè)高性能的MPC603e 64位RISC內核和1個(gè)專(zhuān)為通信設計的32位RISC通信處理模塊(Communication Processor Module,CPM)。CPM能夠分擔PowerPC內核大部分的外圍通信任務(wù),其中就包含兩個(gè)DMA控制器,即串行直接存儲器存取通道(Serial Direct Memory Access,),所以這種雙處理器的體系結構比單處理器具有更強的通信控制功能。CPM的原理框圖如圖2所示。除了PowerPC內核和CPM之外,MPC8260還包含一個(gè)靈活的系統單元(System Interface Unit,SIU)主要用于控制與外部總線(xiàn)的。

  圖2中, CPM內除了模塊以外,還包括通信控制器(Communications Processor,CP)、雙口RAM和一些串行外圍設備的控制接口等。和60x總線(xiàn)、本地總線(xiàn)相連,并且可以直接訪(fǎng)問(wèn)CPM內部的雙口RAM。CP利用這兩個(gè)SDMA為每個(gè)外圍串行控制器提供了兩個(gè)虛擬SDMA通道:一個(gè)用于輸入,一個(gè)用于輸出。同時(shí),CPM還用這2個(gè)物理的SDMA通道模擬4個(gè)可編程控制的、獨立的DMA (Independent DMA,)通道,用于存儲器—存儲器及外設—存儲器之間的數據傳輸。

  主控板上的FPGA和SDRAM都是掛接在MPC8260的60x總線(xiàn)上的,所以只能利用來(lái)實(shí)現二者之間的DMA傳輸。根據傳輸啟動(dòng)的觸發(fā)方式不同,可分為握手信號控制的IDMA傳輸和CP命令控制的IDMA傳輸兩種。下面分別介紹兩種方式的特點(diǎn)。

  1.1 握手信號控制的IDMA傳輸

  握手信號控制的IDMA傳輸主要用于外設和內存之間的數據傳輸。每個(gè)IDMA通道都有3個(gè)握手信號用于傳輸握手控制:DMA請求信號DREQ[1~4]、DMA應答信號DACK[1~4]和DMA結束信號DONE[1~4]。

  在這種方式下,PowerPC內核只需要參與IDMA通道初始化,之后的傳輸過(guò)程全部由CP按照通道參數設置和握手信號控制數據的收發(fā),在最大程度上釋放內核。握手信號控制的缺點(diǎn)在于:①  SDRAM中的數據和MPC8260的數據同步比較復雜。②  每次發(fā)出請求信號后都要進(jìn)行總線(xiàn)仲裁,并且在得到總線(xiàn)使用權之后一次只能夠傳輸外設端口大小或者32位的數據,總線(xiàn)利用率低。③  握手控制邏輯和時(shí)序比較復雜,加重了FPGA內部控制邏輯設計的負擔。

  雖然這種傳輸方式基本上不占用內核資源,但是由于總線(xiàn)帶寬有限且利用率較低,所以在連續高速的通信條件下會(huì )造成內核長(cháng)時(shí)間得不到總線(xiàn)使用權而一直處于等待狀態(tài)。因此,握手信號控制的IDMA一般只適用于由外設發(fā)起的、數據不是太頻繁的傳輸使用。


上一頁(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>