为网络多媒体应用挑选一种DSP是一件很复杂的工作。首先必须对处理器的内核架构和外围配置进行全面的分析,要通盘考虑当前和短期内行业接口的需求;其次,理解多媒体数据流(例如,视频、图像、音频和分组数据)如何在一个基于DSP的系统中传输十分重要,以便预防带宽瓶颈;此外,了解各种系统特性(包括DMA和存储器存取)也很有帮助,这能使设计方案稳定可靠,而不只是勉强合格。
网络多媒体处理器的选择取决于一项设计对性能和连接性的要求。许多应用既需要MCU也需要DSP:MCU提供系统的控制功能,DSP完成密集的数值计算。如今,这些截然不同的功能可以整合入单个处理器中,如模拟器件公司的Blackfin系列DSP芯片。这种器件在单一架构内执行充分的控制功能和繁重的信号处理任务,同时还提供适合多媒体连接的各种外围接口。
系统设计师在选择DSP时首先应该分析的要素包括:每秒执行的指令数;每一处理器时钟周期内完成的操作数;运算单元的效率。在待评估的DSP上运行一组有代表性的基准测试程序(如音频/视频压缩算法),就可完成这些指标的评估。
评判结果将指示出系统的“实时”处理要求是否超出了该DSP的能力,而且同样重要的是,该DSP是否有足够的性能去应对系统新增的或不断演变发展的需求。许多标准的基准测试程序假设待处理的数据已经驻留在DSP片内存储器中。只要设计师逐个协调好I/O设计考虑,采用这种方法就能对不同厂家的DSP进行更直接的比较。
合适的外围端口组合省去了支持所需接口的外部电路,从而减少了开发时间和成本。网络多媒体设备(NMD)可带有各种各样的标准外围。当然,这其中最重要的是同网络接口的连接。在有线应用中,以太网(IEEE 802.3)是在局域网上实现联网的最普遍选择;而IEEE 802.11b/a正在成为实现无线局域网连接的首选方案。作为DSP的直接延伸,现在有许多以太网解决方案可供选用。另外,对于也能很好地支持微处理器功能的DSP来说,也可用于直接管理TCP/IP堆栈。
同步和异步(UART)串行端口也是连接DSP与多媒体系统环境所必需的。在网络多媒体设备系统中,音频编码数据一般通过8到32位的同步串行端口传输;而音/视频编解码控制通道则是通过更慢的串行接口来管理,如SPI或两线式接口。此外,UART支持RS-232调制解调器,也能支持用于近距离红外传输的IrDATM。
许多DSP提供PCI或USB这样的通用接口,因为这样就能通过外围芯片桥接不同类型的设备,例如PCI到IDE、USB到802.11b等。PCI还具有提供一条单独内部总线的优点,这使得PCI总线主控器无需通过DSP内核或其它外围单元就能向DSP存储器发送或读取数据。此外,适于网络多媒体设备市场的DSP应包括一个外部存储器接口,以便充当异步和SDRAM存储器控制器。
异步存储器接口简化了与闪存、EEPROM和外围桥接芯片的连接,而SDRAM为针对大容量数据帧的高密度计算提供了必需的存储空间。
一种刚刚出现在高性能DSP中的新型端口就是并行外设接口(PPI)。该接口既可无缝地解码ITU-R-656数据,又可充当一个用于高速A/D和D/A转换器或ITU-R-601视频流的8到16位通用I/O端口。它还可支持一个与液晶面板的直接连接。DSP上现有的其它功能也有助于降低系统成本并改善系统内的数据流通状况。例如,PPI可以连到视频解码器,进而自动忽略除有效视频信息之外的所有数据,使得NTSC制式的输入视频流速率从27MBps有效地降低到20MBps,从而极大减少了处理视频信息所需的片外存储器容量。
系统数据流
在为网络多媒体设备设计最终选定一种DSP之前,还必须了解系统级的数据流状况以及此数据流如何在DSP上的实现。
具体来说,进出处理器的数据是否跟得上数据和信号的处理速度?处理器是否一直有数据输入供处理?对于任意给定的处理间隔,是否可以根据需要存取数据?这些问题对以网络为中心的多媒体系统来说至关重要,因为在这类系统中单靠有效地运行算法是不够的,DSP还必须处理完整的双向系统数据流。
考虑这样一个安全系统的例子:一台NTSC制式的照相机以20MBps的速率将音视频数据传给DSP,DSP先对其进行压缩,然后通过100M以太网传至远端硬盘进行存储和归档。此外,未经压缩的源视频信号要从该DSP送至本地显示器(如液晶或CRT显示器)。因为视频存储器需求远大于DSP片上存储器的容量,所以视频数据一定要通过像SDRAM这样的大容量外部存储器进行暂存和处理。
由于许多视频压缩算法每次只处理一个数据块,因而每个数据块(如一个16×16点阵“宏块”)能根据需要从外部存储器调入。某些算法因需要多个图像或视频帧来完成要求的处理,所以需要在DSP片内存储器和外部存储器之间进行多次的双向数据传送。通常,在一个输入缓冲器将数据送入SDRAM的同时,DSP内核正在压缩前一个缓冲器中的数据。这些缓冲器很可能处在SDRAM中的不同页。除非DSP能够在同一时间打开不止一个SDRAM页,否则就可能引起代价沉重的延时。
上述安全系统的例子真实描述了为支持网络多媒体应用而在必须在若干子系统之间发生的极大数据传输率,这其中最少有5批同时进行的数据移动。当考虑总的数据流时,仅仅验证通过系统的总字节流量没超过DSP的理论片内带宽(即总线速度×总线宽度)是不够的。例如,对于以高速内核时钟速率运行的部分来说,内核处理器和外围单元之间的总线典型速率是133MHz。
对32位的总线来说,其理论吞吐量可达到532MBps。实际上,当正好只有一个传输被激活而没有其它传输请求被挂起时,这一峰值数才可能达到。因为应用中会连接各种不同的外设,而每一个外设都必然争夺DSP的内部带宽资源。考虑到仲裁延时的影响,系统设计师通常假定只有50%的内部带宽可用。
显而易见,适合网络多媒体应用的DSP必须要有一个独立于内核处理器的DMA引擎。也就是说,可用的DMA通道总数必须能支持多种多样的外设。此外,在诸如MPEG或JPEG处理这样的计算密集型算法中,一个灵活的DMA控制器能节省额外的数据通路。例如,数据能以各种方式在存储器系统和外设之间传输。
进一步来说,具有二维DMA功能的DSP能帮助宏数据块进出外接存储器,使得数据处理成为数据实际传输的一部分。这个特性对于视频和图像数据的色彩空间元素的交织/解交织来说很方便,因为在数据处理前无需进行另外的数据传输。为最大限度地发挥DMA的功效,需要使用一个带优先级的中断控制器,确保仅当待处理的数据已准备好进行处理或者当处理好的数据已成功发送出去时,才中断DSP内核。
很明显,为网络多媒体应用挑选处理器是一项关乎成败而又复杂的工作。在最初的DSP选取阶段,设计师就必须考虑到系统级的有关问题,这不仅能保证现阶段应用数据流的处理,还能保证留有一定的处理器和外设连接冗余,以便随着网络和多媒体标准的发展而同步升级。
[本文来源于:开发板在线商城 <a href='www.demo-board.com' >www.demo-board.com</a>, 原文地址:<a href=http://www.demo-board.com/demoboardbbs/default.aspx?g=posts&t=89>http://www.demo-board.com/demobo ... spx?g=posts&t=89</a> ] |