新聞中心

基于PSoC5 UDB的DMA傳輸

作者:田江學(xué) 時間:2012-04-16 來源:電子產(chǎn)品世界 收藏

  PSoC5支持24個通道和多達128個事務(wù)描述符(TDs),主控制器對通道的請求按照優(yōu)先級進行仲裁,單個的通道可以傳輸高達64KB的數(shù)據(jù)。DMA通道如圖3所示:  

本文引用地址:http://m.butianyuan.cn/article/131359.htm

圖3,DMA通道及TDs

  2,設(shè)計思路

  從圖2可以看出,要訪問SRAM可以通過CPU直接訪問,也可以采用DMA通過Spoke0來訪問。若有外部的并行數(shù)據(jù)(如8bit并行接口)要連續(xù)不斷的寫進SRAM,如圖4所示的應(yīng)用。此時外部數(shù)據(jù)可以通過Spoke1的IO Interface進入PSoC5,也可通過Spoke6的 Interface接受后存放在中?! ?/p>


圖4,應(yīng)用需求

  本文將介紹通過PSoC5 的 采集數(shù)據(jù)并暫存在datapath的FIFO中, 然后通過DMA搬運到SRAM中的設(shè)計方案。由于外部數(shù)據(jù)是連續(xù)傳輸進PSoC5的,所以在設(shè)計中采用PING-PONG FIFO以保證連續(xù)數(shù)據(jù)不丟失。如下圖5所示采用兩個datapath一共4個FIFO,每個FIFO是4個字節(jié)深度,數(shù)據(jù)將根據(jù)每個FIFO的狀態(tài)依次填入FIFO中,每個FIFO滿之后將啟動DMA將數(shù)據(jù)從FIFO中搬運到SRAM中。系統(tǒng)一開始4 FIFO都為空,OV7670 sensor的數(shù)據(jù)首先存放到FIFO0_0中,填滿4字節(jié)數(shù)據(jù)后FIFO0_0的滿標(biāo)志置1表示FIFO0_0已滿,用該FIFO0_0的滿標(biāo)志觸發(fā)DMA0將數(shù)據(jù)搬運到SRAM中。同時OV7670的數(shù)據(jù)將繼續(xù)暫存到FIFO0_1中,依次類推?! ?/p>


圖5, 數(shù)據(jù)流傳輸示意圖


關(guān)鍵詞: 存儲器 DMA UDB

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