当前位置:舍宁秘书网 > 专题范文 > 公文范文 > 一种起飞零时检控台的设计与实现

一种起飞零时检控台的设计与实现

时间:2024-01-11 10:30:02 来源:网友投稿

李相迎, 唐福杰, 雒建军, 赵向阳, 周晓凡

(1.中国人民解放军63610部队, 新疆 库尔勒 841000;
2.巴州翱翔无人飞行器科技有限公司,新疆 库尔勒 841000)

航天发射需要对飞行器进行准确的跟踪测量与控制[1],要求地面各测量站之间、测量站内部各测控设备之间以及主控站与飞行器之间有一个统一的时间基准[2],这个时间基准就是起飞零时(简称T0信号)。为了检测这一信号,需要T0信号检控台采集起飞时的脉冲信号,并将时间信息按一定格式发送给测控系统。T0信号检控台是连接靶场发控系统、测控系统和通信系统的关键设备,它能提供阵地发控系统所需的牵动信号和触点信号的馈电电源,使之形成点火、起飞的脉冲信号,同时对触点脉冲信号进行检测,形成起飞时间信息后发送给中心计算机;
中心计算机再向各测控站进行转发,以统一各测控设备对飞行器的跟踪和测量基准。此外,T0信号检控台还向调度系统提供起飞时刻的蜂音指挥信号。

随着军民融合在航天发射领域的不断深入,各种发射任务逐步增加,高密度、多点位并行开展发射准备工作已成为常态。一方面,新研设备可以弥补现有T0信号检控台在数量上的不足;
另一方面,传统的T0信号检控设备大多由工控机或基于早期单片机(8031或8051)研制的多块功能板卡集合而成,体积较大、价格较高、电路复杂、操作和维护不够灵活方便,通过新研的基于先进微控制器技术的T0信号检控台可以实现对现有设备的技术更新和产品换代。

近年来,STM32微控制器以其高性能、低成本、低功耗的特性被广泛应用于嵌入式产品设计[3-5]中,所设计的产品集成度和可靠性高,易于开发,在各领域得到了广泛应用。通过对国内外现有文献进行查询发现,迄今为止有关基于STM32的T0信号检测的研究鲜有报道。文献[6]设计实现了基于工控机的起飞零时控制系统,该系统基于PCI接口电路,需要安装驱动程序和应用软件;
文献[7]针对采用激光测量导弹起飞零时的系统,提出了一种基于激光脉冲编码、相关检测的自适应门限控制方法,主要目的是解决强背景光干扰问题;
文献[8]实现了基于图像处理的起飞零时信号检测方法,该方法受观测距离限制,且图像检测给出的起飞时间存在一定误差。

为此,本文以STM32F407开发板为平台开展基于STM32的T0信号检控台设计,其优点是可以简化开发过程,缩短开发周期。通过对目标系统进行功能分解,首先利用Keil编程环境搭建主程序框架,以开发板的示例程序为参考完成部分软件功能的调试;
其次,在选定的外围功能模块的基础上实现与STM32微控制器的互联互通测试,采用边调试边完善的方法,把系统功能集成在一块电路板上,实现一种小型化、低成本、易操作的起飞信号检控设备。

起飞零时检测设备由STM32微控制器及其外围电路实现,其架构如图1所示,主要功能包括:

① 2路触点输入触发信号,每一路可单独设置常开/常闭触发方式。

② 1路手动触发方式,可手动按键触发T0,供系统联调使用。

③ 1路倒计时触发输入,设置倒计时时间,触发T0后进入正计时。

④ 输入选择功能,可选择使用GPS/BD或BDC码作为时钟源,具备自动守时功能。

⑤ T0信号输出,采用UDP协议,RJ45网口输出。

⑥ 参数设置与信息显示,通过触摸屏与设备面板实现。

图1 设备架构图

