数据帧接收方法和装置以及通信方法和系统与流程

文档序号:23624246发布日期:2021-01-12 10:36阅读:154来源:国知局
数据帧接收方法和装置以及通信方法和系统与流程

本发明涉及一种电子技术领域,尤其涉及一种数据帧接收方法、一种数据帧接收装置以及一种数据帧通信方法、一种数据帧通信系统。



背景技术:

在通信领域,数据一般是以数据比特“0”“1”组合的数据帧为单位进行传输与存储的,而在数据帧传输的过程中,由于传输通道中存在的噪声或干扰,数据帧通常会有一定程度的损伤,为了检验接收到的数据帧的正确性,目前的方法是在发送的数据帧中加入校验信息。然而,若接收装置校验错误即请求发送装置重传数据帧,将在一定程度上降低通信效率。因此,如何设计一种减少数据重传的次数的数据帧接收方法,是本领域亟待解决的技术问题。



技术实现要素:

本发明旨在解决上述问题。

本发明的主要目的在于提供一种数据帧接收方法,其特征在于,包括:步骤1,设置i=1;步骤2,接收装置接收第i个通信数据帧,其中,通信数据帧包括帧头、帧数据和帧尾,帧数据包括n个数据比特,帧尾包括校验数据,其中,n为正整数,且n≥1;步骤3,接收装置接收到第i个通信数据帧之后,提取第i个通信数据帧的校验数据和帧数据,并根据校验数据对帧数据进行校验操作;步骤4,若校验错误,缓存第i个通信数据帧并执行步骤5,若校验正确,执行步骤13;步骤5,判断i是否等于m,若i等于m,执行步骤7,若i不等于m,执行步骤6,其中,m为预设数值且m正整数,m≥1;步骤6,设置i=i+1,返回步骤2;步骤7,接收装置获取缓存的第1个通信数据帧至第i个通信数据帧,共i个通信数据帧,分别提取第1个通信数据帧至第i个通信数据帧中的帧数据;其中,第1个通信数据帧至第i个通信数据帧,是由发送装置依据相同的预设待发送数据帧发送的待发送通信数据帧;步骤8,设置a=1;步骤9,获取第1个通信数据帧至第i个通信数据帧中帧数据的位于第a个比特位中,数据比特1和数据比特0的概率,将概率高的数据比特作为纠正帧数据中的第a个比特位的数据比特;步骤10,判断a是否等于n,若等于n,则执行步骤12,若a不等于n,执行步骤11;步骤11,设置a=a+1,返回步骤9;步骤12,使用校验数据对纠正帧数据进行校验操作,若校验正确,执行步骤13;步骤13,向发送装置发送ack帧,结束本次接收流程。

此外,帧头还包括数据同步头信息和物理地址信息;步骤2中,在接收装置提取第i个通信数据帧的校验数据和帧数据之前,还包括:接收装置判断第i个通信数据帧中的帧头中是否包含数据同步头信息,并判断物理地址信息是否正确,若包含数据同步头信息且物理地址信息正确,则执行提取第i个通信数据帧的校验数据和帧数据的操作。

本发明的另一主要目的在于提供一种数据帧通信方法,包括上述任一项的数据帧接收方法,在接收装置接收第i个通信数据帧之前,还包括:步骤a,发送装置设置j=1;步骤b,发送装置依据预设待发送数据帧发送第j个待发送通信数据帧;步骤c,判断在预设时间内是否接收到ack帧,若否,执行步骤d,若是,执行步骤f;步骤d,判断j是否等于m,若不等于,执行步骤e,若等于,执行步骤f;步骤e,设置j=j+1,返回步骤b;步骤f,结束本次发送流程。

此外,在步骤b中,发送装置依据预设待发送数据帧发送第j个待发送通信数据帧,包括:发送装置按照预设的载波频率跳变顺序,获得当前载波频率,并依据预设待发送数据帧按照当前载波频率发送第j个待发送通信数据帧。

