|
发表于 2020-10-10 21:36:32
|
显示全部楼层
北斗一代卫星提供北斗短报文服务,由于卫星信道资源有限,目前允许北斗民用终端配备使用的通信卡一般为民用3级卡,此级别的通信卡每隔60秒可发送一次长度为78字节的报文,由于部分字节还要用于信息描述和格式定义,真正用于消息传输的有效字节一般为70字节,即35个汉字左右。这种长度限制下,能够传输的信息较为有限,无法充分发挥北斗通信应有的优势。
技术实现要素:
本发明要解决的技术问题,在于提供一种扩展北斗短报文长度的方法,延长单条北斗短报文长度,扩大其使用场合。
本发明是这样实现的:一种扩展北斗短报文长度的方法,所述方法包括如下步骤:
步骤1、定义单条北斗报文的数据格式,其中,短报文的数据格式为:短报文标志位+有效信息内容,所述短报文标志位表示报文类型为短报文;长报文的数据格式为:长报文标志+当前条数+总条数+结束标志+报文ID+有效信息内容,所述长报文标志表示报文类型为长报文,所述当前条数表示当前报文在长报文中的序列顺序,总条数表示长报文总共由几条短报文组成,所述结束标志表示当前报文是否为长报文中的最后一条,报文ID用来标识该长报文;
步骤2、设置北斗发送机的发送机制,若发送短报文时,正常流程发送,若发送长报文时,需逐条发送组成该长报文的报文组,直至发送完毕;
步骤3、设置北斗接收机的接收机制和解析程序,对报文进行接收处理。
进一步的,将长报文中的长报文标志、当前条数、总条数、结束标志对应设置为标志位1、标志位2、标志位3、标志位4,各个标识位在报文中的长度可根据需求进行设置。
进一步的,所述用1个比特位表示标志位1;用3个比特位分别表示标志位2、3,其中,3个比特位能表示数字0-7,这样长报文可传输的有效信息在280个汉字,用1个比特位表示标志位4,全部标志位字段占1个字节;用4个字节表示报文ID。
进一步的,所述步骤3具体为:所述北斗接收机接收到北斗报文后,根据长或短报文标志位判断报文类型,如果是短报文,则直接解析并展示;如果是长报文,则根据结束标志位、当前条数与总条数的关系判断是否组成该长报文的报文组已接收完毕,若接收完毕,则解析该条报文并将其与之前缓存的报文进行组包拼接,最后展示;若未接收完,则解析并缓存该条报文后继续等待接收下一条报文。
进一步的,北斗报文会存在丢包现象,需设置一个超时时间,若超过该时间,仍未收到新的报文,则也将此前收到的报文进行组包,并展示,从而展示除丢包报文之外的剩余信息。
进一步的,为了完全避免丢包的影响,通过北斗接收机成功接收后给北斗发送机回执的手段,若北斗发送机没收到回执,则重新发送该条报文。
本发明的优点在于:本发明与现有技术相比,扩展了单条北斗短报文的容量长度,可做到没有字数限制,提高了北斗报文的通信能力,能为应急、救援、远洋、野外等特殊领域提供更强大的服务能力。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是现有的完整北斗短报文的接收系统示意图。
图2是本发明的方法流程示意图。
图3是本发明的北斗接收机的接收机制和解析程序的流程示意图。
具体实施方式
一个完整北斗短报文的接收系统如图1所示,北斗报文发送机发送短报文,经过北斗信道的传输后送达北斗接收机,接收机对短报文进行解析并展示有效信息。因此在北斗短报文的单条字节长度已经固定的情况下,需要对多条短报文进行拼接组包,才能够模拟长报文的效果。这就需要对单条北斗报文数据格式进行定义,以及重新设计北斗发送机的发送程序、北斗接收机的接收和解析程序。
参阅图2和图3所示,本发明的一种扩展北斗短报文长度的方法,具体步骤如下:步骤1、定义单条北斗报文的数据格式,其中,短报文的数据格式为:短报文标志位+有效信息内容,所述短报文标志位(长度为1个比特位)表示报文类型为短报文;参见表1所示
表1
长报文的数据格式为:长报文标志+当前条数+总条数+结束标志+报文ID+有效信息内容,所述长报文标志表示报文类型为长报文,所述当前条数表示当前报文在长报文中的序列顺序,总条数表示长报文总共由几条短报文组成,所述结束标志表示当前报文是否为长报文中的最后一条,报文ID用来标识该长报文;参见表2所示,
表2
步骤2、设置北斗发送机的发送机制,若发送短报文时,正常流程发送,若发送长报文时,需逐条发送组成该长报文的报文组,直至发送完毕;
步骤3、设置北斗接收机的接收机制和解析程序,对报文进行接收处理。
将长报文中的长报文标志、当前条数、总条数、结束标志对应设置为标志位1、标志位2、标志位3、标志位4,各个标识位在报文中的长度可根据需求进行设置。
所述用1个比特位表示标志位1;用3个比特位分别表示标志位2、3,其中,3个比特位能表示数字0-7,这样长报文可传输的有效信息在280(35*8)个汉字,满足绝大部分场合下的使用需求;用1个比特位表示标志位4。按照这种方式,全部标识字段占1个字节。报文ID用来标识该长报文,这样北斗接收机同一时间段收到多条不同长报文的报文组时可以借此加以区分,建议用4个字节表示,只需保证在该长报文发送周期内的唯一性即可。上述标志位的长度在实际应用中,可根据需求自行调整,理论上可以做到长报文没有长度限制。报文的其余部分则为有效信息内容。
所述步骤3具体为:所述北斗接收机接收到北斗报文后,根据长或短报文标志位判断报文类型,如果是短报文,则直接解析并展示;如果是长报文,则根据结束标志位、当前条数与总条数的关系判断是否组成该长报文的报文组已接收完毕,若接收完毕,则解析该条报文并将其与之前缓存的报文进行组包拼接,最后展示;若未接收完,则解析并缓存该条报文后继续等待接收下一条报文。北斗报文会存在丢包现象,需设置一个超时时间,若超过该时间,仍未收到新的报文,则也将此前收到的报文进行组包,并展示,从而展示除丢包报文之外的剩余信息。
进一步的,为了完全避免丢包的影响,通过北斗接收机成功接收后给北斗发送机回执的手段,若北斗发送机没收到回执,则重新发送该条报文。
总之,本发明与现有技术相比,扩展了单条北斗短报文的容量长度,可做到没有字数限制,提高了北斗报文的通信能力,能为应急、救援、远洋、野外等特殊领域提供更强大的服务能力。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
|
|