CN115729863A - 数据传输方法、装置、电子设备及介质 - Google Patents
数据传输方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115729863A CN115729863A CN202110986507.9A CN202110986507A CN115729863A CN 115729863 A CN115729863 A CN 115729863A CN 202110986507 A CN202110986507 A CN 202110986507A CN 115729863 A CN115729863 A CN 115729863A
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- transmission
- host
- transmitted
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本申请实施例公开了一种数据传输方法、装置、电子设备及介质。该方法包括:确定向通信主机待传输的目标通信数据;通过至少两次数据传输过程向通信主机发送目标通信数据;第一次传输的目标通信数据的字节长度为小于通信主机的传输周期对应传输数据字节长度的奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。上述方案解决了单次传输数据时导致字节间延时丢失,通信从机没有准备时间以将数据转移到移位寄存器的问题,通过至少两次传输并且第一次传输的目标通信数据的字节长度为小于通信主机的传输周期对应传输数据字节长度的奇数,实现了不需要循环传输大量次数或者不需要降低时钟速率的情况下,进行大数据量的高效传输。
Description
技术领域
本申请实施例涉及数据传输技术领域,尤其涉及一种数据传输方法、装置、电子设备及介质。
背景技术
主从式通信一般有一台主机和多台从机。主机发送的信息可以传送到多台从机或指定从机,而从机发送的信息只能传送到主机,各从机之间不能直接通信。例如SPI通信,为一种同步通信总线,其通信速率高于串口UART、i2c等一般串行通信总线,常用于板内或板间等近距离通信。
SPI通信过程依赖于SPI主机发出时钟信号,当主机发出时钟信号时,SPI从机进行信号的传输。SPI通信时一次传输过程的字节长度理论上没有限制,也就是SPI主机可以一直发送时钟信号以触发数据的传输,SPI从机传输完一个移位寄存器长度的数据后,需要继续向移位寄存器中传输数据,以保证数据的连续传输。但是当通信从机为CPU、MCU或者其他的通用处理器时,处理器上不但要执行SPI从机传输的任务还要处理其他的运算任务,这些运算任务也在竞争CPU或DMA向移位寄存器中拷贝数据的总线资源,所以在SPI时序上会要求SPI主机发送时钟时在两个移位寄存器长度之间保留充足的延时时间,以使SPI从机在这段延时时间将数据从内存搬移至移位寄存器。
为了解决上述问题,目前采用的方式为每次SPI通信仅传输一个传输周期的数据,在大数据量传输时就需要循环传输多次,会给主机侧造成过多的中断,增加主机CPU负载。循环传输相当于每次都重新配置启动主机的SPI控制器,存在着时间消耗,降低了传输速率。每次SPI传输都会进行封包处理,循环多次传输会将封包处理由一次变为多次,使得软件变得复杂。还可以采用的方式为降低SPI的时钟速率,使得时钟信号的脉冲间隔时间既可以满足SPI从机的延时要求,但此种方法降低了时钟速率,进而降低了数据传输速率。
发明内容
本申请实施例提供一种数据传输方法、装置、电子设备及介质,以保证具有足够的延时时间以使通信从机传输数据的同时,实现数据的高效快速传输。
在一个实施例中,本申请实施例提供了一种数据传输方法,该方法包括:
确定向通信主机待传输的目标通信数据;
通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
在另一个实施例中,本申请实施例还提供了一种数据传输装置,该装置包括:
数据确定模块,用于确定向通信主机待传输的目标通信数据;
数据发送模块,用于通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
在又一个实施例中,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例任一项所述的数据传输方法。
在一个实施例中,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例中任一项所述的数据传输方法。
本申请实施例中,确定向通信主机待传输的目标通信数据;通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位,从而解决了对于按照传输周期多次传输数据导致主机侧过多的中断以及多次封包消耗时间传输效率低,以及降低了时钟速率传输时降低了数据传输速率的问题,从而在保证有足够的延时时间使通信从机进行数据准备的同时,实现数据的高效快速传输。
附图说明
图1为本申请一种实施例提供的数据传输方法的流程图;
图2为本申请一种实施例提供的通信主机时钟信号示意图;
图3为本申请另一实施例提供的数据传输方法的流程图;
图4为本申请另一实施例提供的通信主机时钟信号示意图;
图5为本申请另一实施例提供的通信从机与移位寄存器传输数据字节长度示意图;
图6为本申请另一实施例提供的通信从机数据发送示意图;
图7为本申请另一实施例提供的主从通信示意图;
图8为本申请一种实施例提供的数据传输装置的结构示意图;
图9为本申请一种实施例提供的电子设备的结构示意图。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
具体实施方式
图1为本申请一种实施例提供的数据传输方法的流程图。本申请实施例提供的数据传输方法可适用于主从通信中进行数据传输的情况。典型的,本申请实施例适用于在通信从机向通信主机传输大数据量的数据的情况。该方法具体可以由数据传输装置执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在能够实现数据传输方法的电子设备中。参见图1,本申请实施例的方法具体包括:
S110、确定向通信主机待传输的目标通信数据。
本申请实施例可以适用于SPI通信,其中,通信主机可以和至少一个通信从机进行数据通信,通过片选确定与通信主机进行数据通信的通信从机。通信主机可以向通信从机传输数据,通信从机也可以向通信主机传输数据。在数据传输过程中,以通信从机向通信主机传输数据为例,通信从机先向通信从机的移位寄存器发送数据,通信从机的移位寄存器向通信主机的移位寄存器发送数据,通信主机的移位寄存器中的数据由通信主机接收,实现通信从机向通信主机的数据传输。
在本申请实施例中,由于通信从机向通信主机传输数据时,需要在向移位寄存器传输完一个移位寄存器长度的数据后,通过足够的延时时间准备下一个移位寄存器长度的数据,以继续向移位寄存器发送,在通信从机向通信主机传输数据的情况下,根据本申请实施例中的方案进行数据传输,能够解决通信从机没有足够的延时时间准备数据的问题。通信从机先确定向通信主机待传输的目标通信数据,从而根据目标通信数据确定后续的传输过程。其中,确定向通信主机待传输的目标通信数据可以包括确定目标通信数据具体为哪些数据以及目标通信数据的字节长度。
S120、通过至少两次数据传输过程向所述通信主机发送所述目标通信数据。
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。其中,传输周期为通信主机产生的时钟信号的周期。时钟信号为通信主机产生的用于指示通信从机向通信主机发送数据,以及指示通信主机向通信从机发送数据的信号。
具体的,通信主机发送时钟信号时,在一个传输周期之内,可以在每个字节对应的时钟信号之间设置延时时间,但是在一个传输周期和下一个传输周期之间,并不存在延时时间。如果通过一次数据传输过程向通信主机发送目标通信数据,目标通信数据的字节长度大于通信主机传输周期对应传输数据字节长度,那么在一个传输周期之后,目标通信数据仍未传输完成,下一个传输周期在上一个传输周期结束时马上开始,但是通信从机没有足够的延时时间以准备需要传输的目标通信数据,以向移位寄存器发送。如图2所示,假设一个传输周期对应传输的字节长度为16个字节,在每个字节间存在延时时间,但是在一个传输周期结束下一个传输周期开始时,也就是前一个周期的第16个字节与后一个周期的第1个字节之间,并不存在延时时间,如图2中的第16个字节与后面的第1个字节连在一起连续传输,没有延时时间。由于没有给通信从机延时时间以准备数据,此时通信从机没有目标通信数据向通信主机发送,影响目标通信数据的传输。针对上述问题,在本申请实施例中采取的方案为,将通信从机中用于传输数据的移位寄存器的位数设置为大于或等于16位,通过至少两次数据传输过程向所述通信主机发送所述目标通信数据,第一次发送的字节长度为小于传输周期的奇数,第二次再发送其他目标通信数据,从而使第二次发送目标通信数据时,传输周期与传输周期之间的时刻,正好位于通信从机移位寄存器的两个字节之间,此时通信从机已经将需要传输的数据准备好,不需要延时时间,能够保证数据的继续传输。
在本申请实施例中,通过至少两次数据传输过程向所述通信主机发送所述目标通信数据,包括:若所述目标通信数据的字节长度大于所述通信主机的传输周期对应的传输数据字节长度,则通过至少两次数据传输过程向所述通信主机发送所述目标通信数据。
示例性的,如果目标通信数据的字节长度大于通信主机的传输周期对应的传输数据字节长度,一个传输周期的时间难以将目标通信数据完全传输,而第一个传输周期结束时第二个传输周期接连开始,通信从机没有足够的准备时间以准备后续需要传输的目标通信数据,影响目标通信数据的正常传输。在本申请实施例中,如果目标通信数据的字节长度大于通信主机的传输周期对应的传输数据字节长度,则不对目标通信数据进行连续传输,而是通过至少两次数据传输过程传输目标通信数据,第一次数据传输过程和第二次数据传输过程之间接口控制器重启,通信主机存在中断,因此第一次数据传输和第二次数据传输过程中存在延时时间,并且在控制第一次传输的目标通信数据为小于所述通信主机的传输周期的奇数,且通信从机中用于传输数据的移位寄存器位数大于或等于16位的情况下,第二次传输目标通信数据的过程中传输周期与传输周期之间的时刻恰好位于通信从机向移位寄存器传输完两个字节中的第一个字节数据的时刻,因此不影响通信从机准备待传输的数据,能够保证数据的正常传输。
本申请实施例中,确定向通信主机待传输的目标通信数据;通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位,从而解决了对于按照传输周期多次传输数据导致主机侧过多的中断以及多次封包消耗时间传输效率低,以及降低了时钟速率传输时降低了数据传输速率的问题,从而在保证有足够的延时时间使通信从机进行数据准备的同时,实现数据的高效快速传输。
图3为本申请另一实施例提供的数据传输方法的流程图。本申请实施例为对上述实施例的进一步优化,未在本申请实施例中详细描述的细节详见上述实施例。参见图3,本申请实施例提供的数据传输方法可以包括:
S210、确定向通信主机待传输的目标通信数据。
S220、根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据;其中,所述预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节。
示例性的,通信从机根据通信主机的时钟信号进行信号传输,如图4所示,时钟信号的一个脉冲信号控制一位数据的传输。在通信从机向通信主机发送数据的情况下,通信主机每发出一个脉冲信号,则通信从机向通信主机发送一位数据。一个字节为8位,图4中通信主机每发出8个脉冲进行一次延时,也就是每传输一个字节的数据进行一次延时,以保证通信从机在延时时间准备向8位移位寄存器中传输的数据,以免上一次向8位移位寄存器中传输完数据之后而没有将下一次向8位移位寄存器中传输的数据准备好。在本申请实施例中,设置通信从机的移位寄存器为16位及以上位数,以使移位寄存器每次可以传输两个字节以上的数据。具体可以通过调节可变字长的移位寄存器以设置移位寄存器的位数,也可以通过对多个移位寄存器的组合实现相应字长的移位寄存器。若通信从机的移位寄存器为16位,则时钟信号在两个字节之间存在延时时间即可,若通信从机的移位寄存器为32位,则时钟信号在四个字节之间存在延时时间即可。如图5所示,若通信从机的移位寄存器为16位,也就是移位寄存器可以存储两个字节的数据,因此,在两个字节和两个字节之间存在延时时间即可,以保证通信从机在传输前两个字节和后两个字节之间的延时时间中准备即将传输的数据。
在本申请实施例中,通信从机第一次向通信主机发送的目标通信数据时,发送过程为根据通信主机的时钟信号,每当通信主机发出一个脉冲信号,则向通信主机发送一位数据,一共发出预设数量的目标通信数据,预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节,假设传输周期对应传输的数据为十六个字节,则通信从机第一次移位寄存器发送的目标通信数据的预设数量可以为一个字节,或者三个字节,或者五个字节等。
在本申请实施例中,在第一次目标通信数据传输过程结束之后,接口控制器重新启动,如果第一次传输的目标通信数据的预设数量为奇数,则第二次传输目标通信数据的过程中传输周期与传输周期之间的时刻,正好位于通信从机向移位寄存器传输完一个字节的时刻,通信从机已经准备好待向移位寄存器传输的第二个字节的数据,因此此时不需要延时时间。如图6所示,其中,通信从机第一次向移位寄存器传输了一个字节的目标通信数据,在第一次传输的一个字节的目标通信数据和第二次传输的第一个字节的目标通信数据之间,接口控制器存在重启,因此存在时间延时。
上述方案的有益效果在于,能够使二次传输目标通信数据的过程中传输周期与传输周期之间的时刻,正好位于通信从机向移位寄存器传输完两个字节中的第一个字节的目标通信数据的时刻,此时通信从机已经准备好即将移位寄存器传输的第二个字节的目标通信数据,因此不需要延时时间,从而降低了对通信主机时钟信号的延时要求,保证后续数据的连续正常传输。
根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据,包括:根据通信主机的传输周期,确定第一次传输目标通信数据的预设数量;在一个传输周期内,根据通信主机的时钟信号,单次向通信主机发送预设数量的目标通信数据。
在本申请实施例中,确定通信主机发送的传输周期,根据传输周期确定第一次传输目标通信数据的预设数量。预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节,例如,如果传输周期对应传输的数据为十六个字节,则预设数量可以为一个字节,或者三个字节,或者五个字节,或者七个字节等,只要是小于通信主机传输周期对应传输数据的字节数的奇数个字节即可。在一个传输周期之内,通信从机根据通信主机的时钟信号,单次向通信主机发送预设数量的目标通信数据。
S230、若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,以实现目标通信数据的传输。
示例性的,如果第一次传输预设数量的待传输数据传输完成,则继续传输目标通信数据中未传输的数据。具体的,在第一次传输完成后,通信主机会重新启动,产生新的时钟信号,通信从机继续根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,未传输的目标通信数据可以通过一次传输过程进行传输,也可以通过两次或以上次数的通信过程进行传输。在本申请实施例中,为了减少多次传输造成的接口控制器重启、通信主机中断、数据多次封包处理等复杂过程,因此将剩余的未传输目标通信数据通过一次传输过程进行传输。示例性的,如图6所示,第一次数据传输过程中,通信从机向通信主机发送一个字节的目标通信数据,在第二次数据传输过程中,通信从机将剩余的未传输的目标通信数据向通信主机进行传输。当一个传输周期结束时,即第十六个字节传输结束时,下一个传输周期立即开始,两个传输周期之间没有延时时间,但是该时刻正好位于通信从机向移位寄存器传输完两个字节中第一个字节的数据,由于移位寄存器为16位时可以存储两个字节的数据,因此在通信从机已经事先将第二个字节的数据准备好,传输完第一个字节之后不需要延时时间准备数据,从而能够保证数据的继续传输。
在本申请实施例中,若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,包括:若预设数量的待传输数据传输完成,则在所述通信主机的下一个传输周期开始时,根据通信主机的时钟信号,向通信主机发送未传输的目标通信数据。
示例性的,通信从机向移位寄存器第一次传输目标通信数据完成后,在通信主机重启,开始下一个传输周期时,通信从机开始第二次目标通信数据的发送。如图6所示,通信从机先向移位寄存器发送一个字节的目标通信数据。发送完成后,接口控制器重启,通信主机发生中断,通信主机开始工作后继续发送下一个周期的时钟信号,在下一个周期的时钟信号开始时,通信从机根据时钟信号,向通信主机发送未传输的目标通信数据。
在本申请实施例中,所述方法还包括:控制通信从机的移位寄存器向通信主机的移位寄存器传输所述目标通信数据,以使所述目标通信数据通过通信主机的移位寄存器传输至通信主机。
示例性的,如图7所示,通信主机中包括移位寄存器,通信从机中也包括移位寄存器,通信从机向通信主机传输目标通信数据,通信从机的移位寄存器再将目标通信数据传输至通信主机的移位寄存器,从而被通信主机接收,实现目标通信数据从通信从机向通信主机的传输。从通信主机向通信从机传输数据时同理。
在本申请实施例中,目标通信数据的发送过程包括:若通信主机的移位寄存器为8位,则基于低位先传的模式发送所述目标通信数据。
示例性的,如果通信主机的移位寄存器为8位,也就是可以存储一个字节的数据,而通信从机的移位寄存器的位数大于16位,可以存储两个字节的数据,如果采用高位先传的模式发送目标通信数据,那么通信主机先接收高位的字节数据再接收低位的字节数据,导致通信主机最终得到的数据位数顺序颠倒。因此,在此情况下,需要基于低位先传的模式发送目标通信数据,从而使通信主机先接收低位数据再接收高位数据,保证目通信主机接收到的目标通信数据的顺序正确。如果通信主机的移位寄存器为16位或以上,则可以不限定传输模式。
本申请实施例中的方案,通过根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据,若预设数量的待传输数据传输完成,则重新启动后产生根据通信主机的时钟信号,向通信主机发送未传输的目标通信数据,以实现目标通信数据的传输,从而通过两次数据传输过程实现了对大量数据的传输,由于第一次传输的目标通信数据的预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节,因此第二次传输目标通信数据的过程中传输周期与传输周期之间的时刻,位于通信从机向移位寄存器传输完两个字节中的第一个字节的时刻,通信主机已经将待传输的数据准备好,不需要延时时间,因此能够保证数据的正常传输,进而只需要两次传输过程就可以对大量数据进行传输,不需要接口控制器多次重启,通信主机多次中断以及多次封包的复杂过程,并且不需要调节时钟频率,既可以完成大数据量的高效传输。
图8为本申请一种实施例提供的数据传输装置的结构示意图。该装置可适用于主从通信中进行数据传输的情况。典型的,本申请实施例适用于在通信从机向通信主机传输大数据量的数据的情况。该装置可以由软件和/或硬件的方式实现,该装置可以集成在电子设备中。参见图8,该装置具体包括:
数据确定模块310,用于确定向通信主机待传输的目标通信数据;
数据发送模块320,用于通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
在本申请实施例中,数据发送模块320,具体用于:
若所述目标通信数据的字节长度大于所述通信主机的传输周期对应的传输数据字节长度,则通过至少两次数据传输过程向所述通信主机发送所述目标通信数据。
在本申请实施例中,数据发送模块320,包括:
第一传输单元,用于根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据;其中,所述预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节;
第二传输单元,用于若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,以实现目标通信数据的传输。
在本申请实施例中,第一传输单元,包括:
预设数量确定子单元,用于根据通信主机的传输周期,确定第一次传输目标通信数据的预设数量;
单次发送子单元,用于在一个传输周期内,根据通信主机的时钟信号,单次向通信主机发送预设数量的目标通信数据。
在本申请实施例中,第二传输单元,包括:
二次发送子单元,用于若预设数量的待传输数据传输完成,则在所述通信主机的下一个传输周期开始时,根据通信主机的时钟信号,向通信主机发送未传输的目标通信数据。
在本申请实施例中,所述装置还包括:
控制模块,用于控制通信从机的移位寄存器向通信主机的移位寄存器传输所述目标通信数据,以使所述目标通信数据通过通信主机的移位寄存器传输至通信主机。
在本申请实施例中,所述装置还包括:模式传输模块,用于若通信主机的移位寄存器为8位,则基于低位先传的模式发送所述目标通信数据。
申请实施例所提供的数据传输装置可执行本申请任意实施例所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。
图9为本申请一种实施例提供的电子设备的结构示意图。图9示出了适于用来实现本申请实施例的示例性电子设备412的框图。图9显示的电子设备412仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备412可以包括:一个或多个处理器416;存储器428,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器416执行,使得所述一个或多个处理器416实现本申请实施例所提供的数据传输方法,包括:
确定向通信主机待传输的目标通信数据;
通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
电子设备412的组件可以包括但不限于:一个或多个处理器416,存储器428,连接不同设备组件(包括存储器428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,处理型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备412典型地包括多种计算机设备可读存储介质。这些存储介质可以是任何能够被电子设备412访问的可用存储介质,包括易失性和非易失性存储介质,可移动的和不可移动的存储介质。
存储器428可以包括易失性存储器形式的计算机设备可读存储介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。电子设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机设备存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁存储介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光存储介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据存储介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作设备、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本申请所描述的实施例中的功能和/或方法。
电子设备412也可以与一个或多个外部设备414和/或显示器424通信,还可与一个或者多个使得用户能与该电子设备412交互的设备通信,和/或与使得该电子设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,电子设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器420通过总线418与电子设备412的其它模块通信。应当明白,尽管图9中未示出,可以结合电子设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID设备、磁带驱动器以及数据备份存储设备等。
一个或多个处理器416通过运行存储在存储器428中的多个程序中其他程序的至少一个,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的一种数据传输方法。
本申请一种实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行数据传输方法,包括:
确定向通信主机待传输的目标通信数据;
通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的存储介质的任意组合。计算机可读存储介质可以是计算机可读信号存储介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的设备、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形存储介质,该程序可以被指令执行设备、装置或者器件使用或者与其结合使用。
计算机可读的信号存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号存储介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行设备、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质上包含的程序代码可以用任何适当的存储介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据传输方法,其特征在于,由通信从机执行,所述方法包括:
确定向通信主机待传输的目标通信数据;
通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
2.根据权利要求1所述的方法,其特征在于,通过至少两次数据传输过程向所述通信主机发送所述目标通信数据,包括:
若所述目标通信数据的字节长度大于所述通信主机的传输周期对应的传输数据字节长度,则通过至少两次数据传输过程向所述通信主机发送所述目标通信数据。
3.根据权利要求1所述的方法,其特征在于,通过至少两次数据传输过程向所述通信主机发送所述目标通信数据,包括:
根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据;其中,所述预设数量小于所述通信主机的传输周期对应传输数据的字节数且为奇数个字节;
若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,以实现目标通信数据的传输。
4.根据权利要求3所述的方法,其特征在于,根据通信主机的时钟信号,向通信主机发送预设数量的目标通信数据,包括:
根据通信主机的传输周期,确定第一次传输目标通信数据的预设数量;
在一个传输周期内,根据通信主机的时钟信号,单次向通信主机发送预设数量的目标通信数据。
5.根据权利要求3所述的方法,其特征在于,若预设数量的待传输数据传输完成,则根据通信主机重新启动后产生的时钟信号,向通信主机发送未传输的目标通信数据,包括:
若预设数量的待传输数据传输完成,则在所述通信主机的下一个传输周期开始时,根据通信主机的时钟信号,向通信主机发送未传输的目标通信数据。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
控制通信从机的移位寄存器向通信主机的移位寄存器传输所述目标通信数据,以使所述目标通信数据通过通信主机的移位寄存器传输至通信主机。
7.根据权利要求1-5中任一项所述的方法,其特征在于,目标通信数据的发送过程包括:
若通信主机的移位寄存器为8位,则基于低位先传的模式发送所述目标通信数据。
8.一种数据传输装置,其特征在于,所述装置包括:
数据确定模块,用于确定向通信主机待传输的目标通信数据;
数据发送模块,用于通过至少两次数据传输过程向所述通信主机发送所述目标通信数据;
其中,第一次传输的目标通信数据的字节长度小于所述通信主机的传输周期对应传输数据字节长度且为奇数,通信从机中用于传输数据的移位寄存器位数大于或等于16位。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的数据传输方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110986507.9A CN115729863A (zh) | 2021-08-26 | 2021-08-26 | 数据传输方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110986507.9A CN115729863A (zh) | 2021-08-26 | 2021-08-26 | 数据传输方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729863A true CN115729863A (zh) | 2023-03-03 |
Family
ID=85289936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110986507.9A Pending CN115729863A (zh) | 2021-08-26 | 2021-08-26 | 数据传输方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729863A (zh) |
-
2021
- 2021-08-26 CN CN202110986507.9A patent/CN115729863A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6094700A (en) | Serial bus system for sending multiple frames of unique data | |
US20070088874A1 (en) | Offload engine as processor peripheral | |
US20190356412A1 (en) | Fast termination of multilane double data rate transactions | |
US5640602A (en) | Transferring digital data in units of 2 bytes to increase utilization of a 2-byte-wide bus | |
CN108959136B (zh) | 基于spi的数据传输加速装置、系统及数据传输方法 | |
JPH10293744A (ja) | Pciバス・システム | |
CN110188059B (zh) | 数据有效位统一配置的流控式fifo缓存装置及方法 | |
WO2022161244A1 (zh) | 多主机仲裁方法、装置和可读存储介质 | |
US20200201804A1 (en) | I3c device timing adjustment to accelerate in-band interrupts | |
US6070208A (en) | Apparatus and method for implementing a versatile USB endpoint pipe | |
US10684981B2 (en) | Fast termination of multilane single data rate transactions | |
JPH02176850A (ja) | プロセッサ間の命令転送を最適化する方法及び装置 | |
US10733121B2 (en) | Latency optimized I3C virtual GPIO with configurable operating mode and device skip | |
WO1996037850A1 (en) | Bidirectional parallel signal interface | |
US8943238B2 (en) | Operations using direct memory access | |
US20060184708A1 (en) | Host controller device and method | |
US10339085B2 (en) | Method of scheduling system-on-chip including real-time shared interface | |
CN102708079B (zh) | 应用于微控制器的控制数据传输的方法及系统 | |
CN115994111A (zh) | 数据处理电路、方法、芯片及电子设备 | |
US10489319B2 (en) | Automatic transmission of dummy bits in bus master | |
CN115729863A (zh) | 数据传输方法、装置、电子设备及介质 | |
US10572439B1 (en) | I3C read from long latency devices | |
US20030005185A1 (en) | System and method for efficiently performing data transfer operations | |
US6883042B1 (en) | Method and structure for automatic SCSI command delivery using the packetized SCSI protocol | |
US10977196B2 (en) | Communication interface control system |
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 |