[go: up one dir, main page]

CN114365103A - 菊花链模式进入序列 - Google Patents

菊花链模式进入序列 Download PDF

Info

Publication number
CN114365103A
CN114365103A CN202080059928.0A CN202080059928A CN114365103A CN 114365103 A CN114365103 A CN 114365103A CN 202080059928 A CN202080059928 A CN 202080059928A CN 114365103 A CN114365103 A CN 114365103A
Authority
CN
China
Prior art keywords
electronic device
chip select
daisy chain
port
data
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.)
Granted
Application number
CN202080059928.0A
Other languages
English (en)
Other versions
CN114365103B (zh
Inventor
V·奎凯姆波伊克斯
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN114365103A publication Critical patent/CN114365103A/zh
Application granted granted Critical
Publication of CN114365103B publication Critical patent/CN114365103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • 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
    • 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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

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)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

菊花链中的节点包括:串行数据输入端口,该串行数据输入端口被配置为从电子设备接收输入;串行数据输出端口,该串行数据输出端口被配置为向另一电子设备发送输出;芯片选择输入端口,该芯片选择输入端口被配置为从主控制单元接收输入;定时器;以及接口电路。该接口电路可以被配置为在菊花链模式中将在串行数据输入端口处接收到的数据复制到串行数据输出端口,并且在芯片选择输入端口上接收到芯片选择信号的改变边沿时,启动定时器。该接口电路可以被配置为在完成将由定时器确定的时间时进入菊花链模式。

Description

