《电子技术应用》
欢迎订阅(电子2025)
欢迎订阅(网数2025)
您所在的位置:首页 > 可编程逻辑 > 业界动态 > McBSP在TD-SCDMA移动终端开发平台中的应用
Digikey(202412)
NI-LabVIEW 2025

McBSP在TD-SCDMA移动终端开发平台中的应用

2008-07-09
作者:刘 昊,李小文

    摘 要: 一种以DSP为主处理器、FPGA为协处理器、基于软件无线电技术的新型TD-SCDMA移动终端" title="移动终端">移动终端开发平台" title="开发平台">开发平台,阐述了主协处理器间数据传输速率对平台性能的重要影响;根据TI公司的高性能低功耗TMS-320VC5510芯片的多通道缓冲串口" title="串口">串口(McBSP)协议,采用Verilog HDL语言在Xilinx公司的Virtex-II 系列FPGA芯片内成功模拟出一个McBSP接口,实现了平台中大容量FPGA与高性能DSP之间的高速串行数据传输,并对接口进行了优化。
    关键词: 软件无线电  多通道缓冲串口  TD-SCDMA  TMS320VC5510  FPGA

 

    软件无线电技术是当今计算技术、超大规模集成电路和数字信号处理技术在无线电通信中应用的产物。其基本原理是将宽带A/D和D/A转换器尽可能地靠近天线,从而以软件方式来代替硬件实施信号处理。采用软件无线电的优越性在于:基于同样的硬件环境,采用不同的软件就可以实现不同的功能。它增加了系统灵活性,同时减小了制造成本,已经迅速成为商用无线领域的事实标准,并在第三代移动通信系统得到了广泛应用。
    作为IMT-2000的三个主流标准之一,TD-SCDMA标准要求软件无线电完成接收信号经A/D转换后的数据解调、滤波、基带信号处理等任务,这其中包括了联合检测、viterbi译码、Turbo译码等复杂的算法,这些任务无一不涉及到其巨大的运算量。以目前的硬件处理速度来看,仅靠DSP来完成上述功能是不可能的。因而在应用中,一般由FPGA完成需要快速和较为固定的运算,由DSP完成灵活多变和运算量较大的任务[1]。基于以上分析,设计了以DSP+FPGA为信号处理核心的基于“软件无线电”技术的新型TD-SCDMA移动终端开发平台,这种开发平台将会为TD-SCDMA移动终端的最终量产打下坚实的基础。
1 基于软件无线电技术的TD-SCDMA移动终端开发平台
    基于软件无线电技术的新型TD-SCDMA移动终端开发平台,是以RF器件、A/D器件、大容量FPGA、高速DSP、高性能ARM为基础,以软件为核心;它既兼顾速度和灵活性,又具有较强的通用性,支持在同一种标准增强版本之间的移植,并能够支持完全不同的标准,有助于系统的升级和多模运行。
    这类终端开发平台中,A/D转换器完成模拟信号到数字信号的转换;ARM作为主控制器,完成与微机接口、处理通信协议和其他相关的应用协议、协调并控制各个处理器之间、外设接口之间的工作等;由FPGA芯片完成并行处理数据量大、重复性强、速度要求高的数字信号;而DSP芯片实现系统控制和配置功能,充分发挥其寻址方式灵活、通信机制强大的优点。从DSP的角度来看,可编程逻辑器件FPGA相当于协处理器;DSP通过本地总线对FPGA进行配置、参数设置及数据交互,实现软硬件之间的协同处理。移动终端开发平台的接收部分模型如图1所示。

 

 

    开发平台中DSP芯片采用TI公司的TMS320VC55510,这是一种定点DSP,其CPU的主时钟工作在160MHz或200MHz,具有高达400MIPS的处理能力。FPGA芯片采用Xilinx公司的200万门Virtex-II系列器件XC2V2000;它采用0.15μm工艺设计、8层金属工艺;其内部时钟频率可达到420MHz,输入输出速率可达840MHz。有56个有符号乘法运算、速率可达140MHz的18位×18位的二进制乘法器。利用这些乘法器进行读取/相乘/累加的多次迭代操作,可实现高速和高效的DSP滤波器结构,例如,设计一个1024点的FFT延时小于1.0μs[2]
    从图1中可以看出,联合检测是由FPGA和DSP共同完成的。这是因为在联合检测中,必须进行FFT运算和解线性方程组,而这又需要采用Cholesky分解、QR分解和奇异值分解函数;而且在接下来的传输信道反向基带处理过程中,Viterbi译码和Turbo译码部分的计算量非常大;在DSP中实现时,这些功能会占用较大的带宽,并且会很快耗尽DSP资源;而FPGA可以大量用于卸载这些功能,释放DSP带宽以处理其他功能。
    可见,FPGA和DSP各自要实现的功能决定了它们之间的数据传输接口必须要有很高的效率。综合考虑TMS320VC5510芯片的各种接口性能后,平台采用McBSP2接口与FPGA传输数据。因此,必须参照芯片的数据手册中对McBSP2 串口的描述,在FPGA端模拟一个McBSP2串口,才能顺利实现数据的传输。
