浅谈DSP芯片功能的扩展

时间:2011-09-01

  数字信号处理器(DSP)做某些模拟工作比模拟电路要出色,因此得以生存。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。在某些情况下,由于成本或复杂性的原因,任务甚至不能考虑用模拟电路,DSP仍然是一种可行的选择,在很多情况下可以轻松地完成那些任务。

  这是因为DSP进行算术运算既好又快,如加法和乘法。聪明的数学家和工程师利用了这一实际,通过创造算法来解决主要采用两种数。运算的复杂的信号处理任务。

  如今的DSP芯片不仅仅只是一个的处理引擎。芯片上还集成了存储子系统、高速接口、I/O等等。

  为了更好地理解各种DSP芯片的可用选项以及器件各部分是如何配合作为一个整体,分析当今市场上几种有代表性的DSP是有帮助的。我们将仔细研究单核、单核加微控制器以及多核DSP芯片的例子。

  单核DSP芯片

  认为DSP芯片有一个单DSP核是很自然的,例如,TI的TMS320C6?52(图1)。此芯片是高性能固点DSP的TMS320C6?x+家族的一员,针对工艺密集的多通道电信基础设施和医用成像系统。DSP核只不过是芯片设计的一部分,芯片的其余部分还包括存储器、I/O以及其他功能模块。