菊花链模式进入序列
优先权
本公开要求2019年8月29日提交的美国临时专利申请号62/893,209、2019年8月29日提交的美国临时专利申请号62/893,202和2019年8月29日提交的美国临时专利申请号62/893,216的优先权,它们的内容特此整体并入。
技术领域
本公开涉及微控制器之间的通信,并且更具体地涉及菊花链模式进入序列。
背景技术
微控制器单元(MCU)和其他电子设备以多种方式通信。然而,它们的通信端口数量受到限制,并且要连接的设备数量可能比端口数量大得多。优化MCU端口的使用的一种方式是菊花链配置,其中此类设备一个接一个地彼此连接,并且数据从一个设备传播到下一个设备。菊花链配置通常用于大型背板应用,并且与其中数据传输在此类设备之间并行的配置相比,可以减少所需的线的数量。菊花链配置使用n个端口,其中n是要在任何两个设备之间传送的数据的比特数。在串行通信诸如串行外围设备接口(SPI)的情况下,n可以是1。相反,其中并行配置可能需要m个端口,或m×n个端口,其中m是将数据彼此传送的设备的数量。如果设备上的端口数量有限,则菊花链配置可能有助于节约端口的使用。
菊花链配置可能需要便于在整个菊花链中从一个设备向另一个设备传输命令和数据的接口协议,并因此需要其中可以处理此命令和数据传输的菊花链模式。
本公开的实施方案的发明人已经发现,将给定设备置于菊花链模式可能干扰其他操作。这可能是由于设备在菊花链模式中利用接口协议操作的结果,该接口协议不一定能与当设备不处于菊花链模式时使用的正常或标准主协议互操作。另外,成功地将设备置于菊花链模式可以取决于在菊花链连接的设备中的数据或命令的适当传输。在此类数据或命令可能被损坏或以其他方式干扰的恶劣环境中,可能导致不当的配置。因此,本公开的实施方案的发明人已经发现,可能期望确保不意外地或由于恶劣的环境或噪声所导致的错误而进入菊花链模式。此外,本公开的实施方案的发明人已经发现,可能期望引起菊花链模式进入而不依赖于整个菊花链中的数据和命令传播。另外,本公开的实施方案的发明人已经发现,期望具有菊花链式设备的系统能够验证菊花链中的所有设备已成功进入菊花链模式。
在一些菊花链配置中,设备之间的连接可以基于电可擦除可编程只读存储器(EEPROM)、一次性编程(OTP)设置或外部引脚逻辑设置。然而,本公开的实施方案的发明人已经认识到,此类解决方案可能会消除在正常模式与菊花链模式之间切换的可能性,并且通常需要区分正常模式部件与菊花链模式部件。因此,可能期望在正常操作模式与菊花链模式之间切换,在正常操作模式中,每个给定设备包括与主设备通信的活动端口,在菊花链模式中,每个设备包括与菊花链上下紧接的设备通信的活动端口。本公开的实施方案的发明人已经发现可以解决这些问题中的一个或多个问题、实现多个设备的菊花链模式并且检查所有设备是否处于菊花链模式的解决方案。
发明内容
本公开的实施方案包含一种装置,诸如菊花链中的节点。所述装置可以包括串行数据输入端口,所述串行数据输入端口被配置为从所述菊花链中的电子设备接收输入。所述装置可以包括串行数据输出端口,所述串行数据输出端口被配置为将输出发送到所述菊花链中的另一电子设备。所述装置可以包括芯片选择输入端口,所述芯片选择输入端口被配置为从所述菊花链的主控制单元接收输入。所述装置可以包括定时器。所述装置可以包括接口电路,所述接口电路被配置为在菊花链模式中将在所述串行数据输入端口处接收到的数据复制到所述串行数据输出端口。所述接口电路可以被配置为在所述芯片选择输入端口上接收到芯片选择信号的改变边沿时启动所述定时器。所述芯片选择信号的所述改变边沿可以从第一逻辑电平到第二逻辑电平。所述接口电路可以被配置为在完成将由所述定时器确定的时间时进入所述菊花链模式。
本公开的实施方案可以包括在电子设备的菊花链中的装置,诸如主控制单元。所述装置可以包括串行数据输出端口,所述串行数据输出端口被配置为将输出数据发送到所述菊花链的电子设备。所述装置可以包括串行数据输入端口,所述串行数据输入端口被配置为从所述菊花链的另一电子设备接收输入数据。所述装置可以包括芯片选择输出端口,所述芯片选择输出端口被配置为向连接在所述菊花链中的电子设备(包括所述电子设备和其他电子设备)发送输出。所述装置可以包括接口电路,所述接口电路被配置为确定将多个电子设备设置成菊花链模式。每个电子设备可以被配置为将来自所述菊花链中的先前电子设备的接收数据传播到所述菊花链中的后续电子设备。所述接口电路可以被配置为基于将所述多个电子设备设置成所述菊花链模式的所述确定,在所述芯片选择输出端口上发出芯片选择信号上的改变边沿,其中所述芯片选择信号的所述改变边沿从第一逻辑电平到第二逻辑电平。所述接口电路可以被配置为基于将所述多个电子设备设置成所述菊花链模式的所述确定,通过所述串行数据输出端口向所述电子设备发送要用在命令中的输出数据。
本公开的实施方案可包括方法。所述方法可以用于电子设备的菊花链中的节点。所述方法可以包括通过串行数据输入端口从电子设备接收输入。所述方法可以包括通过串行数据输出端口向另一电子设备发送输出。所述方法可以包括通过芯片选择输入端口从主控制单元接收输入。所述方法可以包括在菊花链模式中将在所述串行数据输入端口处接收到的数据复制到所述串行数据输出端口。所述方法可以包括在所述芯片选择输入端口上接收到芯片选择信号的第一改变边沿时,启动定时器,其中所述芯片选择信号的所述改变边沿从第一逻辑电平到第二逻辑电平。所述方法可以包括在完成将由所述定时器确定的时间时进入所述菊花链模式。
本公开的实施方案可包括方法。所述方法可以用于电子设备的菊花链中的主控制单元。所述方法可以包括通过串行数据输出端口将输出数据发送到所述菊花链的电子设备。所述方法可以包括通过串行数据输入端口从所述菊花链中的另一电子设备接收输入数据。所述方法可以包括通过芯片选择输出端口向连接在菊花链中的所述电子设备发送输出。所述方法可以包括确定将所述电子设备设置成菊花链模式,其中每个电子设备被配置为将来自所述菊花链中的先前电子设备的接收数据传播到所述菊花链中的后续电子设备。所述方法可以包括基于将所述电子设备设置成所述菊花链模式的所述确定,在所述芯片选择输出端口上发出芯片选择信号上的改变边沿。所述芯片选择信号的所述改变边沿从第一逻辑电平到第二逻辑电平。所述方法可以包括基于将所述电子设备设置成所述菊花链模式的所述确定,通过所述串行数据输出端口向所述电子设备发送要用在命令中的输出数据。
附图说明
图1是根据本公开的实施方案的具有菊花链式电子设备的系统的图示。
图2是根据本公开的实施方案的主控制单元和电子设备的更详细的图示。
图3是根据本公开的实施方案的进入菊花链模式的时序图的图示。
图4是根据本公开的实施方案的用于菊花链模式进入的方法的操作的图示。
图5是根据本公开的实施方案的电子设备的多个实例进入菊花链模式的时序图的图示。
图6是根据本公开的实施方案的用于主控制单元的菊花链模式进入和命令执行的方法的操作的图示。
具体实施方式
本公开的实施方案可以包括系统。该系统可以包括以菊花链方式彼此连接的电子设备。该电子设备可以包括主电子设备或主控制单元以及任何合适数量的其他电子设备。电子设备和主控制单元可以以相同的方式或以不同的方式实施。电子设备和主控制单元可以各自包括接口电路。该接口电路可以模拟电路、数字电路或由处理器执行的指令的任何合适的组合实施。接口电路可以处理电子设备与主控制单元之间的通信。主控制单元可以以任何合适的方式连接到每个电子设备。例如,主控制单元可以经由时钟信号连接而连接到每个电子设备。主控制单元可以经由芯片选择信号连接而连接到每个电子设备。主控制单元可以通过主控制单元的串行数据输出端口和第一电子设备的串行数据输入端口连接到菊花链中的第一电子设备。菊花链的给定电子设备可以通过给定电子设备的串行数据输出端口和另一电子设备的串行数据输入端口连接到菊花链的另一电子设备。主控制单元可以通过主控制单元中的串行数据输入端口和电子设备中的串行数据输出端口连接到菊花链中的最后一个电子设备。
结合上述实施方案中的任一个,实施方案可以包括装置,诸如菊花链中的电子设备。电子设备可以包括串行数据输入端口,该串行数据输入端口被配置为从第一其他电子设备或主控制单元接收输入。电子设备可以包括串行数据输出端口,该串行数据输出端口被配置为向第二其他电子设备发送输出。电子设备可以包括芯片选择输入端口,该芯片选择输入端口被配置为从电子设备诸如主控制单元接收输入。
电子设备可以包括定时器。电子设备可以包括接口电路,该接口电路被配置为在菊花链模式中将在串行数据输入端口处接收到的数据复制到串行数据输出端口。接口电路可以被配置为在芯片选择输入端口上接收到芯片选择信号的第一改变边沿时启动定时器。芯片选择信号的第一改变边沿可以从第一逻辑电平到第二逻辑电平。接口电路可以被配置为在完成将由定时器确定的时间时,使电子设备进入菊花链模式。结合上述实施方案中的任一个,接口电路可以被进一步配置为在时间完成前基于芯片选择信号的第二改变边沿停止定时器并且不进入菊花链模式。结合上述实施方案中的任一个,接口电路可以被进一步配置为在时间完成前基于改变的时钟输入停止定时器并且不进入菊花链模式。
结合上述实施方案中的任一个,接口电路可以被进一步配置为至少基于在芯片选择输入端口上接收到芯片选择信号的第二改变边沿来退出菊花链模式,其中芯片选择信号的第二改变边沿从第二逻辑电平到第一逻辑电平。
结合上述实施方案中的任一个,定时器可以被配置为至少基于在芯片选择输入端口上接收到芯片选择信号的第二改变边沿而停止,其中芯片选择信号的第二改变边沿从第二逻辑电平到第一逻辑电平。
结合上述实施方案中的任一个,接口电路可以被进一步配置为在芯片选择输入端口上接收到芯片选择信号的第一改变边沿之后且在定时器已经确定要确定的时间之前将默认值输出到串行数据输出端口。结合上述实施方案中的任一个,电子设备可以进一步包括被配置为接收共享时钟信号的共享时钟输入端口。接口电路可被进一步配置为基于确定共享时钟信号在启用和运行定时器时未改变,而进入菊花链模式。结合上述实施方案中的任一个,接口电路可以被进一步配置为在芯片选择输入端口上接收到芯片选择信号的第二改变边沿时退出菊花链模式并进入正常模式,其中芯片选择信号的第二改变边沿从第二逻辑电平到第一逻辑电平。结合上述实施方案中的任一个,接口电路可以被进一步配置为在退出菊花链模式之后在正常模式中,向串行数据输出端口施加高阻抗。
结合上述实施方案中的任一个,主控制单元可以被配置为向电子设备发出命令和与命令相关联的数据。当处于菊花链模式时,电子设备通常可以将在其串行数据输入端口上接收到的信息传播到其串行数据输出端口。主控制单元可以包括:串行数据输出端口,该串行数据输出端口被配置为将输出数据发送到菊花链的顶部的第一电子设备;串行数据输入端口,该串行数据输入端口被配置为从菊花链的末端的第二电子设备接收输入数据;和芯片选择输出端口,该芯片选择输出端口被配置为向电子设备发送输出;以及接口电路。该接口电路可以被配置为确定将多个电子设备设置成菊花链模式,其中每个电子设备被配置为将来自菊花链中的先前电子设备的接收数据传播到菊花链中的后续电子设备。接口电路可以被配置为基于将菊花链中的电子设备设置成菊花链模式的确定,在芯片选择输出端口上发出芯片选择信号上的第一改变边沿。芯片选择信号的第一改变边沿可以从第一逻辑电平到第二逻辑电平。接口电路可以被配置为基于将多个电子设备设置成菊花链模式的确定,通过串行数据输出端口向第一电子设备发送要用在命令中的输出数据。结合上述实施方案中的任一个,接口电路可以被配置为确定通过串行数据输入端口从第二电子设备接收到的输入数据是否匹配预期数据。该预期数据可以基于输出数据。接口电路可以被配置为基于确定输入数据匹配预期数据,确定菊花链正确工作。否则,接口电路可以被配置为确定菊花链不正确工作并且采取任何合适的校正动作。
结合上述实施方案中的任一个,接口电路可以被配置为基于确定菊花链不正确工作,在芯片选择输出端口上发出芯片选择信号上的第二改变边沿。芯片选择信号的第二改变边沿可以从第二逻辑电平到第一逻辑电平。结合上述实施方案中的任一个,接口电路可以被配置为在发出第二改变边沿之后,在芯片选择输出端口上发出芯片选择信号上的第三改变边沿。芯片选择信号的第三改变边沿可以从第一逻辑电平到第二逻辑电平。结合上述实施方案中的任一个,接口电路可以被配置为在发出第三改变边沿之后,通过串行数据输出端口向第一电子设备重新发送要用在命令中的输出数据。结合上述实施方案中的任一个,装置可包括定时器。结合上述实施方案中的任一个,接口电路可以被配置为基于将电子设备设置成菊花链模式的确定来启动定时器。结合上述实施方案中的任一个,接口电路可以被配置为当定时器到时,执行对通过串行数据输入端口从第二电子设备接收到的输入数据是否匹配预期数据的确定。
结合上述实施方案中的任一个,接口电路可以被配置为确定将电子设备设置成正常模式并使电子设备退出菊花链模式。结合上述实施方案中的任一个,接口电路可以被配置为基于将电子设备设置成正常模式并退出菊花链模式的确定,在芯片选择输出端口上发出芯片选择信号上的第二改变边沿,其中芯片选择信号的第二改变边沿从第二电平到第一逻辑电平。
结合上述实施方案中的任一个,接口电路可以被配置为在芯片选择输入端口上接收到芯片选择信号的第一改变边沿之后且在定时器到时之前将默认值(诸如0)输出到串行数据输出端口。
图1是根据本公开的实施方案的具有菊花链式电子设备的系统100的图示。任何合适的电子设备都可以是菊花链式的。例如,微控制器单元(MCU)101可以是系统100中的主节点或头节点。又如,附加的电子设备102A、102B、102C可以是系统100中的从属节点或子节点。可以使用任何合适数量和类型的电子设备。例如,在一些实现方式中,256个不同的电子设备可以在系统100中为菊花链式的。系统100的电子设备(诸如MCU 101和电子设备102)可以以相同的方式或各自以不同的方式实施。
系统100可以在任何合适的环境中实施。例如,系统100可以在数据传感器阵列、车辆、控制系统、工业自动化、家庭自动化、工厂、测试和验证系统或任何其他合适的应用中实施。系统100可以被配置为经由菊花链式串行接口读取或写入数据,以便在此类情况下完成或促进任何合适的任务。
MCU 101可以包括输入和输出,包括主从输出(MISO),其被配置为从系统100的菊花链末端接收数据,诸如电子设备102C的输出。MISO可以通过MISO端口接收。MISO端口可以是被配置为从其他电子设备接收输入的串行数据输入端口。MCU 101可以包括用于主输出从输入(MOSI)的输出。MOSI可以通过MOSI端口发送。MOSI端口可以是被配置为向其他电子设备发送输出的串行数据输出端口。例如,MCU 101可以被配置为通过MOSI端口将数据发送到系统100的菊花链的第一从属电子设备,诸如到电子设备102A的输入。MCU 101可以包括用于共享时钟(SCK)的端口或引脚,该端口或引脚可以用作共享时钟输出端口以发送用于传输定时的共享时钟信号。MCU 101可以被配置为生成SCK,并且其可以被路由到其他电子设备102中的每一个。MCU 101可以包括用于芯片选择(CS)信号的端口或引脚,该端口或引脚可用于传送如下所讨论的各种信息。CS端口可以是芯片选择输出端口,其被配置为将输入从诸如MCU 101的主设备发送到电子设备102。MCU 101可以被配置为生成CS信号,并且其可以被路由到其他电子设备102中的每一个。CS信号可以根据CS信号的反向或逻辑负版本(表示为nCS)来表现或评估。MCU 101或电子设备102中的任一个可以被配置为生成CS/nCS信号,并且CS/nCS信号可以被路由到其他电子设备102中的每一个和MCU 101。
电子设备102可以各自包括串行数据输入(SDI)端口或引脚,该端口或引脚被配置为从MCU 101或另一个电子设备102接收数据输入。SDI端口可以是被配置为从其他电子设备接收输入的串行数据输入端口。电子设备102可以各自包括串行数据输出(SDO)端口或引脚,该端口或引脚被配置为将数据输出发送到MCU 101或另一个电子设备102。SDO端口可以是被配置为向其他电子设备发送输出的串行数据输出端口。电子设备102可以包括用于接收SCK信号的共享时钟输入端口和用于接收CS或nCS信号的芯片选择输入端口。电子设备102和MCU 102可以进一步包括其他合适数量和种类的端口。
MCU 101和电子设备102可以使用任何合适的通信协议,诸如SPI。MCU 101可以被配置为向电子设备102发出命令或数据。可以通过MCU 101的MOSI端口将此类命令串行发布到电子设备102A的SDI端口,该SDI端口又可以通过电子设备102A的SDO端口向电子设备102B的SDI端口串行地将命令或数据传播到诸如电子设备102B的其他电子设备上。命令的宽度可以指定要使用多少个数据串行脉冲来表示该命令。进而,电子设备102B可以通过电子设备102B的SDO端口向电子设备102C的SDI端口串行地将命令或数据传播到诸如电子设备102C的其他电子设备上。进而,电子设备102C可以通过电子设备102C的SDO端口向MCU101的MISO端口串行地将命令或数据传播到诸如另一电子设备的其他电子设备(未示出)或MCU 101上。
命令可以是例如读取或写入数据。要读取的数据和数据源可以由命令指定。每个电子设备102可以监视其SDI端口的从其他电子设备102或MCU 101(以菊花链向上连接的为准)读取的数据,并且通过其SDO端口传播从其他电子设备102或MCU 101读取的此类数据。此外,每个电子设备可以执行指定的读取命令,然后通过其SDO端口发送数据,而将其数据添加到其他电子设备102或MCU 101的数据中。
要写入的数据和数据的目的地可以由命令指定。MCU 101可以将要写入的数据发送到菊花链中的电子设备102的第一实例。每个电子设备102可以监视其SDI端口的从其他电子设备102或MCU 101(以菊花链向上连接的为准)接收的数据,并且通过其SDO端口传播来自其他电子设备102的此类数据。此类数据可以是要写入的数据。每个电子设备102可以写入数据。
在电子设备102中执行菊花链模式活动可能干扰电子设备102的其他操作。此外,电子设备102之间的数据传播不需要一直执行,即使此类数据在不需要时可以被忽略。因此,电子设备102可以被配置为选择性地进入菊花链模式或正常模式。在菊花链模式中,每个电子设备102可以将其SDI处的接收数据传播到其SDO。此外,在菊花链模式中,每个电子设备102可以进一步执行数据的读取并将其添加到其SDI处的接收数据中以传播到其SDO,或者根据如上所讨论的各种命令用其SDI处的接收数据执行数据的写入。
给定电子设备102可以基于任何合适的信号或命令进入菊花链模式或退出菊花链模式。此类信号或命令可以由MCU 101提供。MCU 101可以基于任何合适的条件或标准来确定将电子设备102设置成菊花链模式,诸如每个电子设备102要向其存储器写入给定值的条件,或者每个电子设备102要从其中的部件或存储器向MCU 101提供数据的条件。
在一个实施方案中,给定电子设备102可以在接收到信号然后在未从MCU 101接收到共享时钟信号脉冲的特定时间量期满之后进入菊花链模式。这种共享时钟信号可以是SCK。电子设备102可以包括其自身的时钟、定时器或任何其他合适的机构,以确定其未从MCU 101接收到共享时钟信号脉冲的时间。电子设备102可以被配置为观测共享时钟信号保持较高、保持较低或者保持较高或较低而不转变的时间量。在另一个实施方案中,开始计时所基于的信号可以是给定电子设备102的CS端口上的CS或nCS信号的改变边沿。CS或nCS信号的改变边沿可以从一个逻辑电平到另一个逻辑电平。可以使用任何合适数量和种类的逻辑电平,诸如逻辑低或0和逻辑高或1,例如由0V和3.3V物理实施。给定电子设备102基于CS或nCS信号的改变边沿随后是没有SCK信号的改变边沿的特定时间量的进入可以构成给定电子设备102的菊花链进入序列。
特定量的持续时间可以由例如定时器设置。定时器可以基于任何合适的信号或命令来启动。例如,可以在电子设备102上的CS端口上检测到CS或nCS信号的改变边沿之后启动定时器。在另外的实施方案中,基于提供给电子设备102的给定实例的任何适当的改变信号,定时器可以被中断,而不触发进入菊花链模式。例如,基于在电子设备102的SCK端口上的信号的改变边沿,或者在其CS端口上的CS或nCS信号的另一改变边沿,定时器可以被中断,而不触发进入菊花链模式。在其CS端口上的CS或nCS信号的这种另一改变边沿可以包括在其CS端口上的nCS信号上的上升边沿。CS或nCS信号或SCK信号的这种另一改变边沿可以表示MCU 101发出取消所尝试的菊花链模式进入。
因此,基于将电子设备102设置成菊花链模式的确定,MCU 101可以向电子设备的CS端口发出CS或nCS信号的改变边沿。此外,基于将电子设备102设置成菊花链模式的确定,MCU 101可以通过其MOSI向菊花链中的第一电子设备102的SDI输入发送输出命令和数据。
在一个实施方案中,给定电子设备102可以基于任何合适的条件以及使用任何合适的机构来退出菊花链模式。这可以包括例如由MCU 101发出的重置命令。又如,给定电子设备102可以基于其CS端口上的CS或nCS信号的另一改变边沿来退出菊花链模式,该改变边沿可以包括在其CS端口上的nCS信号上的上升边沿。又如,退出可以在位于每个电子设备102中的定时器到时之后执行。
图2是根据本公开的实施方案的MCU 101和电子设备102的更详细的图示。
MCU 101可包括通信地耦接到存储器206的处理器205。处理器205可以包括任何合适的处理器,并且存储器206可以是任何合适的持久性或非持久性存储器。未示出由MCU101用来执行MCU 101被设计成执行的任何其他任务的任何合适数量和种类的外围设备或辅助电路,诸如模数转换器(ADC)或寄存器。此外,处理器205可以被配置为加载和执行存储在存储器206中的指令,以便执行任何合适的任务。
电子设备102可以包括通信地耦接到存储器208的处理器207。处理器207可以包括任何合适的处理器,并且存储器208可以是任何合适的持久性或非持久性存储器。未示出由电子设备102用来执行电子设备102被设计成执行的任何其他任务的任何合适数量和种类的外围设备或辅助电路,诸如ADC或寄存器。此外,处理器207可以被配置为加载和执行存储在存储器208中的指令,以便执行任何合适的任务。
MCU 101和电子设备102可以各自包括相应的SPI接口电路202、204。SPI接口电路202、204可由模拟电路、数字电路、逻辑、用于由处理器(分别诸如为处理器205、207)执行的指令或其任何合适的组合来实施。SPI接口电路202、204的具体实现方式可以相对于彼此相同或不同。在一个实施方案中,SPI接口电路202、204可以以相同的方式实施并且被配置为基于例如寄存器或系统或用户设置而不同地操作。SPI接口电路202可以被配置为出于诸如MCU 101的主节点的目的而操作,并且SPI接口电路204可以被配置为出于诸如电子设备102的电子设备的目的而操作。
在MCU 101中,SPI接口电路202可以被配置为生成到SCK和CS端口的输出。SPI接口电路202可以被配置为生成输出以通过其MOSI端口将命令或数据发送到电子设备102。SPI接口电路202可以被配置为通过其MISO端口接收数据。SPI接口电路202可以被配置为生成到SCK和CS端口的输出,以指示电子设备102进入或退出菊花链模式。
在电子设备102中,SPI接口电路204可以被配置为监视来自电子设备102的SCK和CS端口的输入。在一个实施方案中,SPI接口电路204可以被配置为监视CS端口的是进入还是退出菊花链模式的指示。另外,当处于菊花链模式时,SPI接口电路204可以被配置为监视来自SDI端口的输入以便将数据传播到SDO端口。此类数据也可以由SPI接口电路204写入,这取决于是否已经接收到写入命令。此外,当执行读取命令时,SPI接口电路204可以被配置为从指定源读取数据并通过SDO端口提供其自身的数据。
在一个实施方案中,SPI接口电路204可以被配置为监视输入以进入一个或多个菊花链模式,其中电子设备102被配置为通过其SDO端口上的输出作为读取或写入命令的一部分来传播通过其SDI端口接收到的数据。如上所讨论,SPI接口电路202可以监视CS端口的nCS下降边沿以进入菊花链模式。此外,SPI接口电路204可以被配置为在CS端口上检测到nCS下降边沿信号后等待一段指定的时间,然后进入菊花链模式。
在另一个实施方案中,SPI接口电路204可以被配置为监视输入以确定是否返回到正常操作模式,其中电子设备102执行其定期调度的任务。如上所讨论,SPI接口电路204可以监视任何合适的指示以返回到正常操作模式。
电子设备102可以包括与SPI接口电路204的操作一起使用的任何合适数量和种类的机构。例如,SPI接口电路204可以利用看门狗定时器203。看门狗定时器203可以由数字电路、模拟电路和逻辑的任何合适的组合或其任何组合来实施。例如,看门狗定时器203可以被实施为下述定时器,该定时器从设定值开始对每个时钟周期进行倒计时,并且生成时钟周期数目(并因此而言时间)已经过去的警报、信号或其他指示符。看门狗定时器203可以被实施为下述定时器,该定时器从0到设定值对每个时钟周期进行计数,并且生成时钟周期数目(并因此而言时间)已经过去的警报、信号或其他指示符。看门狗定时器203可以被实施为下述定时器,该定时器计数直到翻转事件,并因此周期性地生成特定时间量已经过去的警报、信号或其他指示符。看门狗定时器203可以通过以下方式实施:使用来自电容器的已知放电速率比较带电电容器的放电,并且将电容器的电荷与阈值进行比较。此外,看门狗定时器203可以被实施为不需要接收CS或SCK信号的定时器。尽管与SPI接口电路204分开示出,但是看门狗定时器203可以并入SPI接口电路204内。SPI接口电路204可以被配置为在CS端口上检测到nCS上升边沿信号时设置看门狗定时器203,并且检测看门狗定时器203是否以及何时到期。在看门狗定时器203中设置的值可以是电子设备103在CS端口上检测到nCS上升边沿信号而未接收到SCK时钟改变边沿或额外的nCS改变边沿之后在进入菊花链模式之前将等待的时间段。这样的时间段可以作为TWatch给出。如果在看门狗定时器203到期之前检测到SCK端口上的改变边沿或CS端口上的nCS信号的上升边沿,则SPI接口电路204可以被配置为返回到正常模式。SCK或CS信号的路由可以直接提供给看门狗定时器203或通过SPI接口电路204提供给该看门狗定时器。
MCU 101可以包括与SPI接口电路202的操作一起使用的任何合适数量和种类的机构。例如,SPI接口电路202可以利用看门狗定时器201。看门狗定时器201可以通过数字电路、模拟电路和逻辑的任何合适的组合来实施,诸如从设定值开始对每个时钟周期进行倒计时并且生成时钟周期数目(并因此而言时间)已经过去的警报、信号或其他指示符的定时器。尽管与SPI接口电路202分开示出,但是看门狗定时器201可以并入SPI接口电路202内。SPI接口电路202可以被配置为在向电子设备102发出命令或CS信号时设置看门狗定时器201。在看门狗定时器201中设置的值可以是MCU 101在发出命令或CS信号之后将等待以采取进一步动作或者验证命令或CS信号被正确接收的时间段。这样的时间段可以作为TMaster给出。SCK或CS信号的路由可以直接提供给看门狗定时器201或通过SPI接口电路202提供给该看门狗定时器。
SPI接口电路204可以被配置为在菊花链模式中将在SDI端口处接收到的数据复制到SDO端口。SPI接口电路204可以被配置为在CS端口上接收到第一改变边沿时启动看门狗定时器203。SPI接口电路204可以被配置为在完成将由看门狗定时器203确定的时间时,使电子设备102进入菊花链模式。SPI接口电路204可以被配置为在时间完成之前基于CS端口的第二改变边沿停止看门狗定时器203并且不进入菊花链模式。SPI接口电路204可以被配置为在时间完成之前基于SCK端口上的改变时钟输入停止看门狗定时器203并且不进入菊花链模式。
SPI接口电路204可以被配置为至少基于在CS端口上接收到芯片选择信号的第二改变边沿来进入菊花链模式,其中第二改变边沿从第二逻辑电平到第一逻辑电平。SPI接口电路204可以被配置为至少基于在芯片选择输入端口上接收到芯片选择信号的第二改变边沿来停止看门狗定时器203,其中芯片选择信号的第二改变边沿从第二逻辑电平到第一逻辑电平。SPI接口电路204可以被配置为在CS端口上接收到第一改变边沿之后且在看门狗定时器203完成确定要确定的时间之前将默认值输出到SDO端口。SPI接口电路204可以被配置为基于确定SCK端口信号在启用和运行看门狗定时器203时未改变而进入菊花链模式。SPI接口电路204可以被配置为在CS端口上接收到第二改变边沿时使电子设备102退出菊花链模式并进入正常模式。SPI接口电路204可以被配置为在退出菊花链模式之后在正常模式中,向SDO端口施加高阻抗。
MCU 101可以被配置为向电子设备102发出命令和与命令相关联的数据。当处于菊花链模式时,电子设备102通常可以将在其SDI端口上接收到的信息传播到其SDO端口。SPI接口电路202可以被配置为确定将电子设备102设置成菊花链模式,其中每个电子设备102被配置为将来自菊花链中的先前电子设备102的接收数据传播到菊花链中的后续电子设备102。SPI接口电路202可以被配置为基于将菊花链中的电子设备102设置成菊花链模式的确定来向电子设备102发出其CS端口上的第一改变边沿。芯片选择信号的第一改变边沿可以从第一逻辑电平到第二逻辑电平。SPI接口电路202可以被配置为基于将电子设备102设置成菊花链模式的确定,通过MOSI端口向菊花链的第一电子设备102发送要在命令中使用的输出数据。SPI接口电路202可以被配置为确定通过MISO端口从菊花链的最后一个电子设备102接收到的输入数据是否匹配预期数据。该预期数据可以基于输出数据。SPI接口电路202可以被配置为基于确定输入数据匹配预期数据,确定菊花链正确工作。否则,SPI接口电路202可以被配置为确定菊花链不正确工作并且采取任何合适的校正动作。
结合上述实施方案中的任一个,SPI接口电路202可以被配置为基于确定菊花链不正确工作,在CS端口上向电子设备102发出第二改变边沿。芯片选择信号的第二改变边沿可以从第二逻辑电平到第一逻辑电平。SPI接口电路202可以被配置为在发出第二改变边沿之后,在CS端口上发出第三改变边沿。该第三改变边沿可以从第一逻辑电平到第二逻辑电平。SPI接口电路202可以被配置为在发出第三改变边沿之后,通过MOSI端口向菊花链的第一电子设备102重新发送要在命令中使用的输出数据。SPI接口电路202可以被配置为基于将电子设备102设置成菊花链模式的确定启动看门狗定时器201。SPI接口电路202可以被配置为当看门狗定时器201到时,执行对通过MISO端口从菊花链的末端的第二电子设备102接收到的输入数据是否匹配预期数据的确定。如果预期数据与接收到的数据不匹配,则SPI接口电路202可以被配置为采取任何合适的校正动作。
SPI接口电路202可以被配置为确定将电子设备设置成正常模式并使电子设备退出菊花链模式。SPI接口电路202可以被配置为基于将电子设备102设置成正常模式并退出菊花链模式的确定,在CS端口上发出第二改变边沿,其中该第二改变边沿从第二电平到第一逻辑电平。SPI接口电路202可以被配置为在CS端口上发送第一改变边沿之后且在看门狗定时器201到时之前将默认值(诸如0)输出到MOSI端口。
图3是根据本公开的实施方案的进入菊花链模式的时序图的图示。图3的图示可以描绘电子设备102(诸如电子设备102A)的实例的这种进入。
图表302示出了由电子设备102接收的nCS信号的曲线图。nCS信号最初可以是高(逻辑1)。nCS信号的下降边沿可由MCU 101发出,其中nCS信号转变为低值(逻辑0)。这可以在电子设备102处检测到。这可以由电子设备102发起确定是否进入菊花链模式的过程。随后,nCS信号的上升边沿可由MCU 101发出并且在每个电子设备102处检测到。基于nCS信号的下降边沿,可以设置看门狗定时器203。
图表304示出了由MCU 101发出并在每个电子设备102处检测到的SCK信号的曲线图。在图3的示例中,SCK信号可以保持恒定,无论逻辑高还是低。通过SCK信号保持不变,电子设备102可以被配置为在限定的时间延迟或时段到期之后进入菊花链模式。不变的SCK信号的默认值可以是0或1。
图表306示出了在电子设备102的SDI端口上接收到的信号的曲线图。SDI端口上的信号的值可由MCU 101提供,或者由电子设备102的菊花链中紧靠上链位置的电子设备102的另一个实例提供。图3的简单示例中的SDI的恒定高值可以表示要写入的“1”。电子设备102可以将“1”写入指定区域(如果假定有写入命令)并且通过其SDO端口将“1”传播到电子设备102的其他实例,下文将更详细地描述。
图表308示出了写入电子设备102的SDO端口的输出信号的曲线图。在检测到nCS的下降边沿之前,并且在检测到nCS的上升边沿之后,可由电子设备102在其SDO端口上输出高阻抗值,在图3中由“Hi-Z”表示。该高阻抗值可以发信号通知SDO端口不被保持在特定值。此外,在检测到nCS的下降边沿时,可由电子设备102在其SDO端口上输出默认值。这种默认值可以是例如0。该默认值可以由电子设备102在其SDO端口上继续输出,直到电子设备102中的看门狗定时器203到期。如上所讨论,由看门狗定时器203计数的时段可以作为TWatch给出。在看门狗定时器203到期时,经过TWatch的持续时间后,电子设备102可以进入菊花链模式。此后,电子设备102可以将在其SDI端口上接收的值输出到其SDO端口。这可以是逻辑“1”。TWatch可以具有任何合适的持续时间。TWatch通常可以比SCK时钟周期的给定时段长得多。因此,当电子设备102处于正常操作模式时,在单个SCK信号周期期间缺乏SCK信号的改变边沿将不会触发TWatch的到期并错误地结束正常操作模式。SCK信号可以具有例如20MHz的频率,对应于50ns的时段。TWatch可以是例如SCK信号时段的1,000倍,诸如50微秒。TWatch相对于SCK信号的时段越长,相对于正常操作模式可能发生的扰动越小。相反,TWatch的选择可以限制SCK信号可能的缓慢程度,因为TWatch的相似值和SCK信号的时段可能会导致这种扰动。
图表310说明电子设备102是否处于菊花链模式。因此,基于nCS的下降边沿,电子设备102不处于菊花链模式。然而,在看门狗定时器203到期之后,电子设备102可能处于菊花链模式。
在菊花链结束时,MCU 101可以接收由SDO发送回MCU 101的MISO端口的数据。MCU101可以通过以下方式来验证链中的适当传输:读取返回的数据,并验证已接收到所传输的相同值。因为每个电子设备102一旦在该设备被置于菊花链模式就将信号从其SDI端口复制到其SDO端口,所以当所有电子设备102已经被设置成菊花链模式时,MCU 101的MISO端口上的信号可以转变为逻辑高。到达此点的持续时间可以是来自相应电子设备102的所有Twatch值的最大值。通过在所有电子设备102已经被设置成菊花链模式时检测到逻辑高的转变,MCU 101可以被配置为识别所有电子设备102被适当地配置为用于菊花链模式。此识别可以具有在没有使用时钟接口的适当比特传输的情况下执行的优点,因为SCK在此菊花链模式进入序列期间是空闲的。
图4是根据本公开的实施方案的用于菊花链模式进入的方法400的操作的图示。具体地,方法400可以说明电子设备102作为从属节点的操作。方法400可以在例如SPI接口电路204内实施。方法400可以包括更少或更多的状态,可以以不同的顺序进入状态,重复状态,或者相对于彼此并行地进入不同的状态路径。方法400可以通过例如SPI接口电路204中的状态机来实施。方法400可在任何合适的步骤诸如步骤405处开始。
在步骤405处,电子设备(诸如电子设备102)可以上电。在执行任何必要的引导或启动任务之后,方法400可以进入步骤410。当电子设备200不将其SDI端口上的输入以菊花链方式传播到其SDO端口上的输出时,步骤410可以反映电子设备102的正常操作。SPI接口电路204可以在nCS信号保持逻辑高的同时向其SDO端口施加高阻抗,这意味着电子设备102未被选择用于菊花模式配置。相同的SDO端口可以由电子设备102的其他部分用于通信或任何其他合适的目的。
在步骤415处,SPI接口电路204可以被配置为确定nCS端口是否具有改变边沿,诸如下降边沿。如果是,则方法400可前进至步骤420。否则,方法400可以返回到步骤410以继续以正常模式操作,直到观察到nCS端口上的这种改变边沿。
在步骤420处,可以启动或以其他方式设置看门狗定时器,诸如看门狗定时器203。看门狗定时器203可以被配置为在TWatch的时段之后到期。电子设备102的SDO端口上的输出可以被设置成默认值,诸如低逻辑值。然后,方法400可前进至步骤425。
在步骤425处,可以确定是否已经在nCS或SCK端口上的信号上观察到改变边沿。该改变边沿可以包括nCS端口上的上升边沿信号或SCK端口上的任何时钟脉冲。SCK端口上或nCS端口上的任何上升或下降边沿可以指示MCU 101正切换到正常操作模式,并且菊花链模式被中止。如果已经观察到这种改变边沿,则方法400可以返回到步骤410并停止等待看门狗定时器203的到期。否则,方法400可前进至步骤430。
在步骤430处,可以确定看门狗定时器203是否已经到期,其中已经经过了由在步骤420中设置的时段TWatch定义的持续时间。如果是,则方法400可前进至步骤435。否则,方法400可返回到步骤425。在步骤435处,电子设备可以设置成菊花链模式,并且此后以菊花链模式操作。电子设备可以将其SDI端口上的信号复制到其SDO端口。
在步骤440处,可以确定nCS端口上是否存在改变边沿,诸如上升边沿信号。如果是,则在一个实施方案中,方法400可前进至步骤445。在这样的实施方案中,nCS改变信号可以引起菊花链模式操作的暂停,诸如将在SDI端口上接收到的数据输出到SDO端口。否则,方法400可返回到步骤435。
在步骤445处,电子设备102仍然可以处于菊花链模式,因为其已经在以上步骤中正确设置。电子设备102可以接收新命令并且按照菊花链协议执行命令。这可以继续直到要退出菊花链模式为止。
在步骤450处,电子设备102可以基于任何合适的命令或标准来退出菊花链模式。虽然在步骤445之后示出,但是步骤450可以在图4的方法中的菊花链模式期间的任何点处执行。
图5是根据本公开的实施方案的电子设备102的多个实例进入菊花链模式的时序图的图示。图3的图示可以描绘电子设备102的三个实例的这种进入,诸如电子设备102A、电子设备102B和电子设备102C。
类似于图表302的图表502示出了由电子设备102中的每一个接收到的nCS信号的曲线图。nCS信号最初可以是高(逻辑1)。nCS信号的下降边沿可由MCU 101发出,其中nCS信号转变为低值(逻辑0)。这可以在电子设备102中的每一个处检测到。这可以通过电子设备102中的每一个发起确定是否进入菊花链模式的过程。随后,nCS信号的上升边沿可由MCU101发出并且在电子设备102中的每一个处检测到。基于nCS信号的下降边沿,可以设置电子设备102中的每一个中的看门狗定时器203。
类似于图表304的图表504示出了由MCU 101发出并在电子设备102中的每一个处检测到的SCK信号的曲线图。在图5的示例中,SCK信号可以保持恒定,无论逻辑高还是低。通过SCK保持不变,电子设备102可以被配置为在限定的时间延迟或时段到期之后进入菊花链模式。
图表506示出了在电子设备102A的SDI端口(表示为SDI1)上接收到的信号的曲线图。SDI端口上的信号的值可以由MCU 101提供。SDI的恒定高值可以表示要写入的“1”。电子设备102A可以将“1”写入其指定的写入目的地,并且通过其SDO端口将“1”传播到电子设备102的其他实例,在下文将更详细地描述。
图表508示出了写入电子设备102A的SDO端口(表示为SDO1)的输出信号的曲线图。这种信号可以接收在电子设备102B的SDI端口(表示为SDI2)上。在检测到nCS的下降边沿之前,并且在检测到nCS的上升边沿之后,可由电子设备102A在SDO1上输出高阻抗值,由“Hi-Z”表示。此外,在检测到nCS的下降边沿时,可以由电子设备102A在SDO1上输出默认值。这种默认值可以是例如0。默认值可以由电子设备102A在SDO1上继续输出,直到电子设备102A中的特定看门狗定时器203到期。如上所讨论,由看门狗定时器203确定、定时或计数的时段可以作为TWatch给出。由电子设备102中的看门狗定时器203的每个不同实例确定、定时或计数的具体时段可以相同或不同。在一个实施方案中,看门狗定时器203中的每一个可以具有不同的TWatch值。TWatch的值之间的差异可以由例如设备错配产生。然而,如果这些TWatch,例如,电子设备102A的看门狗定时器203可以被设置成确定、定时或计数由TWatch1定义的时段,电子设备102B的看门狗定时器203可以被设置成确定、定时或计数由TWatch2定义的时段,并且电子设备102C的看门狗定时器203可以被设置成确定、定时或计数由TWatch3定义的时段。TWatch1、TWatch2和TWatch3中的每一个可由相应的看门狗定时器203基于nCS信号的下降边沿启动。
在电子设备102A中的看门狗定时器203到期时,经过TWatch1后,电子设备102A可以进入菊花链模式。此后,电子设备102A可以将在SDI1上接收到的值输出到SDO1,继而由电子设备102B接收在SDI2上。这可以是逻辑“1”。
图表510示出了写入电子设备102B的SDO端口(表示为SDO2)的输出信号的曲线图。这种信号可以接收在电子设备102C的SDI端口(表示为SDI3)上。在检测到nCS的下降边沿之前,并且在检测到nCS的上升边沿之后,可由电子设备102B在SDO2上输出高阻抗值,由“Hi-Z”表示。此外,在检测到nCS的下降边沿时,可以由电子设备102B在SDO2上输出默认值。这种默认值可以是例如0。默认值可以由电子设备102B在SDO2上继续输出,直到电子设备102B中的特定看门狗定时器203到期。如上所讨论,由电子设备102B中的看门狗定时器203确定、定时或计数的时段可以作为TWatch2给出。
在电子设备102B中的看门狗定时器203到期时,经过TWatch2后,电子设备102B可以进入菊花链模式。此后,电子设备102B可以将在SDI2上接收到的值输出到SDO2,继而由电子设备102C接收在SDI3上。这可以是逻辑“1”。
图表512示出了写入电子设备102C的SDO端口(表示为SDO3)的输出信号的曲线图。这种信号可以接收在另一电子设备102的SDI端口或MCU 101的MISO端口上。在检测到nCS的下降边沿之前,并且在检测到nCS的上升边沿之后,可以由电子设备102C在SDO3上输出高阻抗值,由“Hi-Z”表示。此外,在检测到nCS的下降边沿时,可以由电子设备102C在SDO3上输出默认值。这种默认值可以是例如0。默认值可以由电子设备102C在SDO3上继续输出,直到电子设备102C中的特定看门狗定时器203到期。如上所讨论,由电子设备102C中的看门狗定时器203确定、定时或计数的时段可以作为TWatch3给出。
在电子设备102C中的看门狗定时器203到期时,经过TWatch3后,电子设备102C可以进入菊花链模式。此后,电子设备102C可以将在SDI3上接收到的值输出到SDO3。这可以是逻辑“1”。
在所有TWatch值(TWatch1、TWatch2、TWatch3)到期时,如果如图5所示,从nCS下降边沿起没有观察到SCK或nCS转变,则在MCU 101的MISO端口上接收逻辑高信号。这可以向MCU 101表明,所有电子设备102都已经正确地设置成菊花链模式。由于在所有TWatch值到期之后在MCU 101的MISO端口上接收到逻辑高信号,因此可以在电子设备102中使用不同的Twatch,而不修改对MCU 101的MISO端口上的逻辑高信号的确认的有效性。
图6是根据本公开的实施方案的用于MCU 101的菊花链模式进入和命令执行的方法600的操作的图示。具体地,方法600可以说明MCU 101作为主节点的操作。MCU 101可以在例如SPI接口电路202内实施。方法600可以包括更少或更多的状态,可以以不同的顺序进入状态,重复状态,或者相对于彼此并行地进入不同的状态路径。方法600可以通过例如SPI接口电路202中的状态机来实施。方法600可在任何合适的步骤诸如步骤605开始。
在步骤605处,MCU 101可以上电。在执行任何必要的引导或启动任务之后,方法600可以进入步骤610。当MCU 101不以菊花链方式向电子设备102发送数据,也不接收以菊花链方式传播的此类数据时,步骤610可以反映MCU 101的正常操作。
在步骤615处,SPI接口电路202可以被配置为基于所需的菊花链操作来确定是否将电子设备102和自身置于菊花链操作模式。这种所需的菊花链操作可以由例如命令、设置或用户输入产生。如果系统将被置于菊花链操作模式,则方法600可前进至步骤620。否则,方法600可返回到步骤610。
在步骤620处,SPI接口电路202可以被配置为将电子设备102设置成菊花链模式。如果需要,SPI接口电路202可以向电子设备102发出重置命令。SPI接口电路204可以向电子设备102发出nCS信号,诸如下降边沿。可以首先向电子设备102A发出nCS信号。MCU 101的MOSI端口上的输出可以被设置成逻辑高。可以设置看门狗定时器,诸如MCU 101的看门狗定时器201。看门狗定时器201的时段可以作为TMaster给出。TMaster可以大于电子设备102的TWatch值中的最大值。在处于菊花链模式的情况下当电子设备102中的每一个已经成功地将其SDI输入传播到其SDO端口时,这可以促进确认信号,诸如MCU 101的MISO端口上的逻辑高值。如果需要,SPI接口电路202可以发出命令和任何数据。例如,SPI接口电路202可以发出写入命令和要写入的数据。
在步骤630处,可以确定在MCU 101的MISO端口上是否接收到上升边沿。这种上升边沿可以指示信号已经成功地通过电子设备102的菊花链传播。如果已经在MCU 101的MISO端口上接收到上升边沿,则方法600可前进至步骤645。否则,方法600可前进至步骤635。
在步骤635处,可以确定看门狗定时器201的TMaster是否已经到期。如果否,则方法600可返回到步骤630。如果是,则方法600可前进至步骤640。
在步骤640处,可以确定菊花链的电子设备102存在一个或多个问题,因为在nCS信号上的由MCU 101的SPI接口电路202发出的下降边沿未返回到MCU 101。菊花链的电子设备102的一个或多个部分可能不正确工作。可以采取任何合适的校正动作,诸如发出警报、向系统100的用户提供通知或对不同的电子设备102执行单独的诊断。nCS信号上的改变边沿(诸如上升边沿)可以发送到电子设备102。方法600可以停止或返回到步骤610以尝试重新发送进入模式序列信号。返回到步骤610可以导致随后发出nCS信号上的另一改变边沿(诸如下降边沿),然后重新发送用于先前尝试的命令的数据。
在步骤645处,可以确定菊花链的电子设备102是可操作的、正确工作的并且被配置为当一系列电子设备102正确地将数据传播回MCU 101的SPI接口电路204时执行菊花链操作。然后,MCU 101可以使用任何合适的菊花链协议将命令和通信寻址到电子设备102。
尽管图6中未示出,但是方法600可以基于任何合适的标准或条件从菊花链模式返回到正常模式,或者从将电子设备102配置为菊花链模式的过程返回到正常模式。在这种情况下,方法600可以在步骤610中返回到例如正常操作模式。在返回到步骤610之前,MCU 101可以向电子设备102发出任何合适的重置信号。
尽管上文已描述了示例实施方案,但在不脱离这些实施方案的实质和范围的情况下,可由本公开进行其他变型和实施方案。