设备工作时,通过外部提供的B码(DC码)和GPS/BD时间信号,任选一路作为时间源,当系统捕获到起飞触点(或倒计时、手动触发)信号时,信息处理模块将时间信号和相关的参数打包,通过网络对外发送。

设备核心采用了STM32F407芯片,其外围电路主要包括GPS接收模块、B(DC)码电平转换电路、光电隔离电路、触摸屏、网络传输模块等。STM32F407芯片提供了丰富的I/O接口、定时器、中断控制等资源,支持RS232/RS422/RS485接口通信,自带以太网模块,丰富的片内资源为实现高集成化和高可靠性的T0检控设备提供了有力支持。

T0检控设备的硬件设计主要是指STM32F407芯片外围电路与接口的开发,包括时间解码、起飞触点信号检测、网络接口和人机操作接口几个部分。

2.1 时间解码电路

T0检控设备的时钟源包括IRIG-B(DC)码和GPS/BD时间。B(DC)码的输入采用RS485或RS422接口协议。差分传输是RS485数据信号传输的方式,它采用双绞线进行信号传输,逻辑电平通过双绞线两端的电压差得到。由于STM32只支持TTL电平,因此需要对输入的B(DC)码信号进行电平转换,选用的器件为MAX1487。MAX1487采用的通信接口形式为RS485和RS422,功耗较低。图2为电平转换的电路原理图。

图2中B(DC)码从J2输入至U12的A、B端,转换后从RO端输出TTL电平的B(DC)时间编码脉冲,进入STM32芯片进行解码。

图2 RS422/RS485电平转换电路

GPS时间信号由 ATK-S1216F8-BD模块提供。该模块电平为5 V和3.3 V,与单片机系统保持兼容,体积小,性能优异,可通过串口进行各种参数设置,并可保存在内部Flash中。模块自带可充电后备电池,掉电后可以保持星历数据。它与STM32的连接关系如图3所示。

图3 ATK-S1216F8-BD模块与STM32连接示意图

模块的数据收发通过串口与微控制器连接。在硬件设计中,该模块与STM32连接的5根线分别为数据发送(TXD)、数据接收(RXD)、秒脉冲(PPS)、电源(VCC)和地(GND)。PPS信号可以提供精确的秒脉冲信号,脉冲前沿为整秒时刻,导航定位信息(时间信息)在秒脉冲之后通过串口输出。STM32芯片的定时器具有脉冲输入捕获功能,可以在程序初始化时进行设置,因此,在设计中将GPS模块的PPS信号与定时器输入端口连接,以获取精确的整秒时刻。

2.2 起飞触点信号检测

火箭发射时,通过点火或弹射方式与发射架分离。无论采用哪种方式,都会送出一个开关量信号。触点检测电路的作用是实现对这一信号的检测并发送给STM32进行处理。通常,发射架距离起飞信号检测系统较远,需要的电压和电流也比较大,为了保护微控制器,需要进行光电隔离;
起飞信号通过光电转换,变成TTL脉冲信号进入STM32微控制器。例如,采用点火方式时,通过火箭点火熔断装置形成起飞信号,此时的起飞信号检测电路如图4所示。

图4 起飞信号检测原理

熔断丝导通时,导通电流经R1使光耦的发光二极管发光,光耦三极管的集电极与发射极处于饱和导通状态,集电极输出低电平;
火箭点火起飞使熔断丝断开后,光耦的二极管不发光,三极管截止,集电极输出高电平,通过上拉电阻经整形电路进入STM32的GPIO端口。这种从低电平到高电平的跳变信号经STM32捕获后进入中断处理程序进行处理。在电路设计中,为了使电平跳变信号更接近于理想矩形脉冲,通常使用施密特触发器电路进行脉冲整形。

手动T0的触发方式与起飞触点检测的原理类似,通过按键产生TTL电平的脉冲跳变信号,整形后从STM32的GPIO端口输入,所以无须光电隔离。

2.3 网络接口

