数据传输方法、装置及电子设备与流程

文档序号:16847669发布日期:2019-02-12 22:27阅读:166来源:国知局
数据传输方法、装置及电子设备与流程

本申请主要涉及通讯技术领域,更具体地说是涉及数据传输方法及电子设备。



背景技术:

在分体设备的两个设备之间会基于一定的通讯协议进行传输,但是由于通讯协议会带来一定的延时,使得在数据读取过程中容易造成数据丢失,对于数据完整性要求较高的通讯设备中,会导致通讯设备失败。



技术实现要素:

有鉴于此,本申请提供了以下技术方案:

一种数据传输方法,包括:

接收第一设备传输来的第一数据;

对所述第一数据进行第一处理,其中,经过第一处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的数据与所述第一设备传输的数据相一致。

可选地,所述第一处理包括缓存处理;

其中,所述对所述第一数据进行第一处理,包括:

对所述第一数据进行缓存处理,其中,经过缓存处理的第一数据用于提供给第二设备进行读取,使得所述第二设备读取到的缓存数据与所述第一设备传输的数据相一致。

可选地,该方法还包括:

将所述第一数据缓存至目标区域;

控制所述第二设备分次从所述目标区域进行数据读取,使得所述第二设备读取到的缓存数据与所述第一设备传输的数据相一致。

可选地,所述第一处理包括字节统计处理;

其中,所述对所述第一数据进行第一处理,包括:

对所述第一数据进行字节统计处理,使得经过字节统计处理后的第一数据提供至第二设备进行读取。

可选地,该方法还包括:

对所述第一数据进行字节统计处理,获得第二数据;

控制所述第二设备按照预设字节读取长度对所述第二数据进行读取,使得所述第二设备读取到的第二数据与所述第一设备传输的数据相一致。

可选地,所述第一设备与所述第二设备之间通过桥接芯片建立起来的数据连接,其中,

所述预设字节读取长度与所述桥接芯片通讯属性相匹配。

可选地,还包括:

向第一设备发送控制信息,所述控制信息表征数据传输长度,以使得所述第一设备发送数据的时候是按照所述数据传输长度来发送的。

可选地,所述预设字节读取长度包括冗余字节长度,该方法还包括:

剔除所述第二设备读取到的第二数据中与所述冗余字节长度对应的字节信息,以使得所述第二设备获得到的剔除后的数据与所述第一设备传输的数据相一致。

一种数据传输装置,包括:

接收单元,用于接收第一设备传输来的第一数据;

处理单元,用于对所述第一数据进行第一处理,其中,经过第一处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的数据与所述第一设备传输的数据相一致。

一种电子设备,包括:存储器和控制器;

所述控制器,用于接收第一设备传输来的第一数据;对所述第一数据进行第一处理,其中,经过第一处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的数据与所述第一设备传输的数据相一致。

由此可见,与现有技术相比,本申请提供了数据传输方法、装置和电子设备,对接收到的第一设备传输来的第一数据执行第一处理,使得第二设备读取获得的经过第一处理后的数据,这样在进行数据传输和数据读取过程中。通过第一处理可以避免数据传输缺陷,例如延时造成的数据读取字节丢失,可以使得第二设备读取到的数据与第一设备传输的数据一致,满足了高要求的通讯设备进行数据传输的需求。

附图说明

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

图1示出了本申请实施例提供的一种数据传输方法的流程示意图;

图2示出了本申请实施例提供的一种传输数据的处理方法的流程示意图;

图3示出了本申请实施例提供的另一种传输数据的处理方法的流程示意图

图4示出了本申请实施例提供的一种分体式设备的示意图;

图5示出了本申请实施例提供的一种点对点spi通信原理的示意图;

图6示出了本申请实施例提供的一种spi的读时序示意图;

图7示出了本申请实施例提供的一种数据传输装置的结构示意图;

图8示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

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

在本申请的实施例中提供了一种数据传输方法,参见图1,该方法包括:

s101、接收第一设备传输来的第一数据;

s102、对第一数据进行第一处理,其中,经过第一处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的数据与第一设备传输的数据相一致。

在通讯网络中或者通讯系统中,通常要面临多个设备之间进行通讯传输。在该实施例中第一设备和第二设备进行通讯传输,第一设备和第二设备均为能够实现通讯功能的设备,例如,第一设备可以为具有数据采集功能的采集设备,第二设备可以为具有数据处理功能的处理设备,第一设备可以将采集到的数据传输至第二设备,第二设备也可以将处理后的反馈信息传输至第一设备。在接收到第一设备传输来的第一数据后,并未指示第二设备直接进行读取该第一数据,而是对第一数据进行第一处理,使得处理后的数据用于第二设备的读取,这样可以降低第一数据在传输过程中造成的数据损失。

该第一处理表征根据第一设备和第二设备之间的通讯特点确定的处理方式。例如,可以根据第一设备和第二设备之间的通讯协议确定第一处理的处理方式,也可以根据第一设备和第二设备之间的连接装置确定第一处理的处理方式,还可以根据第二设备读取数据的方式进行第一处理的处理方式。

举例说明,在分体式的ar(augmentedreality,增强现实技术)设备,为了减少软件复杂度和编解码带来的延时,采用了分体式的主控端和头部端,若采用了桥接芯片完成硬件信号的头部端和主控端之间的通讯,则会根据该桥接芯片的特点来确定第一处理的处理方式,然后基于第一处理可以对头部端传来的数据进行处理后再供主控端进行读取,解决了由于桥接芯片带来的信号级别上的延时,使得主控端读取到的数据与头部端发送的数据一致。

在该实施例提供的数据传输方法中,对接收到的第一设备传输来的第一数据执行第一处理,使得第二设备读取获得的经过第一处理后的数据,这样在进行数据传输和数据读取过程中。通过第一处理可以避免数据传输缺陷,例如延时造成的数据读取字节丢失,可以使得第二设备读取到的数据与第一设备传输的数据一致,满足了高要求的通讯设备进行数据传输的需求。

在本申请提供的另一个实施例中,第一处理包括缓存处理,对应的,对第一数据进行第一处理,包括:

s201、对第一数据进行缓存处理,其中,经过缓存处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的缓存数据与第一设备传输的数据相一致。

在该实施例中第一处理方式为缓存处理,即在接收到第一数据后,先进行缓存,然后再控制第二设备进行缓存读取。由于对第一数据进行缓存而不是将第一数据直接发送给第二设备进行读取,可以避免直接将数据进行传输时由于延时带来的数据缺失,这样可以使得第二设备在缓存数据中读取到期望的数据。

对应上述实施例中第一处理为缓存处理时,参见图2,该数据传输方法还包括:

s301、将第一数据缓存至目标区域;

s302、控制第二设备分次从目标区域进行数据读取,使得第二设备读取到的缓存数据与第一设备传输的数据相一致。

在对第一数据执行缓存处理时,将第一数据存储到目标区域,该目标区域为预先设定的区域来对第一数据进行缓存,具体的该区域可以为第一设备和第二设备之间的中间设备上的一个存储区域,也可以为第一设备上的第一存储区域,还可以为第二设备在进行读取数据之前的一个存储区域。

在第二设备进行数据读取时,控制第二设备采用分次读取的方式进行读取。例如,控制第二设备分两次读取缓存数据,但是需要说明的是要求这两次连续的读操作必须是原子操作,不能被打断,并且会有一次多余读指令的延时。

在本申请的另一实施例中第一处理包括字节统计处理,其中,对第一数据进行第一处理,包括:

s401、对第一数据进行字节统计处理,使得经过字节统计处理后的第一数据提供至第二设备进行读取。

