一种基于嵌入式的高精度同步授时系统
2023-03-14李淑婧刘萍妮
王 蕾,李淑婧,刘萍妮,刘 军
(空军工程大学 空管领航学院 航空集群技术与作战运用实验室,陕西 西安 710051)
随着信息技术的发展,集群化作战和智能化已然成为重要的协同合作模式。集群通信任务中各类实时精度高、数据资源丰富的机载和地面设备需要完成高速数据同步采集和精确的系统协同控制。为满足协同交互和智能敏响,集群成员和网络节点各要素之间的授时同步精度指标尤为关键。监控台、模拟器的通信平台在进行空空、空地系统的人机交互、远程测控等调试运行时的高速同步需求更为迫切[1]。设计一种具有高可靠通信速率、机间协同速率、数据容量可扩展、体积小、精度高、便于多例化实现的片上系统,在军事装备领域具有广泛的基础应用前景。本文设计的高速数据传输装置基于嵌入式设计理念,将DSP和FPGA两者功能紧密耦合[2],DSP芯片具备微处理器的运算控制功能,FPGA芯片发挥其快速灵活性、移植性高、逻辑资源集中的优势[3]。系统使用芯片内核和硬件描述语言,结合电源芯片、时钟芯片、BD∕GPS双模接收模块输出秒脉冲信号(PPS)。使用高速数据传输装置与秒脉冲发生装置输出的两路脉冲信号实现同步,授时误差在500 ms内。使用高速数据传输装置间输出的两路脉冲信号实时通信,授时精度验证满足200 ns。此外,成功应用于某型地空电台数据通信,完成了高速数据传输处理、精准定位和系统同步。其中,双模接收模块支持多种卫星信号数据,有效避免了因卫星失锁等原因导致的系统失步等问题。同时,支持使用的新一代北斗导航卫星自主能力强,拥有更高的定位和授时精度,具有更多的自主知识产权,有效提高了片上系统的国产化率。
1 系统方案设计
硬件系统设计如图1所示,由时钟管理器、电源管理器、DSP数据处理模块、FPGA控制逻辑模块、ADC∕DAC模拟前端模块、BD∕GPS双模接收模块、串口电平转换模块等组成,串口信号通过串口转换器连接至串口控制终端[4]。时钟管理器按需求分配系统工作频率;电源管理器提供片上电源资源;FPGA作为系统的逻辑控制核心,处理整个数据采集、数据存储以及数据传输的流程[5]。FPGA控制逻辑使用GPIO接口与DSP处理器中EMIF总线接口连接,包含片选线、地址总线、数据总线、读写使能线等[6]。ADC∕DAC模拟前端模块包含模数转换和数模转换芯片,负责数据采集和收发通信,模拟前端模块的寄存器、控制信息及高速通信数据,通过SPI总线传输至FPGA[7]。BD∕GPS双模接收模块解析天线信号,两路串口与FPGA逻辑模块连接,实现配置与信息交互。双模接收模块完成配置后输出秒脉冲信号,为系统提供同步标志。数据包和串口信息通过EMIF传输至DSP模块,实现指令控制、数据调制、解调、解析、纠错等。系统使用RS 422作为平衡通信接口,电平转换芯片配适串口电平,通过串口转换器连接至PC端机,实现在串口控制终端近距离或远程调试控制[8]。
图1 硬件系统设计框图
本文系统设计基于Xilinx公司的FPGA芯片、TI公司的浮点核芯片TMS320系列处理器,使用的ATGM332D高灵敏度接收机模块相对于传统测量领域使用GPS同步时钟,同时支持GPS、BD等卫星的单系统定位和双系统联合定位。ATGM332D包含32个跟踪通道,同时接收所有可见卫星,天线跟踪灵敏度达到-165 dBm,内置天线短路保护、检测电路,支持远程升级。2组232串口波特率选择定制,包括4 800 b∕s,9 600 b∕s,57 600 b∕s,115 200 b∕s四种模式。默认波特率为9 600 b∕s,8个数据位,无校验,1个停止位。其中串口1按照NMEA0183协议输出导航数据,接收配置命令输入;串口2用于辅助串口数据交互,可用于代码升级。电路设计时天线接口尽量靠近模块的RF输入引脚,使用50Ω阻抗匹配,PCB走线避免锐角。ATGM332D模块设计应用如图2所示。其中,图2a)为天线输入参考连线,图2b)为秒脉冲时序表现,其中Thw为100 ms。
图2 ATGM332D模块设计应用
2 软件实现方案
2.1 软件实现流程
系统软件实现流程如图3所示。
图3 软件实现流程
BD∕GPS双模接收模块接收天线信号,NMEA协议格式的定位数据和配置信息加载至FPGA。FPGA逻辑控制模块完成片上系统数据高速传输,包括串并转换时序、芯片初始化配置、数据存储、指令控制等信息[9]。其中,RAM1存储天线信息数据集,发送至DSP处理和控制终端检测;RAM2接收DSP中控制信息,发送至PC控制终端进行近远端测控。FPGA根据SPI时序完成ADC∕DAC模块的初始化配置流程,对通信收发数据流进行算法处理和加解密工作。
FPGA内部设计两个容量相同的“乒乓结构”RAM存储单元,满足电文数据收发实时传输需求,分别存储当前电文和更新电文。一块RAM数据写满后系统工作,待更新电文写入另一块RAM,等待上一电文的帧数传输完成,切换到更新单元,向第一块RAM写入下次更新数据。两块RAM交替工作,实现数据并行处理,提高系统传输速率[10]。串口速率可调,根据需求选择低速或高速进行字节串并转换和传输。DSP数据处理模块包含串口速率设置、控制数据流初始化、天线数据流存储、通信收发数据算法处理、BD∕GPS指令解析等。
2.2 NMEA协议解析
BD∕GPS双模接收模块完成配置后输出秒脉冲信号,为系统提供时间同步参考。ATGM332D模块正常工作,通过UART接口输出NMEA协议格式的定位数据。根据定制输出频率输出以下语句的状态:字段类型包括状态、纬度、经度、时间等信息。语句结构:$--GGA,hhmmsss.ss,ddmm.mm,a,*hh<CR><LF>。其中,传输标识符“--”根据不同卫星表现为:BD、GP、GL、GA、GN等。
在DSP数据处理流程中,系统包含的多路串口功能需要轮询串口状态。查询RAM2返回的非空标志位,若满足则进行DSP中的信息存储,即根据EMIF总线速率对RAM2中进行读操作[11]。在存储足够长度的数据包的同时判断数据的有效性,针对天线信息和接收模块配置信息查看是否满足标志起始位“$--”。若满足相应的数据位标识,则根据NMEA协议解析,依次判断为字段类型中的定位数据,最终解析出要使用的卫星状态、经纬度、时间信息等。具体NMEA协议解析流程见图4。
图4 NMEA协议解析流程
3 本地授时误差的实测结果
在研制的高精度GPS授时系统样机上,对于PPS信号授时进行试验比较,并使用高精度示波器检测PPS信号对本系统软硬件的功能性能进行测评。
3.1 串口终端协议解析信号
DSP数据处理模块对BD∕GPS信号解析,可获得当前准确的定位数据、时效信息、有效卫星信息、接收机速度、航向数据、时间和日期信息。根据通信系统需求提供相应的数据信息。串口控制终端得到的协议解析拆分信号如图5所示。
图5 串口终端协议解析信号
3.2 对比秒脉冲输出装置性能验证
图6a)中本文装置和秒脉冲发生装置同时工作,将生成的两路秒脉冲信号输出至示波器进行性能验证测试。ATGM332D双模接收模块在高速数据传输接收装置中,完成软硬件设计流程后,输出的一路秒脉冲信号在图6b)中示为蓝色信号。以秒脉冲输出装置输出的黄色信号为基准,使用余辉模式采集观察时长为+∞。结果如图6所示,信号误差在500 ms之内。
图6 对比秒脉冲输出装置性能验证结果
3.3 高速数据传输装置间同步性能验证
两组高速数据传输接收装置同时工作,测试环境如图7a)所示,将生成的两路秒脉冲信号输出至示波器进行性能验证。使用2组不同天线输入,装置1完成配置后,输出的秒脉冲信号在图7b)中示为蓝色波形。装置2输出的秒脉冲信号在图7b)中示为黄色波形,使用余辉模式采集观察时长为+∞。输出的1PPS信号,信号误差在200 ns之内。综上所述,使用ATGM332D双模接收模块的高速数据传输装置,输出的秒脉冲信号对比成品秒脉冲装置产生的秒脉冲信号误差较大。高速数据传输装置间同步性能验证的结果表明,生成可用的秒脉冲同步信号性能更优,满足系统工程同步需求。现用通信系统中使用成品秒脉冲输出装置成本较大,使用面积、体积、重量相应增加[12]。对于协同通信复杂度高、电磁环境要求严苛的现场,集成双模模块的装置功能更优,性能更便捷。
图7 高速数据传输装置间同步性能验证结果
4 结 语
本文基于嵌入式的设计思路,详细介绍系统方案设计和软件实现流程,配合控制器DSP和FPGA功能紧密耦合,实现集群成员间高速数据传输和高精度同步协同装置。由远程测控结果可知,得到的本地授时同步误差不大于200 ns。对于集群协同的精确度需求高的场所,为提高系统间高速通信精度、机间调试提供了一种价格低廉且节约体积、面积及重量的通用实现方案。在满足装备定位和设备精准同步的基础上,使用双模接收模块接收多种卫星信号,提高设备通信速率和使用效率,为未来大量的无人机集群协同应用提供一种方法和思路。另外,本文使用的双模接收模块可同时支持GPS和BD等卫星的单系统定位以及双系统联合定位,拥有更高的定位、授时精度,具有更多的自主知识产权,同时也在系统设计实现中有效地提高了片上系统的国产化率。