基于北斗卫星短报文技术实现用电数据传输中的通信控制系统软件设计论文_张晓东,罗宏坤,何明跃,李兆竹,张缘平,李云学

(云南电网有限责任公司怒江供电局 怒江 673100)

摘要:利用北斗卫星系统短报文功能为电力数据传输提供通信通道,不仅满足了多功能电表的基本要求,并且具有传输距离远,不受地域限制的优点,采用北斗卫星短报文功能,实现电量数据自动上传,该方案具有施工简单、可靠性高的特点。本文主要简述北斗终端数据采集后与后台指挥机、通讯服务器互联互通的控制软件的开发设计。可靠性传输算法的研究及开发是本系统软件模块的主要内容,且其开发工作是建立在北斗卫星导航系统的短报文通信机制上。

关键词:北斗短报文;用电信息采集;控制软件设计

1 北斗卫星导航系统短报文通信机制

短报文功能,其他卫星系统不具备该功能,是北斗系统的独有功能。本系统采用HY-BDDLCB-02型北斗卫星采集终端。

根据约定,每个北斗终端机的ID号码都不相同,是唯一的,所有短报文通信均由地面中也收到后转发。具体的通信机制为:

(1)前端采集器首先采集电能表的数据后,发送到集中器,电力北斗抄表终端从集中器中采集电能量数据,数据发送终端将通信申请信号(包括接收端ID号和报文内容)加密后转发到北斗卫星;

(2)发送信号由北斗卫星接受后再此发送到地面北斗前置通讯机(指挥机)后,将信号解密、加密,重新传输到服务器,完成规约转换后接入电网公司营销用电信息系统;

(3)出站信号被接收端接收,经过解调得到出站报文,完成一次通信。具体的通信机制如图1所示。

"指令":以$开头的ASCII码表示,一般是5个字节,格式为$XXXX,如用户指令,其指令代码为$YHZL,如用户信息,其指令代码为$YHXX,均为5个字节。

"长度":2个字节,指从$到最后的校验和结束的数据总长度,按字节算。

"终端地址":指北斗通信终端的ID号,长度为3个字节。

"信息内容":用二进制原码表示的数据,按整字节传输。

"校验和":1个字节,从$开始按字节异或直到倒数第二个字节的结果。

注:对于有符号的数,第一位表示符号,0表示"+",1表示"-",其后是用原码表示的数据。

假设DaTa[i]是等待校验的数位,0≤I≤n,CheCkSum是校验后的校验和,则:

Byte CheckSum=0

for (i=0;i<0;i++)

CheckSum=CheckSumΛdata[i];

2.2北斗卫星短报文通信发送报文与接收报文格式

北斗卫星短报文通信协议中发送报文指令为"通信申请($TXSQ)"指令,接收报文指令为"通信信息($TXXX)"指令。

2.2.1北斗卫星短报文通信发送报文格式

北斗卫星终端与外设通过民S-232串口通信协议通信,外设通过串口向北斗卫星终端发送"通信申请($TXSQ)"指令发送报文内容。"通信申请($TXSQ)"指令格式如下表4.2所示。

下面对通信申请指令做详细分析说明:

通信申请指令:$TXSQ,为5个字节。

长度:数据总字节数,2个字节。

用户地址:与外设相连用户机的ID号码。

信息类别报文通信:[010]表示报文。

信息类别密钥:固定为0。

信息类别通信类别:[00]表示特快通信,[01]表示普通通信。

信息类别传输方式:[0]表示汉字,[1]表示代码。

信息类别口令识别:[1]表示口令识别,[0]表示通信。

信息类别:当类别段内容是[01000100],表示通信发送和接收的是汉字,转换为ASCII码是[44H];当进行代码通信时,信息类别字段的内容为[01000110],转换为ASCII码是[46H]。

用户地址(信宿):报文接收端的ID号码,也可以是本机的ID号码,用来表示自发自收。

电文长度:信息内容中代码电文或者汉字电文内容(ASIC码)的长度,单位为bIT。

是否应答:信息类别口令识别是0,则全填[0]。

