CN115168270A - 一种数据传输系统及其控制方法、电子设备、存储介质 - Google Patents

一种数据传输系统及其控制方法、电子设备、存储介质 Download PDF

Info

Publication number
CN115168270A
CN115168270A CN202210799932.1A CN202210799932A CN115168270A CN 115168270 A CN115168270 A CN 115168270A CN 202210799932 A CN202210799932 A CN 202210799932A CN 115168270 A CN115168270 A CN 115168270A
Authority
CN
China
Prior art keywords
serial port
port signal
data
serial
signal
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
Application number
CN202210799932.1A
Other languages
English (en)
Inventor
何梓奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202210799932.1A priority Critical patent/CN115168270A/zh
Publication of CN115168270A publication Critical patent/CN115168270A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请实施例公开了一种数据传输系统及其控制方法、电子设备、存储介质。多个设备依次串联组成串行数据链路,在串行数据链路上增加或减少第二设备时,第一设备的输入输出走线数量不会随着第二设备的个数增加而增加,且走线资源占用较少,走线布局难度较小。另外,第一设备发送第一串口信号,第一串口信号被第二设备执行后,接收第二串口信号,在不需要添加校验码的情况下,第一设备利用第一串口信号对第二串口信号进行自校验。对于广播写命令可以让第一设备仅使用一条第一串口信号写入所有第二设备,对于设备的一些通用的配置,广播写命令可以节约时间和功耗。

Description

