目前GMSK调制技术主要有两种实现方法,一种是利用GMSK ASIC专用芯片来完成,典型的产品如FX589或CMX909配合MC2833或FX019来实现GMSK调制。这种实现方法的特点是实现简单、基带信 号速率可控,但调制载波频率固定,没有可扩展性。另外一种方法是利用软件无线电思想采用正交调制的方法在FPGA和DSP平台上实现。其中又包括两种实现 手段,一种是采用直接分解将单个脉冲的高斯滤波器响应积分分成暂态部分和稳态部分,通过累加相位信息来实现;另一种采用频率轨迹合成,通过采样把高斯滤波 器矩形脉冲响应基本轨迹存入ROM作为查找表,然后通过FM调制实现。这种利用软件无线电思想实现GMSK调制的方法具有调制参数可变的优点,但由于软件 设计中涉及到高斯低通滤波、相位积分和三角函数运算,所以调制器参数更改困难、实现复杂。综上所述,本文提出一种基于CMX589A和FPGA的GMSK 调制器设计方案。与传统实现方法比较具有实现简单、调制参数方便可控和软件剪裁容易等特点,适合于CDPD、无中心站等多种通信系统,具有重要现实意义。
1系统硬件设计
系统的硬件主要包括三部分:单片机控制器及其外围扩展键盘和液晶显示模块、高斯滤波器模块,以及FPGA调制器模块,系统硬件结构图如图1所示。
系统工作过程如下:系统加电后,FPGA完成初始化,LCD界面提示用户输入控制信息,同时系统输出固定频率的正弦载波,表明系统正常工作;用户通过控制 菜单的提示,从键盘输入控制信息(例如基带信号的码元速率,高斯滤波器的系统参数,BT值以及调制器的载波频率等);控制信息通过主控制器发送给高斯滤波 模块及调制器模块;FPGA调制器模块根据接收到A/D转换器的输入信号的幅度值控制频率字从而完成对于基带信号的调制。
1.1 高斯滤波器模块设计
高斯滤波器模块采用CML公司生产的CMX589A专用集成芯片,具有较宽的基带信号接收速率。在本设计中,为CMX589A提供两种频率的外部晶振,分 别为25.576 MHz和8.192 MHz,通过跳线控制。CMX589A的控制引脚与单片机的P2口相连来控制滤波器的参数,其中ClkDivA、ClkDivB与外部时钟配合共同决定高 斯滤波器的基带码元速率,设置如表1所示。BT引脚控制高斯滤波器的系统带宽,当设置为“l”时,系统BT值为O.5;当设置为“O”时,BT值为 O.3。高斯滤波器的工作过程为:首先根据不同系统的需要来设置滤波器的基带码元速率和带宽BT值,然后在Tx Data引脚接入需要调制的基带码元信号,同时给Tx Enable置高电平,通过TxOut就可以接收到高斯滤波基带信号。
1.2 调制指数为O.5的FM发射机设计
调频发射机由FPGA配合A/D、D/A来实现。FPGA选用Cyclone系列EPlC6Q240C8,它是采用SRAM工艺制造的混合低电压FPGA 芯片。A/D采用TI公司生产的8位模数转换器TLC5510,D/A则采用10位数模转换器THS5651A,用以完成高速率数据转换。调频发射机的系 统时钟为20 MHz,同时提供给D/A THS565lA作为转换时钟。A/D转换时钟由FPGA提供,系统时钟经过分频提供给A/D转换器1 MHz的工作时钟。同时单片机的P3口通过2 b的频率控制位与1 b的“使能”控制位与FPGA相连来控制调制器的4种中心频率,分别为20 kHz,200 kHz,2 MHz和20 MHz,中心频率设置如表2所示。当载波的中心频率设置为20 MHz的时候,系统工作时钟需要通过FPGA内部的PLL倍频实现。
1.3 单片机控制器设计
控制器采用AT89C51单片机,外扩LCD,4*4矩阵键盘,并通过接口与单片机的P0和P1相连,单片机的P2口与高斯滤波器的控制线相连,P3口与FPGA相连控制发射机的中心频率。
键盘处理及LCD显示模块:利用键盘实现人机接口,该模块包括键盘的扫描、去抖、连击以及功能键的信号处理。用户根据需要来调整系统参数,并通过与LCD显示器的结合来显示当前调制信号的各种参数,从而使系统更具可操作性。
功能参数设置模块:此模块负责处理键盘的输入数据,根据用户指令选择相应的系统参数(例如基带信号的码元速率、FM调制器的中心频率等)。表3表示在高斯滤波器模块工作时钟为8.192 MHz时,单片机控制滤波器系统参数设置。
2 系统软件设计
系统的软件编程主要包括两部分:单片机控制模块和FPGA实现调制指数为O.5的FM调制器模块。系统的软件流程图如图2所示。
2.1 单片机软件设计
控制模块主要包括扩展矩阵键盘、LCD液晶显示、调制器参数控制。
单片机控制器的系统工作过程如下:
单片机初始化,LCD显示开始菜单,包括“高斯滤波器参数设置”和“FM调制器参数设置”两个选项;
进入“高斯滤波器参数设置”子菜单,包括“系统带宽设置”和“基带码元速率设置”,分别可以设置2种不同的滤波器带宽和8种基带码元速率,单片机根据系统设置在P2端口输出控制信息;
进入“调制器参数设置”的子菜单以设置“调制载波的中心频率”,可以设定四种不同的载波中心频率,并通过单片机P3口控制FPGA的调制载波的中心频率。
2.2 调制器的系统实现
FM调制器采用DDS思想在FPGA平台上实现。DDS(Direct Digital Frequency Synthesizer,直接数字频率合成)是一种新型的频率合成技术,具有较高的频率分辨率,可以实现快速的频率切换。DDS系统主要由系统时钟源、相 位累加器、正弦波查找表、D/A转换器和低通补偿滤波器组成,系统结构如图3所示。其中相位累加器是DDS系统的核心,它由N位加法器和N位相位寄存器组 成。每来一位参考时钟脉冲,N位加法器将频率控制字和累积器的相位输出相加,把相加的结果送到相位寄存器的输入端。相位寄存器一方面将输出的相位数据反馈 到加法器的输入端,以使加法器继续在时钟脉冲的作用下继续与频率控制字相加,另一方面又将输出的相位数据又作为波形存储表的地址输入。波形存储表把输入的 地址相位信息映射成波形数据,最后经过DAC和低通滤波器得到模拟信号。
本设计采用20 MHz外部晶振作为时钟源,系统采用40位相位累加器,故频率字也取40位,所以系统的频率分辨率如下式所示:
FM调制器完成幅度到频率的转换是系统设计的关键。例如设定基带信号的速率为8 kHz,载波的中心频率为200 kHz(fword=“10995116277”),为了实现调制指数为0.5的FM调制器,FM调制器的频率差为4 kHz。FPGA根据8位A/D转换器输入的信号幅度值选择相应的频率字,从而控制输出信号的频率完成调频功能。载波的中心频率对应的A/D转换器中心幅 值a in=“10000 0000”;当A/D转换器输入为O V(即a in=“0000 0000”)时,对应的调制信号的输出频率为198 kHz(fword=“10885165114”);当A/D转换器的输入为满刻度2 V(ain=“1111 1111”)时,调制输出频率为202 kHz(fword=“11105067440”)。把频率从198 kHz到202 kHz等分成255份,把相应的频率转换成40位频率字,则A/D转换器的256个幅值与256个频率字一一对应。在每一个系统时钟周期,频率控制字与 40位的相位累加器的值相加结果存入相位累加器。由于选用的ROM查找表的地址线为10位,所以取相位累加器的高10位作为正弦查找表的地址。正弦查找表 利用Cyclone内部的ROM模块完成查找表的设计,字长为10位,与所选用的DAC的数据位数相匹配。 系统输入信号的幅度与频率字转换的核心代码如下:
其中,f_mid为调制信号的中心频率,fm_frerom为A/D输入的信号幅度值与频偏之间的映射关系,系统根据接收到信号的幅度值相应改变调制信号的频偏从而完成调制功能。
3 系统软件仿真及测试
3.1 软件仿真
本设计利用EDA工具QuartusⅡ6.O完成调制器软件编程,通过编译环境进行软件仿真如图4所示,其中clk为系统晶振时钟,addr40为相位累 加器,a_in为A/D的转换器的8位输出信号,fword为系统频率字,fout为波表输出的调制信号幅度值。
3.2 系统测试与分析
系统测试通过IFR2399A频谱仪来完成系统的硬件测试。图5表示在相同的硬件平台上实现MSK调制的频谱图,图6表示GMSK调制的频谱图。对比两个 图可以发现,由于加入了高斯滤波器,GMSK的频谱更加紧凑,带外衰减也要快于MSK。同时由测试结果可以看出,中频载波为200 kHz,主瓣宽度以及衰减状况等与理论分析结果相符。
4 结 语
本文实现了一种基于CMX589A和FPGA的GMSK调制器。系统采用了主从式的结构,主控机由单片机实现对于GMSK调制器系统参数的控 制,CMX589A模块完成基带信号高斯滤波,FM调制器采用直接数字频率合成技术(DDS)在FPGA硬件平台上实现、系统最高输出频率为25 MHz。同时系统具有很宽的基带信号数据和调制参数灵活可控等特点,并且克服了正交调制方案中严格正交载波产生困难的缺陷。测试结果表明,已调信号包络恒 定,频谱满足设计要求,适用于CDPD,无中心站等多种通信系统。