为网络多媒体应用挑选数字信号处理器(DSP)是一项非常复杂的工作。首先,要结合当前和近期行业接口的需求,全面地分析处理器的内核结构和外围设备。其次,至关重要的一点是应理解多媒体数据(例如视频、图像、音频和信息包数据)如何流过基于DSP的系统,以防止出现带宽瓶颈。此外,还应该了解掌握各种系统特性(包括DMA和存储器访问等),这些能够直接影响系统的好坏。
网络多媒体应选用的处理器是由方案中设计的性能和连通性的要求来决定的。许多应用系统既使用MCU,也使用DSP;MCU为系统提供控制功能,而DSP则为系统进行密集的数学计算。如今,这些截然不同的功能已经被集中到了同一个处理器中,ADI公司的Blackfin系列数字信号处理器就是此类产品。这种类型的器件在一个单一的结构中,具备控制代码密度和密集的信号处理能力,同时还有一系列全面的、用于多媒体连接的外围装置。
在选择DSP时,系统设计人员首先应该进行的分析包括:每秒执行指令数、每个处理器时钟周期内操作完成数和运算单元的效率。可以通过运行DSP内一组典型的基准程序(例如视频和音频压缩算法)对DSP性能进行评定。其结果将显示出"实时"处理需求是否超出了DSP的处理能力,同时还可以显示出该处理器是否具有足够的能力,满足新的或正在开发的系统需求。许多标准基准程序都假定被处理的数据已经存在于内部存储器中。利用这项技术可以对不同供应商的DSP进行更加直接的比较,只要设计人员对I/O的调节事项做单独考虑。
合理的外围设备集成可以节约时间和资金,因为这样就不必为设备添加支持所需接口的外部线路。网络多媒体装置(NMD)是从各种标准外围设备中选取出来的。其突出的一点当然是对于网络接口的连通性。在有线应用系统中,以太网(IEEE
802.3)是组建有线局域网最多选用的技术。而IEEE802.11a/b/g正逐步成为最主要的无线LAN技术。许多以太网解决方案成为DSP的直接外延。此外,对于那些能够支持MCU功能的DSP,同样也能管理TCP/IP堆栈。
为了将数字信号处理器连接到多媒体系统环境,采用同步和异步的串行端口也是必不可少的。在NMD系统中,音频编译码器数据一般通过同步的8-32位串行端口传送,而音频和视频编解码器控制通道则通过速度更慢的接口管理,如SPI或二线串行接口。此外,UART支持RS-232调制解调器,也支持用于过程红外数据传输的IrDA功能。
许多数字信号处理器提供了一种通用接口,如PCI或USB接口,因为它们可以通过外部芯片(如PCI至IDE,USB至802.11b等)桥接几种不同类型的装置。PCI所具备的特别有利之处在于它提供了一条单独的内部总线,允许PCI总线控制器从DSP发送或收回数据,而不会使DSP内核或其它外围设备负担过重。另外,适合于NMD市场的DSP包括一个外部存储接口,它既能提供异步存储控制器,也能提供SDRAM存储控制器。异步存储接口易于连接FLASH、EEPROM和外围桥接芯片,而SDRAM则为处理大计算量的数据帧提供必要的存储。
一种新型的应用于Blackfin型数字信号处理器的外围接口叫并行外围接口(PPI)。这种端口既能够解码ITU-R-656数据,又能为高速A/D和D/A转换器或ITU-R-601视频流起到通用8-16位I/O端口的作用。该接口支持端口直接连接到LCD面板。其另外的特征还有,能够减少系统成本并在系统内改进数据流。例如,PPI可以连接视频解码器并自动地将那些不是有效的视频信息忽略不计,使NTSC输入视频通量速率从27MB/s降低至20MB/s,从而大幅减少了需用于处理视频信号的片外存储器数量。
系统数据流
在为NMD设计最终决定DSP的选择之前,了解系统标准数据流并掌握数据流怎样才能在DSP上实现是必不可少的环节。尤其是处理器数据的输入和输出能否跟上数据和信号的处理速度?能够确保处理器的数据及时输入吗?在指定的处理间隔期间,能否按照需要对数据进行存取?对于基于网络的多媒体系统这些问题是至关重要的,此类系统自身不能进行高效地算法运算,数字信号处理器也必须处理所有双向系统数据流。
以一个安全系统为例,NTSC摄像机将视频和音频以大约20MB/s传入数字信号处理器,经过压缩并以超过100MB/s的以太网连接速率发送出去,由远程磁盘驱动器进行存储和归档。此外,未经过压缩的视频则从数字信号处理器发送到本地显示器(如LCD或监视器)。由于视频存储的需求远远超出片上存储器容量,因此必须将数据进行分级,并通过一些如SDRAM等大容量的片外存储器来完成操作。
由于许多视频压缩算法每次同时在同一数据块上运行,每块(例如16x16的象素"巨型块")数据在必要时可以从外部存储器调入。一些算法需要多路图像或视频画面来完成其想要进行的数据处理,从而导致多路双向数据在内部存储器和外部存储器之间进行传送。往往当一个输入缓冲器流入SDRAM时,DSP内核同时在先前的缓冲器里压缩数据。很可能使这些缓冲器在SDRAM内部时处于不同的页中。除非DSP允许每次打开一个以上的SDRAM页,否则将导致代价极高的延迟。
该安全系统的情形真实的描述出为了支持网络多媒体应用,几个子系统之间必须达到的惊人的数据传输速率。在上述的例子中,至少有5组数据同时发生了转移。当考虑到整个数据流时,仅仅简单地检验通过系统的总字节传输量没有超过DSP的理论带宽(通过改变总线宽度增加总线速度得到)是不够的。例如,在采用高内核时钟频率的某些部分,内核处理器和外围设备之间的总线运行速率通常为133MHz。由于总线为32位,其通过量理论上接近532
MB/s。而事实上,只有在仅进行一项传送且没有其它传送任务等待时才能达到总线速率的峰值。当单个外围设备添加到应用系统时,必须都要符合内部的DSP带宽。系统设计人员通常采取假定内部带宽只有50%可以利用的方法处理判定延迟。
有一点很明显,适合于NMD应用的DSP必须拥有独立于核心处理器的直接存储器存取(DMA)引擎。即DMA可用信道的总数必须能够支持众多的外围设备。另外,在进行MPEG或JPEG这类运算密集型算法时,灵活的DMA控制器可用于保存多余的数据。例如,数据能够通过多种方式在存储器系统和外围设备之间进行传送。而且,具有二维DMA性能的DSP可以使大数据块更方便地在外部存储器来回传送,并允许数据处理作为实际传送的一部分。这对于视频和图像数据的色彩空间成分的交叉/不交叉非常方便,因为不必在数据处理之前进行额外数据移动。要使DMA的效益最大化,应该使用优先中断控制器以确保其内核仅在准备处理数据时或处理完的数据已成功地转出时才被中断。
现在应该很清楚了,为网络多媒体应用选择适当的处理器是一项至关重要和复杂的工作。无论如何,在选择DSP的最初阶段应考虑到系统级的问题,设计人员不能只保证系统可以处理应用目前的数据流,而且要确保处理器的处理能力以及外围设备的连接能够随着网络和多媒体标准的发展进行不断的升级。
|