通信协议转换器系统的硬件设计如下图2所示。STM32F407芯片提供多达6个USART异步串行端口,通过使用MAX485和MAX232电平转换芯片,将其分解为2个RS422电平标准端口和4个RS232电平标准端口;采用LM2576、LM1805将隔离后的28 V直流电源变换为5 V和3.3 V作为系统的工作电源;使用B0303-1W配合HCPL263L光耦对输出的RS422电平、RS232电平进行隔离供电以及电平转换;使用2片16 bit数模转换芯片LTC1655分别输出雷达高度、气压高度数据的高精度模拟量;使用74AHC1G125对PPS秒脉冲同步信号输出,提高其带负载驱动能力。
3 系统软件设计
3.1 数据帧的解析
如前所述,通信协议转换器的最主要的功能是实现遥测遥控数据、位置姿态数据的解析,使设备之间通过RS422/RS232串口传输。为了正确、顺利和实时地完成传输,不同的设备采用了不同定义的串口通信传输协议。多种传输协议都是基于帧传输的方式,将测控、位姿数据进行分帧发送,并在传输过程中对单帧中的数据进行和校验。数据帧的构成如下图3所示。
上行遥控帧数据主要包括控制航磁仪的工作状态,如是否磁补偿飞行、是否开始记录文件、是否进入标定模式等信息。下行遥测数据主要包括航磁仪的测量数据,如磁场强度大小、经纬度及方向、系统工作状态等信息。在STM32F407微控制器程序的控制下,对不同USART端口接收到的信息内容解析后进行队列排序,相互之间采用多线程结构调用设计,用以实现多任务的伪并行处理,完成了航磁仪测量数据传输协议和无人机链路传输协议的自动转换。通过实际的测试,系统误码率几乎为零,自动协议转换时间远小于帧传输的间隔时间,完全可以达到实时传输数据的要求。
3.2 GPS及高度数据的输出