发布时间:2008-08-27阅读:1034
1 设计思路
随着实时数字信号处理技术的发展,ARM、DSP和FPGA体系结构成为3G移动终端实现的主要方式。本文的设计通过ARM对目标及环境进行建模、运算,生成网络协议仿真数据库,应用DSP进行数据调度、运算和处理,最后形成所需的调幅、调相、调频等控制字,通过FPGA控制收发器芯片产生射频模拟信号。利用数字芯片之间的通用性,ARM与DSP间的通信,不仅能实时处理接收和发送的数据,还可以适应不同移动网络的具体要求,同时方便加载新的程序。FPGA数字频率合成技术以其在频率捷变速度、相位连续性、相对带宽、高分辨率以及集成化等方面的优异性能,为 3G移动终端射频信号模拟的实现方式提供了选择。
2 硬件实现
本系统主要部分是ARM主控模块、DSP实时数据处理模块和FPGA信号生成模块。ARM主控模块实现物理层与协议栈的通信,接收高层的指令,执行相应的任务。如协议栈需要在某些子帧中的某个或几个上行时隙发送数据到核心网,在某些子帧中的某个或几个下行时隙接收核心网的数据,这时把所有的指令和数据都存放在同步动态随机存储器(SDRAM)中,然后通知DSP去执行。DSP实时数据处理模块得到数据和命令后,首先处理发送数据,对数据进行信道编码调制、CRC附着、交织、扩频调制等,然后处理接收数据,如信道估计、去干扰、CRC校验、信道解码、解扩、唯特比解码等。FPGA为信号生成模块,管理26 M时钟,进行分频的任务,控制模拟基带(ABB)的自动发送功率控制(APC)、自动接收增益控制(AGC)、自动频率控制(AFC)等,同时也实时控制射频(RF)的工作。当DSP中的一些算法非常稳定后,可以用FPGA来实现这些算法,减少DSP的处理负担。其硬件电路所示。
2.1 接口
ARM与DSP的数据交换是通过双口随机存储器(RAM)来实现的,即图1中的SDRAM,起到上下行控制命令、参数和数据等缓存和交换的作用。这里收发双口RAM数据线的位数大小为16 bit, SDRAM 存储大小为128 M。硬件中断信号线8(INT8)与硬件中断信号线9(INT9)每5 ms相互产生一次,等于TD-SCDMA空口信号的子帧中断,同时也可以作为ARM与DSP的控制命令、响应来实现ARM与DSP之间的通信。
FPGA的主要的接口有data_out[15:0]接口,与数模转换器(A/D)接口和与RF接口。
data_out[15:0]接口用来输出FPGA运算的结果,与DSP的数据总线挂接在一起,在FPGA内部设置一个三态门,开门信号就是 FPGA的片选信号CE。当CE不选通的时候,三态门输出为高阻状态,不会影响DSP的数据总线。在每一个样点间隔的时间内,FPGA运算出相关值的实部和虚部,将它们分别锁存在4个16 bit的锁存器中,并将与DSP相连的data_ready信号置高电平,表示数据已经准备好。DSP检测到data_ready为高后会进行读操作,用地址总线的高几位产生出片选信号将FPGA选通,通过地址总线的低两位A0、A1来选择4个锁存器的其中一个,依次读取实部和虚部两个32位数的高16位和低16位。FPGA内部会对DSP的读操作计数,确认数据分4次读出后,则将data_ready置低,直到下一次运算完毕后再抬高。FPGA的频率、相位和幅度控制字的设置和控制信号的产生由TMS320C5510完成,FPGA可以看作是异步存储设备与TMS320C5510的外存储器接口 (EMIF)相连,EMIF采用32 bit总线。
与数模转换器(A/D)接口的A/D一端连接ABB,另一端连接FPGA,传输要发送的数据和移动网络接收的数据。在与A/D的接口部分中,有 3个输入端RIF、PS和CLK。RIF用来串行输入A/D转换来的样点值;PS为帧同步信号,它在输入到FPGA后用来驱动FPGA内部的总体控制模块;Clock为移位时钟,它控制A/D与FPGA之间数据串行传输的移位。
与RF接口主要是用来控制发送和接收RF芯片工作。
2.2 主控模块
主控模块负责控制和协调各种工作,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模块设计
本文的设计采用Stratix系列芯片,内嵌多达10 Mbit的3种RAM块:512 bit容量的小型RAM、4 KB容量的标准RAM、512 KB的大容量RAM。FPGA模块具有True_LVDS电路,支持低电压差分信号(LVDS)、低电压正射极耦合逻辑(LVPECL)、准电流模式逻辑 (PCML)和超传输模式(HyperTranport)差分I/O电气标准,且有高速通信接口。本设计提供了完整的时钟管理方案,具有层次化的结构和多达12个锁相环(PLL)。Stratix系列使用的开发软件是Altera公司提供的新一代开发软件Quartus II。
该系列芯片的最大特色是内嵌硬件乘法器和乘加结构的可编程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.5 PFGA与RF的接口、总线及时序控制设计
为了增加信道容量、改善带宽效率,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芯片组能够满足消费者对于改善性能和功能的要求,同时又保持了相同或更低的价格。
上一篇:可编程系统级芯片(SoPC)应用
下一篇:FPC设计使用的要领