数据传输方法、装置、电子设备及介质制造方法及图纸

技术编号:36729885 阅读:10 留言:0更新日期:2023-03-04 09:55
本申请实施例公开了一种数据传输方法、装置、电子设备及介质。该方法包括:确定向通信主机待传输的目标通信数据;通过至少两次数据传输过程向通信主机发送目标通信数据;第一次传输的目标通信数据的字节长度为小于通信主机的传输周期对应传输数据字节长度的奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。上述方案解决了单次传输数据时导致字节间延时丢失,通信从机没有准备时间以将数据转移到移位寄存器的问题,通过至少两次传输并且第一次传输的目标通信数据的字节长度为小于通信主机的传输周期对应传输数据字节长度的奇数,实现了不需要循环传输大量次数或者不需要降低时钟速率的情况下,进行大数据量的高效传输。高效传输。高效传输。

【技术实现步骤摘要】
数据传输方法、装置、电子设备及介质


[0001]本申请实施例涉及数据传输
,尤其涉及一种数据传输方法、装置、电子设备及介质。

技术介绍

[0002]主从式通信一般有一台主机和多台从机。主机发送的信息可以传送到多台从机或指定从机,而从机发送的信息只能传送到主机,各从机之间不能直接通信。例如SPI通信,为一种同步通信总线,其通信速率高于串口UART、i2c等一般串行通信总线,常用于板内或板间等近距离通信。
[0003]SPI通信过程依赖于SPI主机发出时钟信号,当主机发出时钟信号时,SPI从机进行信号的传输。SPI通信时一次传输过程的字节长度理论上没有限制,也就是SPI主机可以一直发送时钟信号以触发数据的传输,SPI从机传输完一个移位寄存器长度的数据后,需要继续向移位寄存器中传输数据,以保证数据的连续传输。但是当通信从机为CPU、MCU或者其他的通用处理器时,处理器上不但要执行SPI从机传输的任务还要处理其他的运算任务,这些运算任务也在竞争CPU或DMA向移位寄存器中拷贝数据的总线资源,所以在SPI时序上会要求SPI主机发送时钟时在两个移位寄存器长度之间保留充足的延时时间,以使SPI从机在这段延时时间将数据从内存搬移至移位寄存器。
[0004]为了解决上述问题,目前采用的方式为每次SPI通信仅传输一个传输周期的数据,在大数据量传输时就需要循环传输多次,会给主机侧造成过多的中断,增加主机CPU负载。循环传输相当于每次都重新配置启动主机的SPI控制器,存在着时间消耗,降低了传输速率。每次SPI传输都会进行封包处理,循环多次传输会将封包处理由一次变为多次,使得软件变得复杂。还可以采用的方式为降低SPI的时钟速率,使得时钟信号的脉冲间隔时间既可以满足SPI从机的延时要求,但此种方法降低了时钟速率,进而降低了数据传输速率。

技术实现思路

[0005]本申请实施例提供一种数据传输方法、装置、电子设备及介质,以保证具有足够的延时时间以使通信从机传输数据的同时,实现数据的高效快速传输。
[0006]在一个实施例中,本申请实施例提供了一种数据传输方法,该方法包括:
[0007]确定向通信主机待传输的目标通信数据;
[0008]通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
[0009]其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
[0010]在另一个实施例中,本申请实施例还提供了一种数据传输装置,该装置包括:
[0011]数据确定模块,用于确定向通信主机待传输的目标通信数据;
[0012]数据发送模块,用于通过至少两次数据传输过程向所述通信主机发送所述目标通
信数据;
[0013]其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
[0014]在又一个实施例中,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;
[0015]存储器,用于存储一个或多个程序;
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例任一项所述的数据传输方法。
[0017]在一个实施例中,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例中任一项所述的数据传输方法。
[0018]本申请实施例中,确定向通信主机待传输的目标通信数据;通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位,从而解决了对于按照传输周期多次传输数据导致主机侧过多的中断以及多次封包消耗时间传输效率低,以及降低了时钟速率传输时降低了数据传输速率的问题,从而在保证有足够的延时时间使通信从机进行数据准备的同时,实现数据的高效快速传输。
附图说明
[0019]图1为本申请一种实施例提供的数据传输方法的流程图;
[0020]图2为本申请一种实施例提供的通信主机时钟信号示意图;
[0021]图3为本申请另一实施例提供的数据传输方法的流程图;
[0022]图4为本申请另一实施例提供的通信主机时钟信号示意图;
[0023]图5为本申请另一实施例提供的通信从机与移位寄存器传输数据字节长度示意图;
[0024]图6为本申请另一实施例提供的通信从机数据发送示意图;
[0025]图7为本申请另一实施例提供的主从通信示意图;
[0026]图8为本申请一种实施例提供的数据传输装置的结构示意图;
[0027]图9为本申请一种实施例提供的电子设备的结构示意图。
[0028]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
具体实施方式
[0029]图1为本申请一种实施例提供的数据传输方法的流程图。本申请实施例提供的数据传输方法可适用于主从通信中进行数据传输的情况。典型的,本申请实施例适用于在通信从机向通信主机传输大数据量的数据的情况。该方法具体可以由数据传输装置执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在能够实现数据传输方法的电子
设备中。参见图1,本申请实施例的方法具体包括:
[0030]S110、确定向通信主机待传输的目标通信数据。
[0031]本申请实施例可以适用于SPI通信,其中,通信主机可以和至少一个通信从机进行数据通信,通过片选确定与通信主机进行数据通信的通信从机。通信主机可以向通信从机传输数据,通信从机也可以向通信主机传输数据。在数据传输过程中,以通信从机向通信主机传输数据为例,通信从机先向通信从机的移位寄存器发送数据,通信从机的移位寄存器向通信主机的移位寄存器发送数据,通信主机的移位寄存器中的数据由通信主机接收,实现通信从机向通信主机的数据传输。
[0032]在本申请实施例中,由于通信从机向通信主机传输数据时,需要在向移位寄存器传输完一个移位寄存器长度的数据后,通过足够的延时时间准备下一个移位寄存器长度的数据,以继续向移位寄存器发送,在通信从机向通信主机传输数据的情况下,根据本申请实施例中的方案进行数据传输,能够解决通信从机没有足够的延时时间准备数据的问题。通信从机先确定向通信主机待传输的目标通信数据,从而根据目标通信数据确定后续的传输过程。其中,确定向通信主机待传输的目标通信数据可以包括确定目标通信数据具体为哪些数据以及目标通信数据的字节长度。
[0033]S120、通过至少两次数据传输过程向所述通信主机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,由通信从机执行,所述方法包括:确定向通信主机待传输的目标通信数据;通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。2.根据权利要求1所述的方法,其特征在于,通过至少两次数据传输过程向所述通信主机发送所述目标通信数据,包括:若所述目标通信数据的字节长度大于所述通信主机的传输周期对应的传输数据字节长度,则通过至少两次数据传输过程向所述通信主机发送所述目标通信数据。3.根据权利要求1所述的方法,其特征在于,通过至少两次数据传输过程向所述通信主机发送所述目标通信数据,包括:根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据;其中,所述预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节;若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,以实现目标通信数据的传输。4.根据权利要求3所述的方法,其特征在于,根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据,包括:根据通信主机的传输周期,确定第一次传输目标通信数据的预设数量;在一个传输周期内,根据通信主机的时钟信号,单次向通信主机发送预设数量的目标通信数据。5.根据权利要求3所述的方法,其特征在于,若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未...

【专利技术属性】
技术研发人员:张振章清
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1