一种数据发送方法、接收方法及设备与流程

文档序号:18898279发布日期:2019-10-18 21:34阅读:208来源:国知局
一种数据发送方法、接收方法及设备与流程

本发明实施例涉及无线通信技术领域,尤其涉及一种数据发送方法、接收方法及设备。



背景技术:

2.4g无线技术基于无线通讯的方式实现两个不同设备之间的信息交互,在无线鼠标、接收器、玩具车、遥控器、电子价签、风扇等方面具有广泛的应用。目前,各厂商的2.4g芯片设计多样,通讯接口和通讯协议不通用,数据的发送和接收缺乏统一的格式和规范,无法适配各种应用芯片,并且设计功能简单,数据传输的抗干扰性差。



技术实现要素:

本发明提供了一种数据发送方法、接收方法及设备,通过统一的协议包格式对数据进行纠错和校验,提高数据传输的通用性和抗干扰性。

第一方面,本发明实施例提供了一种数据发送方法,包括:

获取用户输入的待传输数据;

根据所述待传输数据生成前向纠错编码数据和硬件循环冗余校验(cyclicredundancycheck,crc)码;

按照预设协议格式发送所述前向纠错编码数据和所述硬件循环冗余校验码组成的数据包。

进一步的,所述前向纠错编码数据包括:

目标设备标识字段,用于指示所述待传输数据的发送设备;

数据包控制字段,用于指示所述数据包的属性信息,所述属性信息包括跳频信息、载荷长度信息、索引信息和/或反馈状态信息;

待传输数据字段,用于承载所述待传输数据。

进一步的,所述数据包控制字段包括:

载荷长度标识位,用于指示所述待传输数据的长度;

数据包索引位,用于指示所述数据包的索引号;

反馈状态位,用于指示接收设备对所述待传输数据的反馈状态。

进一步的,所述预设协议格式包括:

数据包中的字段依次为用于与接收设备握手的同步码、用于校验所述同步码的同步码校验字段、前向纠错编码数据和硬件循环冗余校验码。

第二方面,本发明实施例提供了一种数据接收方法,包括:

接收数据包,所述数据包包括待传输数据对应的前向纠错编码数据和硬件循环冗余校验码;

按照预设协议包格式解析所述数据包,得到所述待传输数据。

进一步的,所述按照预设协议包格式解析所述数据包,包括:

按照预设协议包格式,对待传输数据对应的前向纠错编码数据解码;

根据解码结果纠正错误数据,得到正确的待传输数据。

进一步的,所述按照预设协议包格式解析所述数据包,包括:

按照预设协议包格式,根据待传输数据对应的硬件循环冗余校验码验证待传输数据。

进一步的,在接收数据包之前,还包括:

根据数据包的同步码和同步码校验字段与发送设备握手。

第三方面,本发明实施例提供了一种数据发送设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据发送设备方法。

第四方面,本发明实施例提供了一种数据接收设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面所述的数据接收设备方法。

本发明实施例提供了一种数据发送方法、接收方法及设备。该数据发送方法包括:获取用户输入的待传输数据;根据所述待传输数据生成前向纠错编码数据和硬件循环冗余校验码;按照预设协议格式发送所述前向纠错编码数据和所述硬件循环冗余校验码组成的数据包。上述技术方案通过统一的协议包格式对数据进行纠错和校验,提高数据传输的通用性和抗干扰性。

附图说明

图1为本发明实施例一提供的一种数据发送方法的流程图;

图2为本发明实施例一提供的一种预设协议格式的示意图;

图3为本发明实施例二提供的一种数据接收方法的流程图;

图4为本发明实施例三提供的一种数据接收方法的流程图;

图5为本发明实施例四提供的一种数据发送设备的硬件结构示意图;

图6为本发明实施例五提供的一种数据接收设备的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种数据发送方法的流程图,本实施例可适用于基于2.4g无线技术的设备之间的数据传输的情况。例如,可应用于yc1021的无线鼠标和yc1121的无线接收器在数据传输过程中的发送设备。如图1所示,该方法具体包括如下步骤:

s110、获取用户输入的待传输数据。