2 McBSP接口概述[3][4]
    TMS320VC5510芯片有三个高速、全双工多通道缓冲串口McBSP(Multichannel Buffered Serial Port)串口。McBSP串口从标准同步串口基础上扩展而来,它能提供强大的同步串口通信机制,速率可达100Mbps。其主要功能如下:
    (1)接收和传送各个独立的时钟和帧资源;
    (2)128个通道供接收和传送使用;
    (3)多通道选择模式可以激活或屏蔽每一个通道上的块传送功能;
    (4)能够与工业标准的解码器、模拟接口芯片(AICS)和其他串行A/D和D/A设备直接连接;
    (5)支持外部时钟和帧同步" title="帧同步">帧同步信号;
    (6)可配置采样速率发生器,通过参数控制时钟和帧同步信号;
    (7)可配置帧同步信号和时钟信号的极性;
    (8)传输的数据长度可为8位、12位、6位、20位、24位、32位;
    (9)A律和μ律的压缩扩展;
    (10)与T1/E1、SPI、AC97、I2C等直接接口。
    McBSP包括一个数据流路径和一个通过6个引脚连接到外部器件的控制路径。这6个引脚分别是:DX(数据发送)、DR(数据接收)、CLKX(发送时钟)、CLKR(接收时钟)、FSX(发送帧同步)、FSR(接收帧同步)。
    有效的数据经McBSP串口通过DR和DX引脚传输到外部设备,同步控制信号则由CLKX、CLKR、FSX、FSR引脚实现。图2中简要画出了McBSP发送/接收的基本时序。

 

 

    由图2可知:当一个帧同步脉冲到达时,McBSP插入适当的数据延迟(图2为1位延迟),D(R/X)引脚便开始移出数据;在DR或DX引脚上的数据是一次一位传送的,每个位的传送时间是在时钟信号的上升沿或下降沿;本模块中的时钟信号由DSP芯片提供。此外,在收发通道上还有一个数据压扩器,可以把数据按μ律或A律压缩后再发送,接收时再对应地进行扩展。数据压扩器是可选项,可根据开发平台需要选取,模拟接口中并没有涉及。
    由于McBSP串口的引脚DR和DX都有缓冲寄存器,帧同步信号FSX、FSR,时钟信号CLKX、CLKR均具有可编程性,所以DSP芯片的McBSP串口非常灵活。因此,设计中可以先对FPGA编程,然后根据所产生的数据发送和接收波形的特点。对DSP芯片的McBSP串口编程,使其与FPGA的波形相匹配。