本发明的另一主要目的还在于提供一种数据帧接收装置,包括:设置模块、接收模块、校验模块、缓存模块、计算模块和ack帧发送模块,其中,设置模块,用于设置i=1,通知接收模块;接收模块,用于接收第i个通信数据帧并发送至校验模块,其中,通信数据帧包括帧头、帧数据和帧尾,帧数据包括n个数据比特,帧尾包括校验数据,其中,n为正整数,且n≥1;校验模块,用于在接收到第i个通信数据帧之后,提取第i个通信数据帧的校验数据和帧数据,并根据校验数据对帧数据进行校验操作;若校验错误,则将第i个通信数据帧发送至缓存模块,并通知设置模块,若校验正确,通知ack帧发送模块;判断i是否等于m,若i等于m,通知计算模块,若i不等于m,通知设置模块,其中,m为预设数值且m正整数,m≥1;缓存模块,用于缓存第i个通信数据帧;设置模块,还用于设置i=i+1,通知接收模块;计算模块,用于获取缓存模块缓存的第1个通信数据帧至第i个通信数据帧,共i个通信数据帧,分别提取第1个通信数据帧至第i个通信数据帧中的帧数据;其中,第1个通信数据帧至第i个通信数据帧,是由数据帧发送装置依据相同的预设待发送数据帧发送的待发送通信数据帧;设置a=1;获取第1个通信数据帧至第i个通信数据帧中帧数据的位于第a个比特位中,数据比特1和数据比特0的概率,将概率高的数据比特作为纠正帧数据中的第a个比特位的数据比特;判断a是否等于n,若等于n,则通知校验模块,若a不等于n,设置a=a+1,继续执行;校验模块,还用于使用校验数据对纠正帧数据进行校验操作,若校验正确,通知ack帧发送模块;ack帧发送模块,用于向数据帧发送装置发送ack帧,结束本次接收流程。

此外,帧头还包括数据同步头信息和物理地址信息;数据帧接收装置,还包括,判断模块;其中,判断模块,用于判断第i个通信数据帧中的帧头中是否包含数据同步头信息,并判断物理地址信息是否正确,若包含数据同步头信息且物理地址信息正确,则通知校验模块执行提取第i个通信数据帧的校验数据和帧数据的操作。

本发明的另一主要目的还在于提供一种数据帧通信系统,包括权利要求上述任一项的数据帧接收装置,以及数据帧发送装置,数据帧发送装置,包括:发送模块和ack帧接收模块,其中,发送模块,用于设置j=1;依据预设待发送数据帧发送第j个待发送通信数据帧;判断在预设时间内是否接收到ack帧接收模块发送的通知,若否,判断j是否等于m,若不等于,设置j=j+1,继续发送待发送通信数据帧,若是,结束本次发送流程;ack帧接收模块,用于接收ack帧,并通知发送模块。

此外,发送模块,还用于按照预设的载波频率跳变顺序,获得当前载波频率,并依据预设待发送数据帧按照当前载波频率发送第j个待发送通信数据帧。

由上述本发明提供的技术方案可以看出,本发明提供了一种数据帧接收方法和数据帧接收装置,以及数据帧通信方法和数据帧通信系统。其中,数据帧接收方法和数据帧接收装置中,接收装置在接收到通信数据帧后,若校验错误,则将接收到的通信数据帧缓存,在接收到预设数量的通信数据帧且均校验错误时,对所有缓存的通信数据帧的对应比特位的数据比特进行概率计算,使用每个比特位中概率高的数据比特组成纠正帧数据,对纠正帧数据进行校验,若验证通过,则向发送装置发送ack帧,通过上述方法和装置,在接收装置接收到的通信数据帧均无法校验通过时,计算得到纠正帧数据并进行验证,解决了因传输或解码过程中帧数据中的某一位或某几位比特数据出现错误而导致整个通信数据帧被校验错误的问题,提高了校验正确的概率,减少了发送装置的重传次数。数据帧通信方法和数据帧通信系统中,在前述的接收装置接收通信数据帧之前,发送装置在依据预设待发送数据帧发送待发送通信数据帧,并且,在未达到最大重发次数且未接收到ack帧时,重复发送该待发送通信数据帧,使得接收装置可以在未对接收到的通信数据帧校验通过时,可以接收到发送装置重复发送的通信数据帧,直至校验通过,在发送装置发送待发送通信数据帧达到最大重发次数时,不再继续发送,避免了在未收到ack帧时,不断重发该预设待发送数据帧,造成通信资源的浪费。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例1提供的数据帧接收方法的流程图;