电文内容:指本次通信要发送的报文内容,若发送报文内容为汉字则电文内容为其对应的ASIC码,若发送报文内容为代码则电文内容为其对应的BCD码;且电文内容的长度受通信等级限制。

2.2.2北斗卫星短报文通信接收报文格式

北斗接收端"通信信息($TXXX)"报文格式如下表4.3所示。

下面对通信信息指令做详细分析说明:

通信信息指令;$TXXX,为5个字节。

长度:数据总字节数,2个字节。

用户地址:指与外设相连的北斗通信终端ID号。

发信方地扯:指本次通信发送端ID号码。

发信时间:发信时间分为发信时间时(8bit)和发信时间分(8bit),发信时间时的起始值为0,单位为1小时;分起始值为0,单位为1分钟。如果本次通信不属于查询通信,则发送时间全为0。

电文长度:与通信申请中电文长度一样。

电文内容:与通信申请中电文内容一样。

CRC标志;[01H]表示CRC标志的校验结果不正确,[00H]表示正确。

3可靠传输原理

可靠传输在理想情况下要满足2个特征即可实现;

(1)信道抗干扰能力强,稳定性好,防止数据在传输过程中发生误码、丢失等现象;

(2)接收方对数据的接收和处理的速度总是要大于或者等于发送方发送数据的速度。

若具备以上传输特点,数据在传输地过程中可实现可靠传输,发送端在没有任何其他措施的情况下直接发送数据给接收端,接收端也一定会准确的接收到信息。但是,传输信道在现实情况中一般不能同时拥有这两个特征。因此,为了确保信息的可靠传输,必须设计可靠传输协议。常用的可靠传输协议有:停止等待协议,连续ARQ协议。

3.1停止等待协议

停止等待协议是指由发送端每次发送完一组数据帧后立即停止,然后将该数据帧的副本暂存于发送缓存区中,等待由接收端发送的确认帧,只有当确认帧的序号正确时,发送端才可以清除此副本,并且再次发送一组新的数据帧。若一段时间后,发送端未收到确认帧,则表示刚才的数据帧丢失,这时将重新发送前一组数据帧,这称为超时重传。数据帧被接收端接收到时,需要将本地接收状态变量与发送序列比较,如果相同则表示新的数据帧,并发送确认帧,否则为重复帧,舍弃。

停止等待协议比较简单,然而它的缺点也很明显,信道的利用率不高。为了提高通信信道的利用率,发送方需要流水线传输,而放弃停止等待协议。流水线传输的原理是发送方可以连续的发送多组数据帧。很明显,流水线传输协议的通信信道的利用率远远大于停止等待协议。

3.2连续ARQ协议

滑动窗口技术与请求重发技术两者结合而形成了连续ARQ(AuTo RepeaT)协议,窗口尺寸足够大,数据帧在线路上就可以实现连续的流动,因此称为连续ARQ协议。连续ARQ协议方案,发送方不需要等待前一数据帧确认后再发送下一数据帧,而是连续按照序号发送很多数据帧,因此,信道利用率大大的提高。图2表示发送方维持的发送窗口,假设发送窗口大小是4,也就是说发送方可以将发送窗口中4组数据帧连续发送出去,不需要等待接收方的确认信息。当发送方每接收到一个确认帧后,将发送窗口向前滑动一位,如图3所示。假设前4组数据帧都已经发送,则现在可以发送窗口内的第5个数据帧信息。

接收方累积确认。接收方不需要对收到的数据帧逐条确认,而是可以收到几组数据帧后,只发送确认按顺序到达的最后一个数据帧组,表示之前所有数据帧组都己被正确接收。但是,这种确认机制也存在缺点。假设发送方发送了4组数据帧,而第3组数据帧丢失,此时接收方只会确认前两组数据帧正确接收,第3组和第4组数据帧都需要发送方重新发送,称为Go-BaCk-N。虽然连续ARQ协议允许数据帧连续发送,然而一旦某一帧发生错误丢失,该数据帧以及其后的n帧数据都需要重新发送,虽然信道利用率提高,但是窗口尺寸越大,要Go-BaCk-N的数据帧可能越多。