STM32F407芯片自带以太网模块,该模块包括带专用 DMA 控制器的基于IEEE 802.3的MAC(介质访问控制)控制器,支持介质独立接口 (Media Independent Interface,MII) 和简化介质独立接口 (Reduced Media Independent Interface,RMII)。信息发送时,必须外接以太网接口芯片(PHY 层芯片),本设计中采用了LAN8720A进行网络通信。STM32F407 通过 RMII 接口与 PHY 层芯片的连接示意图如图5所示。

图5 STM32F407 RMII与 PHY 层芯片的连接示意图

LAN8720A 为以太网接口芯片,对应于协议PHY 层,具有低功耗特性,网络速率为 10/100 Mbit/s, 该芯片可以通过 RMII 接口与以太网 MAC 层通信,具有符合IEEE 802.3-2005 标准的I/O 引脚电压。LAN8720A 可以通过自协商的方式选择与目的主机以最佳的方式(速度和双工模式)连接,支持 HP Auto-MDIX 自动翻转功能,无须更换网线即可将连接更改为直连或交叉连接。

2.4 人机操作接口

为了使T0检测设备易于设置和操作,选用了触摸屏作为操控界面。触摸屏为组态串口屏,通过串口与STM32进行通信,其交互原理如图6所示。

图6 触摸屏与STM32的通信连接

组态串口屏的特点是可以使用图形化的方式进行界面设计,内置了丰富的显示和控制组件,通过特定的命令集与STM32的串口进行通信,其自带的驱动函数库负责命令的解释与分发。触摸屏与STM32的数据交互为双向通信,因此需要两根数据线连接。

软件开发环境为Keil μVision 5,采用C语言编程。下面简要介绍各功能模块的软件实现。

3.1 时间解码

IRIG(Inter Range Instrumentation Group)码,称为“美国靶场仪器组码”,是美国靶场司令委员会制定的一种时间标准,现广泛应用于军事、商业、工业等诸多领域。IRIG 码共有4 种并行二进制时间码格式和6 种串行二进制时间码格式,其中最常用的是IRIG-B 时间码格式,其以每秒一次的频率发送时间信息,不仅包含秒脉冲信息,而且还有包括年、天、时、分、秒、二进制秒计日等在内的绝对时间信息[9]。

IRIG-B(DC) 时间码结构如图7所示。它是每秒一帧的串行时间码,每个码元总宽度为10 ms,一个时帧周期包括100个码元,为脉宽编码。每个码元又有二进制“0”和“1”以及位置标识符共3种码型,分成3字段编码:第1字段为年时间(年、天、时、分、秒);
第2字段为控制功能字段;
第3字段为直接用二进制秒符号表示的一天中的时间信息,每24 h循环1次。码元的“准时”参考点是其脉冲前沿,时帧的参考标志由一个位置识别标志和相邻的参考码元组成,其脉宽均为8 ms;
每10个码元有一个位置识别标志,因此1 s内共10个位置识别标志,即P1,P2,P3,…,P9,P0,它们均为8 ms脉宽;
PR为帧参考点;
二进制“1”和“0”的脉宽分别为5 ms和2 ms。

对B 码进行解码就是将B 码中所包含的时、分、秒信息提取出来,转换成计算机能够识别的形式。解码的关键在于检测B 码中各个码元的高电平宽度,首先要检测连续两个8 ms 宽的码元出现的位置,然后再检测随后的30个码元脉冲宽度,以确定时、分、秒。

图7 IRIG-B(DC) 时间码示意图

检测高电平宽度的方法为:设置STM32的相关定时器模式为脉冲捕获,将B 码送入定时器输入引脚,在引脚由低电平变为高电平时,启动内部定时器T0,开始计数;
在引脚由高变低时(即下降沿),触发中断,读取计数器的值,脉冲宽度等于计数值乘以计数周期。

依据B(DC)码的编码结构[10-12],采用软件方法提取时间信息的流程如图8所示。