图2为本发明实施例2提供的数据帧通信方法的流程图;

图3为本发明实施例3提供的数据帧接收装置的结构示意图;

图4为本发明实施例4提供的数据帧接收系统的结构示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

下面将结合附图对本发明实施例作进一步地详细描述。

实施例1

本实施例提供了一种数据帧接收方法,可以应用在电力线通信领域或网络通信领域。图1是本实施例的一种可选的数据帧接收方法的流程图。

如图1所示,该数据帧接收方法主要包括以下步骤(步骤1~步骤13):

步骤1,设置i=1。

步骤2,接收装置接收第i个通信数据帧,其中,通信数据帧包括帧头、帧数据和帧尾,帧数据包括n个数据比特,帧尾包括校验数据,其中,n为正整数,且n≥1。

在本实施例中,通信数据帧包括帧头(startofframe,缩写sof)、帧数据和帧尾(endofframe,缩写eof),帧尾包括校验数据,其中,校验数据可以是crc校验等校验方式得到的校验数据,通过帧尾还可以识别数据接收结束。

步骤3,接收装置接收到第i个通信数据帧之后,提取第i个通信数据帧的校验数据和帧数据,并根据校验数据对帧数据进行校验操作。

作为本发明的一个可选实施方式,帧头还包括数据同步头信息和物理地址信息,在接收装置提取第i个通信数据帧的校验数据和帧数据之前,还包括:接收装置判断第i个通信数据帧中的帧头中是否包含数据同步头信息,并判断物理地址信息是否正确,若包含数据同步头信息且物理地址信息正确,则执行提取第i个通信数据帧的校验数据和帧数据的操作。其中,同步头信息为通信双方约定好的比特序列,通过该同步信息,接收装置可以识别出当前开始接收一个数据帧,并能够确定接收数据帧中帧数据的起始位置或时刻,此外,接收装置通过同步头信息还可以得到发送装置数据传输的载波频率,通过分析同步头信息得到发送装置传输数据的载波频率后,采用该载波频率接收数据帧;物理地址信息为标记着该通信数据帧的目标接收装置,接收装置接收到通信数据帧后,可以通过分析该物理地址信息与本接收装置的物理地址信息是否匹配,来判断当前接收到的通信数据帧的目标接收装置是否为本接收装置。在本可选实施方式中,在接收装置对第i个通信数据帧的帧数据进行校验之前,接收装置先对同步头信息和物理地址信息进行验证,避免对无效数据或错收的数据进行验证,提高了验证效率。

在本实施例中,接收装置接收到通信数据帧之后,均可以在对该通信数据帧的帧数据进行校验操作之前,先对该通信数据帧中的同步头信息和物理地址信息进行验证,以提高验证和通信效率。

步骤4,若校验错误,缓存第i个通信数据帧并执行步骤5,若校验正确,执行步骤13。

在本实施例中,接收装置对通信数据帧的帧数据的校验,可以提取该通信数据帧中帧尾的校验数据,通过该校验数据完成对帧数据的校验。若校验失败,将该通信数据帧进行缓存以便后续使用,并接收下一个通信数据帧,若校验正确,则向发送装置发送ack帧。

步骤5,判断i是否等于m,若i等于m,执行步骤7,若i不等于m,执行步骤6,其中,m为预设数值且m正整数,m≥1。

在本实施例中,m可以是接收装置预设的数值,接收装置在接收到预设数值的通信数据帧之后,开始步骤7的计算操作,或者,m也可以为发送装置设置的预设待发送数据帧的最大重发次数,在接收装置接收到发送装置发送的最大重发次数个的通信数据帧之后,即确定发送装置不再重发后,开始步骤7的计算操作。

步骤6,设置i=i+1,返回步骤2。

在本实施例中,若i不等于m,则接收装置返回步骤2接收下一个通信数据帧。

