主控模块负责控制和协调各种工作,ARM采用TI公司生产的开放式多媒体应用平台(OMAP)微处理器,通过集成锁相环倍频系统主频可以达到 66 MHz,最大外部存储空间可达256 MB,片上资源丰富,外围控制能力强性价比高。由它控制DSP模块接收网络发送的命令及参数,实现无线自由的协议通信。
2.3 实时数据处理模块
实时数据处理模块[1]通过共享内存与ARM实现发送的命令、传输参数和数据,根据设定的移动终端工作状态,如Cell Search、随机接入过程(RA)、专用控制信道(DCCH),及目标、环境的实时动态计算FPGA的控制字。同时也通过共享内存上报从网络接收的数据和信息传输给ARM;通过锁存器向处理板提供控衰减控制信号实现睡眠,来达到省电。DSP采用TI公司C5000系列中的TMS320C5510,系统时钟达600 MHz,数据处理速率可以达到4 800 MIPS。提供32/16 bit主机口,具有两个独立的外部存储器接口,其中EMIF支持64 bit总线宽度。
2.4 FPGA模块设计
该系列芯片的最大特色是内嵌硬件乘法器和乘加结构的可编程DSP模块,适用于实现高速信号处理。这种DSP模块是高性能的嵌入算术单元,它可以配置为硬件乘法器、加减法器、累加器和流水线寄存器。Stratix系列具有多达28个DSP模块,可配置为224个嵌入乘法器,可以为大数据吞吐量的应用提供灵活、高效和有价值的方案。这些DSP模块可以实现多种典型的DSP功能,如有相关器、限冲击响应(FIR)滤波、快速傅立叶变换(FFT)功能和加密/解密功能等,其中相关器算法设计是各种其他算法实现的基础和基本组成部分。
移动终端系统接收到的射频信号经过前端预处理后,送到A/D采样,然后通过串行方式输出样点值到FPGA[2]。每个样点值是用10 bit的二进制补码表示的,需先通过一个串/并转换器转化为宽度为10 bit的并行信号。首先样点值要进行的是希尔波特变换,希尔波特变换有多种实现方法,这里采用一个129阶的滤波器来实现,滤波器的抽头系数由 MATLAB函数Remez产生,得到与其正交的另一路信号;然后以这两路信号分别作为实部和虚部,与本地序列进行相关运算,将相关值的实部和虚部送给 DSP做后续处理。这样,DSP才可以通过先对相关值求模,然后对模值出现的峰值的间隔、幅值和数目等信息进行判断和进一步处理,来确定是否捕捉到信号。相关器算法FPGA设计的内部结构框图如图2所示。
2.5 PFGA与RF的接口、总线及时序控制设计
FPGA与RF的接口、总线及时序控制设计如图3所示。
为了增加信道容量、改善带宽效率,TD-SCDMA通过利用上行链路(反向链路)同步、软件无线电和智能天线的技术将时分双工(TDD)与 CDMA结合起来。TD-SCDMA要求手机的射频部分具有快速的切换时间、高的动态范围以及发送机和接收机部分的高线性度。MAX2410是一个完整正交发射器,它由一个正交调制器、可变增益IF和RF放大器组成。MAX2309是一种为基于CDMA的单频单模蜂窝电话系统设计的IF接收机,其输入频率范围经过优化达到70 MHz~300 MHz,在35 dBm增益下达-33 dBm,在-35 dBm增益下达+1.7 dBm。FPGA控制RF主要通过4个RF控制寄存器:A word寄存器、B word寄存器、 C word寄存器和 D word寄存器。
3 软件实现
移动终端软件包括应用层软件、通信协议软件和物理层软件3部分。
应用层软件LAY 4-7:包含人机界面(MMI)和系统应用层协议(S/W)部分,MMI为移动终端使用者接口,S/W类似移动终端的操作系统。
通信协议软件LAY 2-3:该部分软件较大,主要为通信协议,主要保证无线通信系统可以在各种状况顺畅互通。
物理层软件LAY 1:负责协调DSP、其他硬件和软件。物理层软件的设计将能实现节能的特性、多资源、多时隙的处理、数据包和对其他网络系统的监测。在设计物理层软件时的还要对相邻小区的监测,特别是当相邻小区间彼此还没有同步的时候。
移动终端软件各个模块主要实现与硬件的对应关系如下:
应用层软件LAY 4-7和通信协议软件LAY 2-3软件的实现主要是在ARM中实现,假如LAY 4-7需要一些特别高要求的应用时,可以再增加相应的硬件模块,而不影响原有的架构,如增加高要求多媒体的处理和播放;物理层软件LAY 1主要在DSP和FPGA中实现。
在软件编程时ARM和DSP可以使用C语言来实现,使用的调试工具为CCS软件,当DSP中有一些算法非常成熟后,移动通信对这块的实时性要求比较高时,应该用汇编语言来实现,在FPGA中可以用VHDL语言来实现。在编程是首先尽量定义好各个功能模块的任务,然后定义好各个功能模块的接口参数等,在可以不用全局变量的时候尽量不用。
另一个主要挑战是在TD-SCDMA终端里实现联合检测算法,特别是关于算法的时间优化。DSP和FPGA之间的任务分配上要有一个合理协调的分工,这样能够最大限度的发挥这两个处理器的功能。在实际软件编程中,算法程序计算量大、编码延时过长,因此
需要在保证质量的前提下对算法进行优化。在满足精度要求下,进一步将算法简化,粗化搜索范围来降低计算量;对于高级语言程序代码,用混合汇编、去除嵌套循环等方法进行代码优化,提高代码效率。
4 结束语
本实验研究是在南昌大学自然科学基金Z03333的资助下完成的。该系统很好的实现了3G移动终端处理功能,但实际环境比仿真环境更复杂,需要给出解决办法,然后再验证。目前该方案实现了384 kb/s工作,使用3个时隙(每个时隙128 kb/s);实现了基于高速下行分组接入(HSDPA)技术提高数据速率,它类似于WCDMA和CDMA2000标准所提供的速率。开发的3G芯片组能够满足消费者对于改善性能和功能的要求,同时又保持了相同或更低的价格。
5 参考文献
[1] 申敏.DSP原理及其在移动通信中的应用[M]. 北京:人民邮电出版社, 2002.
[2] Wakerly j f. 数字设计原理与实践[M].北京:机械工业出版社, 2004.