在该实施例中通过字节统计处理实现改造传输数据的数据包格式来达到一次读操作,就能返回给第二设备准确的通讯数据。在接收到第一数据时,对接收到的数据进行字节统计处理,可以根据第一设备和第二设备之间通讯数据传输特性,来设置字节统计阈值,该阈值的确定过程中考虑了通讯延时带来的丢失字节的数量,这样当统计到满足该阈值的字节后,才将第一数据发送给第二数据进行读取,可以保证第二数据进行读取时对应的第一数据的数据长度包括了通讯延时可能存在的丢失字节长度,使得读取到的数据与第一设备发送的数据相一致。

对应上述实施例中第一处理为字节统计处理,参见图3,该数据传输方法还包括:

s501、对第一数据进行字节统计处理,获得第二数据;

s502、控制第二设备按照预设字节读取长度对第二数据进行读取,使得第二设备读取到的第二数据与第一设备传输的数据相一致。

在对第一数据进行字节统计处理后,得到第二数据,由于第二数据中包括了冗余字节,则在第二设备进行数据读取时也需要按照预设字节读取长度进行读取,这样可以保证第二设备读取到的数据没有丢失的同时还与第一设备发送的元数据相一致。

但需要说明的是,添加的冗余字节也需要与传输设备或者传输协议相对应,需要保证在添加冗余字节后能够进行数据传输。

在该实施例的基础上,若预设字节读取长度包括冗余字节长度,对应的,该方法还包括:

s601、剔除第二设备读取到的第二数据中与冗余字节长度对应的字节信息,以使得第二设备获得到的剔除后的数据与第一设备传输的数据相一致。

为了保证第二设备能够读取到精准的数据信息,通常预设字节读取长度会包括一些冗余字节,若获得实际的传输数据,还需要将冗余字节剔除掉才能获得到与第一设备发送的数据一致的传输内容。

在本申请的另一实施例中,第一设备与第二设备之间通过桥接芯片建立起来的数据连接,其中,预设字节读取长度与桥接芯片的通讯属性相匹配。

桥接芯片的通讯属性可以表征该桥接芯片一次性传输的数据量是多少,然后其延时是多少,若直接以该桥接芯片进行通讯数据传输时,并且直接进行数据读取时产生的丢失字节数量是多少。可以根据丢失字节数量确定字节统计处理中的字节阈值,从而根据该处理方式确定预设字节读取长度,来保证读取到的数据的准确性。

在上述实施例的基础上,本申请的另一实施例中的数据传输方法还包括:

s701、向第一设备发送控制信息,其中,控制信息表征数据传输长度,以使得第一设备发送数据的时候是按照该数据传输长度来发送的。

在第一设备进行数据传输之前,先将控制信息发送至第一设备,该控制信息可以表征数据传输长度,也可以表征通讯延时信息或者冗余字节长度等,这样第一设备会根据控制信息进行数据构造,得到第一数据,即在第一数据中可以添加一定的冗余字节,即使出现通讯延时,也能保证第二设备读取到原始的数据信息。

下面以具体的分体式设备之间的通讯传输对本申请提供的数据传输方法进行说明。参见图4,为本申请实施例中提供的一种分体式设备的示意图,在该分体式设备的主设备和从设备之间引入fpga(field-programmablegatearray,现场可编程门整列)来作为桥接芯片,完成硬件信号的主从设备之间的通讯,对于spi(serialperipheralinterface,串行外设接口)这种全双工的低速串行通讯协议,由于延时会造成读取数据的字节丢失。

spi的通信原理很简单,它以主从方式工作,参见图5,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于spi的设备共有的,它们是sdi(数据输入)、sdo(数据输出)、sclk(时钟)、cs(片选)。

mosi–spi总线主机输出/从机输入(spibusmasteroutput/slaveinput);

miso–spi总线主机输入/从机输出(spibusmasterinput/slaveoutput);

sclk–时钟信号,由主设备产生;

cs–从设备使能信号,由主设备控制(chipselect),有的ic此pin脚叫ss。

