2023.6电脑编程技巧与维护1概述近年来,北斗终端越来越多地在国民经济和军事领域中被广泛使用。在北斗终端设备中,指挥型用户机是用户机产品中的重要成员,能够提供授时、定位、通信、导航等功能。但在应用中,用户经常需要定制一些北斗功能,例如,将指挥机接入已有的应用系统平台,而北斗终端生产厂商一般对协议的解析代码不公开,这给功能定制和业务融合带来了一定困难。故解析北斗终端数据接口协议,编写协议接口,实现北斗终端授时、定位、通信功能与现有信息系统平台融合具有十分现实的意义。2北斗终端数据接口协议2.1协议版本《北斗一号用户机数据接口要求4.0》,简称4.0协议,为二进制格式,支持6个波束。目前卫星无线电定位服务(RDSS)产品大部分支持4.0协议,但基本被2.1协议取代。《北斗卫星导航系统用户终端通用数据接口(预)》,版本2.1(简称2.1协议),为文本格式,支持10个波束,兼容RDSS和卫星无线电导航服务(RNSS)。由于2.1协议具有更丰富的功能和扩展性,目前市场上的RDSS产品普遍采用该协议进行开发,也有部分RDSS产品兼容4.0和2.1两种协议。由于2.1协议在行业中被广泛使用,在此以2.1协议为例,进行协议分析、数据结构定义、编程实现和实验验证。2.2协议分析协议指令分为3类,分别是专用指令、RNSS指令和RDSS指令,共计33条。其中,专用指令用于输出控制、系统复位、电源模式和串口设置,共4条指令;RNSS指令为无源服务指令,包括模式、设置、时间、定位等12条指令;RDSS指令为有源服务指令,包括用户信息、定位信息、通信信息等17条指令。通信接口为RS-232,默认波特率为115200bit/s,1位开始位、8位数据位、1位停止位,无校验。数据传输约定编码为ASCII码,数据传输约定格式如表1所示。起始符固定为“$”;指令为5字节ASCII码;数据段中不同含义的数据以“,”作为分隔符,数据长度不定;校验码从指令起始符“$”(不含“$”)开始到校验码标识“*”(不含“*”)前一个字节按字节异或的结果,用以校验数据包是否接收正确;结束符为回车换行符(0x0D、0x0A)两个字符。一个典型的短消息报文字符流如图1所示。字符流表示接收到北斗设备短消息报文,类型为普通报文,发送方ID为0012104,编码方式为混合编码,内容为“你好你好ABCDEFGH1234567890”。报文起始符“$”之后的两个字母“BD”标识符表示接收到北斗设备的报文,其中,标识符还有“CC”,表示计算机发给北斗系统的指令;“TXR”表示收到北斗通信信息。3数据结构定...