Claims (17)

1.一种装置,包括:
串行数据输入端口,所述串行数据输入端口被配置为从第一电子设备接收输入;
串行数据输出端口,所述串行数据输出端口被配置为向第二电子设备发送输出;
芯片选择输入端口,所述芯片选择输入端口被配置为从主控制单元接收输入;
定时器;以及
接口电路,所述接口电路被配置为:
在菊花链模式中,将在所述串行数据输入端口处接收到的数据复制到所述串行数据输出端口;
在所述芯片选择输入端口上接收到芯片选择信号的第一改变边沿时,启动所述定时器,其中所述芯片选择信号的所述第一改变边沿从第一逻辑电平到第二逻辑电平;以及
在完成将由所述定时器确定的时间时,进入所述菊花链模式。
2.根据权利要求1所述的装置,其中所述接口电路被进一步配置为至少基于在所述芯片选择输入端口上接收到所述芯片选择信号的第二改变边沿来退出所述菊花链模式,其中所述芯片选择信号的所述第二改变边沿从所述第二逻辑电平到所述第一逻辑电平。
3.根据权利要求1至2中任一项所述的装置,其中所述定时器被配置为至少基于在所述芯片选择输入端口上接收到所述芯片选择信号的第二改变边沿而停止,其中所述芯片选择信号的所述第二改变边沿从所述第二逻辑电平到所述第一逻辑电平。
4.根据权利要求1至3中任一项所述的装置,其中所述接口电路被进一步配置为在所述芯片选择输入端口上接收到所述芯片选择信号的所述第一改变边沿之后且在所述定时器已经确定要确定的时间之前将默认值输出到所述串行数据输出端口。
5.根据权利要求1至4中任一项所述的装置,其中:
所述装置进一步包括共享时钟输入端口,所述共享时钟输入端口被配置为接收共享时钟信号;并且
所述接口电路被进一步配置为基于确定所述共享时钟信号在启用和运行所述定时器时未改变,而进入所述菊花链模式。
6.根据权利要求1至5中任一项所述的装置,其中所述接口电路被进一步配置为:
在所述芯片选择输入端口上接收到所述芯片选择信号的第二改变边沿时退出所述菊花链模式并进入正常模式,其中所述芯片选择信号的所述第二改变边沿从所述第二逻辑电平到所述第一逻辑电平;以及
在退出所述菊花链模式之后在所述正常模式中,向所述串行数据输出端口施加高阻抗。
7.根据权利要求1至6中任一项所述的装置,其中所述第一电子设备和所述主控制单元是同一电子设备。
8.一种装置,包括:
串行数据输出端口,所述串行数据输出端口被配置为向第一电子设备发送输出数据;
串行数据输入端口,所述串行数据输入端口被配置为从第二电子设备接收输入数据;
芯片选择输出端口,所述芯片选择输出端口被配置为向多个电子设备发送输出,所述多个电子设备连接在菊花链中并且包括所述第一电子设备和所述第二电子设备;
接口电路,所述接口电路被配置为:
确定是否将所述多个电子设备设置成菊花链模式,其中每个电子设备被配置为将来自所述菊花链中的先前电子设备的接收数据传播到所述菊花链中的后续电子设备;
基于将所述多个电子设备设置成所述菊花链模式的所述确定,在所述芯片选择输出端口上发出芯片选择信号上的第一改变边沿,其中所述芯片选择信号的所述第一改变边沿从第一逻辑电平到第二逻辑电平;以及
基于将所述多个电子设备设置成所述菊花链模式的所述确定,通过所述串行数据输出端口向所述第一电子设备发送要用在命令中的输出数据。
9.根据权利要求8所述的装置,其中所述接口电路被进一步配置为:
确定通过所述串行数据输入端口从所述第二电子设备接收到的所述输入数据是否匹配预期数据,所述预期数据基于所述输出数据;以及
基于所述输入数据匹配所述预期数据的确定,确定所述菊花链正确工作。
10.根据权利要求9所述的装置,其中所述接口电路被进一步配置为:
确定通过所述串行数据输入端口从所述第二电子设备接收到的所述输入数据是否匹配预期数据,所述预期数据基于所述输出数据;以及
基于所述输入数据不匹配所述预期数据的确定,确定所述菊花链不正确工作。
11.根据权利要求10所述的装置,其中所述接口电路被进一步配置为基于所述确定所述菊花链不正确工作:
在所述芯片选择输出端口上发出所述芯片选择信号上的第二改变边沿,其中所述芯片选择信号的所述第二改变边沿从所述第二逻辑电平到第一逻辑电平;
在发出所述第二改变边沿之后,在所述芯片选择输出端口上发出所述芯片选择信号上的第三改变边沿,其中所述芯片选择信号的所述第三改变边沿从所述第一逻辑电平到第二逻辑电平;
在发出所述第三改变边沿之后,通过所述串行数据输出端口向所述第一电子设备重新发送要用在所述命令中的所述输出数据。
12.根据权利要求8至9中任一项所述的装置,所述装置进一步包括定时器,其中所述接口电路被进一步配置为:
基于将所述多个电子设备设置成所述菊花链模式的所述确定,启动所述定时器;以及
当所述定时器到时,执行对通过所述串行数据输入端口从所述第二电子设备接收到的所述输入数据是否匹配所述预期数据的所述确定。
13.根据权利要求8至12中任一项所述的装置,其中所述接口电路被进一步配置为:
确定将所述多个电子设备设置成正常模式并使所述多个电子设备退出所述菊花链模式;
基于将所述多个电子设备设置成所述正常模式并使所述多个电子设备退出所述菊花链模式的所述确定,在所述芯片选择输出端口上发出所述芯片选择信号上的第二改变边沿,其中所述芯片选择信号的所述第二改变边沿从所述第二电平到所述第一逻辑电平。
14.根据权利要求8至13中任一项所述的装置,其中所述接口电路被进一步配置为在所述芯片选择输入端口上发送所述芯片选择信号的所述第一改变边沿之后且在所述定时器到时之前将默认值输出到所述串行数据输出端口。
15.一种方法,所述方法包括操作根据权利要求1至7所述的装置中的任一种装置,以如权利要求1至7所述将电子设备置于菊花链模式。
16.一种方法,所述方法包括操作权利要求8至14中的任一项,以如权利要求8至14所述将电子设备的菊花链置于菊花链流式传输模式。
17.一种系统,所述系统包括在菊花链中用于作为主节点操作的根据权利要求8至14中任一项所述的装置,以及一个或多个用于作为从属节点操作的根据权利要求1至7中任一项所述的装置。
CN202080059928.0A 2019-08-29 2020-08-28 用于菊花链模式进入的装置和方法 Active CN114365103B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201962893216P 2019-08-29 2019-08-29
US201962893209P 2019-08-29 2019-08-29
US201962893202P 2019-08-29 2019-08-29
US62/893,202 2019-08-29
US62/893,209 2019-08-29
US62/893,216 2019-08-29
US16/998,097 US11494324B2 (en) 2019-08-29 2020-08-20 Daisy chain streaming mode
US16/998,170 2020-08-20
US16/998,050 2020-08-20
US16/998,097 2020-08-20
US16/998,170 US11386025B2 (en) 2019-08-29 2020-08-20 Daisy chain complex commands
US16/998,050 US11221977B2 (en) 2019-08-29 2020-08-20 Daisy chain mode entry sequence
PCT/US2020/048338 WO2021041768A1 (en) 2019-08-29 2020-08-28 Daisy chain mode entry sequence