参见图6,为本申请实施例中提供的一种spi的读时序示意图,当-cs信号有效时,在sck信号的同步下,8位的读指令送入器件,接着送入16位地址(地址位和平台相关)。在读指令和地址发出后,sck继续发出时钟信号,此时存储在该地址的数据由sck控制从so引脚移出。在每个数据移出后,内部的地址指针自动加1,如继续对器件发送sck信号,可读出下一个数据。当地址指针计到0fffh之后,将回到0000h。读操作的结束由-cs信号变高实现。

在分体式设备中,由于fpga的引入,从设备中的返回不能及时从fpga中返回给主设备,由于主设备和从设备都存在fpga,所以至少会带来两个字节(bytes)的延时,为了避免延时带来的数据读取丢失问题,本申请实施例中的解决方式可以包括:

第一种,对于在spi上的读指令,可以把mosi的所有返回数据先缓存在fpga的缓存去中,主设备读取两次来获取到希望的数据,这样相当于把spi这种全双工的传输变成了半双工的形式,加入了一次主从转换。

另一种,对于在spi上的读指令,通过改造传输数据的数据包格式来达到一次读操作,就能返回设备的准确信息,这种方式可以实现一步的读操作,相当于没有引入fpga的桥接。

例如,通过自定义x的数据结构,来实现一次读取完成。x完全由fpga控制,并不会传给从设备,把读取数据的长度设计在x数据的最高字节,具体的,可以为8/16/32…,长度根据不同从设备的规格来设定。后面添加fpga需要的打包时间,由于存在2个字节的丢失,可以设置为2个字节,但是为了保证数据的准确读取,还可以添加一些冗余字节,来确保fpga的传输肯定是可以完成的,这个就根据fpga的能力来规定。

这样,fpga收到x的包头数据,也就是长度数据,就可以给从设备发送mosi指令,从设备就开始把数据返回给fpga,但是这个时候主设备的mosi还没有结束,这样等x的包尾发给fpga的时候,fpga已经有足够的时间打包miso的数据给主设备。在该方式中通过引入一小段数据包的形式,来解决spi的协议在这种fpga引入中带来的问题。

在本申请的实施例中还提供了一种数据传输装置,参见图7,该装置包括:

接收单元10,用于接收第一设备传输来的第一数据;

处理单元20,用于对所述第一数据进行第一处理,其中,经过第一处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的数据与所述第一设备传输的数据相一致。

本申请提供了数据传输装置,对接收单元接收到的第一设备传输来的第一数据,通过处理单元执行第一处理,使得第二设备读取获得的经过第一处理后的数据,这样在进行数据传输和数据读取过程中。通过第一处理可以避免数据传输缺陷,例如延时造成的数据读取字节丢失,可以使得第二设备读取到的数据与第一设备传输的数据一致,满足了高要求的通讯设备进行数据传输的需求。

在上述实施例的基础上,在本申请的另一实施例中响应于处理单元20中的第一处理包括缓存处理,该处理单元20具体用于:

对所述第一数据进行缓存处理,其中,经过缓存处理的第一数据用于提供给第二设备进行读取,使得所述第二设备读取到的缓存数据与所述第一设备传输的数据相一致。

在上述实施例的基础上,该处理单元20包括:

缓存子单元,用于将所述第一数据缓存至目标区域;

第一控制子单元,用于控制所述第二设备分次从所述目标区域进行数据读取,使得所述第二设备读取到的缓存数据与所述第一设备传输的数据相一致。

在上述实施例的基础上,本发明的另一实施例中响应于处理单元20中的第一处理包括字节统计处理,该处理单元20具体用于:

对所述第一数据进行字节统计处理,使得经过字节统计处理后的第一数据提供至第二设备进行读取。

在上述实施例的基础上,该处理单元20还包括:

统计处理子单元,用于对所述第一数据进行字节统计处理,获得第二数据;

第二控制子单元,用于控制所述第二设备按照预设字节读取长度对所述第二数据进行读取,使得所述第二设备读取到的第二数据与所述第一设备传输的数据相一致。