具体的,待传输数据从发送设备传输至接收设备,例如,发送设备为无线鼠标,接收设备为无线接收器,待传输数据即为无线鼠标根据用户操作而生成的控制信号,例如,鼠标单击或双击的操作、移动轨迹和位置坐标等,这些控制信号作为待传输数据发送至无线接收器,无线接收器对待传输数据进行处理,从而实现在计算机中对应的鼠标操作。又如,发送设备为无线键盘,则待传输数据可以为用户通过无线键盘选中的按键、输入的字符串或者通过快捷键触发的控制信号等。又如,发送设备为遥控器,则待传输数据可以为用户通过遥控器生成的遥控信号等。

s120、根据所述待传输数据生成前向纠错编码数据和硬件循环冗余校验码。

具体的,用户输入待传输数据,根据待传输数据可自动生成报头和硬件crc码,其中,报头是指在网络协议通讯中附加到用于控制信息的运载和传输的数据包前面的定义位长度的特殊保留字段。本实施例中,根据待传输数据自动生成前向纠错编码数据和硬件crc码。通过在数据传输过程中引入前向纠错(forwarderrorcorrection,fec)机制,利用待传输数据传输冗余信息,在传输中出现错误的情况下,接收设备可以自动纠正传输误码、再建数据,从而增加数据通讯可信度。通过引入crc机制,根据待传输数据生成固定位数校验码的散列函数,接收设备可据此检测或校验数据传输过程中的错误。

进一步的,前向纠错编码数据包括:目标设备标识字段,用于指示待传输数据的发送设备;数据包控制字段,用于指示数据包的属性信息,属性信息包括跳频信息、载荷长度信息、索引信息和/或反馈状态信息;待传输数据字段,用于承载待传输数据。

具体的,本实施例基于2.4g通信协议可实现一对七的无线设备之间的通信。前向纠错编码数据的目标设备标识字段可用于指示发送设备,接收设备可据此确定待传输数据的来源,接收对应的发送设备发送的待传输数据;数据包控制字段用于指示数据包的属性信息,例如,指示待传输数据的传输频道,从而实现跳频传输,不同频道的数据分别传输、不会互相干扰,例如,发送设备1可通过频道1向接收设备1发送对应的待传输数据,还可通过频道2项接收设备2发送对应的待传输数据,两个频道的数据传输互不干扰;载荷长度信息用于指示待传输数据的长度;索引信息用于指示当前的数据包的索引id;反馈状态信息用于指示接收设备是否需要针对接收到的待传输数据反馈确认信息;待传输数据字段,用于承载待传输数据。

s130、按照预设协议格式发送所述前向纠错编码数据和所述硬件循环冗余校验码组成的数据包。

具体的,预设协议格式为发送设备与接收设备约定的格式,按照预设协议格式发送前向纠错编码数据和硬件crc码组成的数据包,使得接收设备能够识别和解析,通过纠错和校验得到正确的待传输数据,并且可以根据反馈状态信息的指示向发送设备反馈确认信息。

进一步的,数据包控制字段包括:载荷长度标识位,用于指示待传输数据的长度;数据包索引位,用于指示数据包的索引号;反馈状态位,用于指示接收设备对待传输数据的反馈状态。

进一步的,预设协议格式包括:数据包中的字段依次为用于与接收设备握手的同步码、用于校验所述同步码的同步码校验字段、前向纠错编码数据和硬件循环冗余校验码。

具体的,同步码用于发送设备与接收设备握手,即,发送设备与接收设备通过同步码确认彼此的身份,也可以进一步确定数据传输过程所使用的协议格式、加密算法等,握手成功后,接收设备接收发送设备发送的数据包。同步码校验字段可以为8位的crc,用于对同步码进行校验,校验通过即握手成功。前向纠错编码数据用于传输冗余信息,接收设备可基于前向纠错编码数据对待传输数据进行纠错,硬件crc码用于对上述所有的数据字段进行校验,校验通过则接收设备正确接收了上述所有的数据内容。

图2为本发明实施例一提供的一种预设协议格式的示意图。如图2所示,数据包中依次包括同步码、同步码校验字段、前向纠错编码数据和硬件crc码,其中,前向纠错编码数据包括目标设备标识字段、数据包控制字段和待传输数据字段,数据包控制字段又包括载荷长度标识位、数据包索引位和反馈状态位。基于前向纠错编码数据,接收设备可自动纠正传输误码、再建数据,并且利用硬件crc码可校验数据传输过程中的错误,进一步提高数据传输的可靠性。

