一种基于北斗的低功耗双向非实时通信方法
【技术领域】
[0001]本发明涉及一种基于北斗的低功耗双向非实时通信方法,属于北斗系统通信技术领域。
【背景技术】
[0002]北斗卫星系统具备的短报文通信功能在水文、气象、海洋、林业领域的遥测系统已经广泛应用。但鉴于目前北斗通讯终端的功耗较大,发信频度受限的问题,这些遥测系统在应用北斗卫星作为数据传输载体时,一般只实现了野外遥测站向数据采集中心站的单向传输功能,缺少中心站向遥测站的下行访问功能。系统的运行管理人员无法通过中心站对野外遥测装置进行数据查询、修改运行参数、检查设备工作状态等操作,系统的可维护性低。
[0003]相比现有的单向传输机制,本发明提出的基于北斗的双向非实时通信遥测方法,在设备整体功耗增加很少的前提下,实现了野外遥测站和数据采集中心站的双向通信;并且本通信方法中包含的编码方法,能够最大限度利用报文空间,实现尽可能多的信息的可靠传输。在基于北斗通信的遥测系统中应用本方法能够有效提高系统的数据传输效率和可维护性。
[0004]北斗卫星系统不仅具有授时、导航功能,同时具有传送短报文的通信功能,这是其他卫星导航系统所没有的独特功能。北斗卫星短报文通信在水文、气象、海洋、林业等自动化遥测系统中已经广泛应用。
[0005]这些遥测系统有大量的遥测站安装在偏远无人地区,没有移动通信信号覆盖,因此在这些地方,卫星成为唯一可供选择的可靠通信方式。而北斗相比其它卫星通信方式,具有费用低、实时性好的特点,成为近年来各领域几乎所有遥测系统的首选卫星通信方式。
[0006]偏远无人地区很少有交流供电条件,因此安装在这些地区的遥测设备一般采用蓄电池和太阳能供电,由于交通条件所限及运输成本方面的因素,设备所配备的蓄电池、太阳能电池的容量有限,为保证设备在无日照环境下工作尽可能长的时间,设备的整体运行功耗应尽可能低。但目前北斗终端的值守功耗普遍超过10W,对于遥测站电源系统是一个巨大的负担。
[0007]为了节省功耗,目前大多数基于北斗通信的遥测站的工作流程,如图1所示:平时遥测站处于休眠状态,北斗通信终端的电源也处于关闭状态。当采集数据的定时时刻到达后,遥测站从休眠状态进入到工作状态,发起数据采集,完成采集后,打开北斗通信终端电源,将采集的数据按照一定的格式编码后发送给数据中心站,发送完成后关闭通信终端的电源,设备再次休眠状态等待下一次采集时刻到达。在这种工作机制下,只有遥测站主动向数据中心站发送采集的数据,而中心站不向遥测站发送指令。这种单向通信的机制虽然可以最大限度的节省遥测站整体功耗,但是缺少了中心站向遥测站的通讯功能,无法让系统的运行管理人员对遥测站的工作状况与运行参数进行全面管控。
[0008]另一种基于北斗的双向通信实现方案,简称时间窗口方案。在该方案中,为了实现双向的通信功能,采用了如图2所示的工作流程:遥测站每天在一个或几个固定的时刻,打开北斗通信终端的电源,使终端进入值守状态,这时系统的运行管理人员就可以通过中心站给遥测站下达指令。在设定的值守超时后,遥测站关闭北斗通信终端电源。这种机制相对单向通信的机制,虽然设备功耗上有所增加,但至少在特定的时间段内为系统的运行管理人员提供了远程访问遥测站的功能。
[0009]在特定时间窗口内提供中心站远程访问遥测站功能的方案,主要还存在以下不足:
1、当需要从中心站对遥测站下发指令时,要求运行管理人员在窗口时间内进行操作,错过本次窗口时间,只能等待下一次窗口时间。一般来说,大部分采用蓄电池和太阳能供电的遥测站为了节省功耗,可供操作的窗口时间都比较短,如果中心站和遥测站的时间不同步,很有可能导致操作错过窗口时间,遥测站无法接收到中心站下发的指令。
[0010]2、空闲状态下的功耗损耗较大。在系统运行的大部分时间内,可能中心站不需要对遥测站下发操作指令,但为了满足双向通信功能,遥测站需要在固定的时间窗内使北斗通信终端处于值守状态,即使在这个时间窗内无任何指令从中心站下发。一次时间窗内的值守功耗几乎相当于遥测站一天功耗的95%左右。
[0011]3、时间窗口方案实现北斗双向通信的遥测系统基本使用单指令报文,即每条报文只能包含I条操作指令,当中心站需要向遥测站下达多个不同的指令操作时,需要生成多条指令分别下发。而民用的北斗卫星终端的发信频度是受限的(60s—次),因此在I个时间窗内,下发报文的次数也是有限的。如果下发的指令数超出了时间窗可容纳的指令数,就需要运行管理人员在下一个时间窗内进行操作。
【发明内容】
[0012]目的:为了克服现有技术中存在的不足,本发明提供一种基于北斗的低功耗双向非实时通信方法。
[0013]技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种基于北斗的低功耗双向非实时通信方法,包括步骤如下:
步骤一:中心站的数据采集程序中,为下辖的每一个遥测站设置一个命令缓存队列,用来缓存系统的运行管理人员下发的针对遥测站的操作指令,数据采集程序在任何时候都能接收系统的运行管理人员下发的操作指令,但并不立即通过北斗发送出去,而是缓存在命令缓存队列中,存放格式采用多指令组包方法;
步骤二:遥测站进行数据采集并通过自身的北斗通信终端向中心站发送数据后,并不立即关闭北斗通信终端电源,而是等待小于等于5秒时间,如果在5秒时间内没有收到中心站下发的报文,遥测站关闭北斗通信终端电源,进入休眠状态;否则进入下一步骤;
步骤三:中心站在接收到遥测站发送的数据后,立即检查命令缓存队列中是否缓存了针对遥测站的操作指令,若有则将所有缓存的操作指令按照分包组包方法进行封装,报文封装完毕后立即将第一包报文下发给遥测站;如果报文有多包,下一包的发送时间需要和上一包的发送时间间隔大于北斗允许的发信频度60秒;数据采集程序将所有分包的报文发送完毕后,当前的命令缓存队列仍然保留,不清空;
步骤四:遥测站接收到中心站下发的报文后,首先对报文的第一个字节进行解码,根据总包数判断是否有分包,若有则将报文后面的105字节进行缓存,同时继续等待下一包报文;当所有报文收齐并重新组包后,遥测站对报文进行解析处理;如果遥测站在接收过程中发现当前包序号和上一个包序号不连续,说明北斗传输过程中产生了丢包,遥测站立即放弃接收,关闭北斗通信终端电源,进入休眠状态;
步骤五:遥测站对报文进行解析,执行操作指令,然后将指令响应结果按照多指令组包方法缓存在命令响应队列中,遥测站在生成命令响应队列后并不立即发送,而是关闭北斗通信终端电源,进入休眠状态;
步骤六:在下一次遥测站采集发信时刻到来时,遥测站需要检查命令响应队列中是否缓存了针对中心站操作指令的响应,若有则将缓存的数据添加到待发的采集数据的末尾,然后对整个数据包按照分包组包方法进行封装,完成后将封装的报文发送给中心站,然后按照步骤二所述进行;
步骤七:中心站收到遥测站发送的报文后,检查报文中是否有指令响应,若有则检查指令响应的序号在命令缓存队列是否存在,如果命令缓存队列中有相同序号的操作指令,则将该操作指令从命令缓存队列中清除。然后按照步骤三所述进行。
[0014]所述多指令组包方法将操作指令按如下格式进行编码:
〈指令码I长度>〈指令码I序号>〈指令码内容>.....〈指令码η长度X指令码η序号X指令码η内容〉;
其中指令码长度占用I字节空间,具体数值等于指令码序号和指令码内容占用的总的字节数。指令码序号占用I字节空间,每生成一条指令,指令序号累加I,序号数值从1-255循环,序号O用于遥测站采集数据指令,1-255用于中心站的下行指令,每条指令对应的指令序号唯一。
[0015]所述分包组包方法,包括步骤如下:
步骤一:每条报文包括第I个字节作为分包标志和105字节的内容,其中分包标志BitO-Bit3为分包总数,为当前包序号;使用4位二进制数表示的分包总数,最大值为15ο
[0016]步骤二:如果报文的长度超过了105字节,则由多个分包组成封装,每个分包由第I个字节分包标志和不大于105字节的内容组成。
[0017]考虑到最大的分包总数有限制,因此命令队列的长度也有限制,最大长度不超过1575字节。
[0018]有益效果:本发明提供的一种基于北斗的低功耗双向非实时通信方法,有益效果如下:
1、相比现有的时间窗口技术方案,本发明提出的通信方法使遥测站仅在自报采集数据后很短时间内处于值守状态,因此大幅降低了遥测站空闲状态下的功耗损失。
[0019]2、相比现有的时间窗口技术方案可能因中心站和遥测站时间不同步,导致遥测站无法接收到中心站下发的指令,本发明提出的通信方法使中心站下发指令不依赖于绝对时间,而仅由收到遥测站自报数据的动作触发,因此即使中心站和遥测站时间不同步,也能顺利完成指令下发与接收。
[0020]3、相比现有的时间窗口技术方案需要运行管理人员在特定窗口时间才能对遥测站下发指令,本发明提出的指令缓存方法支持运行管理人员在任何时刻输入对遥测站的操作指令,有效提高了系统的可维护性。
[0021]4、相比传统的单指令编码,本发明提出的多指令组包方法,有效提高了单条北斗报文的信息携带量,降低了全部信息传输所需的时间,从而降低了遥测站整体功耗。
[0022]5、相比传统的基于北斗的编码方法只能传输不大于106字节的报文,本发明提出的分包组包方法,实现了长报文的可靠传输,从而可以传输更多的信息。
[0023]6、相比时间窗口技术方案,在基于北斗通信的遥测系统中应用本发明提出的方法,在实现双向通信功能的前提下,可以大幅降低遥测站设备因空闲状态值守造成的功耗损失,提高报文的有效信息携带量,并且支持系统的运行管理人员在任意时间对遥测站进行指令操作,提高了系统的可维护性。
【附图说明】
[0024]图1为北斗单向传输机制的遥测站工作流程图;
图2为时间窗口方案的遥测站工作流程图;
图3为本发明遥测站工作流程图;
图4为本发明中心站工作流程图;
图5为分包标志字节位定义。
【具体实施方式】
[0025]下面结合附图对本发明作更进一步的说明。
[0026]如图3、4所示,一种基于北斗的低功耗双向非实时通信方法,包括如下步骤:
步骤一