Publications (2)

Publication Number Publication Date
CN114365103A true CN114365103A (zh) 2022-04-15
CN114365103B CN114365103B (zh) 2024-08-20

Family

ID=74682133

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202080059945.4A Active CN114286991B (zh) 2019-08-29 2020-08-28 用于菊花链流传输模式的方法和装置
CN202080059967.0A Active CN114286992B (zh) 2019-08-29 2020-08-28 菊花链复杂命令
CN202080059928.0A Active CN114365103B (zh) 2019-08-29 2020-08-28 用于菊花链模式进入的装置和方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202080059945.4A Active CN114286991B (zh) 2019-08-29 2020-08-28 用于菊花链流传输模式的方法和装置
CN202080059967.0A Active CN114286992B (zh) 2019-08-29 2020-08-28 菊花链复杂命令

Country Status (4)

Country Link
US (3) US11386025B2 (zh)
CN (3) CN114286991B (zh)
DE (3) DE112020004089T5 (zh)
WO (3) WO2021041768A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931718A (zh) * 2024-01-29 2024-04-26 合肥为国半导体有限公司 一种菊花链结构及其信号传输方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308023B2 (en) * 2020-03-24 2022-04-19 Microchip Technology Incorporated Method and system for enhanced SPI communication
US11847083B2 (en) * 2021-12-16 2023-12-19 Himax Technologies Limited Daisy-chain SPI integrated circuit and operation method thereof
CN115328845B (zh) * 2022-08-26 2023-05-12 润芯微科技(江苏)有限公司 一种四线串行外设接口通信协议设计的方法
CN117118777B (zh) * 2023-10-23 2024-01-02 合肥为国半导体有限公司 一种通信系统及方法
CN119166576A (zh) * 2024-11-20 2024-12-20 广州程星通信科技有限公司 基于菊花链的spi系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5132635A (en) * 1991-03-05 1992-07-21 Ast Research, Inc. Serial testing of removable circuit boards on a backplane bus
US20030074505A1 (en) * 2001-10-15 2003-04-17 Andreas David C. Serial device daisy chaining method and apparatus
CN1886897A (zh) * 2003-11-26 2006-12-27 模拟装置公司 具有多种模式编程的只读串行接口
US20160098371A1 (en) * 2014-10-07 2016-04-07 Infineon Technologies Ag Serial peripheral interface daisy chain communication with an in-frame response
US20180276157A1 (en) * 2017-03-24 2018-09-27 Analog Devices Global Serial peripheral interface daisy chain mode system and apparatus

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914574A (en) * 1984-08-16 1990-04-03 Mitsubishi Denki Kabushiki Kaisha Data transmission apparatus having cascaded data processing modules for daisy chain data transfer
TW384611B (en) * 1997-02-14 2000-03-11 Canon Kk Data communication apparatus and method
JP3916953B2 (ja) * 2001-12-28 2007-05-23 日本テキサス・インスツルメンツ株式会社 可変時分割多重伝送システム
US20060123635A1 (en) 2004-12-09 2006-06-15 Heow, Inc. Combination blower, trimmer and edger for tending vegetation
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US20080123635A1 (en) * 2006-06-06 2008-05-29 Mortensen Keith Y Matrix switching system
US7627711B2 (en) 2006-07-26 2009-12-01 International Business Machines Corporation Memory controller for daisy chained memory chips
US8237624B2 (en) * 2008-05-06 2012-08-07 Integrated Device Technology, Inc. System having capability for daisy-chained serial distribution of video display data
US8856434B2 (en) 2008-09-26 2014-10-07 Cypress Semiconductor Corporation Memory system and method
US9158727B2 (en) 2009-05-01 2015-10-13 Analog Devices, Inc. Addressable integrated circuit and method thereof
US8384427B1 (en) * 2010-04-01 2013-02-26 Lattice Semiconductor Corporation Configuring multiple programmable logic devices with serial peripheral interfaces
US8433838B2 (en) * 2010-09-17 2013-04-30 International Business Machines Corporation Remote multiplexing devices on a serial peripheral interface bus
BR112013016070A2 (pt) 2010-12-22 2017-09-19 Ge Energy Power Conversion Technology Ltd sistema eletrônico e método de fornecimento de informações de sincronização e informações de detecção de falha em um sistema eletrônico
EP2631806A1 (en) 2012-02-27 2013-08-28 Televic Rail NV Devices and method for assigning network addresses
US9274997B2 (en) 2012-05-02 2016-03-01 Smsc Holdings S.A.R.L. Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain
US9477616B2 (en) * 2013-08-07 2016-10-25 Micron Technology, Inc. Devices, systems, and methods of reducing chip select
US20160205066A1 (en) * 2015-01-09 2016-07-14 Texas Instruments Incorporated Unique device address assignment technique for bidirectional daisy chain system
DE102016223673A1 (de) * 2016-11-29 2018-05-30 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Sensorsystems, Sensorsystem

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5132635A (en) * 1991-03-05 1992-07-21 Ast Research, Inc. Serial testing of removable circuit boards on a backplane bus
US20030074505A1 (en) * 2001-10-15 2003-04-17 Andreas David C. Serial device daisy chaining method and apparatus
CN1886897A (zh) * 2003-11-26 2006-12-27 模拟装置公司 具有多种模式编程的只读串行接口
US20160098371A1 (en) * 2014-10-07 2016-04-07 Infineon Technologies Ag Serial peripheral interface daisy chain communication with an in-frame response
US20180276157A1 (en) * 2017-03-24 2018-09-27 Analog Devices Global Serial peripheral interface daisy chain mode system and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931718A (zh) * 2024-01-29 2024-04-26 合肥为国半导体有限公司 一种菊花链结构及其信号传输方法

