CN117234976A - 一种数据传输方法、电子设备及存储介质 - Google Patents
一种数据传输方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117234976A CN117234976A CN202311222705.3A CN202311222705A CN117234976A CN 117234976 A CN117234976 A CN 117234976A CN 202311222705 A CN202311222705 A CN 202311222705A CN 117234976 A CN117234976 A CN 117234976A
- Authority
- CN
- China
- Prior art keywords
- data
- line
- frame
- transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 189
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000005070 sampling Methods 0.000 claims abstract description 143
- 230000001360 synchronised effect Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 18
- 230000000295 complement effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Abstract
本申请公开了一种数据传输方法、电子设备及计算机可读存储介质。其中,该方法应用于发送设备,所述发送设备与接收设备通过时钟SCK线及数据传输SDO线建立双线连接,其中,所述发送设备通过所述SCK线向所述接收设备发送时钟信号,所述发送设备通过所述SDO线向所述接收设备发送数据信号;所述数据传输方法包括:根据已配置的第一寄存器,确定目标采样模式、所述SCK线在空闲时所处的目标电平及目标数据采样沿模式;根据所述目标采样模式、所述目标电平及所述目标数据采样沿模式,确定数据采样模式;在接收到数据传输指令后,基于所述数据采样模式向所述接收设备串行发送待传输数据帧。通过本申请方案,可高效便捷地实现单向数据传输。
Description
技术领域
本申请属于通信技术领域,尤其涉及一种数据传输方法、电子设备及计算机可读存储介质。
背景技术
当前,在采用串行外设接口(serial peripheral interface,SPI)进行各类数据(例如图像数据)的传输时,均需要先定义主设备和从设备,然后在主从设备之间建立基于双线(包括时钟SCK线和数据DATA线)的通信连接,在触发主从设备进行请求及应答后,才可实现主从设备的双向数据传输。在数据只需要从一个设备单向传输至另一设备的特定应用场景下,当前传输方式的实现较为繁琐。
发明内容
本申请提供了一种数据传输方法、电子设备及计算机可读存储介质,可高效便捷地实现单向数据传输。
第一方面,本申请提供了一种数据传输方法,该数据传输方法应用于发送设备,该发送设备与接收设备通过时钟SCK线及数据传输SDO线建立双线连接,其中,该发送设备通过该SCK线向该接收设备发送时钟信号,该发送设备通过该SDO线向该接收设备发送数据信号;该数据传输方法包括:
根据已配置的第一寄存器,确定目标采样模式、SCK线在空闲时所处的目标电平及目标数据采样沿模式;
根据目标采样模式、目标电平及目标数据采样沿模式,确定数据采样模式;
在接收到数据传输指令后,基于数据采样模式向接收设备串行发送待传输数据帧。
第二方面,本申请提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。
第三方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
第四方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
本申请与现有技术相比存在的有益效果是:针对图像数据而言,实际应用场景下通常仅针对其进行发送设备向接收设备的单向传输,例如由互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)图像传感器传输至系统级芯片(System on Chip,SOC)等。基于此,本申请提出使用双线单向SCK/SDO来进行数据传输,可不区分严格意义上的主从设备,且数据传输时无需事先进行设备请求与应答,由此可高效便捷地实现单向数据传输。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据传输方法的实现流程示意图;
图2是本申请实施例提供的第一数据采样模式下的SCK线及SDO线的传输时序示例图;
图3是本申请实施例提供的第二数据采样模式下的SCK线及SDO线的传输时序示例图;
图4是本申请实施例提供的第三数据采样模式下的SCK线及SDO线的传输时序示例图;
图5是本申请实施例提供的第四数据采样模式下的SCK线及SDO线的传输时序示例图;
图6是本申请实施例提供的第五数据采样模式下的SCK线及SDO线的传输时序示例图;
图7是本申请实施例提供的第六数据采样模式下的SCK线及SDO线的传输时序示例图;
图8是本申请实施例提供的第七数据采样模式下的SCK线及SDO线的传输时序示例图;
图9是本申请实施例提供的第八数据采样模式下的SCK线及SDO线的传输时序示例图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面对本申请实施例提供的一种数据传输方法进行描述。其中,该数据传输方法可应用于发送设备,且该发送设备已与接收设备通过时钟SCK线及数据传输SDO线建立有双线连接,可以理解,该发送设备是用于发送数据的设备,该接收设备是用于接收数据的设备。具体地,该发送设备通过SCK线向该接收设备发送时钟信号,该发送设备通过SDO线向该接收设备发送数据信号。
请参阅图1,本申请实施例中的数据传输方法包括:
步骤101,根据已配置的第一寄存器,确定目标采样模式、SCK线在空闲时所处的目标电平及目标数据采样沿模式。
对于发送设备而言,其在传输图像数据时,通常可支持如下两种采样模式:SDR(Single Data Rate)采样模式和DDR(Double Data Rate)采样模式。具体地,SDR采样模式为选择时钟信号的单一跳变沿作为触发沿给到接收端(也即接收设备)用作数据的采样;DDR模式为选择时钟信号的上升沿与下降沿均作为触发沿给到接收端(也即接收设备)用作数据的采样。
进一步地,在以上所提出的采样模式下,还可支持不同的数据采样沿模式。具体地,针对SDR采样模式而言,其所支持的数据采样沿模式包括:第一采样沿模式和第二采样沿模式。其中,第一采样沿模式采用SCK上升沿进行数据采样,第二采样沿模式采用SCK下降沿进行数据采样。针对DDR采样模式而言,其所支持的数据采样沿模式包括:第三采样沿模式和第四采样沿模式。其中,第三采样沿模式针对数据传输时发送的第一个数据采用SCK上升沿进行数据采样,第四采样沿模式针对数据传输时发送的第一个数据采用SCK下降沿进行数据采样。
除此之外,对于发送设备而言,其还需要选定SCK线在空闲状态下所处的电平。具体地,SCK线在空闲状态下可处于高电平;或者,SCK线在空闲状态下也可处于低电平。
发送设备具体可通过相应的寄存器来配置其后续数据传输时所要采用的采样模式(也即目标采样模式)、数据采样沿模式(也即目标数据采样沿模式)及SCK线在空闲时所处的电平(也即目标电平)。为便于区分,可将此处与目标采样模式、目标数据采样沿模式及目标电平相关的寄存器记作第一寄存器。
步骤102,根据目标采样模式、目标电平及目标数据采样沿模式,确定数据采样模式。
根据目标采样模式、目标电平及目标数据采样沿模式的不同,本申请实施例提出了八种可能的数据采样模式。需要注意的是,不管是SDR采样模式还是DDR采样模式,SDO线在空闲状态下的电平均对采样无影响,因而为描述方便,以SDO线在空闲状态下保持高电平例,对这八种可能的数据采样模式进行说明:
在目标采样模式为SDR采样模式,目标电平为低电平,且目标数据采样沿模式为第一采样沿模式的情况下,数据采样模式为第一数据采样模式。请参阅图2,图2给出了第一数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为SDR采样模式,目标电平为低电平,且目标数据采样沿模式为第二采样沿模式的情况下,数据采样模式为第二数据采样模式。请参阅图3,图3给出了第二数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为SDR采样模式,目标电平为高电平,且目标数据采样沿模式为第一采样沿模式的情况下,数据采样模式为第三数据采样模式。请参阅图4,图4给出了第三数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为SDR采样模式,目标电平为高电平,且目标数据采样沿模式为第二采样沿模式的情况下,数据采样模式为第四数据采样模式。请参阅图5,图5给出了第四数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为DDR采样模式,目标电平为低电平,且目标数据采样沿模式为第三采样沿模式的情况下,数据采样模式为第五数据采样模式。请参阅图6,图6给出了第五数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为DDR采样模式,目标电平为低电平,且目标数据采样沿模式为第四采样沿模式的情况下,数据采样模式为第六数据采样模式。请参阅图7,图7给出了第六数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为DDR采样模式,目标电平为高电平,且目标数据采样沿模式为第三采样沿模式的情况下,数据采样模式为第七数据采样模式。请参阅图8,图8给出了第七数据采样模式下的SCK线及SDO线的传输时序示例图。
在目标采样模式为DDR采样模式,目标电平为高电平,且目标数据采样沿模式为第四采样沿模式的情况下,数据采样模式为第八数据采样模式。请参阅图9,图9给出了第八数据采样模式下的SCK线及SDO线的传输时序示例图。
通过以上这几种不同的数据采样模式,可使得发送设备能够兼容不同的接收设备。也即,实际应用场景下,用户可根据与发送设备相连接的接收设备的具体情况,对发送设备的第一寄存器进行灵活配置,以使得最终所确定的数据采样模式能够兼容接收设备。
步骤103,在接收到数据传输指令后,基于数据采样模式向接收设备串行发送待传输数据帧。
可以理解,前文所确定的数据采样模式主要是为了实现发送设备向接收设备的单向数据传输,也即该数据采样模式实际在数据传输时才真正起到作用。基于此,在发送设备接收到数据传输指令后,可在其数据传输阶段基于已确定的数据采样模式向接收设备串行发送待传输数据帧。
在一些实施例中,在待传输数据为图像数据的应用场景下,对于一帧待传输数据而言,其具体可包括如下数据内容:帧起始数据FST(Frame Start)、至少一个行数据及帧结束数据FED(Frame End)。其中,每个行数据还可具体包括如下数据内容:行起始数据LST(Line Start)、行图像数据及行结束数据LED(Line End)。基于以上待传输数据,步骤103可具体表现为:
A1,根据待传输数据帧中各个数据的传输优先级由高至低的顺序,确定待传输数据。
发送设备可根据预设的传输协议设置待传输数据帧中的各个数据的传输优先级。仅作为示例,为保障数据传输的完整性及有序性,各个数据的传输优先级可遵循以下设定:
帧起始数据的传输优先级高于行数据的传输优先级,且行数据的传输优先级高于帧结束数据的传输优先级。也即,在帧起始数据、行数据及帧结束数据之中,帧起始数据的传输优先级最高,帧结束数据的传输优先级最低。
以及,待传输数据帧中的不同行数据之间,对应行编号小的行数据的传输优先级高于对应行编号大的行数据的传输优先级。也即,在不同行数据之中,行数靠前的行数据的传输优先级高于行数靠后的行数据的传输优先级。
以及,在每个行数据中,行起始数据的传输优先级高于行图像数据的传输优先级,行图像数据的传输优先级高于行结束数据的传输优先级。也即,在单个行数据之中,行起始数据的传输优先级最高,行结束数据的传输优先级最低。
A2,基于数据采样模式下的各个数据传输周期向接收设备串行发送待传输数据,并在待传输数据发送完成后,返回执行步骤A1及后续步骤,直至待传输数据帧发送完成。
待传输数据帧中的各个数据均在SDO线上串行输出。具体地,根据附图2至附图9的示例可知,其中的D0、D1至D5等均为数据传输周期,每个数据传输周期可用于传输当前的待传输数据中的一个比特的数据。
仍以步骤A1中的示例所提出的各个数据的优先级为例,对于一帧待传输数据帧而言,其所包含的各个数据的传输顺序可具体表达为:FST->LST->First Line Image Data(第一行的图像数据)->LED->...->LST->Last Line Image Data(最后一行的图像数据)->LED->FED。也即,发送设备在发送完帧起始数据之后,以行数由小至大的顺序不断发送各个行数据,直至各个行数据发送完毕后,再发送帧结束数据,由此完成对一帧待传输数据帧的数据传输。
在一些实施例中,发送设备可在帧起始数据、帧结束数据、行起始数据及行结束数据中,分别设置用于数据传输同步的同步数据。这样一来,接收设备可通过对同步数据的接收及验证,保障发送设备与接收设备之间的同步性,实现数据传输的正常运转。
为便于区分,将针对帧起始数据所设置的同步数据记作第一同步数据。在一种应用场景下,该第一同步数据具体包括:该帧起始数据所对应的第一同步码、通过帧计数器所得的帧计数值及基于该第一同步码及该帧计数值所得的第一校验值。在另一种应用场景下,该第一同步数据也可具体包括:该帧起始数据所对应的第一同步码及基于该第一同步码所得的第一校验值。其中,在第一同步数据中,第一同步码的传输优先级最高,且第一校验值的传输优先级最低。
也即,在帧起始数据的同步状态下:若帧计数器开启,且通过对应的寄存器确定发送帧计数值的功能已被打开,则发送设备会先发送第一同步码,然后再发送帧计数器此时所得的帧计数值,最后发送第一校验值,该第一校验值根据第一同步码与帧计数值计算而得。反之,在其它情况下(例如帧计数器未开启,和/或,通过对应的寄存器确定发送帧计数值的功能已被关闭),发送设备会先发送第一同步码,然后发送第一校验值,该第一校验值根据第一同步码计算而得。
为便于区分,将针对行起始数据所设置的同步数据记作第二同步数据。在一种应用场景下,该第二同步数据具体包括:行起始数据所对应的第二同步码及通过行计数器所得的行计数值。在另一种应用场景下,该第二同步数据具体包括:行起始数据所对应的第二同步码。其中,在第二同步数据中,第二同步码的传输优先级最高,行计数值的传输优先级最低。
也即,在行起始帧的同步状态下:若行计数器开启,且通过对应的寄存器确定发送行计数值的功能已被打开,则发送设备会先发送第二同步码,然后再发送帧计数器此时所得的行计数值。反之,在其它情况下(例如行计数器未开启,和/或,通过对应的寄存器确定发送行计数值的功能已被关闭),发送设备可仅发送第二同步码。根据前文所描述的行数据中各个数据的优先级可知,在行起始帧的同步状态结束,也即第二同步码及行计数值(或者第二同步码)传输完毕后,发送设备可开始发送当前行的行图像数据。
为便于区分,将针对行结束数据所设置的同步数据记作第三同步数据。该第三同步数据具体包括:行结束数据所对应的第三同步码及第二校验值。在一种应用场景下,该第二校验值基于第二同步码、行计数值、当前行的行图像数据及第三同步码计算而得。在另一种应用场景下,该第二校验值基于第二同步码、当前行的行图像数据及第三同步码计算而得。其中,在第三同步数据中,第三同步码的传输优先级最高,第二校验值的传输优先级最低。
也即,在行结束帧的同步状态下:若行计数器开启,且通过对应的寄存器确定发送行计数值的功能已被打开,则发送设备会先发送第三同步码,然后再发送基于第二同步码、行计数值、当前行的行图像数据及第三同步码而得的第二校验值。反之,在其它情况下(例如行计数器未开启,和/或,通过对应的寄存器确定发送行计数值的功能已被关闭),发送设备可先发送第三同步码,然后再发送基于第二同步码、当前行的行图像数据及第三同步码而得的第二校验值。根据前文所描述的不同行数据的优先级可知,在行结束帧的同步状态结束,也即第三同步码及第二校验值传输完毕后,发送设备可开始发送下一行的行数据,也即下一行的行起始数据、行图像数据及行结束数据,直至最后一行的行数据发送完毕。
为便于区分,将针对帧结束数据所设置的同步数据记作第四同步数据。在一种应用场景下,该第四同步数据具体包括:该帧起始数据所对应的第四同步码、通过帧计数器所得的帧计数值(与当前待传输数据帧的帧起始数据中的帧计数值相同)及基于该第四同步码及该帧计数值所得的第三校验值。在另一种应用场景下,该第四同步数据也可具体包括:该帧结束数据所对应的第四同步码及基于该第四同步码所得的第三校验值。其中,在第四同步数据中,第四同步码的传输优先级最高,且第三校验值的传输优先级最低。
也即,在帧结束数据的同步状态下:若帧计数器开启,且通过对应的寄存器确定发送帧计数值的功能已被打开,则发送设备会先发送第四同步码,然后再发送帧计数器此时所得的帧计数值,最后发送第三校验值,该第三校验值根据第四同步码与帧计数值计算而得。反之,在其它情况下(例如帧计数器未开启,和/或,通过对应的寄存器确定发送帧计数值的功能已被关闭),发送设备会先发送第四同步码,然后发送第三校验值,该第三校验值根据第四同步码计算而得。
在一些示例中,帧计数值、行计数值及各个校验值可均为16位(也即2字节),各个同步码可均为32位(也即4字节),本申请实施例对此不作限定。
在一些示例,各个校验值可均为循环冗余校验值(Cyclic Redundancy Check,CRC)。举例说明:对帧开始数据而言,假定第一同步码为0xFF000080,帧计数值为0x0001,则可计算得到第一校验值为0xE06E。
在一些示例中,第一同步码、第二同步码、第三同步码及第四同步码可通过寄存器进行设置。具体地,在各个同步码均为32位(也即32bit)的情况下,以上各同步码的配置范围可为8’h00-8’hff。例如,可以是不同同步码的前30位配置为相同;也即,通过调整最后2位,实现对四个不同同步码的配置。又例如,考虑到以上极限设置的方式可能因传输错误而导致误识别,因而也可以是不同同步码的前24位配置为相同;也即,通过调整最后8位,实现对四个不同同步码的配置。再例如,也可以是不同同步码的32位配置均不同;也即,通过调整32位,实现对四个不同同步码的配置。
在一些实施例中,在待传输数据为图像数据的应用场景下,发送设备通常还可支持不同的数据传输模式,该数据传输模式可用于定义数据传输时所期望的数据传输位数。仅作为示例,该数据传输模式包括:8位(8-bit)传输模式及10位(10-bit)传输模式。基于此,步骤103可具体表现为:
B1、确定当前的数据传输模式。
B2、在当前的数据传输模式为指定模式的情况下,若待传输数据为非图像数据,则以字节为单位对待传输数据进行数据补齐。
B3、基于数据采样模式下的各个数据传输周期向接收设备串行发送数据补齐后的待传输数据。
其中,指定模式具体为:10位传输模式。发送设备可先确定当前其采用的是8位传输模式及10位传输模式中的哪一项。可以理解,原本待传输数据中的各个非图像数据均为整数个字节。在采用8位传输模式的情况下,用于传输同步的同步码、帧计数值和行计数值等非图像数据均保持前文描述进行传输。在采用10位模式的情况下,发送设备可以令所有非图像数据以字节为单位,在每个字节的数据低位进行补充,以补齐至10位(也即10bit)。具体地,非图像数据包括但不限于:各个同步码、帧计数值及行计数值等。
在一些示例中,数据补齐时,被补充的数据的数据范围可以是2’b00-2’b11;也即,可以在每个字节的数据低位补充“00”、“01”、“10”或“11”。
可以理解,在通过步骤A1确定出待传输数据后,可以先通过步骤B1-B3对待传输数据进行数据补齐,再通过步骤A2向接收设备串行发送数据补齐后的待传输数据,并在待传输数据发送完成后,返回执行步骤A1及后续步骤,直至待传输数据帧发送完成,此处不再赘述。
在一些实施例中,在相邻行的行数据之间,通常还存在一定的时间间隔,该时间间隔即为行间隔(Horizontal Blank,HBL)。发送设备可以通过第二寄存器选择该HBL期间的控制模式。类似地,在相邻的两帧待传输数据帧之间,同样存在一定的时间间隔,该时间间隔即为帧间隔(Vertical Blank,VBL)。发送设备可以通过第三寄存器选择该VBL期间的控制模式。
具体地,该控制模式包括:门控(Gate Clk)模式和非门控(No Gate Clk)模式。可以理解,门控模式指的是在HBL/VBL期间对数据传输的时钟信号SCK进行门控,在此期间SCK线和SDO线保持在空闲(idle)状态下的电平;非门控模式指的是在HBL/VBL期间对数据传输的时钟信号SCK不进行门控,在此期间SCK线保持和工作状态一致,正常发送时钟信号,SDO线上则循环发送第一伪数据Dumy_data0和第二伪数据Dumy_data1,其中,第一伪数据Dumy_data0及第二伪数据Dumy_data1均为8位数据,且第一伪数据Dumy_data0及第二伪数据Dumy_data1可通过对应的寄存器配置为不同值。
在一些示例中,第一伪数据Dumy_data0及第二伪数据Dumy_data1的取值范围均为8’h00-8’hff。
由上可见,针对图像数据而言,实际应用场景下通常仅针对其进行发送设备向接收设备的单向传输,例如由CMOS图像传感器传输至SOC等。基于此,本申请实施例提出使用双线单向SCK/SDO来进行数据传输,可不区分严格意义上的主从设备,且数据传输时无需事先进行设备请求与应答,由此可高效便捷地实现单向数据传输。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文所提供的数据传输方法,本申请实施例还提供了一种电子设备。请参阅图10,本申请实施例中的电子设备10包括:存储器1001,一个或多个处理器1002(图10中仅示出一个)及存储在存储器1001上并可在处理器上运行的计算机程序。其中,存储器1001用于存储软件程序以及模块,处理器1002通过运行存储在存储器1001的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。
电子设备10与其它电子设备通过时钟SCK线及数据传输SDO线建立双线连接,其中,该电子设备10通过SCK线向该其它电子设备发送时钟信号,该电子设备10通过SDO线向该其它电子设备发送数据信。
具体地,处理器1002通过运行存储在存储器1001的上述计算机程序时实现以下步骤:
根据已配置的第一寄存器,确定目标采样模式、SCK线在空闲时所处的目标电平及目标数据采样沿模式;
根据目标采样模式、目标电平及目标数据采样沿模式,确定数据采样模式;
在接收到数据传输指令后,基于数据采样模式向接收设备串行发送待传输数据帧。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,待传输数据帧包括:帧起始数据、至少一个行数据及帧结束数据;行数据包括:行起始数据、行图像数据及行结束数据;基于数据传输模式向接收设备串行发送待传输数据帧,包括:
根据待传输数据帧中各个数据的传输优先级由高至低的顺序,确定待传输数据;
基于数据采样模式下的各个数据传输周期向接收设备串行发送待传输数据,并在待传输数据发送完成后,返回执行根据待传输数据帧中各个数据的传输优先级由高至低的顺序,确定待传输数据的步骤及后续步骤,直至待传输数据帧发送完成。
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,帧起始数据的传输优先级高于行数据的传输优先级,行数据的传输优先级高于帧结束数据的传输优先级;
以及,待传输数据帧中的不同行数据之间,对应行编号小的行数据的传输优先级高于对应行编号大的行数据的传输优先级;
以及,在每个行数据中,行起始数据的传输优先级高于行图像数据的传输优先级,行图像数据的传输优先级高于行结束数据的传输优先级。
在上述第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,帧起始数据包括第一同步数据,第一同步数据包括:帧起始数据所对应的第一同步码、通过帧计数器所得的帧计数值及基于第一同步码及帧计数值所得的第一校验值;
其中,第一同步码的传输优先级高于帧计数值的传输优先级,帧计数值的传输优先级高于第一校验值的传输优先级。
在上述第二种可能的实施方式作为基础而提供的第五种可能的实施方式中,行起始数据包括第二同步数据,第二同步数据包括:行起始数据所对应的第二同步码及通过行计数器所得的行计数值;
其中,第二同步码的传输优先级高于行计数值的传输优先级。
在上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,行结束数据包括第三同步数据,第三同步数据包括:行起始数据所对应的第三同步码及基于第二同步码、行计数值、行图像数据及第三同步码所得的第二校验值;
其中,第三同步码的传输优先级高于第二校验值的传输优先级。
在上述第二种可能的实施方式作为基础而提供的第七种可能的实施方式中,帧结束数据包括第四同步数据,第四同步数据包括:帧结束数据所对应的第四同步码、通过帧计数器所得的帧计数值及基于第四同步码及帧计数值所得的第三校验值;
其中,第四同步码的传输优先级高于帧计数值的传输优先级,帧计数值的传输优先级高于第三校验值的传输优先级。
在上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础,或者上述第六种可能的实施方式作为基础,或者上述第七种可能的实施方式作为基础而提供的第八种可能的实施方式中,基于数据采样模式下的各个数据传输周期向接收设备串行发送待传输数据,包括:
确定当前的数据传输模式,数据传输模式用于定义数据传输时所期望的数据传输位数;
在当前的数据传输模式为指定模式的情况下,若待传输数据为非图像数据,则以字节为单位对待传输数据进行数据补齐;
基于数据采样模式下的各个数据传输周期向接收设备串行发送数据补齐后的待传输数据。
应当理解,在本申请实施例中,所称处理器1002可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1001可以包括只读存储器和随机存取存储器,并向处理器1002提供指令和数据。存储器1001的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器1001还可以存储设备类型的信息。
由上可见,针对图像数据而言,实际应用场景下通常仅针对其进行发送设备向接收设备的单向传输,例如由CMOS图像传感器传输至SOC等。基于此,本申请实施例提出使用双线单向SCK/SDO来进行数据传输,可不区分严格意义上的主从设备,且数据传输时无需事先进行设备请求与应答,由此可高效便捷地实现单向数据传输。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述电子设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种数据传输方法,其特征在于,所述数据传输方法应用于发送设备,所述发送设备与接收设备通过时钟SCK线及数据传输SDO线建立双线连接,其中,所述发送设备通过所述SCK线向所述接收设备发送时钟信号,所述发送设备通过所述SDO线向所述接收设备发送数据信号;所述数据传输方法包括:
根据已配置的第一寄存器,确定目标采样模式、所述SCK线在空闲时所处的目标电平及目标数据采样沿模式;
根据所述目标采样模式、所述目标电平及所述目标数据采样沿模式,确定数据采样模式;
在接收到数据传输指令后,基于所述数据采样模式向所述接收设备串行发送待传输数据帧。
2.如权利要求1所述的数据传输方法,其特征在于,所述待传输数据帧包括:帧起始数据、至少一个行数据及帧结束数据;所述行数据包括:行起始数据、行图像数据及行结束数据;所述基于所述数据传输模式向所述接收设备串行发送待传输数据帧,包括:
根据所述待传输数据帧中各个数据的传输优先级由高至低的顺序,确定待传输数据;
基于所述数据采样模式下的各个所述数据传输周期向所述接收设备串行发送所述待传输数据,并在所述待传输数据发送完成后,返回执行所述根据所述待传输数据帧中各个数据的传输优先级由高至低的顺序,确定待传输数据的步骤及后续步骤,直至所述待传输数据帧发送完成。
3.如权利要求2所述的数据传输方法,其特征在于,所述帧起始数据的传输优先级高于所述行数据的传输优先级,所述行数据的传输优先级高于所述帧结束数据的传输优先级;
以及,所述待传输数据帧中的不同所述行数据之间,对应行编号小的所述行数据的传输优先级高于对应行编号大的所述行数据的传输优先级;
以及,在每个所述行数据中,所述行起始数据的传输优先级高于所述行图像数据的传输优先级,所述行图像数据的传输优先级高于所述行结束数据的传输优先级。
4.如权利要求2所述的数据传输方法,其特征在于,所述帧起始数据包括第一同步数据,所述第一同步数据包括:所述帧起始数据所对应的第一同步码、通过帧计数器所得的帧计数值及基于所述第一同步码及所述帧计数值所得的第一校验值;
其中,所述第一同步码的传输优先级高于所述帧计数值的传输优先级,所述帧计数值的传输优先级高于所述第一校验值的传输优先级。
5.如权利要求2所述的数据传输方法,其特征在于,所述行起始数据包括第二同步数据,所述第二同步数据包括:所述行起始数据所对应的第二同步码及通过行计数器所得的行计数值;
其中,所述第二同步码的传输优先级高于所述行计数值的传输优先级。
6.如权利要求5所述的数据传输方法,其特征在于,所述行结束数据包括第三同步数据,所述第三同步数据包括:所述行起始数据所对应的第三同步码及基于所述第二同步码、所述行计数值、所述行图像数据及所述第三同步码所得的第二校验值;
其中,所述第三同步码的传输优先级高于所述第二校验值的传输优先级。
7.如权利要求2所述的数据传输方法,其特征在于,所述帧结束数据包括第四同步数据,所述第四同步数据包括:所述帧结束数据所对应的第四同步码、通过帧计数器所得的帧计数值及基于所述第四同步码及所述帧计数值所得的第三校验值;
其中,所述第四同步码的传输优先级高于所述帧计数值的传输优先级,所述帧计数值的传输优先级高于所述第三校验值的传输优先级。
8.如权利要求2至7任一项所述的数据传输方法,其特征在于,所述基于所述数据采样模式下的各个所述数据传输周期向所述接收设备串行发送所述待传输数据,包括:
确定当前的数据传输模式,所述数据传输模式用于定义数据传输时所期望的数据传输位数;
在所述当前的数据传输模式为指定模式的情况下,若所述待传输数据为非图像数据,则以字节为单位对所述待传输数据进行数据补齐;
基于所述数据采样模式下的各个所述数据传输周期向所述接收设备串行发送数据补齐后的所述待传输数据。
9.如权利要求2至7任一项所述的数据传输方法,其特征在于,所述数据传输方法还包括:
根据已配置的第二寄存器,确定行间隔HBL期间是否对所述时钟信号进行门控;和/或,根据已配置的第三寄存器,确定帧间隔VBL期间是否对所述时钟信号进行门控。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311222705.3A CN117234976A (zh) | 2023-09-20 | 2023-09-20 | 一种数据传输方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311222705.3A CN117234976A (zh) | 2023-09-20 | 2023-09-20 | 一种数据传输方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234976A true CN117234976A (zh) | 2023-12-15 |
Family
ID=89085740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311222705.3A Pending CN117234976A (zh) | 2023-09-20 | 2023-09-20 | 一种数据传输方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234976A (zh) |
-
2023
- 2023-09-20 CN CN202311222705.3A patent/CN117234976A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7660916B2 (en) | Emulation of independent active DMA channels with a single DMA capable bus master hardware and firmware | |
JP6469365B2 (ja) | 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ | |
US20190146944A1 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
US20160217090A1 (en) | Method and apparatus to enable multiple masters to operate in a single master bus architecture | |
US20150370735A1 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
KR20160107247A (ko) | 대역-내 인터럽트를 이용한 카메라 제어 인터페이스 확장 | |
US20110032932A2 (en) | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type | |
US6907478B2 (en) | Systems and methods optimizing data transfer throughput of a system on chip | |
US8412864B2 (en) | Information processing apparatus and information processing method | |
US20200142854A1 (en) | Multilane heterogeneous serial bus | |
US20190356412A1 (en) | Fast termination of multilane double data rate transactions | |
US20190171609A1 (en) | Non-destructive outside device alerts for multi-lane i3c | |
WO2017065923A1 (en) | Methods to avoid i2c void message in i3c | |
US11829319B2 (en) | Inter-integrated circuit (I2C) apparatus | |
US10102176B2 (en) | Methods and apparatus for rapid switching of hardware configurations with a speed limited bus | |
US6175887B1 (en) | Deterministic arbitration of a serial bus using arbitration addresses | |
CN117234976A (zh) | 一种数据传输方法、电子设备及存储介质 | |
US20210173808A1 (en) | Early parity error detection on an i3c bus | |
US9348777B2 (en) | Hardware apparatus for a system, system and memory access method | |
CN114003544A (zh) | 一种控制芯片、工作量证明系统和传输方法 | |
US20110060893A1 (en) | Circuit comprising a microprogrammed machine for processing the inputs or the outputs of a processor so as to enable them to enter or leave the circuit according to any communication protocol | |
JP3266789B2 (ja) | 通信制御装置 | |
JPS6260050A (ja) | インタ−バス・システム | |
JPH05347651A (ja) | データフレーム間の休止時間設定回路 | |
WO2017172269A1 (en) | Method and apparatus to enable multiple masters to operate in a single master bus architecture |
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 |