概述:TMS320C6416是美国德州仪器(简称TI)公司推出的一款高性能定点DSP,其时钟频率可达600MHz,最高处理能力为4800MIPS,软件与C62X完成兼容,采用先进的甚长指令结构(VLIW)的DSP内核有6个ALU(32/40bit),每个时钟周期可以执行8条指令,所有指令都可以条件执行.该DSP具有Viterbi译码协处理器(VCP)和Turbo译码协处理器(TCP);采用两级缓存结构,一级缓存(L1)由128Kbit的程序缓存和128Kbit的数据缓存组成,二级缓存(L2)为8Mbit;有2个扩展存储器接口(EMIF),一个为64bit(EMIFA),一个为16bit(EMIFA),可以与异步(SRAM、EPROM)/同步存储器(SDRAM、SBSRAM、ZBTSRAM、FIFO)无缝连接,最大可寻址范围为1280MB;具有扩展的直接存储器访问控制器(EDMA),可以提供64条独立的DMA通道;主机接口(HPI)总线宽度可由用户配置(32/16bit),具有32bit/33MHz,3.3V的PCI主/从接口,该接口符合PCI标准2.2版,有3个多通道串口(McBSPs),每个McBSPs最多可支持256个通道,能直接与T1/E1、MVIP、SCSA接口,并且与Motorola的SPI接口兼容,片内还有一个16针的通用输入输出接口(GPIO)。

         TMS320C6416具有8个相互独立的功能单元,其中包含6个支持单周期内单32位、双16位或4个8位数据操作的算术逻辑单元,以及2个支持单周期双16×16位或4个8×8位数据操作的乘法器;内部CPU的通用寄存器组含有32个32位寄存器,支持8位和64位定点数据,并且寄存器A0也可用作条件寄存器;通用寄存器组内部有两条交叉通路,且都可以通过交叉通路访问另一侧的寄存器组;C64x还能够利用非排列的存取指令访问任意字节边界的字或双字。主频高达600MHz。TMS320C6416采用532引脚BGA封装工艺。


一、TMS320C6416引脚排列


二、TMS320C6416内部方框图

1、内部方框图讲解

   TMS320C6416 的硬件结构如上图所示。内部包括一个DSP内核、一级数据Cache、一级程序Cache、二级存储器、增强型DMA控制器(EDMA)、Vterbi译码协处理器(VCP)、Turbo译码协处理器(TCP);对外接口包括两个外部存储器接口(EMIFA和EMIFB)、主机接口(HPI)、PCI接口、UTOPIA接口、多通道缓冲串口(McBSP)。
         DSP内核采用超长指令字(VLIW)体系结构,有8个功能单元、64个32bit通用寄存器。一个时钟周期同时执行8条指令,运算能力可达到 4800MIPS(每秒百万条指令),支持8/16/32/64bit的数据类型。两个乘法累加单元一个时钟周期可同时执行4组16×16bit乘法或8 组8×8bit乘法,每个功能单元在硬件上都增加了附加功能,增强了指令集的正交性。除此之外还增加了一些指令用以削减代码长度和增加寄存器的灵活性。 TMS320C6416以后版本的主频可升级到1.1GHz。
         为使数据能保持对超快速DSP内核的供给,TMS320C6416采用了两级超高速缓存器,即16Kbyte的一级数据Cache、16Kbyte的一级程序Cache和1024Kbyte的数据和程序统一内存。为了达到更大的扩展,1024Kbyte内存中的256Kbyte存储空间可设置用作二级Cache。
          在内存和外设接口(EMIFA接口、EMIFB接口、HPI或PCI接口、McBSP串口、UTOPIA接口等)之间所有的数据传输都由EDMA来处理。 TMS320C6416的EDMA共有64个通道,每个通道的优先级都可编程设置,每个通道都对应一个专用同步触发事件,使得EDMA可以被外设来的中断、外部硬件中断、其它EDMA传输完成的中断等事件触发,开始进行数据的搬移。EDMA完成一个完整的数据搬移后,可从通道传输参数记录指定的链接地址处重新加载该通道传输参数。EDMA传输完成后,EDMA控制器可以产生一个到DSP内核的中断,出可以产生一个中断触发另一个EDMA通道开始传输。
          TMS320C6416的存储器接口提供了到SDRAM、SBSRAM、异步器件如SRAM/ROM等存储器的无终接口,也可连接到外部I/O器件。存储器接口有EMIFA和EMIFB,其中EMIFA接口有64bit宽的数据总线,可连接64/32/16/8bit的器件;EMIFB接口有16bit宽的数据总线,可连接16/8bit的器件。一般情况下,EMIFA接口连接外部存储器(如SDRAM),EMIFB接口连接外部I/O器件(如FPGA)。
          HPI是一个16/32Bit宽的异步并行接口,外部主机通过它可直接访问DSP的地址空间,也可向DSP加载程序。HPI接口支持16bit宽的数据总线和32bit宽的数据总线两种模式,两者均工作在异步从方式。
           在TMS320C6416 中,增加了一个PCI接口,使得DSP很容易通过PCI接口无缝连接到一个具有PCI功能的外部主CPU上。PCI接口符合PCI2.2规范;具有PCI 主/从功能;支持32bit宽的地址和数据复用总线;工作频率最高为33MHz;外部主机可通过PCI接口访问DSP内部所有地址空间,向DSP加载程序;DSP也可通过该接口访问外部PCI存储空间。PCI接口和HPI接口共用相同的管脚,因此实际设计时两者只能选一个。
           在TMS320C6416 中,还增加了一个UTOPIA接口,它支持UTOPIA II规范,发送数据总线和接收数据总线均为8bit宽,工作频率最高可达50MHz。UTOPIA接口作为ATM控制器的从方,在ATM层器件和物理层器件之间提供了一个标准的硬件接口。由于TMS320C6416内部没有专用的硬件模块处理ATM适应层功能,因此ATM适应层功能应该由DSP软件来实现。
           另外,TMS320C6416还有三个多通道缓冲串口(McBSP),工作频率最高可达100MHz。其中McBSP1串口和UTOPIA接口复用,McBSP2串口和PCI的EEPROM接口复用,使用时要注意。
           由于TMS320C6416采用了新型芯片制造工艺,I/O电压为3.3V,内核电压仅为1.2V。当时钟频率为600MHz时,DSP的最大功耗小于1.6W。