GPS的授时信息从其导航报文中获取。导航报文采用NMEA-0183 协议传输[13],符合NMEA-0183标准的GPS接收机的硬件接口能够兼容计算机或单片机的RS232C串口协议,因此,可以通过串口编程实现GPS时间码的接收。由于导航报文中时间信息在秒脉冲之后通过串口输出,因此,秒脉冲到达时的准确时间应该用串口接收的时间信息加1 s。由于T0控制台还需要毫秒信息,所以需要通过定时器对相邻两个秒脉冲之间进行毫秒计数。GPS时间获取的原理图如图9所示。

图8 B(DC)软件解码程序流程

图9 GPS时间获取原理

NMEA-0183 协议采用 ASCII 码来传递 GPS 定位信息,称之为帧,它具有形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF) 的帧格式。$GNRMC为程序设计中接收的定位信息帧,只需要提取其中的UTC时间信息即可。

为保证时间信息处理的实时性,对B(DC)和GPS时间码的采集均在中断处理函数中完成。当检测到B(DC)码的整秒时刻的上升沿时,软件中设置一个I/O口进行电平翻转,在该I/O口中断处理函数中记录B(DC)码的整秒时间,然后启动预先设置的定时器进行毫秒(或微妙)计数,以便获取T0发生时刻的B(DC)码毫秒信息。由于GPS模块的1PPS输出线与STM32的一个定时器输入相连接,因此,GPS整秒时刻的采集可以在该定时器的中断处理函数中完成;
毫秒信息的产生与B(DC)码的方法一致。

3.2 T0 产生

设备的T0产生方式包括触点、手动和倒计时3种,其中触点和手动方式原理基本一致,即通过STM32的中断引脚检测电平翻转的脉冲信号,STM32响应外部中断,进入中断程序,在中断程序中将GPS或B(DC)码时间信息打包,按规定的协议格式通过网络发送T0时间信息。

在中断处理函数中,首先判断当前设置的时间源(GPS或B(DC)),然后从对应的结构体中取出时、分、秒、毫秒信息,根据协议格式将数据打包,调用网络发送函数对外发送。T0产生后,通常要求T0控制台连续对外发送10~20 s,因此,在中断函数中还需开启一个定时器,时间结束后停止发送。

在使用倒计时方式产生T0时,软件读取触摸屏设置的倒计时时间(分为绝对时和相对时),计算出距离当前时刻的整秒数,存入一个倒计时变量;
开启一个定时器,设置为秒中断,在定时器中断处理函数中,对存储的倒计时变量递减,当递减到0时,读取当前GPS或B(DC)码时间,发送过程与前面介绍的触点和手动中断处理函数中的操作基本一致。

3.3 触摸屏通信

为了实现触摸屏与STM32通信,需调用触摸屏驱动代码,并遵循一定的程序设计规范[14]。触摸屏对触摸控件进行唯一编号,操作时控件编号和命令信息通过串口发送给STM32,STM32的处理程序对命令解码,或者对设备进行参数设置,亦或者将设备信息回传给触摸屏进行显示。STM32与触摸屏通信软件结构如图10所示。

图10 STM32与触摸屏通信软件结构

在程序的主循环中,采用轮询的方式检查指令队列中有无指令到达,若指令有效则对指令进行解析。指令类型分为画面切换通知、触摸坐标通知和控件通知,均通过对应的子程序进行处理。画面切换指令负责触摸屏的信息显示和参数设置画面切换,在本系统中包括主界面和参数设置界面,按钮和文本作为主要控件负责实现参数传递、信息显示和状态选择与确认功能,本设计中未涉及触摸坐标的使用。

3.4 网络通信

STM32使用LwIP作为网络通信的协议栈。LwIP是瑞典计算机科学院的Adam Dunkels等开发的一个小型开源的TCP/IP协议栈,有无操作系统都可以运行,它实现的重点是在保持TCP/IP协议主要功能的基础上减少对RAM的占用,只需十几KB的RAM和40 KB左右的ROM即可以运行,因而适合在嵌入式系统中使用。LwIP的库函数提供了API调用接口,在完成必要的初始化设置后,当需要数据发送时可以直接调用。