Also Published As

Publication number Publication date
WO2021041763A1 (en) 2021-03-04
CN114286991A (zh) 2022-04-05
US11494324B2 (en) 2022-11-08
DE112020004019T5 (de) 2022-06-02
WO2021041768A1 (en) 2021-03-04
US20210064564A1 (en) 2021-03-04
CN114286992A (zh) 2022-04-05
DE112020004065T5 (de) 2022-06-15
CN114365103B (zh) 2024-08-20
CN114286992B (zh) 2024-05-28
DE112020004089T5 (de) 2022-07-07
CN114286991B (zh) 2024-08-20
WO2021041758A1 (en) 2021-03-04
US20210064555A1 (en) 2021-03-04
US11221977B2 (en) 2022-01-11
US20210064563A1 (en) 2021-03-04
US11386025B2 (en) 2022-07-12

Similar Documents

Publication Publication Date Title
CN114365103B (zh) 用于菊花链模式进入的装置和方法
US20190272252A1 (en) Method of processing deadlock of i2c bus, electronic device and communication system
US4984190A (en) Serial data transfer system
US20190361833A1 (en) Bus system
JP2009535677A (ja) I2cクロックの生成方法及びシステム
JP2016004388A (ja) 通信システム及び電子回路
US6591322B1 (en) Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
US20150286607A1 (en) Determination of the state of an i2c bus
AU2011313404B2 (en) Electronic device and serial data communication method
KR102554978B1 (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
JP6696511B2 (ja) 通信装置、通信方法、プログラム、および通信システム
WO2016205400A1 (en) Serial interface with bit-level acknowledgement and error correction
EP4162367B1 (en) Providing acknowledgements for system power management interface
CN112445744A (zh) I2c通信
JPH11502643A (ja) シリアルデータバスシステムにおけるエラーの認識及び除去
CN109155689B (zh) 通信设备、通信方法、程序和通信系统
US11360916B2 (en) Group slave identifier time-multiplexed acknowledgment for system power management interface
CN111797583B (zh) 引脚复用装置以及控制引脚复用装置的方法
JP2002033754A (ja) シリアルデータ転送装置、その制御方法、及び、通信装置
JP3894787B2 (ja) 受信回路
US7437448B1 (en) Method and device for function selection of a control unit
US20060200652A1 (en) Method for Signaling of a State or of an Event
JP2013256874A (ja) 車載用電子制御装置

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
GR01 Patent grant
GR01 Patent grant