当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:针对ADSP-21535 Blackfin 的Mem DMA 高速通信中的关键技术进行了讨论,分析了系统的内存管理,对DMA的相关寄存器的配置进行了详细讲解,并给出了具体实例。对多种内存之间的DMA列出了实际的指标评测,为该系列

摘要:针对ADSP-21535 Blackfin 的Mem DMA 高速通信中的关键技术进行了讨论,分析了系统的内存管理,对DMA的相关寄存器的配置进行了详细讲解,并给出了具体实例。对多种内存之间的DMA列出了实际的指标评测,为该系列DSP工程应用的高速通信设计提供了重要参考。 关键词: ADSP-21535, Blackfin Mem DMA ADSP-21535 Blackfin 是美国AD公司和Intel 公司于2001年底联合推出的一款定点DSP, RISC指令结构,运作高效,具有十分优异的性能。该DSP具有300MHz的主频,2个40bit的MAC(乘加器)和2个32bit的ALU(算术逻辑单元),4个8bit的视频处理单元,16个地址寻址单元。该DSP内部集成了308KB的RAM,并具有丰富的外部接口,如PCI、USB、SPI、同步和异步串口等。同时,芯片内部设计了看门狗和多种定时器,充分满足软件工程稳定性的设计要求。值得一提的是,21535可以动态地控制电压输入,调整运行频率,减少芯片功耗,十分适用于移动产品的设计。


2002年底,AD公司在中国开始大规模推广Blackfin系列的DSP,21535成为该系列的旗舰产品。由于该DSP推出时间不长,相关文献几乎没有报道;而且,在许多接口性能方面,AD公司也没有对其给出准确的指标。根据通常的设计经验可知,新产品通常在某些方面没有达到设计要求。笔者所设计的高速通信板数据交换速度必须达20M Word/s以上,因此对该DSP的高速通信必须进行准确仔细的评估和设计。 ADSP-21535的内存访问支持I/O方式、内存映射和多种DMA方式,其中Mem DMA(Memory to memory DMA)方式是最快的一种并行通信方式。因此,笔者在设计时选择了Mem DMA作为高速通信方式。由于21535支持多种内存,因此在设计Mem DMA时,必须对21535的内存管理有一个详细的了解。 1 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的Instruction Ram(指令存储器)、,两块16KB的Data Ram(数据存储器)、4KB的Scratchpad Ram(中间结果缓存)。指令存储器既可以作为SRAM,也可以配置为4路联合设置的Cache。数据存储器能够配置成双路联合设置的Cache或者SRAM;中间结果缓存只能作为SRAM使用。指令缓存和数据缓存都可以通过DMA方式灌入数据,但是对于中间结果缓存这种方式不能使用。 L2作为DSP的二级缓存,是一个统一的指令和数据存储器,能够根据系统设计要求同时存放代码和数据。L2具有DSP核心同样的带宽,但是延迟时间较长,访问L2单个独立的地址时系统需要经过7个周期的延时,这时它的访问速度在42.8Mbps左右。所以如果程序比较大,必须在L2中编写程序时,通常将L1配置为L2的Cache,这样,速度可以大大加快。 21535支持的片外存储器种类很多,值得一提的是它的SDRAM控制器。21535集成的SDRAM控制器能够以fSCLK(系统时钟,为核心时钟的若干分频)的速度,与多达4个Bank的工业标准SDRAM或者DIMM接口。每个Bank可以配置为16MB~128MB的存储器,符合PC133 SDRAM的标准。 存储器的DMA控制器提供高带宽的数据传输能力,它能够在内部L1/L2存储器和外部存储器(包括PCI存储空间)之间执行代码或者数据的块传输。


