网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 文章 >> 独家资料 >> 文章正文
  [组图]ADSP-2106X的DMA控制器         ★★★ 【字体:
ADSP-2106X的DMA控制器
作者:admin    文章来源:本站原创    点击数:    更新时间:2007-9-26    

 

1)简介

    直接存储器存取(DMA)为传递一个数据块提供一个机制。ADSP一2106X内部的DMA控制器减轻了处理器核在内部存储器和外部数据源或外部存储器之间传递数据的负担。DMA控制器允许ADSP一2106X处理器核或一个外部设备在指定了数据传递操作后就返回正常的工作状态,而后由DMA控制器独立地执行数据传递任务。数据传递过程对处理器核是不可见的。图8.8所示为ADSP一2106X含DMA控制器的方框图。


2)功  能

(1)DMA控制器能执行的几种类型的数据传输

①内部存储器与外部存储器和存储器映射的外设;

②内部存储器与其他ADSP一2106X的内部存储器;

③内部存储器与主机;

④内部存储器与串口输入/输出;

    ⑤内部存储器与链路口(对ADSP一21061不适用);

    ⑥外部存储器与外设。

    外部总线的打包处理用于使ADSP一2106X内部32/48位结构和外部16/32位外设之间相互兼容。打包控制是由4个外部端口DMA控制寄存器(DMAC6、DMAC7、DMAC8和DMAC9)之一来完成的。

    ADSP一21060和ADSP一21062的10个DMA通道和数据缓冲区如表8.12所列,ADSP一21061的6个DMA通道和数据缓冲区如表8.13所列。

    (2)DMA涉及的寄存器 

    ①外部端口先进先出缓冲区(EPB0、EPBl、EPB2和EPB3)——IOP寄存器组,用于外部端口DMA传输和从其他ADSP一2106X(或主机)来的单字数据传输。

    ②DMACx控制寄存器——外部的端口缓冲区EPBx的DMA控制寄存器(DMAC6、DMAC7、DMAC8、DMAC9),分别用于EPB0、EPBl、EPB2和EPB3。

    ③DMA参数寄存器——地址(IIx)、修正量(IMx)、计数器(Cx)、链指针(CPx)等用于设定DMA传输的寄存器。

    ④数据传输控制块(TCB)——存放在内存中的一组DMA参数寄存器值,在链式DMA操作时由DMA控制器装载到DMA参数寄存器中。

    ⑤TCB链式装载——DMA控制器从内存中装载TCB数据,并自动初始化DMA参数寄存器的过程。

    3)特点

    ADSP一2106X DMA控制器用来进行两种基本操作:外部口DMA传输和I/O口DMA传输。ADSP一21060和ADSP一21062的I/O 口 DMA传输通过串行口和链路口进行;ADSP一21061的I/O I=I DMA传输通过串行I=I进行。

    外部口数据块传输用于ADSP一2106X内部存储器和外部存储器之间的数据传输。先设定DMA参数寄存器,包括内部存储器缓冲区大小、地址、地址增量和传送的方向。一旦设定完毕,DMA数据传输自动开始,直到所有数据传送完毕。I/O 口 DMA传输是通过ADSP一2106X的串行口和链路口完成数据的发送和接收。当执行I/O 口 DMA时,要在内部存储器中设置相同类型的缓冲区,但DMA控制器不访问外部存储器,而是访问I/O口。数据传输方向由I/O口方向决定。当数据在端口被接收的时候,I/O口自动将数据传递到内部存储器。同样,当端口需要发送1个字时,它自动从内部存储器取出来。

    DMA的一个附加功能让ADSP一2106X支持在外部设备和外部存储器之间的数据传输。这个传输不影响内部的ADSP一2106X操作,只要该操作不使用外部端口。外部设备能以两种方式参与DMA数据传输,即外部装置读或写ADSP一2106X的DMA缓冲区,或者通过产生信号请求服务。

    在链式DMA中,一个DMA传输结束时可以自动引发另外一个DMA传输。

    4)设置DMA数据传输

    外部主机、总线控制者或ADSP一2106X的处理器核可以控制DMA操作。这通过写内存映射的DMA控制寄存器和参数寄存器来完成。一个DMA通道的建立是由写入一组内存缓冲区参数到DMA参数寄存器来完成的。寄存器II、IM和C中分别装入1个开始地址、1个地址修正量和1个字计数值。

    每个外部口、串行口和链路I=I在它们各自的主控制寄存器中都有一个DMA使能位(DEN)。一旦一个DMA通道设置完成而且使能后,就能自动地将接收到的数据传送到内存缓冲区中。同样,当ADSP一2106X准备发送数据时,也会自动地将内部存储器取数据到DMA缓冲寄存器中。传输持续进行,直到全部数据发送或接收完毕。

    DMA通道的计数(C)寄存器递减到0(或主机模式中的EC寄存器递减到0)时,也就是一个块的数据被传输完,就会产生DMA中断。DMA中断被锁存在IRPTL寄存器的对应位中,IMASK寄存器中的对应位可以屏蔽它。这些寄存器位于ADSP一2106X的处理器核中,不属于内存映射的IOP寄存器组。当前的DMA传输结束后,为了开始二个新的DMA,必须首先将DMA使能位清零,写新的参数到II、IM和C寄存器,然后设定DMA使能位(对链式DMA操作不必这样做)。

    5)DMA的传输量

    当多个DMA通道试图同时存取内部或外部存储器时的总DMA传输量。

    (1)内部存储器DMA

    DMA通道对ADSP一2106X的内部存储器的访问进行仲裁。DMA控制器决定允许哪个通道存取内部I/O总线,随后决定哪个通道读或写内部存储器。这些过程是一个周期一个周期地进行的。

    当不同的DMA通道正在连续的周期上进行存取时,每次DMA传递需要1个时钟周期,也就是在通道之间的转换中,没有总传输量的损失。因此,4个链路口DMA通道(每周期传递1个字节)的I/O传送速率,与一个外部口DMA通道(在每个周期传送一个数据到内部存储器)的相同。链路口传送、串行口传送和外部口传送的任何组有相同的最大传输速率。

    (2)外部存储器DMA

    当DMA传送是在ADSP一2106X的内部存储器和外部存储器之间进行的时候,外部存储器可能有1个或多个等待状态。然而,如果其他通道有数据要传送,外部存储器的等待状态就不会降低内部DMA传送的总速率。换句话说,ADSP一2106X内部的I/O数据总线不会被一个没有完成的外部传送所占据。

    当数据将从内存传送到外存时,内存数据首先通过DMA控制器放在外部口的EPBx缓冲区,然后独立地开始执行外存存取。同样,在从外存到内存的DMA传输中,直到外存数据已到达EPBx缓冲区之后,才会发出内部DMA请求。在这两种情况下,外部DMA地址产生器(EI和EM寄存器)将保持外部地址,直到数据传输完成。DMA通道的内部和外部地址产生器是独立工作的。

    当某个外设和外存之间发生了EXTERN模式的DMA传输时,不会使用ADSP一2106X的内部资源,并且内部的DMA传输量不受影响。

    6)二维DMA

    当ADSP一21060/62工作在二维DMA模式时,在功能上会有一些改变(二维DMA不适用于ADSP一21061)。将LCOM控制寄存器中的L2DDMA位和SRCTL0/1寄存器中的D2DMA位置位,便进/k--维DMA模式。其操作如下:

    (1)第1周期

    ①输出存储在II寄存器中的当前地址,开始一个DMA存储器周期;

    ②在N--+NN,存储在IM寄存器中的X增量加到1I寄存器中的当前地址上;

    ③X计数器(C寄存器)减1;

    ④如果X计数器减少到0,就开始第2周期。

    (2)第2周期

    ①存储在DA寄存器中X计数值存入C寄存器;

    ②将II中的当前地址加上DB寄存器中的Y增量;

    ③GP中的Y计数减1;

    ④如果Y计数减到0,DMA序列就结束,通道进入空闲状态,直到下一个指针寄存器再次被写入内容。

    二维DMA序列(或任何DMA序列)的一个关键是,第1次DMA传送要在地址修改之前开始。这意味着DMA不能仅通过设定X计数或Y计数为0而被禁止。在二维DMA的模式下,进行一维DMA传输时,Y计数一定要初始化为1。

    当X计数减为0但Y计数不为0时,应该给X计数寄存器重新加载初始数据。C寄存器的功能如同工作计数寄存器,DA寄存器存放初始值。C寄存器由DA寄存器加载以恢复计数。C寄存器被写入数值时,DA寄存器也会自动写入同样的内容。


 

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    对比ADI两代TD-SCDMA射频IC得
    [结尾篇]ADSP-TS20XS系列DSP
    一种基于DDS的幅值可调信号发
    基于ADSP2181的CAN总线通讯设
    一种采用单片机控制AD9854为
    在vs2008下使用ffmpeg(5):
    在vs2008下使用ffmpeg(4):
    在vs2008下使用ffmpeg(3):
    ADI AD8275电平转换16位ADC驱
    Boot在ADSP-BF533上的移植
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号