首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年12月26日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
采用TigerSHARC DSP开发实时信号处理平台

Developing Real-time Signal Processing Platform With TigerSHARC DSP

■ ADI公司


TigerSHARC处理器TS201/2/3产品特性

TS20X系列处理器的基本特性包括:600MHz主频下每次可进行48亿次16bit定点全累加操作,或者每秒可进行12亿次32bit浮点全累加操作。在25mm 25mm的封装内通过先进的eDRAM技术提供了4/12/24Mbit的弹性内部存储器密度。此外,I/O端口LinkPort和ClusterBus具有5GByte/s的吞吐能力,并可提供多处理器之间的无缝互连。

TS201系列的几款DSP的代码和管脚都兼容,它内置有针对无线通信的扩编解扩、信道编解码等通信逻辑单元。TS202、TS203则有不同的内部存储器和I/O配置,用户可根据不同系统的需求进行选择。

图1为TigerSHARC处理器内部结构图。TS201为通信处理单元CLU提供了专门的指令集,用于无线通信、软件无线电的实现。4路128bit位宽的片内总线在600MHz时钟下,可与内部存储器之间提供带宽高达38.4MBytes/s的传输速率。24Mbit的内部存储器适合于单处理器解决方案,避免了外扩存储器带来的设计问题。I/O处理器提供14条零开销DMA通道,使得TigerSHARC具有传递、装载大量数据的性能。

图1 TigerSHARC处理器内部结构图(略)

TigerSHARC DSP一直坚持了平稳结构体系的发展目标,关注于内核性能、内部存储器大小和外部I/O吞吐能力的协调统一,从而为用户带来了稳定而高性价比的系统设计。

TigerSHARC的多处理架构对于很多不同的应用极具吸引力。TigerSHARC稳定的内核、存储器、I/O间的平衡体系,以及其完整的多处理体系,都能为客户实现低功耗、小尺寸的高性能系统提供了可能。


系统平台的建立

TigerSHARC多处理器接口资源分为链路口(Link Port)和并行总线/簇总线(Cluster Bus)。

一个多级DSP互连的例子是在各个DSP之间采用链路口连接,数据按照流水线方式从DSP1流向DSPx。处理完成后再将数据输出到下一级的信号处理模块。每个链路口都配有一组flag IRQ的握手信号。链路口组成多DSP平台的特点:

(1)其最大优势是结构简单,传输可靠,而且其数据传输速率与由Cluster Bus组成的系统不相上下。

(2)链路口传输时数据的共享性不如总线形式,这种结构方式特别适用于实时信号处理的场合。例如,一个信号处理机的各功能模块间数据是采用流水线方式进行处理的,先进行脉冲压缩然后再进行自适应滤波,这时各DSP之间采用链路口方式进行连接和实现信号处理是最合适的方式。

在并行总线方面,TigerSHARC提供完整的存储器接口、多处理器接口和主机接口,基于并行总线,至多8个TigerSHARC一起构成的多处理器系统在一个整体地址空间内,可以方便地实现整个多处理器系统的资源共享。

TigerSHARC并行总线的最大特点是其无缝连接能力。无论是SRAM、SDRAM还是多处理器连接,用户只需要按照芯片提供的管脚对应连接,不必做更多的工作。图2中,4个DSP可以共享SDRAM资源和其他各DSP内部存储器资源。各个DSP与SDRAM、FPGA的总线接口都是无缝连接的,从而做到了资源共享和并行分布式处理,提高了数据传输速率。

图2 平行总线多处理器系统结构图(略)


多DSP系统设计中的功能划分

多处理器系统要求将系统处理功能分解到各个DSP内完成,系统功能划分是一个重要的问题。以图3所示的信号处理机为例,当对16个周期的同一距离单元数据作动目标检测时,会产生16个输出。图中将信号处理功能分解成功能模块,由各个DSP来完成。功能划分的合理与否将直接影响到系统的实时性、接口复杂性和系统成本。

图3 系统功能划分(略)

概括来讲,系统功能的划分方式应由系统的处理方式来确立。图3的例子中,由于处理功能是先进行脉冲压缩再进行杂波对销,然后进行相参积累,最后才是恒虚警,故DSP功能的分割也是按照流水线先后顺序分配到各个DSP的。它的特点是前一个处理模块的输出数据是后一个处理模块待处理的输入数据。多DSP处理系统中,处理器功能划分应遵循以下准则:

