近年来,卫星电视天线同播系统在民事和警事中的应用日益广泛,其快速搭建和空中接入等优势在512地震的救灾调度中得以充分体现。同播系统工作时,所有发射站会在同一时刻点以相同频率向外广播,由于各站的发射频率相对于标准频率有不同偏差,在功率重叠区产生频率叠加,出现同频干扰。目前,国内外通信厂家的同播发射机的发射频率偏差大都在1ppm(parts per million)以上,不通过校准,无法达到0.05ppm正常通话的最低要求。有线同播系统是利用光纤网络校准发射频率的。卫星电视天线同播系统目前只能通过两种方法解决:一是设置中心站,但系统响应速度慢;二是尽量缩小功率重叠区,其建站周期长而且可靠性低。两种方法都没有从根本上解决卫星电视天线同播系统的同频干扰,发射频率的校准已经成为卫星电视天线同播系统发展的瓶颈。因此,本文提出一种基于FPGA技术的频率校准系统的设计方案。
1 系统总体设计
1.1 同频干扰的产生和解决方法
一个卫星电视天线同播系统需要架设若干个大功率发射站点,才能满足大区域的通信需求。站点间硬件和工作环境各有差异,导致各站的频率偏差不同。例如两个发射频率为350MHz的站点,一个的频偏为+1ppm,另一个为-1ppm,在功率重叠区就会产生700Hz的频率差,形成啸声,影响通话质量。从理论上讲,要保证同频覆盖区的通话质量,必须使各发射站的频偏保持在0.05ppm以下。校准各发射站频率的最好方法,是为其提供统一可靠的基准时钟信号。GPS定位卫星信号精度高,没有时间和地域的限制,可以作为基准时钟信号同步各站的基准振荡器,解决同频干扰的关键性问题。
1.2 系统硬件设计
频率校准系统主要由高精度GPS信号接收器、FPGA芯片、VC-TC2XO(压控恒温晶振)、高精度DAC(数模转换器)等部分组成。VC-TCXO为FPGA提供工作时钟,也为发射提供基准频率。FPGA通过GPS秒脉冲信号计算标准时长,记录下这段时间内VC-TCXO产生的脉冲总数,与标准的脉冲数进行对比,最后通过DAC对VC-TCXO进行电压校正。校准后的VC-TCXO频率通过FPGA内部PLL倍频,成为发射频率。基本硬件结构框图如图1所示。

FPGA编程比较灵活,可设置任意位的片上寄存器,保证了脉冲计数的精度,适用于高精度的频率校准。本设计采用Actel公司Fusion系列的AFS600,属于Flash架构,内部集成了60万逻辑门。以Flash为基础的FPGA将配置信息储存在片上Flash单元中,一旦完成编程,配置数据就会成为FPGA结构的固有部分,在系统上电时无需通过外部SRAM载入配置数据。AFS600可靠性高、功耗低,节省外部元件,适合开发手持设备。
本设计采用的GPS接收机是Motorola公司生产的M12M授时型OEM模块,输出秒脉冲信号的精度±20ns。压控恒温晶振采用华晶达电子公司的VC-TCXO(503212.8M),中心频率12.8MHz,工作电压3.3V,温度稳定度±1.0ppm,老化率±1.0ppm/年,控制电压范围1.65±1.0v,可调节频率范围1 2.8MHz±300Hz。高精度DAC采用TI公司的。DAC8552,具有16位精度,可串行SPI控制方式,参考电压为3.3V。
1.3 分级控制方案
基于效率和精度的需要,本设计采用分级控制方案。GPS秒脉冲信号的精度误差为20ns,折算12.8MHz频率,最大频偏为20ppm。若以1秒作为时长比较脉冲数,调整的精度无法达到要求,同频干扰依然存在。由于秒脉冲信号的精度误差呈均匀分布,加长检测的时间可以提高信号精度,从而提高校准精度。但校准效率会下降,发射准备时间增加。另一方面,DAC的控制方式也影响系统的精度和效率。单次调整幅度大,效率高但精度低,幅度小则需时过长,所以不能以固定的幅度调整。根据VC-TCXO和DAC8552的参数,DAC最小的调整幅度为0.015Hz,DAC数值与VC-TCXO频率的关系是:
f(b)=12.8MHz+(b-b)×O.015Hz
式中f(b)是当前VC-TCXO频率,b是FPGA写入DAC的数值,b’是VC-TCXO输出12.8MHz时对应的DAC数值。VC-TCXO的电压可调范围是1.65±1.0V,折算b的有效范围为12 909~52 627。
为了平衡精度和效率的需要,系统采用了分级控制的方案。如表1所示,系统控制的逻辑分为五级。等级3的频偏和调整幅度最小,检测时间最长。脉冲数上下限用于固定时长内脉冲数的比较,判断是否需要调级。VC-TCXO的温度和老化的因素使晶体频率的上下限改变,所以等级1没有计数脉冲下限,等级5没有上限。FPGA根据当前的级别设定检测时间,再通过收到的脉冲数判断升级、降级或是调整电压值。

2 FPGA设计
2.1 FPGA顶层设计
FPGA的设计采用自顶向下的设计方法,用Verilog HDL语言描述,在Actel公司的开发软件libero8.0中进行综合、优化、仿真和定时分析。顶层设计由PLL、分级控制、脉冲计数模块以及电压控制模块组成,如图2所示。

工作过程为:首先,初始化FPGA,电压控制模块将DAC8552的电压输出值置于中位(1.65V),分级控制模块的开始分级设定为3,并通过level[2∶0]连线将级别赋给脉冲计数模块和电压控制模块;分级控制模块收到GPS秒脉冲时,通过auto reset启动脉冲计数模块,收到read信号时读入judge[1∶0],judge[1∶0]的意义如表2所示。如果judge[1∶0]=00,level[2∶0]不为1,level[2∶0]降级;judge[1∶0]=01,level[2∶0]不为5,level[2∶0]升级;judge[1∶0]为10或11,通过step和load引脚调整电压控制模块。