2、 Viterbi译码协处理器VCP
           在WCDMA系统中,语音和低速信令传输采用卷积码。卷积码译码方法有门限译码、硬判断Viterbi译码和软判断Viterbi译码。TMS320C6416中的VCP可进行硬判决Viterbi译码或办判决Viterbi译码。
           VCP的输入为DSP软件根据待译码数据计算得到的分支度量。若为硬判决,每个输出符号用1bit表示;若为软判决,每个输出符号用16bit表示, VCP也计算Vterbi译码的质量指示Yamamoto比特。VCP的可编程参数包括:约束长度K(5、6、7、8、9)、编码速率r(1/2、 1/3、1/4)、编码器生成多项式、编码块长度F、是否使用滑窗及滑窗参数(可靠程度R、收敛长度C)、硬判决还是软判决、计算状态矩阵的初始条件、质量指示Yamamoto比特门限等。
           其中EDMA接口包含译码输入数据 FIFO和输出数据FIFO;存储单元包含存储器内部状态矩阵和判决的回溯路径;运算单元根据输入分支度量进行加、比较、选择运算和回溯;VCPINT为 VCP译码完成后到DSP内核的中断;VCPXEVT触发EDMA通道29,搬移VCP的可编程配置参数或待译码数据的分支度量到VCP内部寄存器或内部输入FIFO;VCPREVT触发EDMA通道28,从VCP输出FIFO搬移译码结果到DSP内部或外部存储区。

DSP协同VCP进行译码处理的过程如下:
(1)DSP初始化输入缓冲区。DSP根据待译码数据预先计算其分支度量(分支度量的计算见参考文献[5]),并写入指定的缓冲区。
(2)DSP分配输出缓冲区,准备存储译码结果。
(3)准备VCP的寄存器配置参数。这些参数首先准备好放在DSP的内存或外存,当VCP启动时由EDMA写入VCP内部寄存器。
(4)设置EDMA参数。设置EDMA通道29参数,由VCPXEVT触发,搬移VCP配置参数到VCP内部寄存器,搬移待译码数据的分支度量到VCP内部输入 FIFO;设置EDMA通道28参数,由VCPREVT触发,从VCP输出FIFO搬移VCP译码结果到DSP指定的输出缓冲区。
(5)使能EDMA。使能EDMA通道28和29,使其可以响应VCPXEVT和VCPREVT同步触发事件。
(6)启动VCP。DSP写“开始”命令到VCP内部的命令寄存器(VCPEXE),这会使VCP生成VCPXEVT事件,触发EDMA通道29,搬移配置参数和待译码数据的分支度量到VCP。
(7)处理VCP译码结果。VCP译码完成后会触发EDMA,由EMDA通道28搬移译码结果到DSP指定的输出缓冲,还会产生到DSP内核的中断。DSP应响应这个中断,对译码结果进行处理。
VCP 的工作频率为150MHz,最大可处理558路7.95 ARM语音信道。对于3G ARM 12.2K语音信道,约束长度为9,编码速率为1/3,编码数据的长度为81,当信噪比SNR为1dB时译码结果的误码率BER为1.00E-02,当信噪比SNR为3.25dB时译码结果的误码率BER为1.00E-05。

3、Turbo译码协处理器TCP
        在WCDMA、CDMA2000系统中,数据传输采用Turbo码。Turbo译码算法包括软输出Viterbi算法(SOVA)、最大后验概率算法(MAP)。TMS320C6416中的TCP中采用的是MAX*-LOG-MAP译码算法。