本实施例的2.4g基于高斯频移键控(gaussfrequencyshiftkeying,gfsk)调制,具有自动应答功能、自动重传功能、自适应跳频功能,可根据待传输数据自动生成报头和硬件crc检验码,待传输数据引入了前向纠错(例如1/3fec)机制,数据传输率可配置为1mb/s或250kb/s,可同时支持7个设备组网通讯。

本发明实施例一提供的一种数据发送方法,通过对待传输数据自动生成前向纠错编码信息和crc码,结合了前向纠错机制和循环冗余校验机制,按照预设协议格式发送由前向纠错编码数据和硬件循环冗余校验码组成的数据包,通过统一的协议包格式对数据进行纠错和校验,提高数据传输的通用性和抗干扰性。

实施例二

图3为本发明实施例二提供的一种数据接收方法的流程图。本实施例可适用于基于2.4g无线技术的设备之间的数据传输的情况。例如,可应用于yc1021的无线鼠标和yc1121的无线接收器在数据传输过程中的接收设备。未在本实施例中详尽描述的技术细节可参见上述任意实施例。

如图3所示,该方法具体包括如下步骤:

s210、接收数据包,所述数据包包括待传输数据对应的前向纠错编码数据和硬件循环冗余校验码。

具体的,发送设备根据自身的配置参数以及数据包控制字段,将数据包发送至对应的接收设备,接收设备在其配置的频道上接收数据包,数据包中包括前向纠错编码数据和硬件crc码,数据包按照预设协议格式发送,数据包中的字段依次为同步码、同步码校验字段、前向纠错编码数据和硬件crc码。

s220、按照预设协议包格式解析所述数据包,得到所述待传输数据。

具体的,接收设备在其配置的频道上接收数据包,按照预设协议格式解析所述数据包,例如,通过同步码和同步码校验字段与发送设备握手;利用前向纠错编码数据中的冗余信息对传输错误的待传输数据进行纠错,得到正确的待传输数据;并利用硬件crc码对数据包中所有字段进行校验,校验通过则说明正确接收完整的数据包,确认得到正确的待传输数据。

下面示例性地对数据传输过程中接收设备和发送设备的配置信息进行说明。通过配置功能切换参数可以快速切换发送和接收功能;通过配置发射功率参数可改变发射功率的大小;通过配置初始化参数,可以打开(关闭)发送端和接收端的初始化等。

示例性的,对于无线鼠标,将其功能切换参数配置成发送数据的模式,例如配置为01;将其设备类型配置为无线鼠标(或配置为发送设备),例如配置为01;将其发射功率参数配置为10m,发射功率与硬件天线有关;配置初始化参数为打开状态,初始化包括:配置连接间隔,例如配置为0x19,即间隔为8ms,配置跳频机制,防止两个鼠标在同一个通道通信而互相干扰,配置最大重发数据的次数等。

示例性的,对于无线接收器,将其功能切换参数配置成接收数据的模式,例如配置为02;将其设备类型配置为无线接收器(或配置为接收设备),例如配置为02;配置初始化参数为打开状态,初始化包括:配置窗口打开的时间,在打开的时间内才能接收到数据,配置跳频机制,频道由无线接收器发出,无线鼠标和无线接收器在同一个频道内通信,配置响应数据的使能状态,例如配置成00表示不使能等。

本发明实施例二提供的一种数据接收方法,通过接收待传输数据对应的前向纠错编码数据和硬件循环冗余校验码组成的数据包,并按照预设协议格式解析所述数据包,通过统一的协议包格式对数据进行纠错和校验,提高数据传输的通用性和抗干扰性。

实施例三

图4为本发明实施例三提供的一种数据接收方法的流程图,本实施例是在上述实施例的基础上进行优化,对按照预设协议格式解析数据包的过程进行具体描述。未在本实施例中详尽描述的技术细节可参见上述任意实施例。

具体的,如图4所示,该方法具体包括如下步骤:

s310、根据数据包的同步码和同步码校验字段与发送设备握手。