在上述实施例的基础上,响应于第一设备与第二设备之间通过桥接芯片建立起来的数据连接,其中,预设字节读取长度与桥接芯片通讯属性相匹配。

在上述实施例的基础上,该数据传输装置还包括:

发送单元,用于向第一设备发送控制信息,所述控制信息表征数据传输长度,以使得所述第一设备发送数据的时候是按照所述数据传输长度来发送的。

在上述实施例的基础上,响应于预设字节读取长度包括冗余字节长度,该装置还包括:

剔除单元,用于剔除所述第二设备读取到的第二数据中与所述冗余字节长度对应的字节信息,以使得所述第二设备获得到的剔除后的数据与所述第一设备传输的数据相一致。

本申请的实施例中还提供了一种电子设备,参见图8,该电子设备包括存储器30和处理器40,其中,存储器30用于存储可执行程序,处理器40用于执行存储器30存储的程序,即处理器40具体用于执行如下程序步骤:

s50、接收第一设备传输来的第一数据;

s51、对所述第一数据进行第一处理,其中,经过第一处理的第一数据用于提供给第二设备进行读取,使得第二设备读取到的数据与所述第一设备传输的数据相一致。

在另一实施例中,第一处理包括缓存处理,处理器40还可以通过执行存储器30中存储的可执行程序实现:

s52、对所述第一数据进行缓存处理,其中,经过缓存处理的第一数据用于提供给第二设备进行读取,使得所述第二设备读取到的缓存数据与所述第一设备传输的数据相一致。

在另一实施例中,处理器50还可以通过执行存储器40中存储的可执行程序实现:

s53、将所述第一数据缓存至目标区域;

s54、控制所述第二设备分次从所述目标区域进行数据读取,使得所述第二设备读取到的缓存数据与所述第一设备传输的数据相一致。

在另一实施例中,第一处理包括字节统计处理,处理器50还可以通过执行存储器40中存储的可执行程序实现:

s55、对所述第一数据进行字节统计处理,使得经过字节统计处理后的第一数据提供至第二设备进行读取。

在另一实施例中,处理器50还可以通过执行存储器40中存储的可执行程序实现:

s56、对所述第一数据进行字节统计处理,获得第二数据;

s57、控制所述第二设备按照预设字节读取长度对所述第二数据进行读取,使得所述第二设备读取到的第二数据与所述第一设备传输的数据相一致。

在另一实施例中,第一设备与第二设备之间通过桥接芯片建立起来的数据连接,处理器50还可以通过执行存储器40中存储的可执行程序实现:

所述预设字节读取长度与桥接芯片通讯属性相匹配。

在另一实施例中,处理器50还可以通过执行存储器40中存储的可执行程序实现:

s58、向第一设备发送控制信息,所述控制信息表征数据传输长度,以使得所述第一设备发送数据的时候是按照所述数据传输长度来发送的。

在另一实施例中,所述预设字节读取长度包括冗余字节长度,处理器50还可以通过执行存储器40中存储的可执行程序实现:

s59、剔除所述第二设备读取到的第二数据中与所述冗余字节长度对应的字节信息,以使得所述第二设备获得到的剔除后的数据与所述第一设备传输的数据相一致。

本申请提供的电子设备,对接收到的第一设备传输来的第一数据执行第一处理,使得第二设备读取获得的经过第一处理后的数据,这样在进行数据传输和数据读取过程中。通过第一处理可以避免数据传输缺陷,例如延时造成的数据读取字节丢失,可以使得第二设备读取到的数据与第一设备传输的数据一致,满足了高要求的通讯设备进行数据传输的需求。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

另外,还需要说明的是,关于上述各实施例中,诸如第一、第二等之类的关系术语仅仅用来将一个操作、单元或模块与另一个操作、单元或模块区分开来,而不一定要求或者暗示这些单元、操作或模块之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者系统中还存在另外的相同要素。

以上所述仅是本申请的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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