ADSP2116中DMA的應(yīng)用

    時間:2024-07-26 06:54:08 理工畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    ADSP2116中DMA的應(yīng)用

    摘要:直接內(nèi)存存取(DMA)是DSP芯片中用于快速數(shù)據(jù)交換的重要技術(shù),文中對AD公司的浮點系列芯片ADSP2116x中DMA的應(yīng)用方法作了詳細介紹,同時重點介紹了鏈式DMA的操作方法,給出了一些實際應(yīng)用中的例子。

    1 DMA概述

    直接內(nèi)存存取(DMA)是計算機系統(tǒng)提高運行效率的一項重要技術(shù)。它可以在CPU運行指令的同時,使系統(tǒng)從外部存儲器或設(shè)備中存取數(shù)據(jù)?也可以在核心處理器不參與的情況下由專用的DMA設(shè)備存取數(shù)據(jù)。

    對于DSP芯片來講,DMA的作用尤為重要。眾所周知,DSP芯片主要面向?qū)崟r信號處理?其核心運算部件具有很高的運算速度,常以MFLOPS(每秒百萬次浮點運算)來衡量。ADSP2116x的速度為600MFLOPS?此速度是以存儲在芯片內(nèi)部存儲器中的程序和數(shù)據(jù)為前提的。在DSP內(nèi)部,一般采用多總線的哈佛結(jié)構(gòu)?數(shù)據(jù)總線和程序總線相互獨立,即指令的存取和數(shù)據(jù)的存取并行不悖,另外,在AD-SP2116x內(nèi)部還有各種接口總線,可用以提高數(shù)據(jù)的流通能力,而在芯片的外部,所有的總線都被合并在一起了。為了發(fā)揮DSP核心運算單元的高速運算能力,必須先把外部數(shù)據(jù)傳輸?shù)狡瑑?nèi)存儲器中。使用DMA操作可以減少核心處理器的負擔,提高運算速度。另一方面,DSP系統(tǒng)總要與各種外部信號打交道?它從外部輸入數(shù)字信號,經(jīng)過各種算法處理后,還要輸出給其它外部設(shè)備。不僅如此,對于很多應(yīng)用系統(tǒng)?數(shù)據(jù)的輸入和輸出常常是連續(xù)不斷的。試想?若用DSP的核心部件完成數(shù)據(jù)的輸入和輸出,將無法發(fā)揮DSP的高速運算能力。而AD公司的ADSP2116x系列則集成了DMA控制器,從而可用DMA來完成數(shù)據(jù)的輸入和輸出。

    高效的DSP系統(tǒng)通常采用圖1所示的結(jié)構(gòu)。該結(jié)構(gòu)的內(nèi)部帶有輸入、輸出緩沖區(qū),而數(shù)據(jù)的獲得則依靠DMA控制器。這樣,核心運算單元就可以專門進行信號處理,而將外界數(shù)據(jù)的獲取交給 DMA來完成。

    2。粒模樱校玻保保叮械模模停

    2.1 ADSP2116x中DMA的數(shù)據(jù)傳輸類型

    ADSP2116x中的DMA包含14條獨立通道,可完成下列類型的數(shù)據(jù)傳輸操作:

    ●片內(nèi)存儲器與片外存儲器或片外設(shè)備之間的傳輸操作;

    ●片內(nèi)存儲器與其它ADSP2116x的片內(nèi)存儲器之間的傳輸操作;

    ●片內(nèi)存儲器與主處理器之間的傳輸操作;

    ●片內(nèi)存儲器與串行口之間的傳輸操作;

    ●片內(nèi)存儲器與Link口之間的傳輸操作;

    ●片內(nèi)存儲器與SPI口之間的傳輸操作;

    ●片外存儲器與片外設(shè)備之間的傳輸操作。

    2.2 ADSP2116x中與DMA有關(guān)的寄存器

    DMA的編程實際上是通過內(nèi)部核心處理單元或外部主機對片內(nèi)有關(guān)的I/O寄存器設(shè)置來完成的,與DMA有關(guān)的I/O寄存器如表1所列?刂萍拇嫫髦饕脕碓O(shè)置數(shù)據(jù)傳輸?shù)姆较、?shù)據(jù)格式、是否鏈式等操作;參數(shù)寄存器用來設(shè)置數(shù)據(jù)傳輸?shù)牡刂、?shù)目等信息;數(shù)據(jù)緩存器則主要用來緩存?zhèn)鬏數(shù)臄?shù)據(jù),以提高數(shù)據(jù)的傳輸率。這些I/O寄存器都被映射到片內(nèi)存儲器的前256個地址上。

    表1 ADSP2116x中的DMA緩存器

    DMA通道號控制寄存器參數(shù)寄存器數(shù)據(jù)緩存器說 明0SPCTL0II0A,IM0A,CP0A,GP0ARX0A,TX0A串口0A1II0B,IM0B,C0B,CP0B,GP0BRX0B,TX0B串口0B2SPCTL1II1A,IM1A,C1A,CP1A,GP1ARX1A,TX1A串口1A3II1B,IM1B,C1B,CP1B,GP1BRX1B,TX1B串口1B4SPCTL2II2A,IM2A,C2A,CP2A,GP2ARX2A,TX2A串口2A5II2B,IM2B,C2B,CP2B,GP2BRX2B,TX2B串口2B6SPCTL3II3A,IM3A,C3A,CP3A,GP3ARX3A,TX3A串口3A7II3B,IM3B,C3B,CP3B,GP3BRX3B,TX3B串口3B8LCTLSPICTLIILB1,IMLB1,CLB1,CPLB1,GPLB1 IISTX,IMSRX,CSRX,GPSRXLUBF0 SPIRXLink0口SPI發(fā)送口9IILB1,IMLB1,CLB1,CPLB1,GPLB1 IISTX,IMSTX,CSTX,GPSTXLUBF1 SPITXLink1口SPI發(fā)送口10DMAC10IIEP0,IMEP0,CEP0,CPEP0,GPEP0,EIEP0,EMEP0,ECEP0EPB0外部接口011DMAC11IIEP1,IMEP1,CEP1,CPEP1,GPEP1,EIEP1,EMEP1,ECEP1EPB1外部接口112DMAC12IIEP2,IMEP2,CEP2,CPEP2,GPEP2,EIEP2,EMEP2,ECEP2EPB2外部接口213DMAC13GPEP3,EIEP3,CEP3,CPEP3,GPEP3,EIEP3,EMEP3,ECEP3EPB3外部接口3

    2.3 ADSP2116x中DMA一般傳輸過程的設(shè)置

    DMA一般傳輸過程的設(shè)置步驟如下:

    (1)設(shè)置對應(yīng)通道的參數(shù)寄存器?

    (2)設(shè)置對應(yīng)通道的DMA控制寄存器,并將其中的DMA使能位設(shè)為有效?

    (3)開始DMA數(shù)據(jù)傳輸?

    (4)DMA傳輸結(jié)束后,產(chǎn)生對應(yīng)的中斷,并通過程序?qū)χ袛噙M行處理。

    2.4 ADSP211

    【ADSP2116中DMA的應(yīng)用】相關(guān)文章:

    DMA結(jié)合McBSP在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用設(shè)計03-18

    紅外遙控在汽車中的應(yīng)用03-19

    淺析力學(xué)在機械中的應(yīng)用05-19

    竹子在設(shè)計中的應(yīng)用價值12-02

    RPMS在煉化企業(yè)中的應(yīng)用12-09

    NUFFT在ISAR成像中的應(yīng)用03-07

    淺談生活中的數(shù)學(xué)應(yīng)用06-27

    沉井施工在工程中的應(yīng)用11-23

    稀土在電鍍中的應(yīng)用分析03-18

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲欧美日韩综合一区在线观看 | 开心五月激情中文在线观看 | 色五月丁香五月综合五月亚洲 | 亚洲午夜久久久久久久久久 | 亚洲高清aⅴ日本 | 亚洲综合天天夜夜久久 |