还剩2页未读,继续阅读
文本内容:
3G移动终端基带信号处理器设计与实现随着数字技术的进步,高速、超大规模集成电路广泛使用,3G移动终端基带信号处理系统正朝着灵活、高度集成化、模块化、通用化的方向发展基带信号处理器是数字技术与通信技术相结合的产物,它能灵活处理数字基带信号,调制无线信号以便实现同通信网络系统前端基站的无线通信文章设计了一种基于先进微处理器ARM、数字信号处理DSP和现场可编程门阵列FPGA体系结构的3G移动终端基带信号处理器这种体系结构的优点在于当提供更能满足客户需求的先进处理器时,整个系统容易集成,而且可以通过软件方法方便地增加功能,而不必定制只读存储器ROM编码的新芯片同时系统使用软件实现联合检测和信号解码功能,通过软件更新轻松实现对系统的任何升级,无需硬件修改1设计思路随着实时数字信号处理技术的发展,ARM、DSP和FPGA体系结构成为3G移动终端实现的主要方式本文的设计通过ARM对目标及环境进行建模、运算,生成网络协议仿真数据库,应用DSP进行数据调度、运算和处理,最后形成所需的调幅、调相、调频等控制字,通过FPGA控制收发器芯片产生射频模拟信号利用数字芯片之间的通用性,ARM与DSP间的通信,不仅能实时处理接收和发送的数据,还可以适应不同移动网络的具体要求,同时方便加载新的程序FPGA数字频率合成技术以其在频率捷变速度、相位连续性、相对带宽、高分辨率以及集成化等方面的优异性能,为3G移动终端射频信号模拟的实现方式提供了选择2硬件实现本系统主要部分是ARM主控模块、DSP实时数据处理模块和FPGA信号生成模块ARM主控模块实现物理层与协议栈的通信,接收高层的指令,执行相应的任务如协议栈需要在某些子帧中的某个或几个上行时隙发送数据到核心网,在某些子帧中的某个或几个下行时隙接收核心网的数据,这时把所有的指令和数据都存放在同步动态随机存储器SDRAM中,然后通知DSP去执行DSP实时数据处理模块得到数据和命令后,首先处理发送数据,对数据进行信道编码调制、CRC附着、交织、扩频调制等,然后处理接收数据,如信道估计、去干扰、CRC校验、信道解码、解扩、唯特比解码等FPGA为信号生成模块,管理26M时钟,进行分频的任务,控制模拟基带ABB的自动发送功率控制APC、自动接收增益控制AGC、自动频率控制AFC等,同时也实时控制射频RF的工作当DSP中的一些算法非常稳定后,可以用FPGA来实现这些算法,减少DSP的处理负担其硬件电路如图1所示
2.1接口ARM与DSP的数据交换是通过双口随机存储器RAM来实现的,即图1中的SDRAM,起到上下行控制命令、参数和数据等缓存和交换的作用这里收发双口RAM数据线的位数大小为16bit,SDRAM存储大小为128M硬件中断信号线8INT8与硬件中断信号线9INT9每5ms相互产生一次,等于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个16bit的锁存器中,并将与DSP相连的data_ready信号置高电平,表示数据已经准备好DSP检测到data’eady为高后会进行读操作,用地址总线的高几位产生出片选信号将FPGA选施,通过地址总线的低两位AO、A1来选择4个锁存器的其中一个,依次读取实部和虚部两个32位数的高16位和低16位FPGA内部会对DSP的读操作计数,确认数据分4次读出后,则将data_ready置低,直到下一次运算完毕后再抬高FPGA的频率、相位和幅度控制字的设置和控制信号的产生由TMS320C5510完成,FPGA可以看作是异步存储设备与TMS320c5510的外存储器接口EMIF相连,EMIF采用32bit总线与数模转换器A/D接口的A/D一端连接ABB,另一端连接FPGA,传输要发送的数据和移动网络接收的数据在与A/D的接口部分中,有3个输入端RIF、PS和CLKRIF用来串行输入A/D转换来的样点值;PS为帧同步信号,它在输入到FPGA后用来驱动FPGA内部的总体控制模块;Clock为移位时钟,它控制A/D与FPGA之间数据串行传输的移位与RF接口主要是用来控制发送和接收RF芯片工作
2.2主控模块主控模块负责控制和协调各种工作,ARM采用TI公司生产的开放式多媒体应用平台0MAP微处理器,通过集成锁相环倍频系统主频可以达到66MHz,最大外部存储空间可达256MB,片上资源丰富,外围控制能力强性价比高由它控制DSP模块接收网络发送的命令及参数,实现无线自由的协议通信
2.3实时数据处理模块实时数据处理模块[1]通过共享内存与ARM实现发送的命令、传输参数和数据,根据设定的移动终端工作状态,如Cell Search,随机接入过程RA、专用控制信道DCCH,及目标、环境的实时动态计算FPGA的控制字同时也通过共享内存上报从网络接收的数据和信息传输给ARM;通过锁存器向处理板提供控衰减控制信号实现睡眠,来达到省电DSP采用TI公司C5000系列中的TMS320C5510,系统时钟达600MHz,数据处理速率可以达到4800MIPS提供32/16bit主机口,具有两个独立的外部存储器接口,其中EMIF支持64bit总线宽度
2.4FPGA模块设计本文的设计采用Stratix系列芯片,内嵌多达10Mbit的3种RAM块512bit容量的小型RAM、4KB容量的标准RAM、512KB的大容量RAMFPGA模块具有TrujLVDS电路,支持低电压差分信号LVDS、低电压正射极耦合逻辑LVPECL>准电流模式逻辑PCVL和超传输模式HyperTranport差分I/O电气标准,且有高速通信接口本设计提供了完整的时钟管理方案,具有层次化的结构和多达12个锁相环PLLStratix系列使用的开发软件是Altera公司提供的新一代开发软件Quartus II该系列芯片的最大特色是内嵌硬件乘法器和乘加结构的可编程DSP模块,适用于实现高速信号处理这种DSP模块是高性能的嵌入算术单元,它可以配置为硬件乘法器、加减法器、累加器和流水线寄存器Stratix系列具有多达28个DSP模块,可配置为224个嵌入乘法器,可以为大数据吞吐量的应用提供灵活、高效和有价值的方案这些DSP模块可以实现多种典型的DSP功能,如有相关器、限冲击响应FIR滤波、快速傅立叶变换FFT功能和加密/解密功能等,其中相关器算法设计是各种其他算法实现的基础和基本组成部分移动终端系统接收到的射频信号经过前端预处理后,送到A/D采样,然后通过串行方式输出样点值到FPGA
[2]每个样点值是用10bit的二进制补码表示的,需先通过一个串/并转换器转化为宽度为10bit的并行信号首先样点值要进行的是希尔波特变换,希尔波特变换有多种实现方法,这里采用一个129阶的滤波器来实现,滤波器的抽头系数由MATLAB函数Remez产生,得到与其正交的另一路信号;然后以这两路信号分别作为实部和虚部,与本地序列进行相关运算,将相关值的实部和虚部送给DSP做后续处理这样,DSP才可以通过先对相关值求模,然后对模值出现的峰值的间隔、幅值和数目等信息进行判断和进一步处理,来确定是否捕捉到信号相关器算法FPGA设计的内部结构框图如图2所示用美部分RAM®机行皑雷ROM只疣行皑雷▲图2相关器FPGA设计的内郃结构框图
2.5PFGA与RF的接口、总线及时序控制设计FPGA与RF的接口、总线及时序控制设计如图3所示■RxAGC|,loin-LSrIS■CWiTA▲图3FPGA与RF收发机连掇图为了增加信道容量、改善带宽效率,TD-SCDMA通过利用上行链路反向链路同步、软件无线电和智能天线的技术将时分双工TDD与CDMA结合起来TD-SCDMA要求手机的射频部分具有快速的切换时间、高的动态范围以及发送机和接收机部分的高线性度MAX2410是一个完整正交发射器,它由一个正交调制器、可变增益IF和RF放大器组成MAX2309是一种为基于CDMA的单频单模蜂窝电话系统设计的IF接收机,其输入频率范围经过优化达到70MHz~300MHz,在35dBm增益下达-33dBm,在-35dBm增益下达+
1.7dBmFPGA控制RF主要通过4个RF控制寄存器A word寄存器、B word寄存器、C word寄存器和D word寄存器3软件实现移动终端软件包括应用层软件、通信协议软件和物理层软件3部分应用层软件LAY4-7包含人机界面MMI和系统应用层协议S/W部分,MMI为移动终端使用者接口,S/W类似移动终端的操作系统通信协议软件LAY2-3该部分软件较大,主要为通信协议,主要保证无线通信系统可以在各种状况顺畅互通物理层软件LAY1负责协调DSP、其他硬件和软件物理层软件的设计将能实现节能的特性、多资源、多时隙的处理、数据包和对其他网络系统的监测在设计物理层软件时的还要对相邻小区的监测,特别是当相邻小区间彼此还没有同步的时候移动终端软件各个模块主要实现与硬件的对应关系如下应用层软件LAY4-7和通信协议软件LAY2-3软件的实现主要是在ARM中实现,假如LAY4-7需要一些特别高要求的应用时,可以再增加相应的硬件模块,而不影响原有的架构,如增加高要求多媒体的处理和播放;物理层软件LAY1主要在DSP和FPGA中实现在软件编程时ARM和DSP可以使用C语言来实现,使用的调试工具为CCS软件,当DSP中有一些算法非常成熟后,移动通信对这块的实时性要求比较高时,应该用汇编语言来实现,在FPGA中可以用VHDL语言来实现在编程是首先尽量定义好各个功能模块的任务,然后定义好各个功能模块的接口参数等,在可以不用全局变量的时候尽量不用另一个主要挑战是在TD-SCDMA终端里实现联。