连续ARQ协议的优点是容易实现,链路传输效率大大提高,通信信道利用率也大大的提高,同时减少了等待时间,使得整个通信的吞吐量大大提高。然而连续ARQ协议也存在很多缺点,由于该协议允许发送方连续发送多个数据帧,因而缓冲存储区在发送方送一端必须被设置的足够大,而且一旦数据丢失,需要重新传输的数据帧也越多。可见,通信线路质量不好,该传输协议的缺点很大。4北斗卫星短报文可靠传输算法设计

借鉴停止等待协议和连续ARQ协议,设计北斗卫星短报文可靠传输通信协议。设计北斗卫星短报文可靠传输通信协议,需要结合北斗卫星系统的短报文功能,以及北斗终端的通信量和通信频率等,且该通信协议必须简单可行。

北斗卫星短报文可靠传输的基本思路:根据北斗卫星短报文单次通信报文的最大通信长度,将大数据包分割成多个独立的小数据包,并对多个小数据包添加包头信息,添加包头信息后的小数据包的长度必须小于等于北斗卫星短报文单条报文最大长度。接收端接收到数据包后,对数据包解析,查看数据包包头信息,确定是否有丢包现象,若数据包在传输过程中丢失,则接收端发送响应包提醒发送端有数据包丟失需要重新发送,当全部数据包都被完整接收后,接收端对数据包解析并去掉包头,将数据包拼包、重组,还原原始数据。同时,采取超时控制措施,降低通信费用,保证通信效率。

4.1分包类型

完整的报文信息从发送端发送到接收端接收完整过程需要两种包类型:数据包,响应包。为了满足北斗卫星终端设各在通信传输过程的需求和管理需求,本算法重新设置北斗卫星的报文内容,报文内容字段分为两种包:数据包、响应包,具体报文格式;

(1)数据包

北斗卫星通信过程中,报文内容长度受通信等级限制,因此,大数据包需要传输时需要将大数据量分割成北斗卫星短报文可传输的小数据包,为了数据不遗漏地可靠传输,对小数据包添加包头信息拼接成独立的数据包分别发送。数据包的具体格式如下表4所示。

包类型:2个字节长度,值为1,表示响应包。

丢失的包序列:N个字节长度,当其值为0时,表示所有数据包都被接收端接收,若为其他包系列号,表示有数据包丢失,需发送端重新补发。例如,数据包2丢失,则响应包电文内容(BCD码)为:012。其中"01"表示包类型,说明该包为响应包;"2"表示丢失的数据包包序列号。

若没有数据包丢失,那么响应包电文内容(BCD码)为;010。其中"01"表示包类型,说明该包为响应包;"0"表示没有数据包丢失。

4.2可靠传输算法设计

北斗卫星短报文可靠传输算法设计的数据包整个传输过程分为:发送与接收流程、响应流程、补包流程。

4.2.1发送与接收流程设计

发送端:大数据量报文需要发送时,首先对大数据包分割,拆成多个小数据包,并添加包头信息。包头信息中包类型为0,表示为数据包,包系列为该数据包在大数据包中对应的编号。数据包设计完成后,将数据包与通信申请($TXSQ)指令其他指令内容拼接,并计算校验和,组成完整的通信申请($TXSQ)指令。通过串口通信协议,发送端按顺序依次发送。发送端通信频率必须大于等于1mIn/次。

接收端:接收端接收到数据包后,解析包头,首先判断包类型,若包头信息中包类型为0,则表示该包类型为数据包,然后判断数据包的包系列号。所有数据包接收完成后,接收端判断是否丢包,如果没有丢包,则向发送端发送确认信息,然后按照包序列将通信信息中的电文内容解析出来,删除包头,按照序列号将所有数据包拼包,还原大数据包。

4.2.2响应流程设计

接收端;北斗卫星接收端接收到数据包后,解析数据包头,分析包头中包序列号,判断所有数据包是否全部接受成功。若分析包头信息中包序列号后得知,所有数据包全部接收成功,则北斗卫星接收端向发送端发送报文内容为0的响应包,告诉发送端所有数据包均全部接收成功。若分析包头信息中包序列号后得知有丢失一部分数据包,则北斗卫星接收端向发送端发送报文内容为丢失数据包序列号的响应包,告诉发送端丢失了一部分数据包,告诉发送端补发数据包。