TI的TMS320C6?52 www.elecfans.com

  C6?52 DSP集成了组织为两级存储子系统的片上存储器。(L1)程序和数据存储器每个都是32k字节。此存储器可配置为映射RAM、高速缓存,或者两者的某种组合。存储器是单片机的又一个重要组成部分,图6给出了一种存储容量为256个单元的存储器结构示意图。其中每个存储单元对应一个地址,256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00H~FFH)。

  当配置为高速缓存时,L1程序(L1P)是一个直接映射高速缓存,而L1数据(L1D)是一个双向指令集结合高速缓存。二级(L2)存储在程序与数据空间之间共享。L2存储也能配置为映射RAM、高速缓存或者两者的某种组合。设计师可使用片上存储器为其项目增加特色。

  C652还包括两个串行吉比特媒体独立接口(SGMII)以太媒体接入控制(MAC)口和一个吉比特开关。此开关通过自动监控数据流以确保只有一个合适的TI将决策门加到所能的开关上,例如,用来辨别语音和数据通信,以提高多芯片设计的效率。如果DSP全部用于语音处理,就会阻止数据流进入,这样可更有效地使用其处理带宽。

  C6?52上的其他I/O有一个66MHz PCI接口或通用主机端接口(UHPI);一个到外部存储器的双数据率(DDR2)接口;TI开发的串行通信接口VLYNQ;一个16位外部存储器接口(EMIFA);一个多通道通用音频串行口(McASP);以及其他熟悉的接口。

  C652和TI其他几款DSP的是C6x mega模块,其组成包括几个元件:C6x+处理器、L1程序和数据存储控制器、L2存储控制器、内部DMA(IDMA)、中断控制器、中断控制器是CPU功能的一部分,如果他上面有问号,那可能是主板驱动有问题了,重装主板驱动或升级BIOS   IRQ就是一个中断,通过中断,外设可以取得CPU的处理时间。掉电控制器以及外部存储控制器(图2)。Mega模块还支持对L1P、L1D和L2存储器的存储保护。此外还提供mega模块资源的带宽管理。

  模块上的C6x+处理器是一非常快速的DSP,工作速率可达1.2GHz.它采用8个功能模块、两个寄存器文件以及两个数据路径。在这八个功能单元中,有两个是乘法器或者M单元。每个M单元在每个时钟周期执行四次16位×16位乘法-累加(MAC)。

  因此,在C6x+核上,每个周期可执行8次16位×16位MAC.在1.2GHz时钟速率下,每秒钟可发生9600次16位MMAC.此外,C6?x+核的每个乘法器每个时钟周期可计算32位×32位MAC或者四次8位×8位MAC.顺便提一下,C6?52不是以900M的快的速度工作。

  C6x+处理器的新特征有一个令人钟爱的名字SPLOOP.这一小型指令缓冲器有助于创建软件流水线操作环路,在这些环路中并行执行环路的多次迭代。SPLOOP缓冲器减小了有关软件流水线操作的代码大小。缓冲寄存器又称缓冲器,它分输入缓冲器和输出缓冲器两种。前者的作用是将外设送来的数据暂时存放,有了数控缓冲器,就可以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。由于缓冲器接在数据总线上,故必须具有三态输出功能。 另有电梯缓冲器,汽车弹簧缓冲器。

  DSP+微控制器芯片

  另一类DSP在芯片上附加微控制器核。有时,为一个分离的核,如ARM处理器。ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。有的情况下,处理器核同时包含DSP和MCU功能。这种情况就是众所周知的模拟器件公司(ADI)的Blackfin DSP架构。

  Blackfin是基于具有混合16/32型指令集架构的10级RISC MCU/DSP流水线,包括双16位MAC DSP指令和一个32位类似于RISC的指令集。这种组合提供信号处理功能,具有与通用处理器有关的使用方便的特点

  这种处理属性组合使Blackfin处理器与其同类产品不同。他们被设计为在信号处理和控制处理应用方面工作都非常好,在很多情况下,设计中无需独立的异类处理器。Blackfin处理器在单核产品中速率高达756MHz.

  除本地支持8位数据外,8位数据字长是很多像素处理算法常用的,Blackfin架构包括专门定义的指令,用于在视频处理应用中增强性能。例如,"SUM ABSOLUTE DIFFERENCE"指令支持用于视频压缩算法(如MPEG2、MPEG4和JPEG)的运动估算算法。

  这种架构处理多长度指令编码。非常常用的控制型指令被编码为紧凑的16位字,更多算术密集的信号处理指令编码为32位值。处理器将16位控制指令与32位信号处理指令混合并连接成6位组,以使存储器容量化。缓冲和取指令时,内核完全自动挑选总线长度,因为内核没有调整约束。

  所有Blackfin处理器,如ADSP-BF523,都包含独立的DMA控制器,DMA原理:DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。 DMA 传输将数据从一个地址空间复制到另外一个地址空间。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。支持自动数据传输,而对处理器内核的操作压力很小(图3)。DMA传输可发生在内部存储器与许多具备可直接存储器存取(DMA)功能外设的任何部分之间。传输也能发生在外设和接至外部存储器接口的外部器件之间,包括SDRAM控制器和异步存储控制器。

  存储器架构包括L1和L2存储器块。L1存储器直接连接到处理器内核,以全系统时钟速度运行,为时间关键的算法部分提供系统性能。此外,L1存储器也可配置为SRAM、高速缓冲存储器或者两者的组合。SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。SRAM不需要刷新电路即能保存它内部存储的数据。而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。

  通过同时支持SRAM和高速缓冲存储器编程模型,系统设计师可分配关键的要求高带宽和到SRAM低存取的实时信号处理数据集合,同时在高速缓存中存储"软"实时控制和操作系统(OS)任务。

  每个Blackfin处理器都采用了多种功率节省技术,这些技术都是基于选通时钟内核设计,可以在逐条指令的基础上选择性地降低功能单元功率。

  在这种自约束动态功率管理方案中,可独立控制工作频率和电压,满足当前执行算法的性能要求。大多数Blackfin处理器提供片上内核稳压电路,提供低至0.8V电压工作,特别适合要求电池寿命延长的便携式应用。

  Blackfin处理器可配合多种微控制器型外设,包括10/100Ethernet MAC、UARTs、SPI、CAN控制器、支持脉宽调制(PWM)的定时器、看门狗定时器、实时时钟以及无缝的同步和异步存储控制器。

  多核DSP

  飞思卡尔的MSC8144 DSP就是一个好的多核DSP的例子,MSC8144 DSP是基于该公司的的StarCore技术,即特定的第三代SC3400 DSP内核。

  这种芯片集成了4个DSP子系统。每个子系统内都有SC3400 DSP内核、16k字节L1指令高速缓存、32k字节L1数据高速缓存、存储器管理单元(MMU)、扩展的可编程中断控制器(EPIC)以及两个通用32位定时器。子系统支持调试和整形,具有低功率"等待"和"停止"处理模式。每个DSP内核运行速率高达1GHz,因此此芯片的性能与4GHz单核DSP的性能相当。

  MSC8144还包含该公司的QUICC引擎技术子系统,包括两个RISC处理器、48k字节多主机RAM以及48k字节指令RAM.这种子系统支持三个通信控制器,具有一种异步传输模式(ATM)和两个吉比以太网接口。以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。

  ATM控制器在UTOPIA/PO模式下以25/50MHz支持UTOPIA II级8/16位,适应层支持AAL0、AAL2和AAL5.两个以太网控制器仅使用一个1000Mbit/s数据率4引脚串行器/并行器(SERDES)接口,通过MII/RMII/SMII/RGMII/SGMII和SGMII协议即可支持10/100/1000Mbit/s工作。

  与前面提到过的DSP芯片一样,这种芯片的DSP和QUICC子系统的外围有存储器、接口和I/O.至于存储器,芯片包含128k字节L2共享指令缓存、用于关键数据和临时数据缓冲的512k字节M2存储器、96k字节引导ROM和一个庞大的10M字节128位宽M3存储器。

  芯片上也有DDR和DMA控制器。DDR控制器具有高达200MHz的时钟(400MHz数据率)和16/32位数据总线。以

  一或两个组,支持高达1G字节的DDR1和DDR2.DMA控制器具有16个双向通道,高达1024缓冲描述符和可编程优先权、缓冲器和多路传输结构。

  芯片级判优与开关系统(CLASS)提供处理部件(和其他启动程序)与目标(如M2存储器、DDR SRAM控制器和器件配置控制和状态寄存器)之间的全部的制作非模块化判优。

  MSC8144支持下一代及传统接口,如双吉比以太网、Serial RapidIO互连、UTOPIA、PCI以及分时多路复用(TDM)。

  Serial RapidIO 1×/4×端点符合RapidIO贸易协会的规范1.2.它支持读、写、信息、门铃、入站模式的维护接入以及出站模式的信息和门铃。PCI接口遵守PCI规范修订版2.2,以33或66MHz读写所有PCI地址空间。

  多达8个片上独立的TDM模块提供的特征有可编程字大小(2、4、8或者16位)、基于硬件的A法则/μ法则转换、所有通道的数据率都高达128Mbit/s、与E1、或T1帧调节器无缝接口、与H-MVIP/H.110设备、TSI和编解码器如AC'97的接口能力。编解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压缩属于有损数据压缩。历史上,视频信号是以模拟形式存储在磁带上的。随着Compact Disc的出现并进入市场,音频信号以数字化方式进行存储,视频信号也开始使用数字化格式,一些相关技术也开始随之发展起来。

  由于有多核架构和下一代及传统接口,MSC8144DSP非常适合大容量基础设施应用。包括三用(语音、视频和数据)业务、通过载波分类/企业语音互联网协议(VoIP)媒体网关设备、视频会议设备以及WCDMA和WiMAX基站。


  
上一篇:浅谈嵌入式系统的高可用性
下一篇:浅谈相变存储器--非易失性计算机存储器技术

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料