一种数据传输系统及其控制方法、电子设备、存储介质
技术领域
本申请涉及芯片技术,尤其涉及一种数据传输系统及其控制方法、电子设备、存储介质。
背景技术
目前,芯片内部或者芯片间,串行接口因为占用走线资源少,信号完整性好而被广泛的使用。常见的串行接口有通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)接口,集成电路(Inter-Integrated Circuit,I2C)接口等。串行接口总线上的设备通常有主从设备之分,主设备负责发起通信请求,送出读或者写的命令,从设备受控于主设备的请求,执行请求的写操作或者将主设备需要读的数据送出。为了避免数据出错,通常串行数据还会加上一定的校验码,例如UART会加上1比特的奇偶校验码。
图1为现有技术中主设备和多个从设备的连线结构示意图,如图1所示,对于现有的串行接口方案,有以下缺点:当有多个从设备受控于同一个主设备时,每个从设备都需要和主设备通过走线相连。如果从设备很多,那么对应的走线也会相应增加。对于现代大规模集成电路,无论是芯片内部模块间的线路,还是芯片间的线路,更多的走线都可能导致走线拥堵,增加布线难度,从而对芯片的功耗、性能和面积带来一定影响。
发明内容
本申请实施例期望提供一种数据传输系统及其控制方法、电子设备、存储介质。
本申请的技术方案是这样实现的:
第一方面,提供了一种数据传输系统,所述数据传输系统包括多个设备,每个设备依次串联组成串行数据链路;所述方法包括:
所述多个设备中第一设备生成第一串口信号;
通过所述串行数据链路依次发送所述第一串口信号给多个第二设备;
所述第二设备解析所述第一串口信号,确定所述第一串口信号为自身执行的命令时,执行所述第一串口信号生成第二串口信号,发送所述第二串口信号给与所述第二设备相连的下一个设备;
所述第一设备接收所述第二串口信号,并基于所述第一串口信号对所述第二串口信号进行校验。
第二方面,提供了一种电子设备,所述电子设备包括第一方面所述的数据传输系统。
第三方面,提供了一种数据传输系统的控制方法,所述数据传输系统为第一方面中的数据传输系统,所述方法包括:
通过多个设备中第一设备生成第一串口信号;
通过串行数据链路依次发送所述第一串口信号给多个第二设备;
通过所述第二设备解析所述第一串口信号,确定所述第一串口信号为自身执行的命令时,执行所述第一串口信号生成第二串口信号,发送所述第二串口信号给与所述第二设备相连的下一个设备;
通过所述第一设备接收所述第二串口信号,并基于所述第一串口信号对所述第二串口信号进行校验。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
采用上述技术方案,多个设备依次串联组成串行数据链路,在串行数据链路上增加或减少第二设备时,第一设备的输入输出走线数量不会随着第二设备的个数增加而增加,且走线资源占用较少,走线布局难度较小。另外,第一设备发送第一串口信号,第一串口信号被第二设备执行后,接收第二串口信号,在不需要添加校验码的情况下,第一设备利用第一串口信号对第二串口信号进行自校验。对于广播写命令可以让第一设备仅使用一条第一串口信号写入所有第二设备,对于设备的一些通用的配置,广播写命令可以节约时间和功耗。
附图说明
图1为现有技术中主设备和多个从设备的连线结构示意图;
图2为本申请实施例中数据传输系统的第一组成结构示意图;
图3为本申请实施例中第二设备的组成结构示意图;
图4为本申请实施例中串口信号格式的组成结构示意图;
图5为本申请实施例中数据传输系统的第二组成结构示意图;
图6为本申请实施例中数据传输系统的第三组成结构示意图;
图7为本申请实施例中数据传输系统的第四组成结构示意图;
图8为本申请实施例中数据传输系统的第一时钟同步方式示意图;
图9为本申请实施例中数据传输系统的第二时钟同步方式示意图;
图10为本申请实施例中数据传输系统的控制方法的流程示意图;
图11是本申请实施例的电子设备的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请实施例提供了一种数据传输系统,所述数据传输系统包括多个设备,每个设备依次串联组成串行数据链路,图2为本申请实施例中系统的第一组成结构示意图,如图2所示,该数据传输系统20包括:第一设备21和多个第二设备22,每个设备依次串联组成串行数据链路。示例性的,每个设备之间通过串行总线相连,串行总线可以为UART总线,I2C总线,串行外设接口(Serial Peripheral Interface,SPI)总线。
所述多个设备中第一设备21生成第一串口信号,通过所述串行数据链路依次发送所述第一串口信号给多个第二设备22;
所述第二设备22解析所述第一串口信号,确定所述第一串口信号为自身执行的命令时,执行所述第一串口信号生成第二串口信号,发送所述第二串口信号给与所述第二设备相连的下一个设备;
所述第一设备21接收所述第二串口信号,并基于所述第一串口信号对所述第二串口信号进行校验。
在一些实施例中,所述第二设备22解析所述第一串口信号,确定所述第一串口信号不为自身执行的命令时,发送所述第一串口信号给下一个设备。
这里,第二设备22为串行数据链路上多个第二设备中的任意一个第二设备,下一个设备是指与当前第二设备相连的下一个第二设备或第一设备。第一设备21先将第一串口信号发送给与其直接相连的第二设备22,第二设备22接收到第一串口信号,判断是否自身执行的命令,如果是自身执行的命令,执行第一串口信号生成第二串口信号,发送第二串口信号给与其相连的下一个第二设备,如果不是自身执行的命令,直接发送第一串口信号给与其相连的下一个第二设备,以此类推,直到第一设备接收到第二串口信号,结束。
示例性的,在一些实施例中,所述第一串口信号包括:非数据域和数据域;所述第二串口信号包括:非数据域和数据域;其中,所述非数据域包括:开始位、地址域、命令类型指示域和数据长度域。
开始位为第一串口信号的开始位。地址域包含执行第一串口信号的第二设备的地址。具体地,所述地址域包括设备地址和设备内地址;所述设备地址用于指示执行所述第一串口信号的目标第二设备,所述设备内地址用于指示对所述目标第二设备内的目标地址。
命令类型指示域包含第一串口信号的命令类型,例如,第一串口信号为读命令或写命令。数据长度域包含第一串口信号中数据域的长度。数据域包含第一设备给第二设备发送的数据或者接收第二设备的数据。
示例性的,所述第二设备基于所述地址域确定所述第一串口信号为自身执行的命令,基于所述命令类型指示域确定所述第一串口信号为读命令时,获取所述第二设备的读数据,将所述读数据写入所述第一串口信号中的数据域中,生成所述第二串口信号;具体地,第二设备将读数据和第一串口信号的数据域逐比特做“或”操作得到第二串口信号的数据域。
所述第二设备基于所述地址域确定所述第一串口信号为自身执行的命令,基于所述命令类型指示域确定所述第一串口信号为写命令时,将所述第一串口信号的数据域中的写数据写入目标地址空间,将所述第一串口信号作为所述第二串口信号。具体地,所述地址域包括设备地址和设备内地址,第二设备通过设备地址确定第一串口信号是否为自身执行的命令。
也就是说,第二设备将解析第一串口信号是否对自己有效,如果有效,那么将执行第一串口信号;如果无效,那么将第一串口信号直接送往下一个设备。
示例性的,所述多个设备中,每个设备包括输入移位寄存器和输出移位寄存器,每个设备通过输入移位寄存器接收串口信号,通过输出移位寄存器发送串口信号。
图3为本申请实施例中第二设备的组成结构示意图,如图3所示,两个寄存器即为移位寄存器,如果当前第二设备接受的读写命令不适用于此设备,那读写命令直接移位出去。如果当前读命令适用于此设备,那么在移位数据域时读使能为高电平,串口信号解码与控制器根据地址域获取读数据,读时能信号有效,与门输出读数据,将读数据和数据域逐比特做“或”操作并通过输出移位寄存器送出。如果当前写命令适用于此设备,那么串口信号解码与控制器根据将写数据写入目的地址空间,并通过输出移位寄存器送出。
示例性的,在一些实施例中,所述第一设备将所述第一串口信号中第一非数据域和所述第二串口信号中第二非数据域进行匹配,相同时确定所述第一非数据域和所述第二非数据域校验成功;
所述第一设备基于所述命令类型指示域确定所述第一串口信号为写命令时,将所述第一串口信号中第一数据域和所述第二串口信号中第二数据域进行匹配,相同时确定所述第一数据域和所述第二数据域校验成功。
在一些实施例中,所述第一串口信号为读命令时,所述第一串口信号和所述第二串口信号还包括:数据校验域;所述第一设备基于所述第二串口信号中的数据校验域,校验所述第二串口信号的数据域。
也就是说,第一设备最终会接收发送出去的串口信号,第一设备可以在不添加校验码的情况下可以自我校验非读命令的数据域之外的所有域,即通过比较写命令所有域,以及读命令非数据域的是否相同,来实现自我校验。对于读命令的数据域,由于第二设备可以修改读命令数据域,第一设备无法进行自我校验,通过对读命令数据域增加校验码,从而实现读命令的所有域的数据传输校验。
本申请实施例中,第一设备作为串口信号发出设备,可以称为“主设备”,第二设备作为串口信号执行设备,可以称为“从设备”。以一个主设备和四个从设备在同一个串行数据上为例。主设备对从设备发送串口信号,对于写命令,每个从设备将分析这条写命令是否对自己有效,如果有效,那么将对应的写数据写入本设备的目的地并将这条命令通过移位寄存器送往下一个设备;如果无效,那么将这条命令直接通过移位寄存器送往下一个设备。当写命令经过所有从设备后会回到主设备,主设备可以通过比较接收到的写命令和之前发送出去的写命令来校验中途的传输是否出错。对于读命令,每个从设备将分析这条命令是否对自己有效,如果有效,那么将对应的读数据通过“或”操作写到数据域,并移位送往下一个设备;如果无效,那么直接将这条命令通过移位寄存器送往下一个设备。读命令通过所有的从设备后会返回主设备,主设备可以从数据域读出目标数据,并且通过比较发出的命令来校验非数据域的信息是否正确到达了每一个从设备。
下面对串口信号格式进行进一步的举例说明。如图4所示,串口信号包括开始位以及开始位之后的n个比特位。具体地格式由以下部分组成:
1)比特开始位:当总线处于空闲状态时,信号线为0,即为低电平。开始进行数据传输时发送方要先发出一个高电平‘1’来表示传输的开始。
2)地址域:地址域表示命令的目的地。地址域被进一步分成两个部分:从设备地址域,设备内地址域。地址域的长度可以根据需要自己约定。
3)1比特读写位:高电平‘1’表示写,低电平‘0’表示读。
4)数据长度域:定义了数据域的比特位宽。
5)数据域:读写的数据将存放于这个区域。对于写命令,主设备将要写的数据放在这个区域,从设备不会对写命令做任何修改。对于读命令,主设备将数据域全部设为0,被选中的从设备将通过“或”操作填入数据域作为读出的数据。
其中以下以10比特地址域(4比特设备地址域,6比特设备内地址域)举例说明:数据长度域的值可以表示数据域的长度包括8、16、24、32比特
数据长度域为00,表示数据域长8比特
Figure BDA0003733609230000071
开始,检测到从0-1表示开始位
数据长度域为01,表示数据域长16比特
Figure BDA0003733609230000072
数据长度域为10,表示数据域长24比特
Figure BDA0003733609230000073
数据长度域为11,表示数据域长32比特
Figure BDA0003733609230000074
值得注意的是,地址域10比特被分成两个部分:4比特设备地址域,6比特设备内地址域:地址[0:9]
设备地址[0:3] 设备内地址[4:9]
4-比特设备地址表示在同一串行传输链路上支持最多15个不同的设备地址,地址4‘b1111保留用作广播命令。6-比特设备内地址表示每个从设备最多可以有64个不同的读写目的地址或读写命令。
同一个串行传输链路上每一个从设备都有自己的设备地址。对于从主设备发来的命令,只有命令中的设备地址和当前从设备匹配或者设备地址为4‘b1111时才会对当前从设备生效。这里称设备地址为4’b1111的命令为广播命令,称非广播命令为普通命令。
1>普通写命令
当命令中读写位为“1“高电平时,且设备地址是某个从设备的地址时,这是一条普通写命令。数据将会被写入对应从设备的某个目的地址空间。
2>广播写命令
当命令中读写位为“1”高电平时,且设备地址是4‘b1111时,这是一条广播写命令。数据将会写入到同一链上所有的从设备的对应设备内地址的目的地址空间。
无论是普通写命令还是广播写命令,从设备都不会对写命令做任何修改,直接将接受的命令移位寄存送出到下一个设备去。主设备最终接收返回的写命令应当和发出发写命令完全相同。
3>普通读命令
当命令中读写位为“0“低电平时,且设备地址是某个从设备的地址时,这是一条普通读命令。主设备发送读命令时会把数据域全部置为低电平。被选中的从设备会将对应地址的数据写入数据域,并送往下一个设备。对于没有选中的从设备,不会对接受的读命令做任何修改,直接移位寄存送往下一个设备。
4>广播读命令
当命令中读写位为“0”低电平时,且设备地址是4‘b1111时,这是一条广播读命令。对于广播读命令,主设备发送读命令时会把数据域全部置为低电平,所有的从设备都会将自己对应地址的数据和接受到的数据域逐比特位做“或”操作,然后送往下一个设备。主设备接受返回的命令中数据域结果是所有从设备对应数据的逐比特“或”的结果,返回的命令中其它域的值和发送出去的值相同。对于广播读命令,当读数据为温度计编码时(例如11111000,110000000),可以通过仅仅一条读命令,得到所有从设备的温度计编码值得最大值。也就是说,主设备通过下发广播读命令,可以应用在多个从设备投票选取最大值或者最小值的场景。
需要说明的是,根据编码方式的不同,主设备接受返回的命令中数据域结果是所有从设备对应数据的逐比特“与”的结果。
示例性的,在一些实施例中,所述多个设备中第三设备和第四设备之间的链路长度大于长度阈值时,所述第三设备和所述第四设备的链路上设置至少一级流水线寄存器。这种串口协议支持在链路上插入任何级数的流水线寄存器而不改变功能,有利于解决设备间绕线远时序难以收敛的问题。
示例性的,根据第三设备和第四设备之间的链路长度大于长度阈值时,根据第三设备和第四设备之间的链路长度确定流水线寄存器级数。这里,第三设备和第四设备可以理解为串行数据链路上相邻的,且链路长度大于长度阈值的两个设备。
示例性的,在一些实施例中,所述多个第二设备属于多个电源域,每个电源域包含至少一个第二设备;
第一电源域的第一串口信号输入端连接多路选择器的第一输入端,所述第一电源域的第一串口信号输出端连接所述多路选择器的第二输入端,所述多路选择器的控制端接收所述第一电源域的控制信号,所述多路选择器的输出端与第二电源域的第二串口信号输入端相连;
所述第一电源域关闭时,所述多路选择器的输出端输出所述第一电源域的输入串口信号给所述第二电源域的第二串口信号输入端;
所述第一电源域开启时,所述多路选择器的输出端输出所述第一电源域的输出串口信号给所述第二电源域的第二串口信号输入端。
当第二设备在不同的电源域时,任何一个第二设备所在的电源被关闭时会导致整条串行链路无法使用。图5为本申请实施例中数据传输系统的第二组成结构示意图,如图5所示,当电源域1的电源被电源开关切断时,串行链路被打断。
本申请实施例在数据传输系统中添加多路选择器(MUX),通过电源域的关闭信号来选择输出的串口信号是否经过电源域中的第二设备。当电源域被关闭时,串口信号将直接跳过此电源域内的第二设备。
如图6所述,当电源域1内两个第二设备串联,电源域1包括第一串口信号输入端(In1)和第一串口信号输出端(Out1),MUX1的输入端分别连接第一串口信号输入端(In1)和第一串口信号输出端(Out1),输出端连接电源域2的第二串口信号输入端(In2)。通过电源域1的关闭信号来控制MUX1选择输出的串口信号是否经过电源域1中的第二设备。当电源域1被关闭时,控制MUX1选择输出电源域1第一串口信号输入端(In1)的输入串口信号(即电源域2的第一串口信号输出端(Out1)的输出串口信号),串口信号将直接跳过此电源域1内的第二设备。
如图7所述,当电源域2内第二设备非串联,电源域2包括第一串口信号输入端(In1)、第一串口信号输出端(Out1)、第二串口信号输入端(In2)、第二串口信号输出端(Out2),MUX2的输入端分别连接第一串口信号输入端(In1)和第一串口信号输出端(Out1),输出端连接电源域1的第一串口信号输入端(In1)。通过电源域2的关闭信号来控制MUX2选择输出的串口信号是否经过电源域2中的第二设备1。当电源域2被关闭时,MUX2选择输出电源域2第一串口信号输入端(In1)的输入串口信号,串口信号将直接跳过此电源域2内的第二设备1。
MUX3的输入端分别连接第二串口信号输入端(In2)和第二串口信号输出端(Out2),输出端连接后续电源域的串口信号输入端。通过电源域2的关闭信号来控制MUX3选择输出的串口信号是否经过电源域2中的第二设备2。当电源域2被关闭时,MUX3选择输出电源域2第一串口信号输入端(In1)的输入串口信号,串口信号将直接跳过此电源域2内的第二设备2。
示例性的,在一些实施例中,所述多个设备中每个设备依次串联组成串行时钟链路,所述第一设备通过所述串行时钟链路依次发送时钟信号给所述多个第二设备;
或者,所述数据传输系统还包括时钟源,所述时钟源分别连接所述多个设备,向所述多个设备发送时钟信号。
也就是说,本申请实施例中串行接口协议可以通过同步电路实现时钟同步,即主设备和从设备接受同一个时钟源。也可以用源时钟同步实现,即时钟信号和串口信号一同发送。
图8为本申请实施例中数据传输系统的第一时钟同步方式示意图,如图8所示,数据传输系统包括时钟源,时钟源和每个设备相连,用于向每个设备提供时钟信号。在一些实施例中,该时钟同步结构应用于芯片内部多个设备的时钟同步。
图9为本申请实施例中数据传输系统的第二时钟同步方式示意图,如图9所示,主设备同时发送串口信号和时钟信号,从设备根据时钟信号接收串口信号,实现时钟同步。在一些实施例中,该时钟同步结构应用于芯片和外部设备的时钟同步。
上述数据传输系统至少具备如下优点:
1)占用走线资源较少,主设备的输入输出信号数量不会随着从设备的个数增加而增加。
2)串口信号的数据长度可以灵活配置,可以针对不通的需要而优化传输效率。
3)主设备最终会接受收发送出去的串行命令,可以在不添加校验码的情况下自我校验非读命令的数据域之外的所有域。
4)通过发送广播写命令可以让主设备仅使用一条命令写入所有的从设备,对于一些通用的配置,广播写命令可以节约时间和功耗。
5)对于从设备对于串口信号,从设备仅需要对数据域做“或”操作和移位寄存操作后送往下一个设备,实现简单,延迟低。
6)这种串口协议支持在链路上插入任何级数的流水线寄存器而不改变功能,有利于解决设备间绕线远时序难以收敛的问题。
基于本申请实施例提供的数据传输系统,本申请实施例还提供了一种数据传输系统的控制方法。数据传输系统为本申请实施例中任一种数据传输系统,图10为本申请实施例中数据传输系统的控制方法的流程示意图,如图10所示,该方法具体可以包括:
步骤1001:通过多个设备中第一设备生成第一串口信号;
示例性的,所述第一串口信号包括:非数据域和数据域;其中,所述非数据域包括:开始位、地址域、命令类型指示域和数据长度域。
开始位为第一串口信号的开始位。地址域包含执行第一串口信号的第二设备的地址。具体地,所述地址域包括设备地址和设备内地址;所述设备地址用于指示执行所述第一串口信号的目标第二设备,所述设备内地址用于指示对所述目标第二设备内的目标地址。
命令类型指示域包含第一串口信号的命令类型,例如,第一串口信号为读命令或写命令。数据长度域包含第一串口信号中数据域的长度。数据域包含第一设备给第二设备发送的数据或者接收第二设备的数据。
步骤1002:通过串行数据链路依次发送所述第一串口信号给多个第二设备;
示例性的,在一些实施例中,所述多个设备中每个设备依次串联组成串行时钟链路,该方法还包括:通过所述串行时钟链路依次发送时钟信号给所述多个第二设备;
或者,所述数据传输系统还包括时钟源,所述时钟源分别连接所述多个设备,通过所述时钟源向所述多个设备发送时钟信号。
步骤1003:通过所述第二设备解析所述第一串口信号,确定所述第一串口信号为自身执行的命令时,执行所述第一串口信号生成第二串口信号,发送所述第二串口信号给与所述第二设备相连的下一个设备;
在一些实施例中,所述第二设备解析所述第一串口信号,确定所述第一串口信号不为自身执行的命令时,发送所述第一串口信号给下一个设备。
示例性的,在一些实施例中,所述第二设备基于所述地址域确定所述第一串口信号为自身执行的命令,基于所述命令类型指示域确定所述第一串口信号为读命令时,获取所述第二设备的读数据,将所述读数据写入所述第一串口信号中的数据域中,生成所述第二串口信号;具体地,第二设备将读数据和第一串口信号的数据域逐比特做“或”操作得到第二串口信号的数据域。
所述第二设备基于所述地址域确定所述第一串口信号为自身执行的命令,基于所述命令类型指示域确定所述第一串口信号为写命令时,将所述第一串口信号的数据域中的写数据写入目标地址空间,将所述第一串口信号作为所述第二串口信号。具体地,所述地址域包括设备地址和设备内地址,第二设备通过设备地址确定第一串口信号是否为自身执行的命令。
所述第二串口信号包括:非数据域和数据域;其中,所述非数据域包括:开始位、地址域、命令类型指示域和数据长度域。也就是说,第一串口信号和第二串口信号格式相同,对于读命令第二设备会将读数据写入第一串口信号数据域,对于写命令第二设备不会对第一串口信号进行修改。
示例性的,在一些实施例中,所述第一设备将所述第一串口信号中第一非数据域和所述第二串口信号中第二非数据域进行匹配,相同时确定所述第一非数据域和所述第二非数据域校验成功;
所述第一设备基于所述命令类型指示域确定所述第一串口信号为写命令时,将所述第一串口信号中第一数据域和所述第二串口信号中第二数据域进行匹配,相同时确定所述第一数据域和所述第二数据域校验成功。
在一些实施例中,所述第一串口信号为读命令时,所述第一串口信号和所述第二串口信号还包括:数据校验域;所述第一设备基于所述第二串口信号中的数据校验域,校验所述第二串口信号的数据域。
也就是说,第一设备最终会接收发送出去的串口信号,第一设备可以在不添加校验码的情况下可以自我校验非读命令的数据域之外的所有域,即通过比较写命令所有域,以及读命令非数据域的是否相同,来实现自我校验。对于读命令的数据域,由于第二设备可以修改读命令数据域,第一设备无法进行自我校验,通过对读命令数据域增加校验码,从而实现读命令的所有域的数据传输校验。
步骤1004:通过所述第一设备接收所述第二串口信号,并基于所述第一串口信号对所述第二串口信号进行校验。
示例性的,在一些实施例中,所述多个设备中第三设备和第四设备之间的链路长度大于长度阈值时,所述第三设备和所述第四设备的链路上设置至少一级流水线寄存器。
示例性的,在一些实施例中,所述多个第二设备属于多个电源域,每个电源域包含至少一个第二设备;
第一电源域的第一串口信号输入端连接多路选择器的第一输入端,所述第一电源域的第一串口信号输出端连接所述多路选择器的第二输入端,所述多路选择器的控制端接收所述第一电源域的控制信号,所述多路选择器的输出端与第二电源域的第二串口信号输入端相连;
该方法还包括:控制所述第一电源域关闭时,控制所述多路选择器的输出端输出所述第一电源域的输入串口信号给所述第二电源域的第二串口信号输入端;
控制所述第一电源域关闭时,控制所述多路选择器的输出端输出所述第一电源域的输出串口信号给所述第二电源域的第二串口信号输入端。
采用上述技术方案,多个设备依次串联组成串行数据链路,在串行数据链路上增加或减少第二设备时,第一设备的输入输出走线数量不会随着第二设备的个数增加而增加,且走线资源占用较少,走线布局难度较小。另外,第一设备发送第一串口信号,第一串口信号被第二设备执行后,接收第二串口信号,在不需要添加校验码的情况下,第一设备利用第一串口信号对第二串口信号进行自校验。对于广播写命令可以让第一设备仅使用一条第一串口信号写入所有第二设备,对于设备的一些通用的配置,广播写命令可以节约时间和功耗。
为实现本申请实施例的方法,基于同一发明构思本申请实施例还提供了一种电子设备,如图11所示,该电子设备110包括:
数据传输系统1101,所述数据传输系统为本申请实施例提供的任意一种数据传输系统。所述电子设备可以为包含数据传输系统的芯片,或者为包括芯片和/或其他器件的电子设备,芯片和/或其他器件组成数据传输系统。
可选地,如图11所示,电子设备110还可以包括存储器1102。其中,数据传输系统1101可以从存储器1102中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器1102可以是独立于数据传输系统1101的一个单独的器件,也可以集成在数据传输系统1101中。
可选地,该电子设备110还可以包括输入接口1103。其中,数据传输系统1101可以控制该输入接口1103与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
可选地,该电子设备110还可以包括输出接口1104。其中,数据传输系统1101可以控制该输出接口1104与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
可选地,电子设备中各个组件通过总线系统耦合在一起。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
在示例性实施例中,本申请实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,计算机程序可由电子设备中的处理器执行,以完成前述方法的步骤。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的处理器,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由处理器实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的处理器,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由处理器实现的相应流程,为了简洁,在此不再赘述。
应当理解,在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本申请中表述“具有”、“可以具有”、“包括”和“包含”、或者“可以包括”和“可以包含”在本文中可以用于指示存在对应的特征(例如,诸如数值、功能、操作或组件等元素),但不排除附加特征的存在。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,不必用于描述特定的顺序或先后次序。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (11)

