CN107346998B - 一种数据帧尾检测方法及数据传输装置 - Google Patents
一种数据帧尾检测方法及数据传输装置 Download PDFInfo
- Publication number
- CN107346998B CN107346998B CN201611053522.3A CN201611053522A CN107346998B CN 107346998 B CN107346998 B CN 107346998B CN 201611053522 A CN201611053522 A CN 201611053522A CN 107346998 B CN107346998 B CN 107346998B
- Authority
- CN
- China
- Prior art keywords
- waveform
- sequence
- waveform sequence
- data
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0075—Transmission of coding parameters to receiver
Abstract
本发明提供了一种数据帧尾检测方法及数据传输装置,方法包括:检测接收端口的电平变化;根据电平变化以及波形序列的特征确定连续传输的N个波形序列,其中,波形序列包括以下之一:第一波形序列、第二波形序列和第三波形序列;连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数;判断所述连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
Description
技术领域
本发明涉及一种通信领域,尤其涉及一种数据帧尾检测方法及数据传输装置。
背景技术
现有编码技术中,通过使用不同的时间间隔表示不同的数据比特,例如,比特“1”用T1表示,比特“0”用T2表示,且T1不等于T2,以此区分比特1和比特0。当存在多种不同的数据比特时,需要用多个不同的时间间隔表示,降低了编码效率。
发明内容
本发明旨在至少解决上述问题之一。
本发明的主要目的在于提供一种数据帧尾检测方法;
本发明的另一目的在于提供一种数据传输装置。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明一方面提供了一种数据帧尾检测方法,包括:
方案1:
检测接收端口的电平变化;
根据电平变化以及波形序列的特征确定连续传输的N个波形序列,其中,波形序列包括以下之一:第一波形序列、第二波形序列和第三波形序列,波形序列的特征包括:第一波形序列、第二波形序列以及第三波形序列的传输持续时间相同,传输持续时间与传输波形序列的波特率呈反比关系,且第一波形序列以高电平开始并在传输持续时间内出现低电平,其中,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,第二波形序列在传输持续时间内持续高电平,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化;连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数;
判断连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
方案2、根据方案1的方法,
根据电平变化以及波形序列的特征确定连续传输的N个波形序列,包括:
获取一个波形序列的预设持续时间;
以预设持续时间作为每个波形序列的传输持续时间,根据电平变化以及波形序列的特征确定连续传输的N个波形序列。
方案3、根据方案1或2的方法,
N=2,预设的数据帧尾对应的N个波形序列,包括:
预设的数据帧尾对应的N个波形序列依次为第二波形序列和第二波形序列,或者,
预设的数据帧尾对应的N个波形序列依次为第三波形序列和第二波形序列,或者,
预设的数据帧尾对应的N个波形序列依次为第一波形序列和第三波形序列。
方案4、根据方案1至3中任一项的方法,
在确定连续传输的N个波形序列为预设的数据帧尾对应的N个波形序列之后,方法还包括:
获取待发送数据的比特序列,其中,待发送数据的比特序列至少包括:待传输数据,待传输数据至少包括:至少用于指示待发送数据为数据接收成功响应报文的标记位,或者,至少用于指示待发送数据为数据接收失败响应报文的标记位;
根据待发送数据的比特序列,连续发送比特序列中的比特对应的波形序列,其中,以第一波形序列表示第一数据比特,分别以第二波形序列和第三波形序列表示第二数据比特,第一数据比特为比特1和比特0中的一个,第二数据比特为比特1和比特0中的另一个;在连续发送的至少两个比特为第二数据比特时,连续发送的至少两个比特中的第一个比特对应的波形序列为第二波形序列,第二个比特以及后续的比特对应的波形序列为第三波形序列。
方案5、根据方案4的方法,
根据待发送数据的比特序列,连续发送比特序列中的比特对应的波形序列,包括:
控制发送端口的电平按照待发送数据的比特序列中的比特对应的波形序列的波形以及波形序列的特征进行变化,以发送待发送数据。
方案6、根据方案1至5中任一项的方法,
波形序列的特征还包括:
第一波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一;
和/或
第三波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。
本发明又一方面提供了一种数据传输装置,包括:
方案7、
检测模块,用于检测接收端口的电平变化;
波形序列识别模块,用于根据电平变化以及波形序列的特征确定连续传输的N个波形序列;
其中,波形序列包括以下之一:第一波形序列、第二波形序列和第三波形序列,波形序列的特征包括:第一波形序列、第二波形序列以及第三波形序列的传输持续时间相同,传输持续时间与传输波形序列的波特率呈反比关系,且第一波形序列以高电平开始并在传输持续时间内出现低电平,其中,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,第二波形序列在传输持续时间内持续高电平,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化;连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数;
数据确定模块,用于判断连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
方案8、根据方案7的装置,
波形序列识别模块通过以下方式根据电平变化以及波形序列的特征确定连续传输的N个波形序列:
获取一个波形序列的预设持续时间;
以预设持续时间作为每个波形序列的传输持续时间,根据电平变化以及波形序列的特征确定连续传输的N个波形序列。。
方案9、根据方案7或8的装置,
N=2,预设的数据帧尾对应的N个波形序列,包括:
预设的数据帧尾对应的N个波形序列依次为第二波形序列和第二波形序列,或者,
预设的数据帧尾对应的N个波形序列依次为第三波形序列和第二波形序列,或者,
预设的数据帧尾对应的N个波形序列依次为第一波形序列和第三波形序列。
方案10、根据方案7至9中任一项的装置,装置还包括:比特序列获取模块和数据发送模块,其中:
比特序列获取模块,用于在确定连续传输的N个波形序列为预设的数据帧尾对应的N个波形序列之后,获取待发送数据的比特序列,其中,待发送数据的比特序列至少包括:待传输数据,待传输数据至少包括:至少用于指示待发送数据为数据接收成功响应报文的标记位,或者,至少用于指示待发送数据为数据接收失败响应报文的标记位;
数据发送模块,用于根据待发送数据的比特序列,连续发送比特序列中的比特对应的波形序列,其中,以第一波形序列表示第一数据比特,分别以第二波形序列和第三波形序列表示第二数据比特,第一数据比特为比特1和比特0中的一个,第二数据比特为比特1和比特0中的另一个;在连续发送的至少两个比特为第二数据比特时,连续发送的至少两个比特中的第一个比特对应的波形序列为第二波形序列,第二个比特以及后续的比特对应的波形序列为第三波形序列。
方案11、根据方案10的装置,
数据发送模块通过以下方式根据待发送数据的比特序列,连续发送比特序列中的比特对应的波形序列:
控制发送端口的电平按照待发送数据的比特序列中的比特对应的波形序列的波形以及波形序列的特征进行变化,以发送待发送数据。
方案12、根据方案7至11任一项的装置,
波形序列的特征还包括:
第一波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一;
和/或
第三波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。
由上述本发明提供的技术方案可以看出,通过本发明提供的数据帧尾检测方法及数据传输装置,采用相同的时间间隔但不同的波形特征来表示不同的数据比特,不仅提高了编码效率,而且提高了供电效率,并且准确地确定了数据帧结束的位置,提高了数据帧的处理速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的数据帧尾检测方法的流程图;
图2为本发明实施例中第一波形序列的示意图;
图3为本发明实施例中第二波形序列的示意图;
图4为本发明实施例中第三波形序列的示意图;
图5为本发明实施例中接收方检测接收端口的电平来识别波形序列的示意图;
图6为本发明实施例中接收方检测接收端口的电平来识别波形序列的另一示意图;
图7为本发明实施例提供的数据帧尾检测方法的另一可选流程图;
图8为本发明实施例中数据帧的格式示意图;
图9为本发明实施例提供的接收方控制发送端口的电平发送数据的示意图;
图10为本发明实施例提供的数据传输装置的结构示意图;
图11为本发明实施例提供的数据传输装置的另一结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面将结合附图对本发明实施例作进一步地详细描述。
实施例1
本实施例提供了一种数据帧尾检测方法。图1为本实施例提供的数据帧尾检测方法的流程示意图,如图1所示,该方法包括以下步骤(S101~S103):
S101:检测接收端口的电平变化;
本实施例中,接收端口可以为USB接口、RS232接口、RS485接口、CAN接口等通讯接口。
本实施例中,接收方通过接收端口接收发送方发送的波形序列,并且通过检测接收端口的电平变化来识别波形序列。
本实施例中,发送方与接收方的接收端口连接,在发送方没有进行数据传输时,接收方的接收端口的电平默认持续为高电平,从而方便接收方从发送方获得电能,在发送方开始传输数据时,发送方控制发送端口的电平按照待发送数据的比特序列对应的波形序列进行变化以传输待发送数据,相应的,接收方在检测到接收端口的电平开始发生变化时,则说明当前发送方在发送数据,从而根据在接收端口检测到的电平变化识别出对应的波形序列。
S102:根据电平变化以及波形序列的特征确定连续传输的N个波形序列,其中,波形序列包括以下之一:第一波形序列、第二波形序列和第三波形序列,波形序列的特征包括:第一波形序列、第二波形序列以及第三波形序列的传输持续时间相同,传输持续时间与传输波形序列的波特率呈反比关系,且第一波形序列以高电平开始并在传输持续时间内出现低电平,其中,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,第二波形序列在传输持续时间内持续高电平,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化;连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数;
在本实施例中,不同的波形序列的传输持续时间相同,例如传输持续时间为T,即均以T来传输一个比特,相比与现有技术中需要用不同的时间间隔来传输一个比特值的方式,本实施例传输一个比特所需的时间更短,因此,编码效率更高,降低了发送方和接收方的成本及负担。另外,虽然第一波形序列、第二波形序列以及第三波形序列具有相同的传输持续时间,但通过不同的波形特征对三种波形序列进行了区分,因此,在提高编码效率的同时,方便了接收方对第一波形序列、第二波形序列以及第三波形序列进行检测与识别。
在本实施例中,第一波形序列以高电平开始并在传输持续时间内出现低电平,其中,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化。具体实施过程中,当传输波形序列的波特率变小时,第一波形序列和/或第三波形序列的传输持续时间变大,但是第一波形序列和/或第三波形序列中出现的低电平在传输持续时间内所占的总时长不发生变化。例如,以两相调制为例,当传输波形序列的比特率为50Mbps时,相应的波特率为50Baud,则第一波形序列的传输持续时间为T=20ns,在一个T内,以第一波形序列的低电平持续时长固定为10ns为例,高电平持续时长为10ns,此时,接收方从发送方取电的效率为50%;当传输波形序列的波特率25Baud时,第一波形序列的传输持续时间为T=40ns,在一个T内,第一波形序列的低电平持续时长仍然为10ns,高电平持续时长为30ns,此时,接收方从发送方取电的效率为75%。因此,通过将第一波形序列和/或第三波形序列中出现的低电平设置为在传输持续时间内所占的总时长不随传输波形序列的波特率的变化而变化,提高了接收方的取电效率,节约了接收方的充电时间。
此外,在本实施例中,还可以根据接收到的波形序列来确定对应的数据比特,例如,传输数据帧的比特序列的方式如下:以第一波形序列表示第一数据比特,分别以第二波形序列和第三波形序列表示第二数据比特,其中,第一数据比特为比特1和比特0中的一个,第二数据比特为比特1和比特0中的另一个,并且,在连续的至少两个比特为第二数据比特时,连续的至少两个比特中的第一个比特对应的波形序列为第二波形序列,第二个比特以及后续的比特对应的波形序列为第三波形序列。本实施例中,第二数据比特分别由第二波形序列和第三波形序列表示,而第二波形序列在传输持续时间内均为高电平,由此,可以进一步提高接收方的取电效率。因此,本实施例提供的传输数据帧的比特序列的方式还可以带来提高接收方取电效率的技术效果。
在本实施例的一个可选实施方式中,波形序列的特征还包括:第一波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一,和/或,第三波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。具体实施过程中,第一波形序列和/或第三波形序列的传输持续时间为T,在一个T内,第一波形序列和/或第三波形序列的低电平的持续时间小于T/2,意味着第一波形序列和/或第三波形序列的高电平的持续时间大于T/2。通过缩小第一波形序列和/或第三波形序列的低电平在传输持续时间内所占的总时长,增大了第一波形序列和/或第三波形序列的高电平在传输持续时间内所占的总时长,使得第一波形序列和/或第三波形序列尽可能多地处于高电平,方便接收方通过第一波形序列和/或第三波形序列的高电平进行充电,提高了接收方的充电效率。
下面对本实施例中的三种波形序列给出示例性的说明。图2给出了几种第一波形序列的示意图,图3给出了第二波形序列的示意图,图4给出了几种第三波形序列的示意图。
如图2所示,假设时间轴以t=0开始,第一波形序列的传输持续时间为T。
第一波形序列的一种可选波形如图2(a)所示,第一波形序列以高电平开始,并持续保持高电平一段时间后跳变为低电平,并且,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化。例如,第一波形序列的传输持续时间T=20ns,低电平持续时间固定且为15ns,即在0≤t<5ns时,第一波形序列持续保持高电平,在t=5ns时,第一波形序列由高电平跳变为低电平,在5ns<t≤20ns时,第一波形序列持续保持低电平。因此,接收方通过检测波形序列的起始位置的电平及传输持续时间中的电平跳变实现对第一波形序列的识别。
第一波形序列的另一种可选波形如图2(b)所示,第一波形序列以高电平开始,持续保持高电平一段时间后跳变为低电平,然后持续保持低电平一段时间后跳变为高电平,最终以高电平结束,并且,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化。例如,与图2(a)相比,当传输波形序列的波特率变为图2(a)的一半时,第一波形序列的传输持续时间变为图2(a)的一倍,即T=40ns,低电平持续时间固定且仍然为15ns,即在0≤t<5ns时,第一波形序列持续保持高电平,在t=5ns时,第一波形序列由高电平跳变为低电平,在5ns<t<20ns时,第一波形序列持续保持低电平,在t=20ns时,第一波形序列由低电平跳变为高电平,在20ns<t≤40ns时,第一波形序列持续保持高电平。因此,与图2(a)相比,当传输波形序列的波特率变化时,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随之变化。并且,与图2(a)相比,充电效率由25%提升到62.5%,因此,通过使第一序列波形在传输持续时间内尽可能地处于高电平,方便接收方通过第一波形序列的高电平进行充电,提高了接收方的充电效率。
第一波形序列的另一种可选波形如图2(c)所示,第一波形序列以高电平开始,并持续保持高电平一段时间后跳变为低电平,并且,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,并且第一波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。例如,第一波形序列的传输持续时间T=20ns,低电平持续时间固定且为5ns,即在0≤t<15ns时,第一波形序列持续保持高电平,在t=15ns时,第一波形序列由高电平跳变为低电平,在15ns<t≤20ns时,第一波形序列持续保持低电平。与图2(a)相比,充电效率由25%提升到75%。因此,通过缩小第一波形序列的低电平在传输持续时间内所占的总时长,增大了第一波形序列的高电平在传输持续时间内所占的总时长,使得第一波形序列尽可能多地处于高电平,方便接收方通过第一波形序列的高电平进行充电,提高了接收方的充电效率。
第一波形序列的另一种可选波形如图2(d)所示,第一波形序列以高电平开始,持续保持高电平一段时间后跳变为低电平,然后持续保持低电平一段时间后跳变为高电平,最终以高电平结束,并且,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变,并且第一波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。例如,与图2(c)相比,当传输波形序列的波特率变为图2(c)的一半时,第一波形序列的传输持续时间变为图2(c)的一倍,即T=40ns,低电平持续时间固定且仍然为5ns,即在0≤t<15ns时,第一波形序列持续保持高电平,在t=15ns时,第一波形序列由高电平跳变为低电平,在15ns<t<20ns时,第一波形序列持续保持低电平,在t=20ns时,第一波形序列由低电平跳变为高电平,在20ns<t≤40ns时,第一波形序列持续保持高电平。因此,与图2(c)相比,当传输波形序列的波特率变化时,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随之变化。并且,与图2(b)相比,充电效率由62.5%提升到87.5%,因此,通过使第一序列波形在传输持续时间内尽可能地处于高电平,方便接收方通过第一波形序列的高电平进行充电,提高了接收方的充电效率。
如图3所示,假设时间轴以t=0开始,第二波形序列的传输持续时间为T,并且,在一个T内,持续保持高电平。
如图4所示,假设时间轴以t=0开始,第三波形序列的传输持续时间为T。
第三波形序列的一种可选波形如图4(a)所示,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化。例如,第三波形序列的传输持续时间T=20ns,低电平持续时间固定且为15ns,即在0≤t<15ns时,第三波形序列持续保持低电平,在t=15ns时,第三波形序列由低电平跳变为高电平,在15ns<t≤20ns时,第三波形序列持续保持高电平。因此,接收方通过检测波形序列的起始位置的电平实现对第三波形序列的识别。
第三波形序列的另一种可选波形如图4(b)所示,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化。例如,与图4(a)相比,当传输波形序列的波特率变为图4(a)的一半时,第三波形序列的传输持续时间变为图4(a)的一倍,即T=40ns,低电平持续时间固定且仍然为15ns,即在0≤t<15ns时,第三波形序列持续保持低电平,在t=15ns时,第三波形序列由低电平跳变为高电平,在15ns<t≤40ns时,第三波形序列持续保持高电平。因此,与图4(a)相比,当传输波形序列的波特率变化时,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随之变化。并且,与图4(a)相比,充电效率由25%提升到62.5%,因此,通过使第三序列波形在传输持续时间内尽可能地处于高电平,方便接收方通过第三波形序列的高电平进行充电,提高了接收方的充电效率。
第三波形序列的另一种可选波形如图4(c)所示,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,并且,第三波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。例如,与图4(a)相比,第三波形序列的传输持续时间为T=20ns,低电平持续时间固定且为5ns,即在0≤t<5ns时,第三波形序列持续保持低电平,在t=5ns时,第三波形序列由低电平跳变为高电平,在5ns<t≤20ns时,第三波形序列持续保持高电平。与图4(a)相比,充电效率由25%提升到75%。因此,通过缩小第三波形序列的低电平在传输持续时间内所占的总时长,增大了第三波形序列的高电平在传输持续时间内所占的总时长,使得第三波形序列尽可能多地处于高电平,方便接收方通过第三波形序列的高电平进行充电,提高了接收方的充电效率。
第三波形序列的另一种可选波形如图4(d)所示,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,并且,第三波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。例如,与图4(c)相比,当传输波形序列的波特率变为图4(c)的一半时,第三波形序列的传输持续时间变为图4(c)的一倍,即T=40ns,低电平持续时间固定且为5ns,即在0≤t<5ns时,第三波形序列持续保持低电平,在t=5ns时,第三波形序列由低电平跳变为高电平,在5ns<t≤40ns时,第三波形序列持续保持高电平。因此,与图4(c)相比,当传输波形序列的波特率变化时,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随之变化。并且,与图4(b)相比,充电效率由62.5%提升到87.5%,因此,通过使第三序列波形在传输持续时间内尽可能地处于高电平,方便接收方通过第三波形序列的高电平进行充电,提高了接收方的充电效率。
本实施例中,接收方根据电平变化以及波形序列的特征确定连续传输的N个波形序列的具体过程为:首先,接收方获取一个波形序列的预设持续时间;其次,接收方以预设持续时间作为每个波形序列的传输持续时间,根据电平变化以及波形序列特征确定连续传输的N个波形序列。
根据前文提到的波形序列的特征,在获取到一个波形序列的持续时间的前提下,第一波形序列的起始位置为高电平、第二波形序列持续为高电平以及第三波形序列的起始位置为低电平都是可以确定的,因此,确定一个波形序列的方式可以为:在一个波形序列的传输持续时间内,根据该波形序列的电平变化符合上述哪种波形序列的特征,来确定该波形序列为哪个波形序列,或者,也可以根据接收端口检测到的电平变化,如通过采样电平变化得到一个波形序列的波形,判断该波形符合上述哪种波形序列的特征,来确定该波形序列为哪个波形序列。例如,在一个波形序列的传输持续时间内,该波形序列的起始位置为高电平,并持续一段时间后跳变为低电平,则该波形序列为第一波形序列,如果该波形序列的起始位置为低电平,,则该波形序列为第三波形序列,否则,为第二波形序列。在本实施例中,接收方接收到的数据依次包括数据帧头、传输数据和数据帧尾,数据帧头和数据帧尾都是通信双方预先约定好的波形序列,在检测到数据帧头对应的波形序列后,就可以确定数据帧中的传输数据对应的波形序列的起始位置,从该起始位置开始可以根据检测到的电平变化符合上述哪种波形序列的特征来确定第一个波形序列,在持续一个波形序列的传输持续时间后,开始确定第二个波形序列,以此直至确定完接收到的数据中的传输数据和数据帧尾对应的波形序列。
其中,一个波形序列的持续时间可以是通信双方预先协商好的,通信双方采用该预先协商好的预设持续时间(即波特率的反比)进行数据传输,也可以是从数据帧头中解析得到的,相较于前者,后者可以更灵活选择波特率进行数据传输,发送方可以视当前的传输环境以及发送方支持的接收数据的速率选择双方支持的最高的波特率进行数据传输,接收方只要解析数据帧头就可以获得当前的波特率,由此,可以采用通信双方支持的最大波特率进行数据传输,以达到高速的数据传输的效果。
例如,发送方连续传输一串比特序列对应的多个波形序列后,接收方获取到波形序列的传输持续时间为T,接收方检测接收端口的电平变化,可以依次识别出发送方传输的波形序列,具体地,如何确定一个波形序列可以如图5所示,在一个传输持续时间T内,检测到该波形序列的起始位置为低电平,则确定接收到的该波形序列为第三波形序列;在下一个传输持续时间T内,检测到该波形序列的起始位置为高电平,并且持续一段时间后跳变为低电平即t=T+t1时高电平跳变为低电平,则确定接收到的该波形序列为第一波形序列;在一个传输持续时间T内,检测到持续为高电平,则确定接收到的该波形序列为第二波形序列。由此,接收方可以根据检测到电平变化以及波形序列的特征每经过一个传输持续时间识别出一个波形序列,依次识别出发送方发送的比特序列对应的波形序列。
又例如,接收方根据检测到的接收端口的电平变化连续识别出的波形序列如图6所示,在一个传输持续时间T内,检测到该波形序列持续高电平,则确认接收到的该波形序列为第二波形序列;在下一个传输持续时间T内,检测到该波形序列持续高电平,则确认接收到的该波形序列为第二波形序列。由此,接收方识别出连续的两个波形序列为第二波形序列、第二波形序列。
S103:判断连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
本实施例中,发送方与接收方可以预先设定数据帧尾对应的N个波形序列。本实施例中,接收方在检测到数据帧头之后,通过对接收端口检测到的电平变化识别波形序列的过程中,对每个识别出的波形序列都会进行数据帧尾的判断,当接收方接收到发送方连续发送的N个波形序列后,接收方可以将该连续的N个波形序列与预设的数据帧尾对应的N个波形序列进行比较,以便确定接收到的N个波形序列是否为数据帧尾,从而准确地确定数据帧结束的位置,以提高数据帧的处理速度。例如,N=2并且预设的数据帧尾对应的波形序列依次为第二波形序列和第二波形序列,本实施例中,如果在步骤S102中确定的2个波形序列也是依次为第二波形序列和第二波形序列,如图6所示,则可以将该2个波形序列识别尾数据帧尾,至此数据帧接收结束。
在本实施例的一个可选实施方式中,N的取值可以是通信双方预设协商的,为了便于区分数据帧中的传输数据与数据帧尾,通常,将数据帧尾设置为与表示传输数据的波形序列不同的波形序列,例如,以步骤S102中提到的传输数据帧的比特序列的方式,以N=2为例,预设的数据帧尾对应的N个波形序列可以包括以下任意一种:预设的数据帧尾对应的N个波形序列依次为第二波形序列和第二波形序列,或者,预设的数据帧尾对应的N个波形序列依次为第三波形序列和第二波形序列,或者,预设的数据帧尾对应的N个波形序列依次为第一波形序列和第三波形序列。具体实施过程中,可以将第一波形序列简称为X波形,第二波形序列简称为Y波形,第三波形序列简称为Z波形,当N=2时,N个波形序列可以为X波形、Y波形和Z波形的组合,即可以包括以下9种:XX、XY、XZ、YY、YX、YZ、ZZ、ZX和ZY。其中,按照步骤S102中提到的传输数据帧的比特序列的方式,除了YY、ZY或者XZ的其他组合都可以表示数据帧的比特序列,因此,发送方与接收方可以预先协商好数据帧尾对应的2个波形序列为YY、ZY或者XZ,由此,可以更易于识别出数据帧尾。同时,在约定数据帧尾为上述3中之一后,发送方与接收方也可以预先协商好数据帧头对应的波形序列中排除掉已预定好的数据帧尾,即数据帧头和数据帧为不出现重复的波形序列,以便更易于区分数据帧头和数据帧尾。通过本实施例的可选实施方式,接收方通过检测接收到的波形序列,并判断属于三个波形序列中的哪个波形序列,从而实现了对数据帧尾的识别,进而准确地确定了数据帧结束的位置。
在本实施例中,在接收方接收成功一个数据帧后,需要向发送方返回接收数据成功的响应报文,以便于发送方继续发送下一帧数据,如果接收方没有向发送方返回接收数据成功的响应报文,则发送方会认为接收方没有收到或者接收错误之前发送的数据帧,便会重发该数据帧。由此,发送方无需将待发送数据的全部数据帧发送完之后再进行数据重发,大大提高了数据传输的效率和正确率,相较于现有技术中全部重传的方式,减少了数据传输量。在本实施例的一个可选实施方式中,在确定连续传输的N个波形序列为预设的数据帧尾对应的N个波形序列之后,方法还包括(S104~S105),如图7所示:
S104:获取待发送数据的比特序列,其中,待发送数据的比特序列至少包括:待传输数据,待传输数据至少包括:至少用于指示待发送数据为数据接收成功响应报文的标记位,或者,至少用于指示待发送数据为数据接收识别响应报文的标记位;
本实施例中,接收方在确定连续传输的N个波形序列为预设的数据帧尾对应的N个波形序列之后,意味着发送方发送的数据已经结束,因此,接收方可以向发送方返回响应数据。
作为一种可选的实施方式,在本实施例中,一个数据帧的帧格式可以如图8所示,一个数据帧可以依次包括:数据帧头(Start of Frame,缩写SOF)、待传输数据(Byte0,Byte1……Byten-1,Byten)和数据帧尾(End of Frame,缩写EOF),其中,数据帧头SOF为通信双方约定好的比特序列对应的波形序列,通过该数据帧头,接收方可以识别出当前开始接收一个数据帧,并能够确定接收数据帧中待传输数据的起始位置(或时刻),此外,数据帧头SOF还包含发送方传输数据的波特率,通过分析数据帧头接收方可以获取发送方传输数据的波特率,并采用该波特率解析接收数据;数据帧尾EOF也是通信双方约定好的波形序列,通过该数据帧尾,接收方识别数据接收结束,该数据帧为EOF的设置可以区分于正常的待传输数据以及数据帧头对应的波形序列,以便于识别出数据帧尾EOF。
作为一种可选的实施方式,待传输数据中的头一个字节Byte0可以用来标识报文类型,例如,Byte0为8比特,定义如下:
Bit7 | Bit[6:4] | Bit[3:0] |
Device_type | Rev | Packet_type |
其中,Device_type可以用来表示该报文的发起方的设备类型,例如,Device_type取值为“1”时可以表示该报文的发起方为主设备,Device_type取值为“0”时可以表示该报文的发起方为从设备,这样方便分析工具对报文进行分析时对报文的来源设备进行识别。Rev为缺省数据。Packet_type可以用来表示该报文的类型,例如,Packet_type取值为“0001B”时,该报文为复位请求报文(Answer To Reset,ATR),具体实施过程中,当发送方识别到接收方接入后,发送方会向接收方发送ATR报文,接收方接收到ATR报文后也会返回ATR报文作为响应;Packet_type取值为“0010B”时,该报文为数据接收成功响应报文(Acknowledgement,ACK),具体实施过程中,当接收方成功接收发送方发送的数据后,接收方会返回ACK报文作为响应;Packet_type取值为“0011B”时,该报文为数据接收失败响应报文(Negative Acknowledgment,NAK),具体实施过程中,当数据接收错误或者数据丢包时,可能会导致接收方接收发送方发送的数据失败,此时,接收方会返回NAK报文作为响应;Packet_type取值为“0100B”时,该报文为数据报文(Packet,PKT),用来表示接收方向发送方发送的正常数据报文。通过本实施例,将一个字节的标记位设置为不同的数值,实现了对报文类型的识别。
在本实施例的一个可选实施方式中,数据帧的传输数据中还可以包括循环冗余校验位(Cyclic Redundancy Check,CRC),占用数据帧的传输数据的最后两个字节即第n-1个字节Byten-1和第n个字节Byten,用来对数据进行差错检测,从而提高接收数据的正确率。本实施例中,可以根据接收到的波形序列来确定对应的数据比特,在步骤S103中识别出数据帧尾后,就可以利用数据帧的传输数据的CRC校验位对数据帧的比特序列进行差错检测,如果校验通过,则说明接收方成功接收数据,则接收方可以向发送方返回ACK响应报文用于指示接收方成功接收发送方发送的数据帧,否则,说明接收方接收数据失败,则接收方不向发送方返回ACK响应报文,此时,接收方可以向发送方返回NAK响应报文用于指示接收方接收发送方发送的数据帧不成功,以便于发送方向接收方重发数据帧。通过本实施例的可选实施方式,接收方接收到发送方的数据之后,接收方根据CRC校验,实现了对接收到的数据的差错检测,提高了接收数据的正确率。
S105:根据待发送数据的比特序列,连续发送比特序列中的比特对应的波形序列,其中,以第一波形序列表示第一数据比特,分别以第二波形序列和第三波形序列表示第二数据比特,第一数据比特为比特1和比特0中的一个,第二数据比特为比特1和比特0中的另一个;在连续发送的至少两个比特为第二数据比特时,连续发送的至少两个比特中的第一个比特对应的波形序列为第二波形序列,第二个比特以及后续的比特对应的波形序列为第三波形序列。
本实施例中,接收方发送响应数据时,根据待发送数据的比特序列,确定待发送数据的比特序列中比特对应的波形序列,然后连续发送该波形序列,从而实现了接收方对响应数据的发送。
例如,比特1可以用第一波形序列表示,比特0可以用第二波形序列和第三波形序列表示,在连续发送的至少两个比特为比特0时,连续发送的至少两个比特中的第一个比特0对应的波形序列为第二波形序列,第二个比特0以及后续的比特0对应的波形序列为第三波形序列。也就是说,当只发送一个单独的比特0时,该单独的比特0对应的波形序列为第二波形序列;当发送多个连续的比特0时,该连续的比特0的第一个比特0对应的波形序列为第二波形序列,剩余的比特0对应的波形序列为第三波形序列。例如,待发送数据的比特序列为101000……时,相应的波形序列为:第一波形序列、第二波形序列、第一波形序列、第二波形序列、第三波形序列、第三波形序列……。由于第二波形序列在传输持续时间内,持续保持高电平,因此,通过采用第二波形序列和第三波形序列表示比特0,与现有技术中只采用第三波形序列表示比特0相比,接收方的接收端口的高电平持续时间增加,方便接收方通过波形序列的高电平进行充电,提高了接收方的充电效率。
本实施例中,接收方的发送端口与发送方连接,在没有进行数据传输时,接收方的发送端口的电平默认为高电平,从而方便接收方从发送方获得电能进行充电,在接收方开始发送数据时,控制发送端口的电平按照待发送数据的比特序列对应的波形序列进行变化以传输待发送数据。例如,待发送数据的比特序列为10100……时,相应的波形序列为:第一波形序列、第二波形序列、第一波形序列、第二波形序列、第三波形序列……,则接收方控制发送端口的电平进行如下变化,如图9所示:假设时间轴以t=0开始,每个波形序列的传输持续时间为T,第一波形序列的起始位置的高电平持续时间为t1,第三波形序列的起始位置的低电平持续时间为t2,则t=t1时,高电平跳变为低电平,t=T时,低电平跳变为高电平,t=2T+t1时,高电平跳变为低电平,t=3T时,低电平跳变为高电平,t=4T时,高电平跳变为低电平,t=4T+t2时,低电平跳变为高电平……。因此,接收方发送数据时,只需按照比特序列中的比特对应的波形序列的波形以及波形序列的特征控制发送端口的电平变化,就可以成功地发送数据。
综上可知,通过本实施例提供的数据帧尾检测方法,采用相同的时间间隔但不同的波形特征来表示不同的数据比特,不仅提高了编码效率,而且提高了供电效率,并且准确地确定了数据帧结束的位置,提高了数据帧的处理速度。
实施例2
本实施例提供了一种数据传输装置。图9为本实施例提供的装置的结构示意图,如图9所示,该数据传输装置包括:检测模块101,用于检测接收端口的电平变化;波形序列识别模块102,用于根据电平变化以及波形序列的特征确定连续传输的N个波形序列;其中,波形序列包括以下之一:第一波形序列、第二波形序列和第三波形序列,波形序列的特征包括:第一波形序列、第二波形序列以及第三波形序列的传输持续时间相同,传输持续时间与传输波形序列的波特率呈反比关系,且第一波形序列以高电平开始并在传输持续时间内出现低电平,其中,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,第二波形序列在传输持续时间内持续高电平,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化;连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数;数据确定模块103,用于判断连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
由上述本实施例提供的数据传输装置,采用相同的时间间隔但不同的波形特征来表示不同的数据比特,不仅提高了编码效率,而且提高了供电效率,并且准确地确定了数据帧结束的位置,提高了数据帧的处理速度。
本实施例中,接收端口可以为USB接口、RS232接口、RS485接口、CAN接口等通讯接口。
本实施例中,数据传输装置通过接收端口接收发送方发送的波形序列,并且通过检测接收端口的电平变化来识别波形序列。
本实施例中,发送方与数据传输装置的接收端口连接,在发送方没有进行数据传输时,数据传输装置的接收端口的电平默认持续为高电平,从而方便数据传输装置从发送方获得电能,在发送方开始传输数据时,发送方控制发送端口的电平按照待发送数据的比特序列对应的波形序列进行变化以传输待发送数据,相应的,数据传输装置在检测到接收端口的电平开始发生变化时,则说明当前发送方在发送数据,从而根据在接收端口检测到的电平变化识别出对应的波形序列。
在本实施例中,不同的波形序列的传输持续时间相同,例如传输持续时间为T,即均以T来传输一个比特,相比与现有技术中需要用不同的时间间隔来传输一个比特值的方式,本实施例传输一个比特所需的时间更短,因此,编码效率更高,降低了发送方和接收方的成本及负担。另外,虽然第一波形序列、第二波形序列以及第三波形序列具有相同的传输持续时间,但通过不同的波形特征对三种波形序列进行了区分,因此,在提高编码效率的同时,方便了数据传输装置对第一波形序列、第二波形序列以及第三波形序列进行检测与识别。
在本实施例中,传输持续时间与传输波形序列的波特率呈反比关系,且第一波形序列以高电平开始并在传输持续时间内出现低电平,其中,第一波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化,第三波形序列以低电平开始,并以高电平结束,且第三波形序列中出现的低电平在传输持续时间内所占的总时长不随波形序列的波特率的变化而变化。具体实施过程中,当传输波形序列的波特率变小时,第一波形序列和/或第三波形序列的传输持续时间变大,但是第一波形序列和/或第三波形序列中出现的低电平在传输持续时间内所占的总时长不发生变化。例如,以两相调制为例,当传输波形序列的比特率为50Mbps时,相应的波特率为50Baud,则第一波形序列的传输持续时间为T=20ns,在一个T内,以第一波形序列的低电平持续时长固定为10ns为例,高电平持续时长为10ns,此时,接收方从发送方取电的效率为50%;当传输波形序列的波特率25Baud时,第一波形序列的传输持续时间为T=40ns,在一个T内,第一波形序列的低电平持续时长仍然为10ns,高电平持续时长为30ns,此时,接收方从发送方取电的效率为75%。因此,通过将第一波形序列和/或第三波形序列中出现的低电平设置为在传输持续时间内所占的总时长不随传输波形序列的波特率的变化而变化,提高了接收方的取电效率,节约了接收方的充电时间。
此外,在本实施例中,波形序列识别模块102还可以根据接收到的波形序列来确定对应的数据比特,例如,传输数据帧的比特序列的方式如下:以第一波形序列表示第一数据比特,分别以第二波形序列和第三波形序列表示第二数据比特,其中,第一数据比特为比特1和比特0中的一个,第二数据比特为比特1和比特0中的另一个,并且,在连续的至少两个比特为第二数据比特时,连续的至少两个比特中的第一个比特对应的波形序列为第二波形序列,第二个比特以及后续的比特对应的波形序列为第三波形序列。本实施例中,第二数据比特分别由第二波形序列和第三波形序列表示,而第二波形序列在传输持续时间内均为高电平,由此,可以进一步提高数据传输装置的取电效率。因此,本实施例提供的传输数据帧的比特序列的方式还可以带来提高数据传输装置取电效率的技术效果。
在本实施例的一个可选实施方式中,波形序列的特征还包括:第一波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一,和/或,第三波形序列中出现的低电平在传输持续时间内所占的总时长小于传输持续时间的二分之一。具体实施过程中,第一波形序列和/或第三波形序列的传输持续时间为T,在一个T内,第一波形序列和/或第三波形序列的低电平的持续时间小于T/2,意味着第一波形序列和/或第三波形序列的高电平的持续时间大于T/2。通过缩小第一波形序列和/或第三波形序列的低电平在传输持续时间内所占的总时长,增大了第一波形序列和/或第三波形序列的高电平在传输持续时间内所占的总时长,使得第一波形序列和/或第三波形序列尽可能多地处于高电平,方便数据传输装置通过第一波形序列和/或第三波形序列的高电平进行充电,提高了数据传输装置的充电效率。
本实施例中的三种波形序列的示意图如实施例1中的图2~图4所示,在此不再赘述。
在本实施例的一个可选实施方式中,波形序列识别模块102可以通过以下方式据电平变化以及波形序列的特征确定连续传输的N个波形序列的具体过程为:首先,数据传输装置获取一个波形序列的预设持续时间;其次,数据传输装置以预设持续时间作为每个波形序列的传输持续时间,根据电平变化以及波形序列特征确定连续传输的N个波形序列。
根据前文提到的波形序列的特征,在获取到一个波形序列的持续时间的前提下,第一波形序列的起始位置为高电平、第二波形序列持续为高电平以及第三波形序列的起始位置为低电平都是可以确定的,因此,确定一个波形序列的方式可以为:在一个波形序列的传输持续时间内,根据该波形序列的电平变化符合上述哪种波形序列的特征,来确定该波形序列为哪个波形序列,或者,也可以根据接收端口检测到的电平变化,如通过采样电平变化得到一个波形序列的波形,判断该波形符合上述哪种波形序列的特征,来确定该波形序列为哪个波形序列。例如,在一个波形序列的传输持续时间内,该波形序列的起始位置为高电平,并持续一段时间后跳变为低电平,则该波形序列为第一波形序列,如果该波形序列的起始位置为低电平,,则该波形序列为第三波形序列,否则,为第二波形序列。在本实施例中,波形序列识别模块102接收到的数据依次包括数据帧头、传输数据和数据帧尾,数据帧头和数据帧尾都是通信双方预先约定好的波形序列,在检测到数据帧头对应的波形序列后,就可以确定数据帧中的传输数据对应的波形序列的起始位置,从该起始位置开始可以根据检测到的电平变化符合上述哪种波形序列的特征来确定第一个波形序列,在持续一个波形序列的传输持续时间后,开始确定第二个波形序列,以此直至确定完接收到的数据中的传输数据和数据帧尾对应的波形序列。
其中,一个波形序列的持续时间可以是通信双方预先协商好的,通信双方采用该预先协商好的预设持续时间(即波特率的反比)进行数据传输,也可以是从数据帧头中解析得到的,相较于前者,后者可以更灵活选择波特率进行数据传输,发送方可以视当前的传输环境以及发送方支持的接收数据的速率选择双方支持的最高的波特率进行数据传输,波形序列识别模块102只要解析数据帧头就可以获得当前的波特率,由此,可以采用通信双方支持的最大波特率进行数据传输,以达到高速的数据传输的效果。
例如,发送方连续传输一串比特序列对应的多个波形序列后,波形序列识别模块102获取到波形序列的传输持续时间为T,检测模块101检测接收端口的电平变化,波形序列识别模块102可以依次识别出发送方传输的波形序列,具体地,如何确定一个波形序列可以如图5所示,在一个传输持续时间T内,检测到该波形序列的起始位置为低电平,则确定接收到的该波形序列为第三波形序列;在下一个传输持续时间T内,检测到该波形序列的起始位置为高电平,并且持续一段时间后跳变为低电平即t=T+t1时高电平跳变为低电平,则确定接收到的该波形序列为第一波形序列;在一个传输持续时间T内,检测到持续为高电平,则确定接收到的该波形序列为第二波形序列。由此,波形序列识别模块102可以根据检测到电平变化以及波形序列的特征每经过一个传输持续时间识别出一个波形序列,依次识别出发送方发送的比特序列对应的波形序列。
又例如,波形序列识别模块102根据检测到的接收端口的电平变化连续识别出的波形序列如图6所示,在一个传输持续时间T内,检测到该波形序列持续高电平,则确认接收到的该波形序列为第二波形序列;在下一个传输持续时间T内,检测到该波形序列持续高电平,则确认接收到的该波形序列为第二波形序列。由此,波形序列识别模块102识别出连续的两个波形序列为第二波形序列、第二波形序列。
本实施例中,发送方与数据传输装置可以预先设定数据帧尾对应的N个波形序列。本实施例中,波形序列识别模块102在检测到数据帧头之后,通过对接收端口检测到的电平变化识别波形序列的过程中,对每个识别出的波形序列都会进行数据帧尾的判断,当数据传输装置接收到发送方连续发送的N个波形序列后,数据确定模块103可以将该连续的N个波形序列与预设的数据帧尾对应的N个波形序列进行比较,以便确定接收到的N个波形序列是否为数据帧尾,从而准确地确定数据帧结束的位置,以提高数据帧的处理速度。例如,预设的数据帧尾对应的波形序列依次为第二波形序列和第二波形序列,本实施例中,如果在步骤S102中确定的N个波形序列也是依次为第二波形序列和第二波形序列,则可以将该N个波形序列识别尾数据帧尾,至此数据帧接收结束。
在本实施例的一个可选实施方式中,N的取值可以是通信双方预设协商的,为了便于区分数据帧中的传输数据与数据帧尾,通常,将数据帧尾设置为与表示传输数据的波形序列不同的波形序列,例如,以步骤S102中提到的传输数据帧的比特序列的方式,以N=2为例,预设的数据帧尾对应的N个波形序列可以包括以下任意一种:预设的数据帧尾对应的N个波形序列依次为第二波形序列和第二波形序列,或者,预设的数据帧尾对应的N个波形序列依次为第三波形序列和第二波形序列,或者,预设的数据帧尾对应的N个波形序列依次为第一波形序列和第三波形序列。具体实施过程中,可以将第一波形序列简称为X波形,第二波形序列简称为Y波形,第三波形序列简称为Z波形,当N=2时,N个波形序列可以为X波形、Y波形和Z波形的组合,即可以包括以下9种:XX、XY、XZ、YY、YX、YZ、ZZ、ZX和ZY。其中,按照步骤S102中提到的传输数据帧的比特序列的方式,除了YY、ZY或者XZ的其他组合都可以表示数据帧的比特序列,因此,发送方与数据传输装置可以预先协商好数据帧尾对应的2个波形序列为YY、ZY或者XZ,由此,可以更易于识别出数据帧尾。同时,在约定数据帧尾为上述3中之一后,发送方与数据传输装置也可以预先协商好数据帧头对应的波形序列中排除掉已预定好的数据帧尾,即数据帧头和数据帧为不出现重复的波形序列,以便更易于区分数据帧头和数据帧尾。通过本实施例的可选实施方式,数据传输装置通过检测接收到的波形序列,并判断属于三个波形序列中的哪个波形序列,从而实现了对数据帧尾的识别,进而准确地确定了数据帧结束的位置。
在本实施例中,在数据传输装置接收成功一个数据帧后,需要向发送方返回接收数据成功的响应报文,以便于发送方继续发送下一帧数据,如果数据传输装置没有向发送方返回接收数据成功的响应报文,则发送方会认为数据传输装置没有收到或者接收错误之前发送的数据帧,便会重发该数据帧。由此,发送方无需将待发送数据的全部数据帧发送完之后再进行数据重发,大大提高了数据传输的效率和正确率,相较于现有技术中全部重传的方式,减少了数据传输量。因此,在本实施例的一个可选实施方式中,该数据传输装置还包括:比特序列获取模块104和数据发送模块105,如图11所示,其中:比特序列获取模块104,用于在确定连续传输的N个波形序列为预设的数据帧尾对应的N个波形序列之后,获取待发送数据的比特序列,其中,待发送数据的比特序列至少包括:待传输数据,待传输数据至少包括:至少用于指示待发送数据为数据接收成功响应报文的标记位,或者,至少用于指示待发送数据为数据接收识别响应报文的标记位;数据发送模块105,用于根据待发送数据的比特序列,连续发送比特序列中的比特对应的波形序列,其中,以第一波形序列表示第一数据比特,分别以第二波形序列和第三波形序列表示第二数据比特,第一数据比特为比特1和比特0中的一个,第二数据比特为比特1和比特0中的另一个;在连续发送的至少两个比特为第二数据比特时,连续发送的至少两个比特中的第一个比特对应的波形序列为第二波形序列,第二个比特以及后续的比特对应的波形序列为第三波形序列。
本实施例中,数据确定模块103在确定连续传输的N个波形序列为预设的数据帧尾对应的N个波形序列之后,意味着发送方发送的数据已经结束,因此,数据发送模块105可以向发送方返回响应数据。
本实施例中,一个数据帧的帧格式可以如实施例1中的图8所示,在此不再赘述。
本实施例中,数据发送模块105发送响应数据时,根据待发送数据的比特序列,确定待发送数据的比特序列中比特对应的波形序列,然后连续发送该波形序列,从而实现了数据发送模块105对响应数据的发送。例如,比特1可以用第一波形序列表示,比特0可以用第二波形序列和第三波形序列表示,在连续发送的至少两个比特为比特0时,连续发送的至少两个比特中的第一个比特0对应的波形序列为第二波形序列,第二个比特0以及后续的比特0对应的波形序列为第三波形序列。也就是说,当只发送一个单独的比特0时,该单独的比特0对应的波形序列为第二波形序列;当发送多个连续的比特0时,该连续的比特0的第一个比特0对应的波形序列为第二波形序列,剩余的比特0对应的波形序列为第三波形序列。例如,待发送数据的比特序列为101000……时,相应的波形序列为:第一波形序列、第二波形序列、第一波形序列、第二波形序列、第三波形序列、第三波形序列……。由于第二波形序列在传输持续时间内,持续保持高电平,因此,通过采用第二波形序列和第三波形序列表示比特0,与现有技术中只采用第三波形序列表示比特0相比,数据传输装置的接收端口的高电平持续时间增加,方便数据传输装置通过波形序列的高电平进行充电,提高了数据传输装置的充电效率。
本实施例中,数据传输装置的发送端口与发送方连接,在没有进行数据传输时,数据传输装置的发送端口的电平默认为高电平,从而方便数据传输装置从发送方获得电能进行充电,在数据发送模块105开始发送数据时,控制发送端口的电平按照待发送数据的比特序列对应的波形序列进行变化以传输待发送数据。例如,待发送数据的比特序列为10100……时,相应的波形序列为:第一波形序列、第二波形序列、第一波形序列、第二波形序列、第三波形序列……,则数据传输装置控制发送端口的电平进行如下变化,如图9所示:假设时间轴以t=0开始,每个波形序列的传输持续时间为T,第一波形序列的起始位置的高电平持续为t1,第三波形序列的起始位置的低电平持续时间为t2,则t=t1时,高电平跳变为低电平,t=T时,低电平跳变为高电平,t=2T+t1时,高电平跳变为低电平,t=3T时,低电平跳变为高电平,t=4T时,高电平跳变为低电平,t=4T+t2时,低电平跳变为高电平……。因此,数据发送模块105发送数据时,只需按照比特序列中的比特对应的波形序列的波形以及波形序列的特征控制发送端口的电平变化,就可以成功地发送数据。
综上可知,通过本实施例提供的数据传输装置,采用相同的时间间隔但不同的波形特征来表示不同的数据比特,不仅提高了编码效率,而且提高了供电效率,并且准确地确定了数据帧结束的位置,提高了数据帧的处理速度。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (12)
1.一种数据帧尾检测方法,其特征在于,包括:
检测接收端口的电平变化;
根据所述电平变化以及波形序列的特征确定连续传输的N个波形序列,其中,所述连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数,所述波形序列的特征包括:所述第一波形序列、所述第二波形序列以及所述第三波形序列的传输持续时间相同,所述传输持续时间与传输所述波形序列的波特率呈反比关系,且所述第一波形序列以高电平开始并在所述传输持续时间内出现低电平,其中,所述第一波形序列中出现的低电平在所述传输持续时间内所占的总时长不随所述波形序列的波特率的变化而变化,所述第二波形序列在所述传输持续时间内持续高电平,所述第三波形序列以低电平开始,并以高电平结束,且所述第三波形序列中出现的低电平在所述传输持续时间内所占的总时长不随所述波形序列的波特率的变化而变化;
判断所述连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
2.根据权利要求1所述的方法,其特征在于,
所述根据所述电平变化以及波形序列的特征确定连续传输的N个波形序列,包括:
获取一个波形序列的预设持续时间;
以所述预设持续时间作为每个波形序列的传输持续时间,根据所述电平变化以及所述波形序列的特征确定所述连续传输的N个波形序列。
3.根据权利要求1或2所述的方法,其特征在于,
N=2,所述预设的数据帧尾对应的N个波形序列,包括:
所述预设的数据帧尾对应的N个波形序列依次为所述第二波形序列和所述第二波形序列,或者,
所述预设的数据帧尾对应的N个波形序列依次为所述第三波形序列和所述第二波形序列,或者,
所述预设的数据帧尾对应的N个波形序列依次为所述第一波形序列和所述第三波形序列。
4.根据权利要求1至2中任一项所述的方法,其特征在于,
在所述确定所述连续传输的N个波形序列为所述预设的数据帧尾对应的N个波形序列之后,所述方法还包括:
获取待发送数据的比特序列,其中,所述待发送数据的比特序列至少包括:待传输数据,所述待传输数据至少包括:至少用于指示所述待发送数据为数据接收成功响应报文的标记位,或者,至少用于指示所述待发送数据为数据接收失败响应报文的标记位;
根据所述待发送数据的比特序列,连续发送所述比特序列中的比特对应的波形序列,其中,以所述第一波形序列表示第一数据比特,分别以所述第二波形序列或所述第三波形序列表示第二数据比特,所述第一数据比特为比特1和比特0中的一个,所述第二数据比特为所述比特1和比特0中的另一个;在连续发送的至少两个比特为所述第二数据比特时,所述连续发送的至少两个比特中的第一个比特对应的波形序列为所述第二波形序列,第二个比特以及后续的比特对应的波形序列为所述第三波形序列。
5.根据权利要求4所述的方法,其特征在于,
所述根据待发送数据的比特序列,连续发送所述比特序列中的比特对应的波形序列,包括:
控制发送端口的电平按照所述待发送数据的比特序列中的比特对应的波形序列的波形以及所述波形序列的特征进行变化,以发送所述待发送数据。
6.根据权利要求1所述的方法,其特征在于,
所述波形序列的特征还包括:
所述第一波形序列中出现的低电平在所述传输持续时间内所占的总时长小于所述传输持续时间的二分之一;
和/或
所述第三波形序列中出现的低电平在所述传输持续时间内所占的总时长小于所述传输持续时间的二分之一。
7.一种数据传输装置,其特征在于,包括:
检测模块,用于检测接收端口的电平变化;
波形序列识别模块,用于根据所述电平变化以及波形序列的特征确定连续传输的N个波形序列;
其中,所述连续传输的N个波形序列中的各个波形序列分别为以下之一:第一波形序列、第二波形序列和第三波形序列,其中N为正整数,所述波形序列的特征包括:所述第一波形序列、所述第二波形序列以及所述第三波形序列的传输持续时间相同,所述传输持续时间与传输所述波形序列的波特率呈反比关系,且所述第一波形序列以高电平开始并在所述传输持续时间内出现低电平,其中,所述第一波形序列中出现的低电平在所述传输持续时间内所占的总时长不随所述波形序列的波特率的变化而变化,所述第二波形序列在所述传输持续时间内持续高电平,所述第三波形序列以低电平开始,并以高电平结束,且所述第三波形序列中出现的低电平在所述传输持续时间内所占的总时长不随所述波形序列的波特率的变化而变化;
数据确定模块,用于判断所述连续传输的N个波形序列是否为预设的数据帧尾对应的N个波形序列,如果是,则视为当前数据帧接收结束。
8.根据权利要求7所述的装置,其特征在于,
所述波形序列识别模块通过以下方式根据所述电平变化以及波形序列的特征确定连续传输的N个波形序列:
获取一个波形序列的预设持续时间;
以所述预设持续时间作为每个波形序列的传输持续时间,根据所述电平变化以及所述波形序列的特征确定所述连续传输的N个波形序列。
9.根据权利要求7或8所述的装置,其特征在于,
N=2,所述预设的数据帧尾对应的N个波形序列,包括:
所述预设的数据帧尾对应的N个波形序列依次为所述第二波形序列和所述第二波形序列,或者,
所述预设的数据帧尾对应的N个波形序列依次为所述第三波形序列和所述第二波形序列,或者,
所述预设的数据帧尾对应的N个波形序列依次为所述第一波形序列和所述第三波形序列。
10.根据权利要求7至8中任一项所述的装置,其特征在于,所述装置还包括:比特序列获取模块和数据发送模块,其中:
所述比特序列获取模块,用于在所述确定所述连续传输的N个波形序列为所述预设的数据帧尾对应的N个波形序列之后,获取待发送数据的比特序列,其中,所述待发送数据的比特序列至少包括:待传输数据,所述待传输数据至少包括:至少用于指示所述待发送数据为数据接收成功响应报文的标记位,或者,至少用于指示所述待发送数据为数据接收失败响应报文的标记位;
所述数据发送模块,用于根据所述待发送数据的比特序列,连续发送所述比特序列中的比特对应的波形序列,其中,以所述第一波形序列表示第一数据比特,分别以所述第二波形序列或所述第三波形序列表示第二数据比特,所述第一数据比特为比特1和比特0中的一个,所述第二数据比特为所述比特1和比特0中的另一个;在连续发送的至少两个比特为所述第二数据比特时,所述连续发送的至少两个比特中的第一个比特对应的波形序列为所述第二波形序列,第二个比特以及后续的比特对应的波形序列为所述第三波形序列。
11.根据权利要求10所述的装置,其特征在于,
所述数据发送模块通过以下方式根据待发送数据的比特序列,连续发送所述比特序列中的比特对应的波形序列:
控制发送端口的电平按照所述待发送数据的比特序列中的比特对应的波形序列的波形以及所述波形序列的特征进行变化,以发送所述待发送数据。
12.根据权利要求7所述的装置,其特征在于,
所述波形序列的特征还包括:
所述第一波形序列中出现的低电平在所述传输持续时间内所占的总时长小于所述传输持续时间的二分之一;
和/或
所述第三波形序列中出现的低电平在所述传输持续时间内所占的总时长小于所述传输持续时间的二分之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611053522.3A CN107346998B (zh) | 2016-11-24 | 2016-11-24 | 一种数据帧尾检测方法及数据传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611053522.3A CN107346998B (zh) | 2016-11-24 | 2016-11-24 | 一种数据帧尾检测方法及数据传输装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107346998A CN107346998A (zh) | 2017-11-14 |
CN107346998B true CN107346998B (zh) | 2019-12-10 |
Family
ID=60253754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611053522.3A Active CN107346998B (zh) | 2016-11-24 | 2016-11-24 | 一种数据帧尾检测方法及数据传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107346998B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192993A (zh) * | 2022-10-11 | 2023-05-30 | 成都利普芯微电子有限公司 | 一种数据传输电路、恒流驱动芯片和显示系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252411A (zh) * | 2008-03-31 | 2008-08-27 | 杭州电子科技大学 | 射频识别数据通信中数据帧结尾的检测方法 |
CN101855878A (zh) * | 2007-11-13 | 2010-10-06 | Nxp股份有限公司 | 占空比调制传输 |
CN102333054A (zh) * | 2011-09-26 | 2012-01-25 | 北京天地融科技有限公司 | 一种数据发送、接收方法及装置 |
CN103716270A (zh) * | 2011-09-26 | 2014-04-09 | 天地融科技股份有限公司 | 一种数据发送、接收方法及装置 |
CN104796222A (zh) * | 2014-11-21 | 2015-07-22 | 湖南先步信息股份有限公司 | Can波特率自动匹配的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010147943A (ja) * | 2008-12-19 | 2010-07-01 | Sony Corp | 情報処理装置、及び信号伝送方法 |
-
2016
- 2016-11-24 CN CN201611053522.3A patent/CN107346998B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101855878A (zh) * | 2007-11-13 | 2010-10-06 | Nxp股份有限公司 | 占空比调制传输 |
CN101252411A (zh) * | 2008-03-31 | 2008-08-27 | 杭州电子科技大学 | 射频识别数据通信中数据帧结尾的检测方法 |
CN102333054A (zh) * | 2011-09-26 | 2012-01-25 | 北京天地融科技有限公司 | 一种数据发送、接收方法及装置 |
CN103716270A (zh) * | 2011-09-26 | 2014-04-09 | 天地融科技股份有限公司 | 一种数据发送、接收方法及装置 |
CN104796222A (zh) * | 2014-11-21 | 2015-07-22 | 湖南先步信息股份有限公司 | Can波特率自动匹配的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107346998A (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241161B (zh) | 一种数据传输方法及装置 | |
US10608778B2 (en) | Data transmission method and terminal | |
WO2017050234A1 (zh) | 数据传输方法及数据处理设备 | |
CN107241162B (zh) | 一种数据传输方法及装置 | |
CN107346997B (zh) | 一种数据传输方法以及终端 | |
CN105703875B (zh) | 一种消息传输的方法,设备和系统 | |
CN101431389B (zh) | 一种电路及其信号的传输方法 | |
CN107346998B (zh) | 一种数据帧尾检测方法及数据传输装置 | |
CN107346999B (zh) | 一种数据帧尾检测方法及数据传输装置 | |
CN107359964B (zh) | 数据发送方法和装置 | |
CN107404319B (zh) | 数据接收方法和装置 | |
CN107359963B (zh) | 一种数据传输方法及终端 | |
CN106549729B (zh) | 数据发送方法和装置及数据接收方法和装置 | |
CN107359962B (zh) | 数据接收方法和装置 | |
CN107423248B (zh) | 数据帧头发送方法及发送装置 | |
CN107404366B (zh) | 数据发送方法和装置 | |
CN107347001B (zh) | 一种数据传输方法及终端 | |
CN107493156B (zh) | 传输参数获取方法及终端 | |
CN107370565B (zh) | 一种传输参数自适应的数据传输方法和装置 | |
CN108449144B (zh) | 一种mB1C码光纤串行数据编解码方法和通信方法 | |
CN107368446B (zh) | 一种传输参数自适应的数据传输方法和装置 | |
WO2018095180A1 (zh) | 数据发送方法、数据接收方法和装置 | |
CN107453838B (zh) | 数据帧头发送方法及发送装置 | |
CN112564820B (zh) | 信号收发方法及装置、电水壶 | |
CN107465498B (zh) | 传输参数获取方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |