单片机与单片机与DSP中的中的ADSP-21535 Blackfin的的Mem DMA高速通高速通
信信
摘要:针对ADSP-21535 Blackfin 的Mem DMA 高速通信中的关键技术进行了讨论,分
析了系统的内存管理,对DMA的相关寄存器的配置进行了详细讲解,并给出了具体实例。对多种内存之间的
DMA列出了实际的指标评测,为该系列DSP工程应用的高速通信设计提供了重要参考。 关键词: ADSP-
21535, Blackfin Mem DMAADSP-21535 Blackfin 是美国AD公司和Intel 公司于20
01年底联合推出的一款定点DSP, RISC指令结构,运作高效,具有十分优异的性能。该DSP具有3
00MHz的主频,2个40bit的MAC(乘加器)和2个32bit的AL
摘要:摘要:针对ADSP-21535 Blackfin 的Mem DMA 高速通信中的关键技术进行了讨论,分析了系统的内存
管理,对DMA的相关寄存器的配置进行了详细讲解,并给出了具体实例。对多种内存之间的DMA列出了实际的指标评测,
为该系列DSP工程应用的高速通信设计提供了重要参考。
关键词:关键词: ADSP-21535, Blackfin Mem DMA
ADSP-21535 Blackfin 是美国AD公司和Intel 公司于2001年底联合推出的一款定点DSP, R
ISC指令结构,运作高效,具有十分优异的性能。该DSP具有300MHz的主频,2个40bit的MAC(乘加器)
和2个32bit的ALU(算术逻辑单元),4个8bit的视频处理单元,16个地址寻址单元。该DSP内部集成了3
08KB的RAM,并具有丰富的外部接口,如PCI、USB、SPI、同步和异步串口等。同时,芯片内部设计了看门狗
和多种定时器,充分满足软件工程稳定性的设计要求。值得一提的是,21535可以动态地控制电压输入,调整运行频率,
减少芯片功耗,十分适用于移动产品的设计。
2002年底,AD公司在中国开始大规模推广Blackfin系列的DSP,21535成为该系列的旗舰产品。由于该
DSP推出时间不长,相关文献几乎没有报道;而且,在许多接口性能方面,AD公司也没有对其给出准确的指标。根据通常
的设计经验可知,新产品通常在某些方面没有达到设计要求。笔者所设计的高速通信板数据交换速度必须达20M Word
/s以上,因此对该DSP的高速通信必须进行准确仔细的评估和设计。
ADSP-21535的内存访问支持I/O方式、内存映射和多种DMA方式,其中Mem DMA(Memory t
o memory DMA)方式是最快的一种并行通信方式。因此,笔者在设计时选择了Mem DMA作为高速通信方式。由
于21535支持多种内存,因此在设计Mem DMA时,必须对21535的内存管理有一个详细的了解。
11 ADSP-21535的内存管理ADSP-21535的内存管理
21535的内存管理十分强大。它把存储器视为一个统一的4GB的地址空间,使用32位地址。所有的资源,包括内
部存储器、外部存储器、PCI地址空间和I/O控制寄存器,都具有独立的地址空间。此地址空间的各部分存储器按照分级
结构排列,以提供较高的性能价格比。一些快速、低延迟的存储器(如L1)的位置接近处理器核心,而低成本低性能的存储
器远离核心。 芯片内部的308KB RAM中,其中L1(一级缓存)52KB,L2(二级缓存)256KB;外部地址
访问空间可以高达768MB,通过EBIU(External Bus Interface Unit,外部总线接口单
元)进行管理。EBIU支持多种内存,如SDRAM、SRAM、ROM、EPROM、FLASH、FIFO等。内存地
址的具体配置空间如图1所示。
L1作为DSP的一级缓存,可以与DSP的内核一样,运行在300Mbps的高速上。它分为三部分:16KB的Ins
truction Ram(指令存储器)、,两块16KB的Data Ram(数据存储器)、4KB的Scratchp
ad Ram(中间结果缓存)。指令存储器既可以作为SRAM,也可以配置为4路联合设置的Cache。数据存储器能
够配置成双路联合设置的Cache或者SRAM;中间结果缓存只能作为SRAM使用。指令缓存和数据缓存都可以通过D
MA方式灌入数据,但是对于中间结果缓存这种方式不能使用。
L2作为DSP的二级缓存,是一个统一的指令和数据存储器,能够根据系统设计要求同时存放代码和数据。L2具有D
SP核心同样的带宽,但是延迟时间较长,访问L2单个独立的地址时系统需要经过7个周期的延时,这时它的访问速度在4
2.8Mbps左右。所以如果程序比较大,必须在L2中编写程序时,通常将L1配置为L2的Cache,这样,速度可
以大大加快。
21535支持的片外存储器种类很多,值得一提的是它的SDRAM控制器。21535集成的SDRAM控制器能够
以fSCLK(系统时钟,为核心时钟的若干分频)的速度,与多达4个Bank的工业标准SDRAM或者DIMM接口。
每个Bank可以配置为16MB~128MB的存储器,符合PC133 SDRAM的标准。
存储器的DMA控制器提供高带宽的数据传输能力,它能够在内部L1/L2存储器和外部存储器(包括PCI存储空
间)之间执行代码或者数据的块传输。
22 DMA寄存器的配置DMA寄存器的配置
为了描述Mem DMA序列,DMA控制器使用一套名为描述子块(Descriptor)的参数。当需要后继的D
MA序列时,这些描述子块被链接起来。这样,一个DMA序列完成时能够自动初始化下一个序列,并将其启动。如果不需启
动下一个序列,只要将其指向一个内容为0的地址空间即可。如果下一次链接指向原描述子块,则DMA完成后暂停。为访问
整个ADSP-21535的地址空间,源地址和目的地址描述子块采用了全32位地址的基指针。两个描述子块均为5个字
的连续空间,需要注意的是该连续空间必须定义在L2范围内。描述子块内包含的内容如图2所示。