1.一种数据传输系统,其特征在于,所述数据传输系统包括多个设备,每个设备依次串联组成串行数据链路;所述方法包括:
所述多个设备中第一设备生成第一串口信号;
通过所述串行数据链路依次发送所述第一串口信号给多个第二设备;
所述第二设备解析所述第一串口信号,确定所述第一串口信号为自身执行的命令时,执行所述第一串口信号生成第二串口信号,发送所述第二串口信号给与所述第二设备相连的下一个设备;
所述第一设备接收所述第二串口信号,并基于所述第一串口信号对所述第二串口信号进行校验。
2.根据权利要求1所述的数据传输系统,其特征在于,所述第一串口信号包括:非数据域和数据域;所述第二串口信号包括:非数据域和数据域;
其中,所述非数据域包括:开始位、地址域、命令类型指示域和数据长度域。
3.根据权利要求2所述的数据传输系统,其特征在于,
所述第二设备基于所述地址域确定所述第一串口信号为自身执行的命令,基于所述命令类型指示域确定所述第一串口信号为读命令时,获取所述第二设备的读数据,将所述读数据写入所述第一串口信号中的数据域中,生成所述第二串口信号;
所述第二设备基于所述地址域确定所述第一串口信号为自身执行的命令,基于所述命令类型指示域确定所述第一串口信号为写命令时,将所述第一串口信号的数据域中的写数据写入目标地址空间,将所述第一串口信号作为所述第二串口信号。
4.根据权利要求2所述的数据传输系统,其特征在于,
所述第一设备将所述第一串口信号中第一非数据域和所述第二串口信号中第二非数据域进行匹配,相同时确定所述第一非数据域和所述第二非数据域校验成功;
所述第一设备基于所述命令类型指示域确定所述第一串口信号为写命令时,将所述第一串口信号中第一数据域和所述第二串口信号中第二数据域进行匹配,相同时确定所述第一数据域和所述第二数据域校验成功。
5.根据权利要求2所述的数据传输系统,其特征在于,所述第一串口信号为读命令时,所述第一串口信号和所述第二串口信号还包括:数据校验域;
所述第一设备基于所述第二串口信号中的数据校验域,校验所述第二串口信号的数据域。
6.根据权利要求1所述的数据传输系统,其特征在于,所述多个设备中第三设备和第四设备之间的链路长度大于长度阈值时,所述第三设备和所述第四设备的链路上设置至少一级流水线寄存器。
7.根据权利要求1-6任一项所述的数据传输系统,其特征在于,所述多个第二设备属于多个电源域,每个电源域包含至少一个第二设备;
第一电源域的第一串口信号输入端连接多路选择器的第一输入端,所述第一电源域的第一串口信号输出端连接所述多路选择器的第二输入端,所述多路选择器的控制端接收所述第一电源域的控制信号,所述多路选择器的输出端与第二电源域的第二串口信号输入端相连;
所述第一电源域关闭时,所述多路选择器的输出端输出所述第一电源域的输入串口信号给所述第二电源域的第二串口信号输入端;
所述第一电源域开启时,所述多路选择器的输出端输出所述第一电源域的输出串口信号给所述第二电源域的第二串口信号输入端。
8.根据权利要求1-6任一项所述的数据传输系统,其特征在于,
所述多个设备中每个设备依次串联组成串行时钟链路,所述第一设备通过所述串行时钟链路依次发送时钟信号给所述多个第二设备;
或者,所述数据传输系统还包括时钟源,所述时钟源分别连接所述多个设备,向所述多个设备发送时钟信号。
9.一种电子设备,其特征在于,所述电子设备包括权利要求1至7任一项所述的数据传输系统。
10.一种数据传输系统的控制方法,其特征在于,所述数据传输系统为权利要求1至8任一项所述的数据传输系统,所述方法包括:
通过多个设备中第一设备生成第一串口信号;
通过串行数据链路依次发送所述第一串口信号给多个第二设备;
通过所述第二设备解析所述第一串口信号,确定所述第一串口信号为自身执行的命令时,执行所述第一串口信号生成第二串口信号,发送所述第二串口信号给与所述第二设备相连的下一个设备;
通过所述第一设备接收所述第二串口信号,并基于所述第一串口信号对所述第二串口信号进行校验。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求10所述方法的步骤。
CN202210799932.1A 2022-07-06 2022-07-06 一种数据传输系统及其控制方法、电子设备、存储介质 Pending CN115168270A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210799932.1A CN115168270A (zh) 2022-07-06 2022-07-06 一种数据传输系统及其控制方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210799932.1A CN115168270A (zh) 2022-07-06 2022-07-06 一种数据传输系统及其控制方法、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN115168270A true CN115168270A (zh) 2022-10-11

