首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于北斗卫星系统的高速摄像机时间同步器设计

基于北斗卫星系统的高速摄像机时间同步器设计

关键字:高速摄像   北斗卫星系统   FPGA   直接数字频率合成   时间同步  



1. 引言在民用飞机飞行试验中,为了保证图像测试数据的准确可靠,机上图像测试系统中不同测试设备时间需要严格的统一。原子钟是一种非常稳定的时钟源,可以提供精确的时间信息用于时间同步。但是在机载环境下,安装空间狭小,安装位置受限,无法使用原子钟作为时钟源。
使用导航卫星对机载高速摄像机进行时间同步,可以满足图像测试系统对时间同步的精度要求。随着我国北斗二代卫星导航系统一期组网完成和接口控制文件的公布,北斗卫星导航系统开始向亚太大部分地区正式提供连续无源定位、导航、授时等服务,本文研究了使用北斗卫星导航系统对机载高速摄像机进行时间同步的技术,设计了基于北斗卫星系统的机载高速摄像机时间同步器。
2. 时间同步技术方案
目前绝大多数机载高速摄像机外部同步时间输入都支持IRIG-B码,时间同步器接收北斗卫星时间信息,将卫星发送的UTC时间编码转换为IRIG-B时间码需要的格式,并产生IRIG-B时间码的波形输出,IRIG-B时间码的起始位置必须和整秒的起始位置严格对齐。同步器内部逻辑框图如下图:



图1 时间同步器方案框图


UM220-T接收北斗二代卫星时间信息,将时间信息以NMEA-0183语句输出至STM32,STM32将解码UTC时间,将其编码为IRIG-B需要的时间信息,通过串行总线送入FPGA中,同时STM32通过SPI接口控制OLED显示屏,实时显示当前定位状态和时间信息。FPGA将接收的时间信息编码为IRIG-B(DC)码和IRIG-B(AC)码输出,由于FPGA输出的IRIG-B(AC)码实际上为IRIG-B(AC)码的数字信号,需要通过高速DA转换以及运放信号调理来实现将数字IRIG-B(AC)码转换成模拟信号用于机载高速摄像机时间同步。
2.1 UM220-T北斗卫星接收模块
UM220-T 模块是针对授时应用领域推出的北斗/GPS双系统精密授时产品,支持静态授时,单星授时,集成度高、功耗低,适合北斗授时领域的应用。采用先进的多路径抑制技术,以及优化的授时算法,提供精确的1PPS 输出。创新的多系统融合开放式架构,保证不同系统的可用卫星均可参与联合定位、授时,提高可靠性,保障长时间连续可靠的授时输出。支持单星授时功能,在仅有一颗可见卫星时,仍能保持精确、稳定的 1PPS 输出。
2.2 STM32微控制器
STM32系列32位微控制器使用来ARM公司设计的Cortex-M3内核,该内核是专门设计于满足集高性能、低功耗、实时应用的嵌入式领域的要求。Cortex-M3相比以往的微控制器在系统结构上进行了增强,使用的Thumb-2指令集带来了更高的指令效率和更强的性能;紧耦合的嵌套矢量中断控制器,对中断事件的响应比以往更迅速。
时间同步器设计方案中使用STM32完成接收UM220-T发送的时间信息,从中解码出当前UTC时间,将其转换为标准的IRIG-B时间后通过自定义串行输出口输出至FPGA,同时STM32还负责驱动OLED显示屏,实时的显示当前的定位状态和时间信息,方案设计中还增加了实时时钟芯片(RTC),以便于在收星条件不好时,为测试系统提供一个参考时间。
设计中使用的STM32F103RB具有扩展工业级的工作温度范围,可达72MHz的主频,可以实现在将UTC时间编码为IRIG-B时间的同时完成驱动OLED显示屏的功能。
2.3 FPGA芯片实现IRIG-B编码
当前绝大多数机载高速摄像机都支持使用IRIG-B进行时间同步,IRIG是美国靶场仪器组的简称。IRIG时间标准有两大类:一类是并行时间码格式,这类码由于是并行格式,传输距离较近,且是二进制,因此远不如串行格式广泛;另一类是串行时间码,共有六种格式,即A、B、D、E、G、H。它们的主要差别是时间码的帧速率不同,IRIG-B即为其中的B型码。B型码的时帧速率为1帧/S。
北斗时间同步器设计中使用FPGA直接数字频率合成技术实现时间信息的IRIG-B码型产生。直接数字频率合成(DDS)是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成,它具有频率分辨率高、频率切换快、频率切换时相位连续等优点。3.2 软件程序设计
3.2.1 NMEA-0183解码
NMEA 0183 是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式.目前业已成了 GPS 导航设备统一的 RTCM(Radio Technical Commission for Maritime services)标准协议。
NMEA-0183 常用命令如下表所示:




每条语句都有固定的格式,输出的各个参数之间使用逗号隔开。UM220-T北斗卫星接收模块也使用这些标准语句进行导航数据的输出。本设计主要用于时间同步,所以仅需要对数据中的时间信息解码,因此仅需要对GPRMC语句中的定位状态进行解码。
STM32F103RCT6先在内存中开辟两块缓冲区A和B, 使用中断模式接收到UM220-T发送的数据,当接收到$符号表示数据帧开始,接下来将数据存入在内存中开辟的数据缓冲区A中,当接收到回车换行符表示一条数据帧接收完成,置A区数据完成标志位,等待下一帧数据到来时采用同样的方式存入数据缓冲区B。
当主程序检测到缓冲区接收完成标志位置位时,从缓冲区中取出数据完成数据解码[6],解算出当前UTC时间,清空数据缓冲区和标志位,将时间信息编码成串行数据送入FPGA中,编码时需要注意闰年B码天数的处理,主程序实现的流程图如下图:



图5 NMEA-0183数据解码程序流程图


3.2.2 FPGA实现IRIG-B时间码
IRIG-B码是每秒一帧的时间串码,每个码元宽度为10ms,一个时帧周期包括100个码元,为脉宽编码。码元的“准时”参考点是其脉冲前沿,每一帧的参考标志由一个位置识别标志和相邻的参考码元组成,其宽度为8ms;每10个码元有一个位置识别标志:P1,P2,P3,…,P9,P0,它们均为8ms宽度;二进制"1"和"0"的脉宽为5ms和2ms。
使用Verilog语言进行编码逻辑的设计,首先根据STM32输出的时间,产生相应的IRIG-B(DC)码,再使用DC码调制正弦载波,产生AC码信号,运放调理电路实现对DA输出的信号低通滤波以及分配为多路的功能。
4 实验结果与应用
为了验证北斗时间同步器时间同步精度,课题组将北斗时间同步器输出的波形与中国科学院国家授时中心的标准时码发生器进行了对比实验,实验结果表明北斗时间同步器的同步精度很高,满足设计要求,对比实验结果如下图所示。


图6 与标准时码发生器时序对比


课题组将北斗时间同步器用于机载高速摄像机和模拟视频采集记录器进行时间同步,结果表明北斗时间同步器输出的IRIG-B(AC)码可以实现对机载高速摄像机的时间同步功能,同步时间精度优于10us。
5 结论
基于我国自主知识产权的北斗卫星导航系统,使用基于FPGA的数字频率合成技术,设计了北斗卫星时间同步器,用于对机载高速摄像机进行精确的时间同步,并将其应用于飞行试验中,为飞行试验高速摄像机时间同步提供了一种新的方式,具有广泛的应用前景。
返回列表