在本设计中,T0信息输出使用UDP协议,在UDP的数据域使用包交换协议[15],进一步封装设备通信所需的地址、数据时标、包序号、数据长度和数据内容等信息。

测试时通过网线将设备与计算机连接。在设备端,通过触摸屏设置本地和远端的IP地址、端口号和数据包的相关参数;
在计算机端运行网络接收程序,设置好T0检控台的IP地址和端口号,等待接收数据。测试内容包括:

① 接入B(DC) 码,GPS收星正常,通过触摸屏切换时间源,查看屏上显示时间的正确性。

② 设置倒计时T0触发参数,当倒计时为0时,观察计算机接收到的UDP数据包内容。

③ 分别设置手动T0和触点触发T0方式,通过外部开关模拟,观察计算机接收到的UDP数据包内容。

④ 测试其他辅助功能,例如信息显示、蜂音信号输出、自动守时等。

图11为T0检控台参数设置屏,图12为产生T0信号时的设备主屏;
图13为使用GPS作为时钟源,在手动产生T0信号时收到的数据包内容截屏。

图11 T0检控台参数设置屏

图12 产生T0信号时的设备主屏

图13 计算机接收的UDP数据包信息

从获取的数据包内容可以得到T0检控台设置的参数和发送的T0信息如下(字段括号内的数字为字节序号):

VER(0):80, MID(1~2):2038, SID(3~6):12345678,DID(7~10):1234ABCD, BID(11~14):00010101, FLAG(19):00,发送日期(24~25):1F51,发送时间(26~29):21FD2C00,数据长度(30~31):0004,数据内容(32~35):21FBD404

其中,发送日期1F51为十进制8017,表示从2000年1月1日到当前设置日期的天数。发送时间21FD2C00为十进制570240000,表示发送时刻的北京时间量化为0.1 ms的计数值,即15时50分24秒。数据内容21FBD404为十进制数570151940,表示T0时间量化为0.1 ms的计数值,经转换后,T0时间为15时50分15秒194毫秒。在软件中,设置了连续发送10 s的T0信息,数据包中的发送时间保持整秒变化,而T0信息不变。分析结果表明,解析的参数与设置值一致, T0信息与设备产生的T0一致。

针对航天测控需求现状,研制了一种基于通用STM32微控制器的航天发射场T0检控设备。为了更好地适应当前测发与测控系统的技术现状,精简了传统T0控制台的一些不常用的功能(如HDLC通信、B(AC)码的接收与解调、打印输出等)。经测算,新研设备成本小于原设备的1/10,质量小于原设备的1/3,板卡尺寸仅为15 cm×8 cm。设备经过多次测试和发射任务的检验,工作稳定可靠,实现了小型化、低成本和高可靠性的设计目标,满足使用要求。

猜你喜欢触摸屏电平串口浅谈AB PLC串口跟RFID传感器的通讯应用装备制造技术(2020年11期)2021-01-26PLC和触摸屏在卫生间控制系统的应用装备制造技术(2019年12期)2019-12-25浅析投射式多点触控电容触摸屏电子制作(2018年19期)2018-11-14皮肤“长”出触摸屏知识就是力量(2018年7期)2018-07-11NPC五电平Z源逆变器的设计研究电测与仪表(2016年22期)2016-04-12数字电源内部数据传输的串口通信方法实现通信电源技术(2016年4期)2016-04-04USB接口的多串口数据并行接收方法探索通信电源技术(2016年5期)2016-03-22基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信地矿测绘(2015年3期)2015-12-22基于三电平光伏并网逆变器控制系统的研究与实践电子工业专用设备(2015年4期)2015-05-26基于NPC三电平变换器的STATCOM研究电测与仪表(2015年2期)2015-04-09

推荐访问:检控 零时 起飞

猜你喜欢