步骤7,接收装置获取缓存的第1个通信数据帧至第i个通信数据帧,共i个通信数据帧,分别提取第1个通信数据帧至第i个通信数据帧中的帧数据;其中,第1个通信数据帧至第i个通信数据帧,是由发送装置依据相同的预设待发送数据帧发送的待发送通信数据帧。

在本实施例中,第1个通信数据帧至第i个通信数据帧,均为接收装置校验错误后缓存的通信数据帧,且为发送装置按照相同的预设待发送数据帧发送的通信数据帧,即发送装置重复发送的通信数据帧。接收装置获取缓存的i个通信数据帧,提取每个通信数据帧中帧数据,并进行下一步的计算操作。

步骤8,设置a=1。

步骤9,获取第1个通信数据帧至第i个通信数据帧中帧数据的位于第a个比特位中,数据比特1和数据比特0的概率,将概率高的数据比特作为纠正帧数据中的第a个比特位的数据比特。

步骤10,判断a是否等于n,若等于n,则执行步骤12,若a不等于n,执行步骤11。

步骤11,设置a=a+1,返回步骤9。

在本实施例中,计算各个通信数据帧中帧数据的位于第1个比特位的数据比特1和数据比特0的概率,重复计算,直至计算各个通信数据帧中帧数据的位于第n个比特位的数据比特1和数据比特0的概率,将每个比特位中概率高的比特数据填入纠正帧数据的相应比特位中,得到纠正帧数据。例如,i=3,发送装置的预设待发送数据帧为10101100,接收装置接收到的第一个通信数据帧中帧数据为11100101,第二个通信数据帧中帧数据为00101110,第三个通信数据帧中帧数据为10111000,进行以下计算:获取上述三个通信数据帧中第1个比特位的数据比特为101,计算得到数据比特1的概率为66.7%,数据比特0的概率为33.3%,那么,纠正帧数据的第1个比特位为数据比特1;获取上述三个通信数据帧中第2个比特位的数据比特为100,计算得到数据比特1的概率为33.3%,数据比特0的概率为66.7%,那么,纠正帧数据的第1个比特位为数据比特0;重复计算,分别计算得到纠正帧数据的第3个比特位为数据比特1,第4个比特位为数据比特0,……,第8个比特位为数据比特0,得到纠正帧数据为10101100。通过计算接收到的概率最大的数据比特,由概率最大的数据比特组成纠正帧数据,使得该纠正帧数据的每一位均为该比特位的概率最大的数据比特,解决了因传输或解码过程中帧数据中某一位或某几位出现错误而导致整个通信数据帧被校验错误的问题,提高了校验正确的概率。

步骤12,使用校验数据对纠正帧数据进行校验操作,若校验正确,执行步骤13;

步骤13,向发送装置发送ack帧,结束本次接收流程。

在本实施例中,使用校验数据对纠正帧数据进行校验操作,提高了校验正确的概率。在校验正确后,向发送装置发送ack帧,发送装置可以根据接收到的ack帧进行下一步的操作。

通过本实施例提供的数据帧接收方法,接收装置在接收到通信数据帧后,若校验错误,则将接收到的通信数据帧缓存,在接收到预设数量的通信数据帧且均校验错误时,对所有缓存的通信数据帧的对应比特位的数据比特进行概率计算,使用每个比特位中概率高的数据比特组成纠正帧数据,对纠正帧数据进行校验,若验证通过,则向发送装置发送ack帧,通过上述方法,在接收装置接收到的通信数据帧均无法校验通过时,计算得到纠正帧数据并进行验证,解决了因传输或解码过程中帧数据中的某一位或某几位比特数据出现错误而导致整个通信数据帧被校验错误的问题,提高了校验正确的概率,减少了发送装置的重传次数。

实施例2

本实施例提供了一种数据帧通信方法,该方法包括了实施例1中的数据帧接收方法,因此,与实施例1相同部分不再赘述,仅对不同之处详细描述:

在实施例1的步骤1的接收装置接收第i个通信数据帧之前,如图2所示,还包括以下步骤(步骤a~步骤f):

步骤a,发送装置设置j=1;

步骤b,发送装置依据预设待发送数据帧发送第j个待发送通信数据帧。