(1)每个DSP的功能应当尽可能相对独立,使DSP内部处理程序相对简单;

(2)每个DSP的运算应当尽可能均衡,这样不会造成处理瓶颈;

(3)DSP之间的数据传输量应当尽可能少,即DSP之间的数据接口尽可能简单;

(4)多DSP系统内DSP间的数据传输方式,可以优先选用链路口方式,其次是并行总线的DMA方式,最后才是内核指令方式。
需要特别提醒的一点是,在给每个DSP分配任务时要留有一定的余地。


设计应用实例

图4是WiMAX无线基站的物理层信号处理框图,其中绿色部分在TigerSHARC中实现,蓝色部分可在TigerSHARC或FPGA中实现,根据用户的实际系统规格进行选择。目前单片TS201可以支持载波宽度为365MHz的基带信号处理。

图4 WiMAX无线基站的物理层信号处理框图(略)

图5 彩色和黑白超声波系统平台(略)

图5是一个支持彩色和黑白超声波系统的统一平台,蓝色部分的数据处理由两片TigerSHARC负责,对于彩超系统,一片TigerSHARC负责D和B模式,另一片负责处理F模式。对于黑白超系统,只有D和B模式,一片DSP即可满足需求。

ADI公司提供EZLITE TS201评估板的详细规格。西安睿德信号处理技术有限公司为ADI提供第三方解决方案,该公司提供基于4片TS201的商用视频信号处理板,用于视频弱小目标检测;此外还提供基于3片TS101的商用音频信号处理板。


问答选编


问:和PowerPC相比,TigerSHARC指令系统有何独到之处?

答:TS可以支持RISC和VLIW,其并行度很高,因此在 进行信号处理时,速度比PowerPC快。同时TS可 以支持定点和浮点处理器。一般情况下,PowerPC 用于协议栈处理比较多。

问:怎样才能避免在传输数据时产生瓶颈现象?

答:注意对外部总线的布线,以保证信号的质量;使用 Link口进行高速的片间数据传输;合理设计和分配 算法,减少各DSP间的数据交换量。

问:在功能分配时,每个DSP任务应该要留有多大 的余地才合适?有无定量的算法?

答:DSP要留的余地很难有一个统一的标准,一般建 议客户应该留出30%左右的余量,当然还取决于 你们的算法。

问:在视频应用中,Blackfin 与TigerSHARC哪个更适合?

答:它们都可以用于视频处理。Blackfin更适合用于终端和手持设备,而TigerSHARC则适合于局端设 备,如大数据量的编解码。

问:我们开发了一块 4个ADSP TS-201通过Link口连 接的板子,其中一个DSP接了Flash来启动,其 他3个DSP由Link口启动,请问如何做整个系统 中4个DSP的启动程序?

答:主DSP设置成EPROM加载,生成加载文件,烧 Flash。其他DSP设置成LP加载,分别生成加载 文件(Text文件),当作.h文件include到主DSP程 序中,由主DSP在上电后通过LP加载到从DSP。

问:在使用多片ADSPTS101或ADSPTS201时,如何和 CPCI总线接口,采用何种接口芯片?是否可提 供具体的技术途径?

答:现在我们没有专门的芯片提供Cluster Bus 到 PCI 的转换,一般客户可以通过FPGA实现,Xilinx/Altera 可以提供PCI的IP core,或者可以购买第三方现 成的ASIC芯片(如Bittware)。

问:我在进行两个DSP之间链路口传输时,设置了收 方的口中断,在LBUFRx为满和DMA没有设置的 情况下,却不能响应相应的链路口中断,这是为 什么?

答:请查一下ILAT寄存器中相应中断的标志位是否被置成1。

问:在TS101中,如何处理DMA传送?是否应该先开中断,后在中断响应中就关中断,然后再开中断? 是否只要设置TCB寄存器即可?

答:DMA传输是通过设置TCB实现的,在TCB中可以设置是否使用中断,中断响应中可以选择是否屏 蔽其他中断。所有这些选择都是可编程的。

问:主机在给TigerSharc内部存储器写数据的时候,此时的TigerSharc是不是被看成一块RAM,只要 满足主机口的时序就可以了?

答:对,需要将数据和程序写入到Tigersharc的主机地址空间即可。