发送端:所有数据包全部发送完毕后,发送端接收北斗卫星接收端发送的响应包,首先判断包头信息,若包类型为1,则表示该包为响应包。发送端解析响应包,若报文内容是0,说明数据包全部被接收端接收;若报文内容不为0而是包序列号,则表示发送的过程中丢失一部分数据包,发送端根据响应包的报文内容补发数据包,进入补包流程。

4.2.3补包流程设计

发送端:北斗卫星发送端接收到响应包,解析包头信息,判断包类型,如果包类型是1,表示该包是响应包。解析响应包的报文内容,若内容为0,则表示接收端全部无遗漏的接收到数据包,本次通信结束;若报文内容不为0,则表示在发送的过程中有数据包丢失需要重新发送。发送端根据响应包中的包序列号,重新发送丢失的数据包。

接收端:接收终端发送响应包后,等待发送端重新发送丢失的数据包。接收到补发的数据包后,接收端解析包头,判断包类型,如果包头为0表示该包为数据包,其次分析包序列号,与前一次接收到的所有的数据包相比较,若为新的序列号则存下来,若与前面的序列号相同则舍弃,随后检查所有包的序列号,查看所有数据包是否全部接收成功。若全部接收成功,则解析数据包,去掉包头信息,按照包序列依次拼包,将所有的数据包拼包成大数据包并存储,同时向发送端重新发送响应包,本次通信结束。若仍然存在数据包丢失,那么再一次向发送端发送报文内容为丢失数据包序列号的响应包,提醒发送端重新发送,再一次进入补包流程。

4.3发送端与接收端程序设计

根据发送与接收流程、响应流程和补包流程,分别设计北斗卫星发送终端和接收终端的程序。发送端的程序设计流程图如下图4所示,接收端程序设计流程图如下图5所示。

5结语

本文详细介绍了北斗卫星系统短报文通信机制,介绍了北斗卫星短报文通信数据接口规范,对通信指令做了必要说明,并对通信申请($TXSQ)指令和通信信息($¥TXXX)指令做了详细分析和解释说明。详细阐述了可靠传输原理,介绍了停止等待协议和连续ARQ协议,并借鉴这两种可靠传输协议提出适应本系统的可靠传输算法。详细介绍了可靠传输算法中的数据包类型,设计整体传输过程,对发送与接收流程、响应流程、补包流程做了详细说明,并阐述了设计北斗卫星发送端和接收端的程序流程。

参考文献

[1]陈淡,郑应航.基于蓝牙技术的北斗终端通信模块的设计[J].现代电子技术,2013,36(23).

[2]王家伟,范晓伟.中国北斗系统正式服务亚太地区[J].地理教学,2013,(04):4-6.

[3]黄颖基刊抖应用终端的林业野外巡护管理技术研究[D].北京:北京林业大学,2014.

[4]范一大,张宝军.中国北斗卫星导航系统减灾应用概述与展望[J].中国航天,2010,(2):68-70.

[5]唐金元,于滿,王思臣.北斗卫星导航定位系统应用现状分析全球定位系统[J].全球定位系统,2008,(02):26-30.

[6]中国卫星导航系统管理.办公室北斗卫星导航系统发展报告(2.1版)[J].卫星应用,2013,(01):9-12.

[7]史向阳.北斗系统在海上多媒体数据传输中的应用研究[D].大连;大连海事大学,2014.

[8]巧莫锦华基于北斗卫星导航系统的船闽报到管理系统的设计与实现阿.厦门:厦门大学,2013.

论文作者:张晓东,罗宏坤,何明跃,李兆竹,张缘平,李云学

论文发表刊物:《电力设备》2017年第15期

论文发表时间:2017/10/19

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于北斗卫星短报文技术实现用电数据传输中的通信控制系统软件设计论文_张晓东,罗宏坤,何明跃,李兆竹,张缘平,李云学
下载Doc文档

猜你喜欢