在本实施例中,发送装置的待发送数据可以包括多个预设待发送数据帧,发送装置从发送第一个预设待发送数据帧开始,依次逐个完成预设待发送该数据帧的发送。其中,每一个通信数据帧都是一串比特序列,待发送数据是由多个待发送该数据帧组成的比特序列。

在本实施例中,发送装置可以采用广播形式发送待发送通信数据帧,提高通信效率。

作为本发明的一个可选实施方式,在步骤b中,发送装置依据预设待发送数据帧发送第j个待发送通信数据帧,包括:发送装置按照预设的载波频率跳变顺序,获得当前载波频率,并依据预设待发送数据帧按照当前载波频率发送第j个待发送通信数据帧。在本可选实施方式中,发送装置可以预存有载波频率跳变顺序列表,在完成待发送通信数据帧的发送之前,按照该列表中的载波频率跳变顺序进行频率跳变,使用该跳变后的频率完成发送操作。发送装置采用变换后的载波频率发送通信数据帧,避免了在接收装置无法接收特定载波频率的信号时,发送装置与接收装置无法完成通信的情况,提高了通信效率。在本实施例中,发送装置在按照预设待发送数据发送通信数据帧之前,均可以按照预设的载波频率跳变顺序获得载波频率,按照该载波频率进行发送,提高通信效率。

作为本发明的一个可选实施方式,在j=1时,发送装置按照预设待发送数据帧发送第一个待发送通信数据帧之前,还包括:发送装置接收到ack帧之后,发送装置按照预设待发送数据帧发送第一个待发送通信数据帧。在本可选实施方式中,发送装置在接收到接收装置发送的ack帧之后,可以确认本次按照预设待发送数据帧发送的待发送通信数据帧已被接收装置成功接收且验证通过,可以开始下一次的发送操作,减少了发送装置与接收装置的交互次数。

步骤c,判断在预设时间内是否接收到ack帧,若否,执行步骤d,若是,执行步骤f。

步骤d,判断j是否等于m,若不等于,执行步骤e,若等于,执行步骤f;

步骤e,设置j=j+1,返回步骤b;

在本实施例中,若发送装置在预设时间内没有接收到ack帧,则认为前一次发送的第j个待发送通信数据帧没有被接收装置成功接收或校验失败,发送装置发送第j+1个待发送通信数据帧,第j+1个待发送通信数据帧与第j个待发送通信数据帧内容相同,均为按照预设待发送数据帧发送,也即,对于发送装置而言,其操作为将前次发送的通信数据帧重新发送。在没有收到ack帧的情况下,重新发送该通信数据帧,保障了通信的连贯性和数据的完整性。

步骤f,结束本次发送流程。

作为本实施例的一个可选实施方式,发送装置设置为预设待发送数据帧的最大重发次数为m次,即按照预设待发送数据帧发送m次后仍未接收到ack帧,则不再重发该预设待发送数据帧。发送装置设置最大重发次数,避免了在未收到ack帧时,不断重发该预设待发送数据帧,造成通信资源的浪费。

通过本实施例提供的数据帧通信方法,在实施例1的步骤1的接收装置接收第i个通信数据帧之前,发送装置在依据预设待发送数据帧发送第j个待发送通信数据帧,并且,在未达到最大重发次数且未接收到ack帧时,重复发送该待发送通信数据帧,使得接收装置可以在未对接收到的通信数据帧校验通过时,可以接收到发送装置重复发送的通信数据帧,直至校验通过,在发送装置发送待发送通信数据帧达到最大重发次数时,不再继续发送,避免了在未收到ack帧时,不断重发该预设待发送数据帧,造成通信资源的浪费。接收装置在接收到通信数据帧后,若校验错误,则将接收到的通信数据帧缓存,在接收到预设数量的通信数据帧且均校验错误时,对所有缓存的通信数据帧的对应比特位的数据比特进行概率计算,使用每个比特位中概率高的数据比特组成纠正帧数据,对纠正帧数据进行校验,若验证通过,则向发送装置发送ack帧,通过上述方法,在接收装置接收到的通信数据帧均无法校验通过时,计算得到纠正帧数据并进行验证,解决了因传输或解码过程中帧数据中的某一位或某几位比特数据出现错误而导致整个通信数据帧被校验错误的问题,提高了校验正确的概率,减少了发送装置的重传次数。