问:怎么用ADSP的外部内存?

答:外部存储器如果不大的话,可以采用SRAM,直接连接到总线上。如果需要的容量较大,可以采 用SDRAM,直接连接到SDRAM接口,在使用前, DSP应当进行相应的SDRAM控制设置 。

问:在使用TS203的时候,SDRAM控制器是否只最大支持32MB的单片16位总线SDRAM?

答:TS203每个Bank可以支持64Mword的SDRAM,总共4个Bank。你可以用2片/4片16bit的SDRAM 拼成32/64bit的总线。

问:如何在TS201上实现网络功能?采用什么芯片?协议要自己实现吗?TS201有无Vxworks的解决 方案 ?

答:TS201本身不支持网口,因此客户必须通过 FPGA 把网络数据通过Cluster BUS或Linkport传给TS201。 建议采用网络处理器(NP)与TS201共同处理。
TS201本身没有TCP/IP的协议栈,且不支持Vxworks 系统,但是你们可以参考OSE或Vspworks操作 系统。

问:在图像压缩方面由于需要对图像做出变换,常常需要把整幅图像读入片内内存,存储空间还是不够。除了修改算法,还有没有什么好的解决方 案?

答:建议你们在DSP建立一个pingpong buffer,这样 DSP在处理一部分数据的时候,可以用DMA方 式从外部读入另外一部分数据,以便于DSP下一 个数据块的处理。

问:我们是做B超的,需把采样的数据(约128KByte)经过插值等处理转化为(256 KByte)实时视频,是否可行?

答:TS201可以实现这种插值处理,我们已经有客户实现了此功能。

问:TS201方便组成多DSP系统,如4片或8片系统,是否有成熟的供电方案?多片TigerSHARC系统 中,采用Link口启动是否需要增加其他的控制逻辑?

答:建议每个DSP芯片采用单片的电源芯片进行供 电,VDD、VDD_A可以由一个单独的电源芯片供电 (例如TI公司的TPS54350),供电电流相对大一 点。4片VDD_DRAM可以由一个电源芯片统一供电,VDD_IO也同样处理。需要指出的是VDD_A需要 单独进行电源滤波处理。
多片TigerSHARC系统中,采用Link口启动不需要 增加其他的控制。

问:多个DSP系统的供电如何解决?

答:一般采用二次电源管理方案,尽量使得每个DSP 电源进行单独管理,然后将每个DSP的电源管理 芯片再进行统一管理 。

问:TigerSHARC系列芯片是否具有电源管理模块,能 否作为嵌入式平台的核心处理器?

答:TS不支持电源管理。由于DSP本身的特点,不 太适合做核心处理器。

问:MCU在TS201上电时用GPIO来控制,例如 SCLKRAT0-2等,是否可以直接使用3.3VIO来控 制?需要限流电阻吗?

答:不建议这样使用,TS外围配置管脚应该采用固 定的设置,如果你想改变设置,应该通过改变外 部的上下拉电阻来实现。

问:TigerSHARC处理器可以运行哪些实时操作系统?

答:OSE、VSP和VDK。

问:除C以外,TS还可以用其他的程序语言么?

答:可以使用C++和汇编语言。我们推荐使用C和 汇编。

问:AD的DSP 开发环境是什么?如何得到?有没有 高端DSP 的开发板?

答:ADI的DSP开发环境是VisualDSP++,现在的版 本是4.0。您可以从我们的网站www.analog.com 去下载测试版本,也可以和我们的授权代理商联 系。
我们提供DSP的开发评估板,名为EZ-LITE,具体 信息可以从www.analog.com/tigersharc获得。

问:用TS101的评估板仿真时,复位后发现寄存器 SYSCOM为0x1A79E7,并不是手册上给出的 0x279E7,并且无法修改。SDRCON为0x5223,并 不是0x0,也无法修改。这是为什么?

答:这是因为TS101的SYSCON的默认值确实是手册 上的0x279E7,但在进入VDSP环境时,它会对 TS101的SYSCON进行了一次初始化,初始化的 默认值为0x1A79E7。由于SYSCON只能在加电 后被写一次,所以在这种情况下您无法修改它。 您需要在VisualDSP++configurator中定义的plat form的device的属性中以及VDSP菜单中的target option取消这个初始化选项。

2005GEC.7
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com