具体的,接收设备基于数据包中的同步码以及同步码校验字段与发送设备握手,握手成功后接收设备接收发送设备发送的数据包。

s320、接收数据包,所述数据包包括待传输数据对应的前向纠错编码数据和硬件循环冗余校验码。

s330、按照预设协议包格式,对待传输数据对应的前向纠错编码数据解码。

s340、根据解码结果纠正错误数据,得到正确的待传输数据。

具体的,对前向纠错编码数据解码,根据解码后的数据所表达的冗余信息可发现待传输数据在传输过程中的错误,例如判断出错误码元所在的位置并自动纠正,得到正确的待传输数据。其中,前向纠错可基于1/3fec机制。

s350、按照预设协议包格式,根据待传输数据对应的硬件循环冗余校验码验证待传输数据。

具体的,利用硬件crc码对数据包中所有的数据字段进行校验,校验通过则接收设备正确接收了数据包的数据内容。可选的,在根据解码结果纠正错误数据之后,基于正确的待传输数据,利用硬件crc码对整个数据包进行校验;在根据解码结果未发现错误数据的情况下,直接对接收到的数据包的所有数据字段进行校验。

本发明实施例三提供的一种数据接收方法,在握手成功之后,按照预设协议包格式,利用前向纠错机制纠正错误数据,并利用硬件循环冗余校验码验证待传输数据,进一步提高数据传输的抗干扰性和可靠性。

实施例四

图5为本发明实施例四提供的一种数据发送设备的硬件结构示意图。该数据发送设备包括但不限定于:无线鼠标、接收器、无线遥控器等通过无线通信协议发送数据的电子设备。如图5所示,本实施例提供的一种数据发送设备,包括:处理器410和存储装置420。该数据发送设备中的处理器可以是一个或多个,图5中以一个处理器410为例,所述数据发送设备中的处理器410和存储装置420可以通过总线或其他方式连接,图5中以通过总线连接为例。

所述一个或多个程序被所述一个或多个处理器410执行,使得所述一个或多个处理器实现上述实施例中任意所述的数据发送方法。

该数据发送设备中的存储装置420作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块。处理器410通过运行存储在存储装置420中的软件程序、指令以及模块,从而执行数据发送设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据发送方法。

存储装置420主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据数据发送设备的使用所创建的数据等(如上述实施例中的前向纠错编码数据和硬件循环冗余校验码等)。此外,存储装置420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至数据发送设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述数据发送设备中所包括一个或者多个程序被所述一个或者多个处理器410执行时,进行如下操作:获取用户输入的待传输数据;根据所述待传输数据生成前向纠错编码数据和硬件循环冗余校验码;按照预设协议格式发送所述前向纠错编码数据和所述硬件循环冗余校验码组成的数据包。

本实施例提出的数据发送设备与上述实施例提出的数据发送方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行数据发送方法相同的有益效果。

实施例五

图6为本发明实施例五提供的一种数据发送设备的硬件结构示意图。该数据发送设备包括但不限定于:无线鼠标、接收器、无线遥控器等通过无线通信协议发送数据的电子设备。如图6所示,本实施例提供的一种数据接收设备,包括:处理器510和存储装置520。该数据接收设备中的处理器可以是一个或多个,图6中以一个处理器510为例,所述数据接收设备中的处理器510和存储装置520可以通过总线或其他方式连接,图6中以通过总线连接为例。

所述一个或多个程序被所述一个或多个处理器510执行,使得所述一个或多个处理器实现上述实施例中任意所述的数据接收方法。

该数据接收设备中的存储装置520作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块。处理器510通过运行存储在存储装置520中的软件程序、指令以及模块,从而执行数据接收设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据接收方法。

存储装置520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据数据接收设备的使用所创建的数据等(如上述实施例中的前向纠错编码数据和硬件循环冗余校验码等)。此外,存储装置520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至数据接收设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述数据接收设备中所包括一个或者多个程序被所述一个或者多个处理器510执行时,进行如下操作:接收数据包,所述数据包包括待传输数据对应的前向纠错编码数据和硬件循环冗余校验码;按照预设协议包格式解析所述数据包,得到所述待传输数据。

本实施例提出的数据接收设备与上述实施例提出的数据接收方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行数据接收方法相同的有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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