TCP 执行的译码算法是一种迭代MAP算法,原理框图如图3所示。第一个MAP译码器接收信息比特R0和校验比特R1,产生的软输出A1e进行交织作为对先验概率的改进估计,输入到第二个MAP译码器中。第二个MAP译码器还同时输入接收信息序列的交绞序列/RO和校验比较序列R2,译码产生的软输出A2e进行解交织并作为第一个MAP译码器的先验概率,这样反复进行,成为迭代译码。经过多次迭代后,对第二个MAP译码器的输出结果A2进行解交织和硬判决,作为 Turbo译码器的译码结果。
        TCP有两种译码模式,当编码块长度大小等于5114时,TCP完成MAP算法和整个迭代过程,直接输出译码硬判决结果;当编码块长度大于5114(仅对CDMA2000而言)时, TCP仅完成MAP算法,多次迭代、交织、解交织和硬判决由DSP软件来完成。对WCDMA系统而言,编码块长度小于等于5114,此时TCP完成整个译码过程。
        待译码数据的系统信息位和校验位必须由DSP进行8 比特量化处理。8比特中第一位为符号位,接着四位是整数位,最后三位为小数位(具体计算见参考文献[2])。量化后才能输入到TCP进行译码。TCP译码后每个输出符号用1bit表示。TCP的可编程配置参数包括:编码速率r(1/3、1/4)、编码块长度F、译码模式选择、最大迭次数、停止迭代的信噪比(SNR)门限等。DSP输入到TCP的数据还包括Turbo码交织表。
        TCP 的结构框图和VCP的结构框图类似,如图4所示。输入数据(待译码数据、配置参数、交织表)都由EDMA通道31输入到TCP内,EDMA通道31由 TCP发出的同步事件TCPXEVT触发;译码结果由EDMA通道30从TCP内搬移到DSP指定的存储区,EDMA通道30由TCP发出的同步事件 TCPREVT触发;TCP译码完成后也生成一个到DSP内核的中断TCPINT。

DSP协同TCP进行译码处理的过程和VCP类似,具体过程如下:
(1)DSP初始化输入缓冲区。DSP对待译码数据进行8bit量化并写放指定缓冲区,Turbo码交织表也写入指定缓冲区。
(2)DSP分配输出缓冲区,准备存储结果。
(3)准备TCP的寄存器配置参数,TCP启动后由EDMA写入TCP内部寄存器。
(4)设置EDMA参数。设置EDMA通道30、31参数,由TCP的两个同步事件触发,控制EDMA向TCP输入数据和从TCP输出译码结果。
(5)使能EDMA。使能EDMA通道30和31,使其可以响应TCPXEVT和TCPREVT同步触发事件。
(6)启动TCP。DSP写“开始”命令到TCP内部命令寄存器,这会使TCP生成TCPXEVT事件,触发EDMA通道31,搬移待译码数据、交织表、寄存器配置参数到TCP。
(7)处理TCP译码结果。TCP译码完成后会触发EDMA通道30输出译码结果,还会产生到DSP内核的中断。DSP响应这个中断,对译码结果进行处理。
TCP 的工作频率为300MHz,最大可处理29路384K数据信道;对编码速率1/3、编码块长度为3840的数据帧进行6次迭次译码所需时间为0.3ms。对于编码速率1/3、编码块长度为1400的数据帧进行8次迭代译码,当信噪比SNR为0.8dB时译码结果的误码率BER为1.00E-04,当信噪比 SNR为1.6dB时译码结果的误码率BER为5.00E-08。

4、TMS320C6416在WCDMA基站上行链路基带处理中的应用
         TMS320C6416 在WCDMA基站上行链路基带处理中的应用方案如图5所示。在该方案中,经过射频接收、A/D转换、中频处理后的数据送到FPGA/ASIC, FPGA/ASIC完成码片速率级处理如RAKE接收等;然后送到DSP,DSP(TMS320C6416)主要进行符号速率级算法处理,如第二次解交织、物理信道合并、传输信道解复用、解速率匹配、合并无线帧、第一次解交织、Viterbi译码/Turbo译码、去CRC校验比特、FP帧组成等。外部主CPU完成信令面协议的处理,同时控制整个单板。
         DSP的 16bit宽的EMIFB异步接口连接到FPGA/ASIC,用来控制FPGA/ASIC并读取解调后的数据;DSP的HPI接口连接到外部主CPU,外部主CPU通过HPI下发信道的建立、删除等命令;DSP的64bit宽的EMIFA接口连接到一个外部SDRAM,用来缓存处理过程中的中间数据; UTOPIA接口连接到接口电路,把FP帧转换成ATM信元进而送到RNC进行上层业务处理。
         在WCDMA 系统中,移动终端发出的信号通过空中接口到达无线基站。在基站中经过射频接收、中频处理、RAKE接收,然后进行信道解复用、解交织和 Viterbi/Turbo译码处理。在没有采用TMS320C6416的系统中,两种译码可以由DSP软件来实现,但这会大大降低DSP处理其它业务的能力;译码也可以由外部FPGA/ASIC硬件实现,但这会增加单板器件的密度和功耗。TMS320C6416除了具有比一般DSP更强大的处理能力外,内部还集成了一个Viterbi译码处理器和Turbo译码协处理器,提供的符号率处理性能几乎是TMS320C6203的十几倍,因此 TMS320C6416十分适合3G基站基带符号速率级处理。


三、TMS320C6416参考文档

TMS320C6416 的软件编程优化.pdf