实施例3

本实施例提供了一种数据帧接收装置300,可以应用在电力线通信领域或网络通信领域,该系统与实施例1中的数据帧接收方法是一一对应的,相同之处在此不再赘述,仅进行简要说明,在本实施例的实施方式中,该数据帧接收装置300中各个单元执行的具体操作可以参照实施例1。

图3是本实施例的一种数据帧接收装置300,包括:设置模块301、接收模块302、校验模块303、缓存模块304、计算模块305和ack帧发送模块306,其中,

设置模块301,用于设置i=1,通知接收模块302;

接收模块302,用于接收第i个通信数据帧并发送至校验模块303,其中,通信数据帧包括帧头、帧数据和帧尾,帧数据包括n个数据比特,帧尾包括校验数据,其中,n为正整数,且n≥1;

校验模块303,用于在接收到第i个通信数据帧之后,提取第i个通信数据帧的校验数据和帧数据,并根据校验数据对帧数据进行校验操作;若校验错误,则将第i个通信数据帧发送至缓存模块304,并通知设置模块301,若校验正确,通知ack帧发送模块306;判断i是否等于m,若i等于m,通知计算模块305,若i不等于m,通知设置模块301,其中,m为预设数值且m正整数,m≥1;

缓存模块304,用于缓存第i个通信数据帧;

设置模块301,还用于设置i=i+1,通知接收模块302;

计算模块305,用于获取缓存模块304缓存的第1个通信数据帧至第i个通信数据帧,共i个通信数据帧,分别提取第1个通信数据帧至第i个通信数据帧中的帧数据;其中,第1个通信数据帧至第i个通信数据帧,是由数据帧发送装置依据相同的预设待发送数据帧发送的待发送通信数据帧;设置a=1;获取第1个通信数据帧至第i个通信数据帧中帧数据的位于第a个比特位中,数据比特1和数据比特0的概率,将概率高的数据比特作为纠正帧数据中的第a个比特位的数据比特;判断a是否等于n,若等于n,则通知校验模块303,若a不等于n,设置a=a+1,继续执行;

校验模块303,还用于使用校验数据对纠正帧数据进行校验操作,若校验正确,通知ack帧发送模块306;

ack帧发送模块306,用于向数据帧发送装置发送ack帧,结束本次接收流程。

在本实施例的一个可选实施方式中,帧头还包括数据同步头信息和物理地址信息;数据帧接收装置,还包括,判断模块(图未示出);其中,判断模块,用于判断第i个通信数据帧中的帧头中是否包含数据同步头信息,并判断物理地址信息是否正确,若包含数据同步头信息且物理地址信息正确,则通知校验模块303执行提取第i个通信数据帧的校验数据和帧数据的操作。其中,同步头信息为通信双方约定好的比特序列,通过该同步信息,数据帧接收装置300可以识别出当前开始接收一个数据帧,并能够确定接收数据帧中帧数据的起始位置或时刻,此外,数据帧接收装置300通过同步头信息还可以得到数据帧发送装置数据传输的载波频率,通过分析同步头信息得到数据帧发送装置传输数据的载波频率后,采用该载波频率接收数据帧;物理地址信息为标记着该通信数据帧的目标数据帧接收装置300,数据帧接收装置300接收到通信数据帧后,可以通过分析该物理地址信息与本数据帧接收装置300的物理地址信息是否匹配,来判断当前接收到的通信数据帧的目标数据帧接收装置300是否为本数据帧接收装置300。在本可选实施方式中,在数据帧接收装置300对第i个通信数据帧的帧数据进行校验之前,判断模块先对同步头信息和物理地址信息进行验证,避免对无效数据或错收的数据进行验证,提高了验证效率。

在本实施例中,数据帧接收装置300接收到通信数据帧之后,均可以在对该通信数据帧的帧数据进行校验操作之前,判断模块先对该通信数据帧中的同步头信息和物理地址信息进行验证,提高验证效率。