3 FPGA内部McBSP接口实现
3.1 McBSP接口设计

    此设计中取字长为32,字长小于16的程序设计与此有少许差异。
    当FPGA为接收端时,其CLKR(接收时钟)、FSR(接收帧同步)信号由DSP提供;DR引脚接收到数据位后存入一个16位的移位寄存器" title="移位寄存器">移位寄存器,此时字长计数器开始计数;当计数长度达到16后,表明移位寄存器已满,并将其中的数据复制到一个32位的缓冲寄存器的高16位中;DR引脚继续接收数据,当计数长度达到32时,将移位寄存器中的数据复制到缓冲寄存器的低16位中;字长计数器归1,帧长计数器开始计数;在逻辑控制电路作用下,将缓冲寄存器中的数据输出到子帧缓存器FIFO中等待进一步处理。以上步骤重复进行,就实现了DSP与FPGA之间的高速数据通信。上述功能实现并不困难,难点在于在数据传输过程中必须严格注意时序,在状态转换过程中不能出现数据丢失和重传现象,以及对于不期望出现的帧同步信号要有抗干扰功能;在此基础上优化算法,提高数据传输速率,降低资源消耗。
    当FPGA为发送端时,CLKX(发送时钟)由DSP提供,而FSX(发送帧同步)信号由FPGA提供。数据传输过程和接收过程类似,只是数据传输方向相反。
    以上的数据传输过程如图3所示。

 


3.2 接口优化
    优化主要针对TMS320VC5510数据手册中所描述的McBSP接口易出现的异常/错误事件作出有针对性的改进和优化:
    (1)不期望的接收/发送帧同步信号。不被期望是指当前帧的数据没有接收/发送完时,下一个帧同步信号产生了,这将导致数据接收/发送异常中断并且重新开始。
    优化方案:将帧同步信号触发的状态转换放在Ready状态中,之后此帧的数据传输进入Write状态和Stop状态,直到子帧计数器计数值等于帧长设定值,才进入Ready状态等待下一帧同步信号。因而在当前帧数据未传完时,不期望的帧同步信号不会对当前帧产生影响。
    (2)接收过快。接收过快指当移位寄存器和缓冲寄存器都已满时,DR引脚上的下一个数据将会覆盖移位寄存器,而移位寄存器原有数据将会丢失。

    优化方案:接收过程中,当字长计数器等于16和32时,移位寄存器的数据就会被复制到缓冲寄存器中;当缓冲寄存器已满,数据就会直接被复制到子帧缓存器中。因而在这种设计中,移位寄存器和缓冲寄存器不会同时被填满,也就不会出现因接收过快而导致的数据丢失现象。
    (3)发送数据重写。指在数据被复制到缓冲寄存器之前,控制器就开始向缓冲寄存器中写入数据,被覆盖的数据将会丢失。
    优化方案:发送时,当移位寄存器的数据全部移出后,将发出一个信号,指示缓冲寄存器的数据复制到移位寄存器中,同时告知子帧缓存器可以向缓冲寄存器写入数据。因而不会出现发送数据重写的问题。
3.3 设计综合及仿真
    程序用Verilog HDL硬件描述语言编写,在Xilinx公司的最新高性能设计开发工具ISE8.2i中编译成功。当FPGA芯片类为xc2v2000-5-bg575时,综合结果中显示其最大传输速率为167.870MHz。程序在仿真软件ModelSim SE 6.1d的仿真结果如图4所示。

 

图4 McBSP接口仿真时序图

 

    综上所述,在基带处理单元中,底层的信号预处理算法处理的数据量大,对处理速度的要求高。通过ARM、FPGA和DSP芯片构造一个具有通用、可扩充、灵活的数字化通用开发平台,用FPGA作DSP软件处理的硬件协处理器,能够增强功能、改善吞吐量,使平台具有更高的系统性能和更低的系统成本;同时,使用McBSP作为FPGA和DSP的数据传输主通道,利用McBSP接口良好的可编程性,在FPGA内模拟出一个McBSP接口,使其实现FPGA和DSP的高速串行数据传输。实验证明,其速率完全可以满足移动终端开发平台性能的需要。
参考文献
[1] 李小文,李贵勇,陈贤亮,等.第三代移动通信系统、信令及实现.北京:人民邮电出版社,2003.
[2] 孙航.Xilinx可编程逻辑器件的高级应用与设计技巧.北京:电子工业出版社,2004.
[3] TI.TMS320C54X DSP Reference Set.2003.
[4] TI.TMS320VC5510 datasheet.2003,9.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。