北斗终端数据接口协议解析与实现_邢厚子.pdf
《北斗终端数据接口协议解析与实现_邢厚子.pdf》由会员分享,可在线阅读,更多相关《北斗终端数据接口协议解析与实现_邢厚子.pdf(4页珍藏版)》请在咨信网上搜索。
1、2023.6电脑编程技巧与维护1概述近年来,北斗终端越来越多地在国民经济和军事领域中被广泛使用。在北斗终端设备中,指挥型用户机是用户机产品中的重要成员,能够提供授时、定位、通信、导航等功能。但在应用中,用户经常需要定制一些北斗功能,例如,将指挥机接入已有的应用系统平台,而北斗终端生产厂商一般对协议的解析代码不公开,这给功能定制和业务融合带来了一定困难。故解析北斗终端数据接口协议,编写协议接口,实现北斗终端授时、定位、通信功能与现有信息系统平台融合具有十分现实的意义。2北斗终端数据接口协议2.1协议版本北斗一号用户机数据接口要求4.0,简称4.0协议,为二进制格式,支持6个波束。目前卫星无线电定
2、位服务(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条。其中,专用指令用于输出控制、系统复位、电源模式和串口设置
3、,共4条指令;RNSS指令为无源服务指令,包括模式、设置、时间、定位等12条指令;RDSS指令为有源服务指令,包括用户信息、定位信息、通信信息等17条指令。通信接口为RS-232,默认波特率为115 200 bit/s,1位开始位、8位数据位、1位停止位,无校验。数据传输约定编码为ASCII码,数据传输约定格式如表1所示。起始符固定为“$”;指令为5字节ASCII码;数据段中不同含义的数据以“,”作为分隔符,数据长度不定;校验码从指令起始符“$”(不含“$”)开始到校验码标识“*”(不含“*”)前一个字节按字节异或的结果,用以校验数据包是否接收正确;结束符为回车换行符(0 x0D、0 x0A)
4、两个字符。一个典型的短消息报文字符流如图1所示。字符流表示接收到北斗设备短消息报文,类型为普通报文,发送方ID为0012104,编码方式为混合编码,内容为“你好你好ABCDEFGH1234567890”。报文起始符“$”之后的两个字母“BD”标识符表示接收到北斗设备的报文,其中,标识符还有“CC”,表示计算机发给北斗系统的指令;“TXR”表示收到北斗通信信息。3数据结构定义按照2.1协议规范,为每条指令信息表设计数据结构,共计33个结构体。为了规范统一,对数据结构体制定命名规则,以指令码名称作为结构体名称定义C+结构体。这里以定位信息表为例说明结构体的定义,定作者简介:邢厚子(1976),硕士
5、,高级工程师,研究方向为地理信息应用;刘世雄(1982),硕士,工程师,研究方向为地理信息系统。北斗终端数据接口协议解析与实现邢厚子1,刘世雄2(1.61287部队,成都610503;2.61243部队,乌鲁木齐830006)摘要:分析了北斗终端数据接口协议,用 C+语言设计了数据结构,并编写协议解析接口,实现了授时、定位、通信等主要功能。研究成果在北斗指挥机终端软件开发、战场环境保障系统融合方面具有很好的应用前景。关键词:北斗终端;北斗指挥机;接口协议起始符指令数据段校验和结束符$5字节ASCII码,数据*hh表1数据传输约定格式图1短消息报文字符流标识你好你好A BC DE FG H12
6、3456 78 90校验和普通通信混合编码起始符、指令对方ID校验标识99DOI:10.16184/prg.2023.06.0332023.6电脑编程技巧与维护位信息如表2所示。为了完整保存数据报文,在定义其结构体时,保持对应的字段顺序和内容不变,设计定位信息的数据结构如下。/$BDDWR北斗定位报文结构体typedef struct bddwrBYTEm_InfoType;/定位信息类型charm_theID16;/终端地址intm_utcH,m_utcM;/定位时刻的时、分floatm_utcS;/定位时刻的秒floatm_Bd,m_Bm,m_Bs;/纬度,度,分,秒charm_ns;/南
7、、北半球标识floatm_Ld,m_Lm,m_Ls;/经度,度,分,秒charm_ew;/东、西半球标识floatm_h;/大地高floatm_hy;/高程异常charm_hyUite;/异常单位BYTEm_JingDu;/定位精度0-20 1-100charm_JinJi;/A紧急V非charm_DuoJie;/A多值V非多值charm_GaoKong;/H高空L普通BDDWR;4协议解析协议解析的过程就是把串口输出的ASCII字符串,按照协议的约定进行断句、解析、保存到结构体中,将结构体通过参数传递提供给应用层程序使用。反过来,向指挥机发送指令的过程是解析协议的逆过程,即将结构体中的数据,
8、按照协议格式转换为ASCII码、连接、添加分割符、添加校验值,组合为ASCII字符串向串口发送。4.1断句断句的作用是将串口接收到的字符串,根据报文结束标识“rn”截断为多个单条报文,因为串口接收到的字符串不一定是一条报文,有可能是多条报文连续发送过来,在协议解析前需要处理成单条报文,逐一解析。数据包断句流程如图2所示。(1)设置串口接收的回调函数。每当串口接收完一个数据包,回调函数就会被触发调用。一个数据可能是一条报文,也可能是多条报文的组合。(2)将串口接收到的ASCII字符流存储到字符串变量s中。在底层串口通信中,收到的数据是字符流,不存在整数、浮点数、字符串的概念,需要将字符流转换为字
9、符串,存储在字符串变量中。(3)统计字符串变量s中协议结束符的数目N,即当前数据包中包含的北斗报文个数;将报文起始位置POS0置为0,即记录第一条北斗报文的起始位置在字符串s中的0位置;置报文解析计数器n为0,记录当前解析完毕的报文数目。(4)从POS0起 始 查 找 下 一 个 报 文 结 束 符 位 置POS1;截取POS0至POS12(“rn”占2字节)之间$BDDWR,*hh定位信息类型,1=本北斗终端进行定位申请返回的定位信息,2=指挥型用户终端接收到通过定位查询方式得到的下属用户定位信息,3=接收到位置报告的定位信息定位信息的北斗终端地址定位时刻,hhmmss.ss(时分秒百分秒)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北斗 终端 数据 接口 协议 解析 实现 邢厚子
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。