通过本实施例提供的数据帧接收装置300,数据帧接收装置300在接收到通信数据帧后,若校验错误,则将接收到的通信数据帧缓存,在接收到预设数量的通信数据帧且均校验错误时,对所有缓存的通信数据帧的对应比特位的数据比特进行概率计算,使用每个比特位中概率高的数据比特组成纠正帧数据,对纠正帧数据进行校验,若验证通过,则向数据帧发送装置发送ack帧。通过上述装置,在数据帧接收装置300接收到的通信数据帧均无法校验通过时,计算得到纠正帧数据并进行验证,解决了因传输或解码过程中帧数据中的某一位或某几位比特数据出现错误而导致整个通信数据帧被校验错误的问题,提高了校验正确的概率,减少了发送装置的重传次数。

实施例4

本实施例提供了一种数据帧通信系统400,可以应用在电力线通信领域或网络通信领域,该系统与实施例2中的数据帧通信方法是一一对应的,相同之处在此不再赘述,仅进行简要说明,在本实施例的实施方式中,该数据帧通信系统400中各个单元执行的具体操作可以参照实施例2。

图4是本实施例的一种数据帧通信系统400,包括,数据帧发送装置401和数据帧接收装置402,其中,数据帧接收装置402,包括:设置模块4021、接收模块4022、校验模块4023、缓存模块4024、计算模块4025和ack帧发送模块4026,数据帧接收装置402的各模块与实施例3中的数据帧接收装置300的各模块的功能相对应,仅标号不同,各模块的执行的具体操作可以参照实施例3,在此不再赘述。

数据帧发送装置401,包括:发送模块4011和ack帧接收模块4012;其中,

发送模块4011,用于设置j=1;依据预设待发送数据帧发送第j个待发送通信数据帧;判断在预设时间内是否接收到ack帧接收模块4012发送的通知,若否,判断j是否等于m,若不等于,设置j=j+1,继续发送待发送通信数据帧,若是,结束本次发送流程;

ack帧接收模块4012,用于接收ack帧,并通知发送模块4011。

在本实施例的一个可选实施方式中,发送模块4011,还用于按照预设的载波频率跳变顺序,获得当前载波频率,并依据预设待发送数据帧按照当前载波频率发送第j个待发送通信数据帧。在本可选实施方式中,数据帧发送装置401可以预存有载波频率跳变顺序列表,在完成待发送通信数据帧的发送之前,按照该列表中的载波频率跳变顺序进行频率跳变,使用该跳变后的频率完成发送操作。数据帧发送装置401采用变换后的载波频率发送通信数据帧,避免了在数据帧接收装置402无法接收特定载波频率的信号时,数据帧发送装置401与数据帧接收装置402无法完成通信的情况,提高了通信效率。在本实施例中,发送模块4011在按照预设待发送数据发送通信数据帧之前,均可以按照预设的载波频率跳变顺序获得载波频率,按照该载波频率进行发送,提高通信效率。

通过本实施例提供的数据帧通信系统400,数据帧发送装置401依据预设待发送数据帧发送第j个待发送通信数据帧,并且,在未达到最大重发次数且未接收到ack帧时,重复发送该待发送通信数据帧,使得数据帧接收装置402可以在对接收到的通信数据帧校验没有通过时,可以接收到数据帧发送装置401重复发送的通信数据帧,直至校验通过,在数据帧发送装置401发送待发送通信数据帧达到最大重发次数时,不再继续发送,避免了在未收到ack帧时,不断重发该预设待发送数据帧,造成通信资源的浪费。数据帧接收装置402在接收到通信数据帧后,若校验错误,则将接收到的通信数据帧缓存,在接收到预设数量的通信数据帧且均校验错误时,对所有缓存的通信数据帧的对应比特位的数据比特进行概率计算,使用每个比特位中概率高的数据比特组成纠正帧数据,对纠正帧数据进行校验,若验证通过,则向数据帧发送装置401发送ack帧,通过上述系统,在数据帧接收装置402接收到的通信数据帧均无法校验通过时,计算得到纠正帧数据并进行验证,解决了因传输或解码过程中帧数据中的某一位或某几位比特数据出现错误而导致整个通信数据帧被校验错误的问题,提高了校验正确的概率,减少了数据帧发送装置401的重传次数。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1