2 DMA寄存器的配置 为了描述Mem DMA序列,DMA控制器使用一套名为描述子块(Descriptor)的参数。当需要后继的DMA序列时,这些描述子块被链接起来。这样,一个DMA序列完成时能够自动初始化下一个序列,并将其启动。如果不需启动下一个序列,只要将其指向一个内容为0的地址空间即可。如果下一次链接指向原描述子块,则DMA完成后暂停。为访问整个ADSP-21535的地址空间,源地址和目的地址描述子块采用了全32位地址的基指针。两个描述子块均为5个字的连续空间,需要注意的是该连续空间必须定义在L2范围内。描述子块内包含的内容如图2所示。 Mem DMA规定,描述子块所在的首地址必须传入相关的寄存器。描述子块首地址的高16位装入DMA_DBP寄存器(DMA Descriptor Base Pointer Register,DMA描述子块基地址寄存器)内。由于该寄存器严格限定必须在0xF000~0xF003,这就限定了源和目的地址描述子块只能定义在L2存储器内,并且高16位地址相同。 描述子块首地址的低16位放在两个寄存器中,源地址描述子块低16位装入MDS_DND寄存器(Source Memory DMA Next Descriptor Pointer Register,DMA源地址下一个描述子块寄存器),而目的地址描述子块低16位装入MDD_DND寄存器(Destination Memory DMA Next Descriptor Pointer Register,DMA目的地址下一个描述子块寄存器)。其说明如图3所示。 在描述子块的地址传入相应寄存器后,后面的四项先配置,然后设置第一项。也就是对管理DMA启动参数的寄存器进行参数配置。两个配置寄存器的详细内容如图4所示。例如当目的地址寄存器为0x8003,源地址寄存器为0x8001时,传输的数据总长=DMA传输的长度%26;#215;字。需要注意的是,虽然此时传输以16位(字长)传输,但DMA的带宽是32位,剩下的带宽资源将被浪费。8位传输时,带宽资源利用率更低。 下面,以一个具体的32位DMA例子说明上面的描述子块和多个寄存器的使用方法。 图4 DMA源地址和目的地址配置寄存器 3 32位DMA的例程 R0.H = 0x8009? //DMA源配置字,设置为32位传输 R0.L = 0x800? //DMA长度 R1.L = 0x2000? //DMA源地址低16位 R1.H = 0xf000? //DMA源地址高16位,这里指向L2 R2.L = RAM_READ? //DMA源描述子块首地址 低十六位,DMA读 R2.H = 0x800b? //DMA目的配置字,设置为32位传输 R3.L =0x0000? //DMA目的地址低16位 R3.H =0xff90? //DMA目的地址高16位,这里指向 L1数据存储器-Bank B R4.L = RAM_WRITE? //DMA目的描述子块首地址低 十六位,DMA写 P0.L = RAM_READ? //将32位的源描述子块的地址 载入P0 P0.H = RAM_READ? P1.L = RAM_WRITE? //将32位的目的描述子块的地 址载入P1 P1.H = RAM_WRITE? W?P0+0x2? = R0? //将DMA长度写入源描述块第 二个字中 ?P0+0x4? = R1? //将DMA的32位源起始地址 写入源描述块第三第四个字中 W?P0+0x8? = R2.L? //将下一个源描述子块的地址 写入源描述块第五个字中 W?P1+0x2? = R0? //将DMA长度写入目的描述块 第二个字中 ?P1+0x4? = R3? //将DMA的32位目的起始地址 写入目的描述块第三第四个字中 W?P1+0x8? = R4? //将下一个目的描述子块的地 址写入目的描述块第五个字中 W?P0? = R0.H? //将DMA源配置字写入源描述 块第一个字中 W?P1? = R2.H? //将DMA目的配置字写入目的 描述块第一个字中 R6 = P0? //将P0的值同时存在R6内 P2.L = 0x390A? //将DMA源描述子块配置寄存 器的地址传给P2 P2.H = 0xFFC0? W?P2? = R6.L? //将DMA源描述子块所在地址 的低16位传给P2指向的地方 P3.L = 0x4880? //将描述子块基地址寄存器的 地址传给P3 P3.H = 0xFFC0? W?P3? = R6.H? //将DMA源描述子块所在地址 的高16位传给基地址寄存器 P4.L = 0x380A? P4.H = 0xFFC0? //将DMA目的描述子块配置寄 存器的地址传给P4 R6 = P1? //将P1的值转存到R6 W?P4? = R6.L? //将目的描述子块所在地址的 低16位传给配置目的地址寄存器 P5.L = 0x3902 P5.H = 0xFFC0? //将DMA源地址配置寄存器所 在地址传给P5 R6 = W?P5?? BITSET?R6?0? //设置R6的最低位为1,表示 准备启动读DMA I0.L = 0x3802? I0.H = 0xFFC0? //将DMA目的地址配置寄存器 的地址传给I0 R7.L = W?I0?? BITSET?R7?0? //设置R7的最低位为1,表示 准备启动写DMA W?P5? = R6? //将R6和R7的低16位写入 两个配置寄存器中,真正启动DMA W?I0? = R7.L? DMA_WAIT? //等待DMA结束 R6 = W?P1?? //根据写描述子块第一个字的 最高位判断描述子块的所有权 cc = bittst?R6?15? IF cc JUMP DMA_WAIT? //如果为1,表示还在DMA 状态,继续判断,等待 RTS? .align 4? //在L2空间范围内定义两个 描述子块,要求4个字节对齐 .BYTE2 RAM_READ?5?? .align 4? .BYTE2 RAM_WRITE?5?? 值得注意的是,在上述DMA例程中,笔者使用了查询等待方式,但中间完全可以插入其他指令,例如DSP还可以同时作双乘加和两次32位取数。只要不访问正在DMA读写的地址区域,没有任何影响。这意味着,在系统DMA的同时,DSP可以同时进行其他操作,这一点对于提高DSP的效率至关重要。 4 各种内存空间的DMA访问指标测试及分析 根据以上配置,笔者对ADSP-21535的DMA性能进行了比较详尽的测试。测试数据如表1所示。 表1 21535的DMA实测数据 源地址目的地址 DMA长度(双字)周期数(个)速度(双字/秒) L2 L1 4096 43615 28.2M L2 SDRAM 8192 54878 44.8M L2 L2 8192 66737 36.8M L1 L1 4096 64164 19.1M L1 SDRAM 4096 39891 30.8M L1 L2 4096 52661 23.3M SDRAM L1 4096 28625 42.9M SDRAM SDRAM 4096 65668 18.7M SDRAM L2 8192 52314 46.9M 注:测试环境-DSP核心时钟300MHz,系统时钟120MHz,SDRAM为PC133标准。样本采样:各15次 从表1中的实测数据可以看出,DMA的速度均在18.7M双字/秒以上,最高速度达46.9M双字/秒,可以满足工程中高速采集的需要。从表中数据可以得出以下结论: (1)DMA双向速度不对称,将源地址和目的地址交换后,速度会发生变化; (2)低速向高速区域传输时,要比反向传输快; (3)同类区域DMA一般比区域之间DMA要慢。如L1 DMA到L1,比L1 DMA到L2和SDRAM都要慢一些。其它区域也有类似现象。 (4)高速区域DMA速度并不一定快,如L1区域DMA速度总体表现反而最低。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