回波干扰消除方法及装置的制造方法_2

文档序号:9263279阅读:来源:国知局
个数据作为当前数据帧中的第一个数据,并返回执行步骤SI 10。
[0034]半双工通信系统(例如,RS485通信)中,其通信协议规定了通讯数据的数据结构,即以数据帧的格式传输总线传输的数据必须符合预定帧格式,不符合预定帧格式的数据认为是无效数据,从而被丢弃。
[0035]图1b是根据一示例示出的数据帧的帧格式,数据帧的帧格式可以包括帧头、有效长度、数据位和校验位。数据帧中的帧头、有效长度、数据位和校验位可以统称为数据帧中的数据。其中,在总线上传输数据帧时以字节为单元,例如,在发送一个数据帧时,首先发送帧头、之后再发送有效长度,接着发送数据位的数据,数据位可能包含多个字节的数据,此时需要分多次发送数据位的数据。
[0036]RS485通信系统中,当发送端设备发送完数据后,切换到接收状态时,可能会接收到总线上的回波误码,该回波误码可能是帧头(例如,OxFE),因此,本发明在判断出来自总线的第一个数据不是帧头时,丢弃第一个数据,继续判断接收到的下一个数据是否是帧头,直到接收到的数据不是帧头,继续判断总线上的下一个数据是否符合预设帧格式。
[0037]当所述第一个数据是帧头时,在步骤S120中,判断所述当前数据帧中的下一个数据是否是帧头。
[0038]如果步骤S120判断出下一个数据是帧头,丢弃前一个是帧头的数据,接收总线上的下一个数据,并返回执行步骤S120。如果步骤120中判断出下一个数据不是帧头时,执行步骤S130。
[0039]步骤S130中,判断所述当前数据帧中的其它数据是否符合预设帧格式。
[0040]例如,本发明实施例中数据帧的帧格式包括帧头、有效长度、数据位和校验位,则判断总线上的后续数据是否符合上述的帧格式。
[0041]当所述其它数据符合预设帧格式时,在步骤S140,存储所述当前数据帧。
[0042]当所述其它数据符合预设帧格式时,表明当前数据帧是发送端发送的有效数据,通知读取数据线程将所述当前数据帧取走。
[0043]本实施例提供的回波干扰消除方法,在判断出接收到的第一个数据是帧头的情况下,继续判断总线上的下一个数据是否是帧头;当下一数据是帧头时,则丢弃前一个是帧头的数据,直到接收到的数据不是帧头时,确定最后一个是帧头的数据是数据帧的帧头,此前接收到的数据均为回波误码。从而能够避免回波误码是帧头,导致接收端设备误接收总线上的回波误码的现象发生,进而能够完全消除总线上的回波干扰。
[0044]图2是本发明实施例提供的另一种回波干扰消除方法流程图,该方法应用于终端设备。如图2所示,所述方法包括步骤:
[0045]在步骤S210中,接收来自总线的当前数据帧的第一个数据。
[0046]在步骤S220中,判断所述第一个数据是否是帧头。
[0047]帧头可以是发送端设备与接收端设备预先约定好的数据内容(例如,OxFE),用于识别有效数据帧的帧头,当接收端设备接收到第一个数据时,通过判断其数据内容是否是OxFE来确定该第一个数据是否为帧头。当然,帧头还可以设定其它的数据内容,本发明对此并不限制。
[0048]当所述第一个数据不是帧头时,丢弃所述第一个数据,并接收总线上的下一个数据作为当前数据帧中的第一个数据,并返回执行步骤S210。
[0049]当所述第一个数据与帧头相同时,在步骤S230中,接收总线上的下一个数据。
[0050]延用上述实例,当判断出第一个数据是OxFE时,继续接收总线上的下一个数据,在步骤S240中,判断所述下一个数据是否是帧头。
[0051]当接收到的所述下一个数据与巾贞头(例如,OxFE)相同时,丢弃前一个是巾贞头(例如,OxFE)的数据,并返回执行步骤S230,接收总线上的下一个数据。
[0052]当所述下一个数据与帧头不相同时,在步骤S250中,判断所述下一个数据是否是有效长度。
[0053]当所述下一个数据与帧头(例如,OxFE)不相同时,继续判断该数据是否是有效长度位的数据。
[0054]有效长度表征数据帧中数据位的数据长度,或者,表征整个数据帧的数据长度。例如,该有效长度可以是大于O且小于255,判断所述有效长度位的数值是否在(0,255]范围内。若数值在(0,255]范围内,则表明该数据是有效长度,继续接收总线上后续的数据。若数值不在(0,255]范围内,则表明该数据不是有效长度,当前数据帧不是有效数据,丢弃接收到的当前数据帧,并返回步骤S210,继续接收下一帧数据。
[0055]当所述下一个数据是有效长度时,在步骤S260,依次接收当前数据帧中的其它数据。
[0056]根据数据帧中的有效长度确定当前帧的数据是否接收完,例如,数据位包含数据的有效长度是16位,则当接收到16位数据位的数据时,认为接收到的后续的特定位数的数据是校验位。接收完特定位数的数据后,则认为当前帧的数据已接收完。
[0057]在步骤S270中,对当前数据帧的数据进行校验。
[0058]数据帧的数据位之后是校验位。在本发明的一个实施例中,可以对数据帧中数据位的数据进行校验运算,得到校验码,比较计算得到的校验码和数据帧中的校验位的校验码是否相同,如果两个校验码相同,则对数据校验成功;否则,校验失败,丢弃接收到的当前数据帧,并返回执行步骤S210。
[0059]在本发明的另一个实施例中,可以对整个数据帧进行校验,对整个数据帧的全部数据进行校验运算,得到校验码,比较计算得到的校验码和数据帧中校验位的校验码是否相同,如果两个校验码相同,则对数据校验成功;否则,校验失败,丢弃接收到的当前数据帧,并返回执行步骤S210。
[0060]当校验成功时,在步骤S280中,存储接收到的当前数据帧。
[0061]当所述其它数据符合预设帧格式时,表明当前数据帧是发送端发送的有效数据,通知读取数据线程将所述当前数据帧取走。
[0062]本实施例提供的回波干扰消除方法,在判断出当前数据帧的第一个数据是帧头的情况下,继续判断总线上的下一个数据是否是帧头;如果下一数据是帧头,则丢弃前一个是帧头的数据,直到接收到的数据不是帧头时,确定最后一个是帧头的数据是数据帧的帧头,此前接收到的数据均为回波误码。从而能够避免回波误码是帧头,导致接收端设备误接收总线上的回波误码的现象发生,进而能够完全消除总线上的回波干扰。
[0063]通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0064]与本发明提供的回波干扰消除方法实施例相对应,本发明还提供了回波干扰消除
>J-U ρ?
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1