基于多DSP系统互连方案分析
通过专用互连芯片(Crossbar)实现多DSP互连方案
可以设计一个专用互连芯片(Crossbar)来实现多个DSP、CPU、I/O器件之间的高速互连。图4所示的互连方案提供了一个按照包路由协议进行寻址交换的机制。专用互连芯片(Crossbar)提供多个异步读写FIFO接口,完成到外部器件的连接和数据包的路由转发功能。DSP通过 EMIF总线访问对应端口的BiFIFO,数据由Crossbar传输到指定DSP,Crossbar同时也给主机和外部I/O模块一个通路。主机通过 HPI访问和控制DSP,也可以通过Crossbar访问DSP。BiFIFO为两个芯片之间数据的突发传输提供了一个双向缓冲区。
图4中Crossbar提供6个高速互连通道,每个通道的数据总线宽度为32bit/16bit/8bit;每个通道的数据吞吐带宽可达 200MBytes/s,每个通道都提供与异步FIFO的无缝接口;Crossbar可以同时提供3对端口到端口的数据传输通道,也可以提供一个端口到多个端口的数据分发;任何具有FIFO接口的CPU、DSP及高速并行I/O都可以通过Crossbar及双向FIFO实现互连。
在本方案中需自定义互连路由协议,互连和路由模块(CrossbarRouter)可以由FPGA实现,每个端口上的BiFIFO可以根据实际需要选用FPGA内部逻辑实现或用专用外部器件实现。多个Crossbar进行互连可实现大规模的DSP阵列。此方案的优点是能够实现多个 DSP、CPU、外部并行I/O等器件之间的数据高速传输,且扩展容易;缺点是FPGA逻辑十分复杂,实现难度较大。
下面是在3GWCDMA基站中使用Crossbar的一个例子。在这个例子中,把上下行链路码片速率级处理和符号速率级处理、编码和译码处理放在一块单板上。码片速率级处理包括上行解扩和下行扩频,由FPGA/ASIC实现;符号速率级处理包括上行链路信道估值、信道译码协议、下行链路信道编码协议等,由DSP实现。
系统构成如图5所示。对下行链路来说,从网络过来的数据通过UTOPIA接口进入Crossbar,然后由Crossbar中转到编码DSP, 在DSP内完成信道编码协议处理,接着通过Crossbar把编码后的数据送入FPGA/ASIC完成扩频,最后输出信号经过上变频并通过天线发送出去。对上行链路来说,经过射频接收和下变频后的数据首先被送入FPGA/ASIC进行码片速率级处理,如匹配滤波、解扩/解扰等,同时一片DSP辅助进行多径搜索和信道估值。在此过程中这片DSP需要和FPGA/ASIC通过Crossbar进行数据的相互传递,经过信道估值和解扩处理的数据再通过 Crossbar送入另外一片DSP进行信道译码协议处理,处理结果通过Crossbar送入UTOPIA接口,接着送到基站控制器(RNC)进行处理。
4 利用TMS320C5X/C6X的McBSP组成多DSP互连系统
McBSP称为多通道缓冲串口,它有一个发送端口和一个接收端口。多个DSP可通过McBSP连接到一个串行时隙交换芯片,采用时隙交换的方式进行数据交换。数据的收发以帧为单位进行。每个发送帧分成n个发送时隙,不同的发送时隙对应不同的接收DSP,例如SP0的发送端口在时隙1给 DSP1发送数据,在时隙2给DSP2发送数据,在时隙n给DSPn发送数据;每个接收帧分成n个接收时隙,不同的接收时隙对应不同的发送DSP。例如SP1的接收端口在时隙0接收来自DSP0的数据,在时隙2接收来自DSP2的数据,在时隙n接收来自DSPn的数据。这种方案的优点是接口简单, 可以实现多个DSP的全互连,缺点是数据以串行方式传输,速率较低。
不同的应用需要的处理能力不同,对各个DSP之间、DSP与主处理器之间的数据流量和时延要求也不同,因此需要的DSP数目、互连方式也各异。利用DSP三个不同接口的互连方式,HPI有利于外部主处理器对各个DSP进行控制,适合于主处理器和多个DSP构成主从方式的互连系统;EMIF数据传输的速率高,适合于构成DSP高速全互连阵列;McBSP接口简单,适用于对传输速率要求不高的低速全互连系统;也可以同时利用两种接口构成多DSP互连系统,充分利用不同接口的优点,例如可以采用HPI作为主处理器控制多个从DSP的控制接口,同时采用EMIF连接到Crossbar作为多个DSP、主处理器、外部并行I/O之间高速互连的数据接口。
以上所述的多DSP系统互连方案各有优缺点,可以根据实际需要进行选择。
评论