Family

ID=83494012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210799932.1A Pending CN115168270A (zh) 2022-07-06 2022-07-06 一种数据传输系统及其控制方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN115168270A (zh)

Similar Documents

Publication Publication Date Title
EP1825382B1 (en) Low protocol, high speed serial transfer for intra-board or inter-board data communication
US7765368B2 (en) System, method and storage medium for providing a serialized memory interface with a bus repeater
US9798684B2 (en) Bus communications with multi-device messaging
US20190272252A1 (en) Method of processing deadlock of i2c bus, electronic device and communication system
US20150019936A1 (en) Error detection method and a system including one or more memory device
US20010014925A1 (en) Bus emulation apparatus
US20100122003A1 (en) Ring-based high speed bus interface
US10120590B2 (en) Method for providing read data flow control or error reporting using a read data strobe
US8806316B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
CN110765058A (zh) Gpio实现spi从机功能方法、系统、设备及介质
EP2359372A1 (en) Error detection method and a system including one or more memory devices
US11455926B2 (en) Drive control method and assembly, as well as display device
US9542251B2 (en) Error detection on a low pin count bus
CN100538675C (zh) 中心单元、存储器模块、存储器系统和对其读和写的方法
CN112148629A (zh) 用于在总线上寻址集成电路的方法和对应设备
CN110781130A (zh) 一种片上系统
CN109154925A (zh) 通信设备、通信方法、程序和通信系统
US8510485B2 (en) Low power digital interface
CN113722261A (zh) Spi扩展片选数目和增强读写响应时间灵活性的方法
CN115168270A (zh) 一种数据传输系统及其控制方法、电子设备、存储介质
KR20080013973A (ko) 통신 시스템의 적어도 2개의 가입자들 간의 통신을 위한방법
CN114690682A (zh) 串列周边接口spi系统和其数据传输方法
CN210270888U (zh) 一种单总线通信电路
US6952750B2 (en) Method and device for providing a low power embedded system bus architecture
CN117851306B (zh) 一种运行模式的确定方法、芯片、芯片模组及存储介质

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