CN114286992A - 菊花链复杂命令 - Google Patents
菊花链复杂命令 Download PDFInfo
- Publication number
- CN114286992A CN114286992A CN202080059967.0A CN202080059967A CN114286992A CN 114286992 A CN114286992 A CN 114286992A CN 202080059967 A CN202080059967 A CN 202080059967A CN 114286992 A CN114286992 A CN 114286992A
- Authority
- CN
- China
- Prior art keywords
- command
- electronic device
- daisy chain
- commands
- port
- 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
Links
- 238000000034 method Methods 0.000 claims description 68
- 241000761456 Nops Species 0.000 claims description 15
- 108010020615 nociceptin receptor Proteins 0.000 claims description 15
- 230000000630 rising effect Effects 0.000 description 32
- 230000000644 propagated effect Effects 0.000 description 27
- 230000001902 propagating effect Effects 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 101000631899 Homo sapiens Ribosome maturation protein SBDS Proteins 0.000 description 1
- 102100028750 Ribosome maturation protein SBDS Human genes 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/4256—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus 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,216号、2019年8月29日提交的美国临时专利申请第62/893,202号和2019年8月29日提交的美国临时专利申请第62/893,209号的优先权,所述申请的内容据此全文并入本文。
技术领域
本公开涉及在微控制器之间的通信,并且更具体地涉及用于菊花链模式操作的复杂命令。
背景技术
微控制器单元(MCU)和其他电子设备以多种方式进行通信。一种这样的方式是菊花链模式,其中此类设备一个接一个彼此连接,并且数据从一个设备传播到下一个设备。菊花链配置通常用于大型背板应用,并且与其中数据传输在此类设备之间并行的配置相比,可以减少所需的线材数量。菊花链配置使用n个端口,其中n是在任何两个设备之间传送的数据的位数。在串行通信的情况下,诸如串行外设接口(SPI),n可以是一。相反,并行配置可能需要m个端口,或m乘以n个端口,其中m是将彼此传送数据的设备的数量。如果设备上的端口数量有限,则菊花链配置可以有助于节省端口的使用。
本公开的实施方案的发明人已经发现传统的命令或指令不易寻址到在菊花链中的单独的节点或电子设备。例如,当命令或指令意在由在菊花链中的单个电子设备或电子设备子集执行时,或者当不同的命令或指令意在向菊花链的不同节点发送时,可能出现这种情况。本公开的实施方案的发明人已经考虑可能的解决方案以用于实施命令或指令来对在菊花链中的单独节点进行寻址,诸如选择性使用片选信号。然而,本公开的实施方案的发明人已经发现此类命令在发射时通过漫长过程实施。可首先发送特定于在菊花链中的第n电子设备的命令,并且将该命令传播通过菊花链,使得在针对n个设备的n个延迟之后,可然后由该第n电子设备执行该命令。随后,可将特定于在菊花链中的第(n-1)电子设备的命令发送通过该菊花链,并且使片选信号在其到达该第(n-1)电子设备之后生效。因此,第n设备将不执行该命令。然而,在第(n-1)电子设备之前的所有设备将必须传播该命令并且还执行该命令。该命令将传播通过菊花链,使得在针对(n-1)个电子设备的(n-1)个延迟之后,可然后由第(n-1)电子设备执行该命令。为了向菊花链中所有的电子设备发送单独命令,可能要求(n*(n+1)/2)个延迟。此外,给定电子设备可能必须执行针对菊花链中之后的电子设备的命令,给定设备真正地不需要执行该命令。
本公开的实施方案的发明人已经发现在菊花链中的特定命令需要同步地执行。此外,本公开的实施方案的发明人已经确定不管固有地引起延迟的命令传播通过链如何都实现相异命令的同步执行的机制。
本公开的实施方案的发明人已经发现如何通过开发用于通过菊花链配置连接的设备网络中的复杂命令来解决使用传统命令的这些限制中的一个或多个限制。
发明内容
本公开的实施方案包括一种装置。该装置可包括串行数据输入端口。串行数据输入端口可被配置为从电子设备菊花链中的第一电子设备接收输入。该装置可包括串行数据输出端口,该串行数据输出端口被配置为向电子设备菊花链中的第二电子设备发送输出。该装置可包括片选输入端口,该片选输入端口被配置为从第三电子设备接收输入。第三电子设备可以是主控制单元。该装置可包括接口电路,该接口电路被配置为以菊花链模式并且基于第一接收命令,接收关于串行数据输入端口的信息并且确定该信息是否包括要由该装置选择性执行的第二接收命令。接口电路可被配置为基于确定信息包括要由装置选择性执行的第二接收命令,执行第二接收命令。
本公开的实施方案包括一种装置。该装置可以是主控制单元。该装置可包括串行数据输出端口,该串行数据输出端口被配置为向第一电子设备发送输出数据。该装置可包括串行数据输入端口,该串行数据输入端口被配置为从第二电子设备接收输入数据。该装置可包括片选输出端口,该片选输出端口被配置为向多个电子设备发送输出,该多个电子设备以菊花链连接并且包括第一电子设备和第二电子设备。该装置可包括接口电路,该接口电路被配置为确定以菊花链连接的多个电子设备中的给定电子设备要选择性执行第一命令。接口电路可被进一步配置为基于确定给定电子设备要执行第一命令,通过串行数据输出端口向以菊花链连接的多个电子设备发出复杂命令。复杂命令可向多个电子设备指示要选择性执行附加命令。
本公开的实施方案可包括方法。该方法可包括通过串行数据输入端口从电子设备菊花链中的第一电子设备接收输入。该方法可包括通过串行数据输出端口向电子设备菊花链中的第二电子设备发送输出。该方法可包括通过片选输入端口从第三电子设备接收输入。该方法可包括:菊花链模式并且基于第一接收命令,接收关于串行数据输入端口的信息;确定该信息是否包括要由装置选择性执行的第二接收命令;以及基于确定该信息包括要由该装置选择性执行的第二接收命令,执行该第二接收命令。
本公开的实施方案可包括方法。该方法可包括通过串行数据输出端口向第一电子设备发送输出数据。该方法可包括通过串行数据输入端口从第二电子设备接收输入数据。该方法可包括通过片选输出端口向多个电子设备发送输出。该多个电子设备可以菊花链连接并且包括第一电子设备和第二电子设备。该方法可包括确定以菊花链连接的多个电子设备中的给定电子设备要选择性执行第一命令。该方法可包括基于确定给定电子设备要执行第一命令,通过串行数据输出端口向以菊花链连接的多个电子设备发出复杂命令。该方法可包括用复杂命令向多个电子设备指示要选择性执行附加命令。
附图说明
图1是根据本公开的实施方案的具有菊花链式电子设备的系统的图示。
图2是根据本公开的实施方案的MCU和电子设备的更详细图示。
图3是根据本公开的实施方案的命令的传播和执行的时序图。
图4是根据本公开的实施方案的另外命令的传播和执行的图示。
图5是根据本公开的实施方案的读取命令的传播和执行的图示。
图6示出了根据本公开的实施方案的复杂命令和相关联的其他命令的发出。
图7示出了根据本公开的实施方案的在复杂命令的上下文内写入命令的执行。
图8示出了根据本公开的实施方案的在复杂命令的上下文内读取命令的执行。
图9示出了根据本公开的实施方案的在复杂命令的上下文内读取命令、写入命令和快速命令的混合的执行。
图10是根据本公开的实施方案的用于菊花链复杂命令的执行的方法的图示。
图11是根据本公开的实施方案的用于菊花链模式的复杂命令的执行的另一种方法的操作的图示。
具体实施方式
本公开的实施方案可以包括系统。该系统可以包括以菊花链方式彼此连接的电子设备。电子设备可以包括主电子设备或主控制单元以及任何合适数量的其他电子设备。电子设备和主控制单元可以以相同的方式或以不同的方式实现。电子设备和主控制单元可以各自包括接口电路。该接口电路可以以模拟电路、数字电路或由处理器执行的指令的任何合适的组合来实现。该接口电路可以处理电子设备与主控制单元之间的通信。主控制单元可以以任何合适的方式连接到每个电子设备。例如,该主控制单元可以经由时钟信号连接连接到每个电子设备。该主控制单元可以经由片选信号连接连接到每个电子设备。该主控制单元可以通过主控制单元的串行数据输出端口和菊花链中的第一电子设备的串行数据输入端口连接到该第一电子设备。该菊花链的给定电子设备可以通过给定电子设备的串行数据输出端口和菊花链的其他电子设备的串行数据输入端口连接到该其他电子设备。该主控制单元可以通过主控制单元中的串行数据输入端口和电子设备中的串行数据输出端口连接到菊花链中的最后一个电子设备。
结合上述任一实施方案,主控制单元可以被配置为向电子设备发出命令和与该命令相关联的数据。当在菊花链模式中时,电子设备通常可将在其串行数据输入端口上接收的信息传播到其串行数据输出端口。结合以上实施方案中的任一个实施方案,一个这样的命令可以是复杂命令,其可向接收方电子设备表示接着进行可由电子设备中的特定电子设备选择性执行附加命令。结合以上实施方案中的任一个实施方案,选择性执行可包括由一个或多个电子设备执行但不由一个或多个其他电子设备执行。
结合以上实施方案中的任一个实施方案,给定电子设备的接口电路可被配置为以菊花链模式并且基于第一接收命令(诸如复杂命令),接收关于其串行数据输入端口的信息。接口电路可被配置为确定信息是否包括要由电子设备选择性执行的另一个接收命令。接口电路可被配置为基于确定信息包括要由电子设备选择性执行的另一个接收命令,执行该电子设备。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为基于确定信息包括不由装置选择性执行的另一个命令,将另一个命令复制到串行数据输出端口,而不执行该另一个命令。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为至少部分地基于电子设备菊花链中的电子设备的位置来确定信息是否包括要由装置选择性执行的另一个接收命令。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为基于是否以对应于电子设备菊花链中电子设备的位置的次序接收到另一个这样的命令来确定信息是否包括另一个这样的命令。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为在执行另一个接收命令之后将另一个接收命令复制到串行数据输出端口。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为结合第一接收命令接收在片选输入端口上的变化沿,诸如在第一接收命令之前。确定在第一接收命令之后是否寻找附加命令可部分地基于第一接收命令和在片选输入端口上的变化沿,该附加命令以电子设备中的特定电子设备为目标。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为在接收到另一个接收命令之后在片选输入端口上的变化沿上执行另一个接收命令。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为将其他信息复制到串行数据输出端口,该其他信息在包括另一个接收命令的信息之前接收到。结合以上实施方案中的任一个实施方案,接口电路可被进一步配置为确定另一个是读取命令,执行该读取命令以生成读取数据,并且用读取数据取代信息的部分,并且将来自取代的结果复制到串行数据输出端口。
主控制单元的接口电路可被配置为确定以菊花链连接的多个电子设备中的给定电子设备要选择性执行第一命令。给定电子设备的接口电路可被配置为基于确定给定电子设备要执行第一命令,通过串行数据输出端口向以菊花链连接的多个电子设备发出复杂命令。给定电子设备的接口电路可被配置为用复杂命令向多个电子设备指示要选择性执行附加命令。给定电子设备的接口电路可被配置为在发出复杂命令之后,通过串行数据输出端口向以菊花链连接的多个电子设备发出第一命令,该第一命令要由给定电子设备选择性执行并且不由在菊花链中的一个或多个其他电子设备执行。给定电子设备的接口电路可被配置为在第一命令之前或之后发出附加信息,使得在此类附加信息中第一命令的位置对应于在菊花链中给定电子设备的位置。在第一命令之前或之后的附加信息的位置可对应于在菊花链中的其他电子设备。在第一命令之前或之后的附加信息可包括针对在菊花链中的其他电子设备的第二命令,或者NOP。给定电子设备的接口电路可被配置为紧接第一命令之后的一定量的NOP,其中第一命令是读取操作,并且该量对于给定电子设备足以写入从执行读取操作产生的数据。给定电子设备的接口电路可被配置为通过串行数据输出端口向以菊花链连接的多个电子设备发出第二命令。第二命令可以是要由第二电子设备执行的写入操作。
本公开的实施方案可包括由以上系统的部分中的任何部分执行的方法。此外,本公开的实施方案可包括在一个或多个机器可读非暂时性介质中的指令。介质可在制品中。指令可由处理器执行。指令在由处理器加载和执行时可使上述配置执行。
图1是根据本公开的实施方案的具有菊花链式电子设备的系统100的图示。任何合适的电子设备可以是菊花链式的。例如,微控制器单元(MCU)101可以是系统100中的主节点或头节点。又如,附加电子设备102A、102B、102C可以是系统100中的从节点或子节点。可以使用任何合适数量和类型的电子设备。例如,在一些具体实施中,256个不同的电子设备可以在系统100中菊花链式连接。系统100的电子设备(诸如MCU 101和电子设备102)可以以相同的方式或各自以不同的方式实现。
系统100可以在任何合适的上下文中实现。例如,系统100可以在数据传感器阵列、交通工具、控制系统、工业自动化、家庭自动化、工厂、测试和验证系统或任何其他合适的应用中实现。系统100可以被配置为通过菊花链式串行接口读取或写入数据,以便在此类上下文中完成或进一步实现任何合适的任务。
MCU 101可以包括输入和输出,包括主入从出(MISO),该MISO被配置为从系统100的菊花链的末端(诸如电子设备102C的输出)接收数据。MISO可以通过MISO端口被接收。MISO端口可以是被配置为从在菊花链中的其他电子设备诸如在菊花链中的最后一个电子设备102接收输入的串行数据输入端口。MCU 101可以包括用于主出从入(MOSI)的输出。MOSI可以通过MOSI端口发送。MOSI端口可以是被配置为向在菊花链中的其他电子设备发送输出的串行数据输出端口。例如,MCU 101可以被配置为通过MOSI端口将数据发送到系统100的菊花链的第一从属电子设备,诸如电子设备102A的输入。MCU 101可以包括用于共享时钟(SCK)的端口或引脚,该端口或引脚可以用作共享时钟输出端口以发送用于传输定时的共享时钟信号。MCU 101可以被配置为生成SCK,并且该SCK可以被路由到其他电子设备102中的每个电子设备。MCU 101可以包括用于片选(CS)信号的端口或引脚,该端口或引脚可用于传送如下所讨论的各种信息。CS端口可以是片选输出端口,其被配置为将输入从诸如MCU 101的主设备发送到电子设备102。MCU 101可以被配置为生成CS信号,并且该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 101可以进一步包括其他合适数量和种类的端口。
MCU 101和电子设备102可以使用任何合适的通信协议,诸如SPI。MCU 101可以被配置为向电子设备102发出命令或数据。可以通过MCU101的MOSI端口向电子设备102A的SDI端口串行地发出此类命令,该电子设备的SDI端口继而可以通过连接到电子设备102B的SDI端口的电子设备102A的SDO端口继续将命令或数据串行地传播到其他电子设备诸如电子设备102B。该命令的宽度可以指定将使用多少串行数据脉冲来表示该命令。继而,电子设备102B可以通过连接到电子设备102C的SDI端口的电子设备102B的SDO端口继续将命令或数据串行地传播到其他电子设备诸如电子设备102C。继而,电子设备102C可以继续将命令或数据串行地传播到其他电子设备诸如另一电子设备(未示出),或者通过连接到MCU101的MISO端口的电子设备102C的SDO端口传播到MCU 101。
电子设备102中的每个电子设备可以被配置为经由其相应的SDO端口传播NOP(无操作)命令,直到给定电子设备102认识并识别其相应SDI端口上的预定义命令,该预定义命令与不同于NOP命令的已知模式匹配。NOP命令可以是例如一系列逻辑0位。一旦被认识和识别,当预定义命令的所有位已经经由SDI端口完全接收时,可以由相应的电子设备102执行该预定义命令。每个电子设备102可以在执行该预定义命令的同时,将到达其SDI端口的预定义命令复制到其SDO端口。这可以有助于该预定义命令以最小量的延迟和通信开销在整个菊花链中的传播。
命令可以是例如读取或写入数据。要读取的数据的源可由命令指定。要写入的数据和写入的目的地可由命令指定。每个电子设备102可以监测其SDI端口用以获得读取命令,然后用以对来自其他电子设备102或MCU101进行数据读取(以沿菊花链更远连接的电子设备为准)。来自其他电子设备102或MCU 101的此类数据可能需要通过菊花链通过电子设备102的SDO端口传播。数据可以传播到MCU 101的MISO端口。读取命令可由电子设备102识别为在nCS信号的下降沿之后接收到的被识别的第一命令,并且不同于NOP命令或信号。此外,每个电子设备102可监测其SDI端口的写入命令,并且然后监测要写入在电子设备102中或通信地连接到该电子设备的目的地的数据。写入命令可由电子设备102识别为在nCS信号的下降沿之后接收到的被识别的第一命令,并且不同于NOP命令或信号。
每个电子设备102可被配置为通过在接收和识别读取命令之后,以及在将在其SDI端口上接收到的电子设备102或MCU 101的数据复制到其SDO端口之后发送其自身数据(通过执行读取命令生成)来执行读取命令。每个电子设备102可被配置为通过将指定数据写入其内部或连接目的地,以及通过将在其SDO端口上的写入命令进一步顺着菊花链向下传播到电子设备102中的另一个电子设备或MCU 101,执行写入命令。
菊花链的元件可以被配置为以菊花链操作模式或以正常操作模式操作。在菊花链模式下,命令和数据可以从给定电子设备102的SDI端口传播到其SDO端口,使得菊花链中的其他电子设备102可以接收和执行命令。在正常模式下,命令和数据可能不从给定电子设备102的SDI端口传播到其SDO端口。MCU 101和电子设备102可被配置为使用任何合适的标准、信号或命令在菊花链模式与正常模式之间切换。给定的电子设备102可以根据任何合适的信号或命令从正常模式进入菊花链模式或退出菊花链模式到正常模式。此类信号或命令可由MCU 101提供。MCU 101可以基于任何合适的条件或标准确定将电子设备102设置为菊花链模式。
图2是根据本公开的实施方案的MCU 101和电子设备102的更详细图示。
MCU 101可包括处理器205,该处理器通信地耦接到存储器206。处理器205可以包括任何合适的处理器,并且存储器206可以是任何合适的持久性或非持久性存储器。未示出由MCU 101用于执行MCU 101被设计执行的任何其他任务的任何合适数量和种类的外围设备或辅助电路,例如模数转换器(ADC)或寄存器。此外,处理器205可以被配置为加载和执行存储在存储器206中的指令,以便执行任何合适的任务。
电子设备102可包括处理器207,该处理器通信地耦接到存储器208。处理器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端口以便指示是对自身进行复位还是识别并执行在SDI端口上传入的命令,并且在SDO端口上传播输出数据。当SPI接口电路204对自身进行复位时,它可以返回到其中的状态机器中的复位状态。读取或写入的存储器缓冲区可被清除。SDO端口可被设置在高阻抗模式下。电流可能不被主动消耗。SDI信号和SCK信号可能不被内部地路由。SPI接口电路204可能保持等待nCS下降沿以恢复操作。然而,指示电子设备102是否处于流传输模式的位或其他信息可以被nCS上升沿保留并且不清除。如果此类位或其他信息未被保留,则在每次发出nCS上升沿时,可能需要重新启动流传输模式。此外,当执行读取命令时,SPI接口电路204可以被配置为从指定来源读取数据并且通过SDO端口提供其自身的数据。电子设备102可以包括与SPI接口电路204的操作一起使用的任何合适数量和种类的机构。MCU 101可以包括与SPI接口电路202的操作一起使用的任何合适数量和种类的机构。
SPI接口电路204可被配置为从上游节点(诸如MCU 101,或者电子设备102的另一个实例)接收命令。可通过SDI端口接收命令。命令可源自MCU 101,并且SPI接口电路204可被配置为通过其SDO端口传播命令。CS端口可被配置为从电子设备诸如MCU 101接收片选信号。SPI接口电路204可被配置为通过SDI端口接收信息。信息可包括针对电子设备102的命令、与命令相关联的数据、针对另一个电子设备102的命令或用于之后执行特定于电子设备102的附加命令的复杂命令。基于接收到信息中的第一命令诸如复杂命令,SPI接口电路204可被配置为监测通过SDI端口接收的附加信息。SPI接口电路204可被配置为再次接收信息。SPI接口电路204可被配置为确定信息是否包括另一个命令,其中该第二命令将由电子设备102选择性执行。选择性执行就电子设备102可执行第二命令方面可以是选择性的,但是电子设备102的一个或多个其他实例可能不执行命令。如果第二命令将由电子设备102执行,则可执行该第二命令。可将第二命令与由于执行第二命令生成的任何数据或伴随第二命令的数据一起复制到SDO端口。SPI接口电路204可被配置为至少部分地基于在菊花链中电子设备102的位置来确定是否选择性执行第二命令。例如,SPI接口电路204可被配置为基于是否除其他命令外以对应于在菊花链中电子设备102的位置的次序接收到第二命令来选择性执行第二命令。在成功地接收到第一命令之后,可发起命令的计数,其中在每个后续命令后,给定电子设备104保持发出的命令的数量的计数。SPI接口电路204可被配置为以任何合适的方式确定其位置。当发出的命令的数量与电子设备102的位置相匹配时,SPI接口电路204可被配置为确定最近接收的命令将由电子设备102执行。SPI接口电路204可被配置为结合第一命令接收在CS端口上的变化沿。结合第一命令的在CS端口上的变化沿可确定要执行第一命令。SPI接口电路204可被配置为在接收到第二命令之后在CS端口上的变化沿上执行第二命令。SPI接口电路204可被配置为将其他信息复制到SDO端口。在电子设备102在菊花链模式中时,其他信息可能在第二命令之前被接收。SPI接口电路204可被配置为确定第二命令是读取命令,执行该第二命令以生成读取数据,并且用读取数据取代信息的包括第二命令的部分。可将来自该取代的结果复制到SDO端口。信息的被取代的包含第二命令的部分可能已经包括由MCU 101发出的NOP作为在从指定电子设备102顺着菊花链向上在电子设备102之间传播期间的读取数据的占位符。
SPI接口电路202可被配置为确定在菊花链中的给定电子设备102要选择性执行第一命令。可确定其他电子设备102选择性执行其他命令。SPI接口电路202可被配置为基于确定给定电子设备102要执行第一命令,通过MOSI端口向第一电子设备102发出复杂命令。复杂命令可向电子设备102指示要选择性执行附加后续命令。SPI接口电路202可被配置为在发出复杂命令之后,通过MOSI端口向电子设备102的菊花链发出第一命令。第一命令要由给定电子设备102选择性执行并且不由菊花链中的一个或多个其他电子设备102执行。可通过MOSI端口向电子设备102的菊花链发出其他命令。第一命令和其他命令可以对应于要选择性执行对应命令的电子设备102的位置的次序发出。如果电子设备102将不执行命令,则MCU101可被配置为在命令流中对应于电子设备102的位置中向菊花链发出NOP。因此,SPI接口电路202可被配置为在第一命令之前或之后发出附加信息,使得在此类附加信息中第一命令的位置对应于在菊花链中给定电子设备的位置。在第一命令之前或之后的附加信息的位置对应于在菊花链中除要执行第一命令的给定电子设备102外的其他电子设备102。SPI接口电路202可被配置为发出第一命令作为读取操作。SPI接口电路202可被配置为向菊花链发出第二命令。第二命令可以是写入操作。写入操作可由另一个电子设备执行。因此,在命令流中,可包括读取和写入操作的混合。此外,用于不需要读取或写入的其他操作的命令可被包括在命令流中。
图3至图9是根据本公开的实施方案的用于执行命令的时序图。
在图3至图9中,曲线图302示出了由MCU 101发出并由电子设备102接收的nCS信号的图示。在图3至图9的上下文中的实耗时间可用字节表示,其中给定字节表示八个时钟脉冲。
曲线图304示出了由MCU 101发出并在每个电子设备102处检测到的SCK信号的图示。在MCU 101与电子设备102之间的串行数据传输期间,SCK信号的每个脉冲可以用于按串行数据线串行传输单个位。SCK信号可被发出作为空闲,其可以是逻辑低或逻辑高电平,或者在表示连续计时或时钟脉冲的块中。可使用这些,使得每个SDI/SDO/MISO/MOSI信号同步。
曲线图306示出了由MCU 101经由其MOSI端口发出并且由电子设备102A经由其SDI端口(表示为SDI 1)接收的信号的图示。
曲线图308示出了由电子设备102A经由其SDO端口(表示为SDO1)发出并且由电子设备102B经由其SDI端口(表示为SDI 2)接收的信号的图示。
曲线图310示出了由电子设备102B经由其SDO端口(表示为SDO2)发出并且由电子设备102C经由其SDI端口(表示为SDI 3)接收的信号的图示。
曲线图312示出了由电子设备102C经由其SDO端口(表示为SDO3)发出并且由MCU101经由其MISO端口接收的信号的图示。
图3是根据本公开的实施方案的命令320的传播和执行的时序图。命令320可以是例如写入命令或快速命令。命令320还可包括要写入或充当用于执行命令320的参数的数据。快速命令可包括不要求从给定电子设备102返回附加的信息或数据字节的命令。命令320可以是给定长度的,诸如字节,并且数据可以是预定长度,诸如对于要写入的数据或对于要读取的数据是三个字节。
在图3示出的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
MCU 101可将在nCS信号上的下降沿发送到电子设备102中的每个电子设备,如曲线图302所示。此后,MCU 101可在SCK信号上提供连续计时,如曲线图304所示。MCU 101可在其SDI端口上向电子设备102A发出命令320,如曲线图306所示。
当命令320已经完全地由电子设备102A接收时,电子设备102A可将命令320写入其SDO端口并写入电子设备102B的SDI端口,如曲线图308所示。
当命令320已经完全地由电子设备102B接收时,电子设备102B可将命令320写入其SDO端口并写入电子设备102C的SDI端口,如曲线图310所示。
当命令320已经完全地由电子设备102C接收时,电子设备102C可任选地将命令320写入其SDO端口并写入MCU 101的MISO端口,如曲线图312所示。该写入可以是任选的,因为在命令320被写入MISO端口之前,如果MCU 101发出在nCS信号上的另一个变化沿,诸如上升沿,则可终止或阻止这种写入。然而,如图3所示,MCU 101可在向电子设备102发出在nCS信号上的另一个变化沿(诸如上升沿)之前等待,直到命令320被写入MISO端口。因此,命令320向MISO端口的写入可用作向MCU 101的对命令320已经成功地传播通过菊花链的确认。
在一个实施方案中,电子设备102中的每个电子设备可被配置为在命令320已经完全地接收在电子设备102中的相应一个电子设备处时执行命令320。在这个实施方案中,命令320的执行可能在电子设备102之间是异步的。在另一个实施方案中,电子设备102中的每个电子设备可被配置为延迟命令320的执行,直到接收到同步信号,诸如在nCS信号上的上升沿。在这个实施方案中,命令320的执行可能在电子设备102之间是同步的。
如图3所示,每个单独电子设备102可接收命令320并执行命令320。因此,命令320可针对所有电子设备102,并且可能未被指定为应用于单个电子设备或电子设备102的子集。本公开的实施方案可提供附加灵活性,其中单独电子设备102可通过命令进行寻址,如以下进一步详细地讨论的。
图4是根据本公开的实施方案的命令422、424、426的传播和执行的图示。
命令422、424、426可以是例如写入命令。命令422、424、426也可被实施为快速命令。快速命令可包括不要求从给定电子设备102返回附加信息的命令。命令422、424、426中的每个命令可包括要写入或充当执行相应命令的参数的数据。在一个实施方案中,命令422、424、426中的每个命令可指定特定电子设备102或电子设备102的子集以执行命令。指定电子设备102可执行命令并且将该命令传播到在菊花链中的剩余电子设备102。不由命令指定的其他电子设备102可将命令传播到在菊花链中的剩余电子设备102,而不执行命令自身。
例如,命令422可指定电子设备102C将一组数据写入目的地。命令424可指定电子设备102B将一组数据写入目的地。命令426可指定电子设备102C将一组数据写入目的地。命令422、424、426可指定要写入在电子设备102中或通信地耦接到该电子设备的任何合适的目的地的任何合适的数据。
在图4示出的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
在变化沿(诸如nCS信号的下降沿)上,电子设备102中的每个电子设备可等待要执行的命令。MCU 101可通过SCK信号发出连续时钟信号,直到nCS信号的后续变化沿,诸如上升沿。nCS信号的第二变化沿(诸如上升沿)可指示要执行被传播的给定命令。此外,nCS信号的第三变化沿(诸如上升沿)可指示可发送附加或新命令。
MCU 101可在其MOSI端口上向电子设备102A的SDI端口发出命令422。由于命令422指定电子设备102C而不是电子设备102A来执行,电子设备102A可传播命令422而不执行命令422。电子设备102A可向其SDO端口、向电子设备102B的SDI端口写入命令422。由于命令422指定电子设备102C而不是电子设备102B来执行,电子设备102B可传播命令422而不执行命令422。电子设备102B可向其SDO端口、向电子设备102C的SDI端口写入命令422。因此,命令422可在其指定电子设备(即,电子设备102C)处被接收。电子设备102C可被配置为执行命令422。电子设备102C可被配置为在完全地接收到命令422之后或在nCS信号的后续上升沿上执行命令422。电子设备102C可被配置为将命令422传播到在菊花链中的任何另外电子设备102或传播到MCU 101。然而,如图4所示,MCU101可在电子设备102C进一步将命令422传播到菊花链中之前发出在nCS信号上的变化沿。电子设备102C的SDO端口和MCU 101的MISO端口可保持逻辑低。
在发出nCS信号的变化沿(诸如上升沿)后,可执行命令422,如果该命令尚未执行的话。在nCS信号处于逻辑高电平时,电子设备102的SDO端口可置于高阻抗模式。SCK信号可以是空闲的。
MCU 101可被配置为发出nCS信号的变化沿(诸如下降沿)以发信号通知电子设备102注意另外命令。MCU 101可在其MOSI端口上向电子设备102A的SDI端口发出命令424。由于命令424指定电子设备102B而不是电子设备102A来执行,电子设备102A可传播命令424而不执行命令424。电子设备102A可向其SDO端口、向电子设备102B的SDI端口写入命令424。因此,命令424可在其指定电子设备(即,电子设备102B)处被接收。电子设备102B可被配置为执行命令424。电子设备102B可被配置为在完全地接收到命令424之后或在nCS信号的后续上升沿上执行命令424。电子设备102B可被配置为将命令424传播到在菊花链中的任何另外电子设备102或传播到MCU 101。然而,如图4所示,MCU 101可在电子设备102B进一步将命令424传播到菊花链中之前发出在nCS信号上的变化沿。电子设备102B、102C的SDO端口和MCU101的MISO端口可通过仅发送NOP命令并因此在待机中来保持逻辑低,而不执行另外命令。
在发出nCS信号的变化沿(诸如上升沿)后,可执行命令424,如果该命令尚未执行的话。在nCS信号处于逻辑高电平时,电子设备102的SDO端口可置于高阻抗模式。SCK信号可以是空闲的。
MCU 101可被配置为发出nCS信号的变化沿(诸如下降沿)以发信号通知电子设备102注意另外命令。MCU 101可在其MOSI端口上向电子设备102A的SDI端口发出命令426。因此,命令426可在其指定电子设备(即,电子设备102A)处被接收。电子设备102A可被配置为执行命令426。电子设备102A可被配置为在完全地接收到命令426之后或在nCS信号的后续上升沿上执行命令426。电子设备102A可被配置为将命令426传播到在菊花链中的任何另外电子设备102或传播到MCU 101。然而,如图4所示,MCU 101可在电子设备102A进一步将命令426传播到菊花链中之前发出在nCS信号上的变化沿。电子设备102A、102B、102C的SDO端口和MCU 101的MISO端口可保持逻辑低。
在发出nCS信号的变化沿(诸如上升沿)后,可执行命令426,如果该命令尚未执行的话。在nCS信号处于逻辑高电平时,电子设备102的SDO端口可置于高阻抗模式。SCK信号可以是空闲的。
虽然图4示出了命令可如何指定特定电子设备102,但是每个电子设备需要不同命令实例。命令实例可以全是不同命令,或是以不同操作参数发出的命令。此外,需要附加命令(诸如写入命令)来指定其他操作。此外,图4中的这些命令的执行在每个命令的执行之间使用在nCS信号上的附加变化沿。
图5是根据本公开的实施方案的读取命令528的传播和执行的图示。
命令528可被实施为读取命令。要从中读取数据的目的地可由命令528指定,在命令528的操作参数内,或者基于命令528的识别来暗示。每个电子设备102可接收命令528并且执行指定读取操作。此外,每个电子设备102可传播命令528,顺着菊花链向上传播来自电子设备102的任何接收到的数据,并且顺着菊花链向下向电子设备102或MCU 101传播其自己的读取数据。
在图5示出的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
在变化沿(诸如nCS信号的下降沿)上,电子设备102中的每个电子设备可等待要执行的命令。MCU 101可通过SCK信号发出连续时钟信号,直到nCS信号的后续变化沿,诸如上升沿。nCS信号的第二变化沿(诸如上升沿)可指示MCU 101已经接收到由所有电子设备102读取的数据,并且在其中的接口电路可被重置。
MCU 101可在其MOSI端口上向电子设备102A的SDI端口发出命令528。电子设备102A可在完全地接收到命令528之后执行命令528以从指定源读取数据。数据可在图5中被引用为DATA1 530。在接收到命令528之后,电子设备102A可被配置为开始在其SDO端口上向电子设备102B的SDI端口传播命令528和DATA1 530。
电子设备102B可在完全地接收到命令528之后执行命令528以从指定源读取数据。数据可在图5中被引用为DATA2 532。在接收到命令528之后,电子设备102B可被配置为开始在其SDO端口上向电子设备102C的SDI端口传播命令528、DATA1 530和DATA2 532。
电子设备102C可在完全地接收到命令528之后执行命令528以从指定源读取数据。数据可在图5中被引用为DATA3 534。在接收到命令528之后,电子设备102C可被配置为开始在其SDO端口上向MCU 101的MISO端口传播命令528、DATA1 530、DATA2 532和DATA3 534。
在接收到读取命令528时,MCU 101可确定读取命令成功地传播通过电子设备102的菊花链。MCU 101可将此解释为确认信号。MCU 101可接收并利用由电子设备102生成的遵循读取命令528的数据。
每个电子设备102可根据任何合适的方案或机制一次发射其读取数据。例如,每个电子设备102可确定其在菊花链内的位置。可以任何合适的方式确定该位置。例如,给定电子设备对在nCS信号的下降沿与命令528的接收的结束之间的字节数量进行计数。因此,电子设备102A可具有为一的位置,电子设备102B可具有为二的位置,并且电子设备102C可具有为三的位置。
基于在菊花链内给定电子设备102的位置,并且基于在要由每个电子设备102生成的数据的长度,可确定在读取命令之后的延迟或时间528,在该延迟或时间中,给定电子设备102要发射其自己的数据。例如,每个电子设备102可将其位置计算为减一,然后将结果乘以数据长度。
然而,执行命令的该方法可能要求多个不同命令,或者此类命令的多个且不必要的实例。例如,仍然必须向所有电子设备102发出仅旨在针对单个电子设备102的命令。可能简单地丢弃来自非预期电子设备102的数据,但是用于执行的时间长度可能长,因为每个电子设备102从在菊花链中的所有上游电子设备102传播数据。这可能导致显著的开销或延迟来执行来自单个电子设备102的读取。
图6示出了根据本公开的实施方案的复杂命令636和相关联的其他命令的发出。在图6中,仅示出了这种复杂命令636和相关联的其他命令从MCU 101到电子设备102A的第一次发出。未示出这些命令从电子设备102A到在菊花链中的其他电子设备102的进一步传播,因为图6示出了复杂命令636的使用的模板。图7至图9中示出了复杂命令636的特定用途(包括传播通过菊花链)。
复杂命令636可以是快速命令。因此,由于仅执行复杂命令636,可能无需在来自电子设备的回复中返回数据。然而,在复杂命令636之后的附加命令可能不是快速命令。
复杂命令636可具有任何合适的长度,诸如字节。复杂命令636可以是一种或多种类型的命令要遵循复杂命令636的指示,诸如读取和写入的可能的混合。此外,复杂命令636可以是特定于单独电子设备102的命令要遵循复杂命令636的指示。
在所示的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
MCU 101可在发出在nCS信号上的变化沿(诸如下降沿)之后发出复杂命令636。MCU101可在发出在nCS信号上的另一个变化沿(诸如上升沿)之前等待,直到所有相关联的命令已经传播通过电子设备102的菊花链。虽然nCS信号是逻辑低的,但是SCK时钟可提供连续时钟信号。
在一个实施方案中,复杂命令636之后可以是针对电子设备102中的每个电子设备的命令,或者至少命令的间隙。例如,如果在菊花链中存在三个电子设备102,则可在复杂命令636之后分配三个命令。菊花链的长度可被给出为ChainLength。如图6所示,在复杂命令636之后,MCU 101可发出命令638。命令638可被指定为由电子设备102A执行。命令638可具有由DataLength1给出的长度。然后,MCU 101可发出命令640。命令640可被指定为由电子设备102B执行。命令640可具有由DataLength2给出的长度。然后,MCU 101可发出命令642。命令642可被指定为由电子设备102C执行。命令642可具有由DataLength3给出的长度。在复杂命令636之后的命令的数量可以是ChainLength。
在一个实施方案中,在针对电子设备102中的每个电子设备的命令之后,MCU 101可被配置为发出一系列NOP字节644。NOP字节144的长度或数量可足以允许命令636、638、640、642完全地传播到在菊花链中的所有预期接收方电子设备102。
由于在给定电子设备102的SDI端口上接收到命令流和NOP字节644,给定电子设备102可通过将接收信息复制到其SDO端口来传播该接收信息。电子设备102可被配置为以任何合适的延迟将接收信息复制到相应SDO端口。例如,延迟可以是位,其中在接收到位之后,传播该位,或者延迟可以是字节,其中在接收到全字节之后,传播该字节。图6的图示可假设延迟是字节。
因此,给定菊花链的长度或电子设备的量ChainLength,NOP字节644的大小可被给出为(ChainLength+1)字节。如果给定电子设备102在传播接收信息时的延迟不同,则可相应地调整NOP字节644的大小。因此,NOP字节644可被配置为考虑到由电子设备102在传播信息中引起的延迟。此外,命令636、638、640、642和NOP字节644的整个序列可长至足以使命令636、638、640、642完全地传播到所有电子设备102。在发射NOP字节644之后,MCU 101可被配置为发出在nCS信号上的变化沿,诸如上升沿。
接收到命令636、638、640、642的每个电子设备102可分析每个这种命令,并且确定接收命令是否旨在由其自身执行。例如,每个电子设备102可认识到复杂命令636旨在由其自身执行并且自身准备好用于附加命令。电子设备102A可被配置为认识到命令638要由其自身执行,但是命令640、642不由电子设备102A执行。在传播命令636、638之后,命令640、642仅要传播到菊花链的其余部分。类似地,电子设备102B可被配置为认识到命令640要由其自身执行,但是命令638、642不由电子设备102B执行。命令638、642仅要在传播命令636、638、640、642的序列内传播到菊花链的其余部分。类似地,电子设备102C可被配置为认识到命令642要由其自身执行,但是命令638、640不由电子设备102C执行。命令638、640在传播命令636、638、640、642的序列内仅要传播到菊花链的其余部分。每个电子设备102可被配置为分析给定命令并且确定命令长度,使得命令的开始和结束是已知的。在位置n处的每个电子设备可选择在复杂命令636之后的序列的第n命令作为其要执行的命令。
如以下进一步详细地描述的,由MCU 101发出的写入和快速命令(例如,命令638、640、642中的一个命令)可或可不延迟其在电子设备102处的执行直到nCS信号的后续变化沿。通过延迟执行直到nCS信号的这种后续变化沿(诸如上升沿),这些命令的执行可以是同步的。否则,这些命令的执行可以是异步的。
如以下进一步详细地描述的,由MCU 101发出的读取命令(例如,命令638、640、642中的一个命令)之后可以是NOP字节的发出。NOP字节的长度可长至足以包括作为对命令的执行的响应而生成的数据。由命令638、640、642中的一个命令实施的这种读取命令可具有包括用于命令自身和用于从执行该命令返回的NOP字节或数据两者的足够空间的DataLength。因此,图6中的命令638、640、642中的一个给定命令的表示可示出命令自身和用于作为对命令的执行的响应而生成的数据的空间两者。虽然命令638、640、642中的每个命令的长度被示出为相同长度,但是命令638、640、642中的每个命令的长度可根据要执行的特定命令的性质而变化。
给定电子设备102可被配置为当接收到不旨在由给定电子设备102执行的读取命令时,指定DataLength的命令的内容可仅从SDI端口传播到SDO端口。然而,给定电子设备可被配置为当接收到旨在由给定电子设备102执行的读取命令时,传播读取命令,接着传播所生成的数据而不是NOP字节。
不同电子设备102可具有被设定不同大小的寄存器。这也可能导致命令638、640、642具有不同的长度,即使此类命令638、640、642用于相同类型的操作也是如此。例如,电子设备102A可具有16位寄存器,而电子设备102B可具有8位寄存器。因此,针对电子设备102A和电子设备102B的相同实质性数据(诸如“0000 0000 1010 1010”)的写入命令可具有不同长度。如果命令具有取决于目标电子设备102的不同长度,则即使给定命令不由电子设备102执行,每个电子设备102也可知道给定命令的大小。每个电子设备102在认识到命令以及因此其长度时可应用该命令的正确数据长度。
图7示出了根据本公开的实施方案的在复杂命令的上下文内写入命令的执行。
在所示的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
类似于图6,在图7中,MCU 101可在发出在nCS信号上的变化沿(诸如下降沿)之后发出复杂命令636。MCU 101可在发出在nCS信号上的另一个变化沿(诸如上升沿)之前等待,直到所有相关联的命令已经传播通过电子设备102的菊花链。虽然nCS信号是逻辑低的,但是SCK时钟可提供连续时钟信号。
如曲线图306所示,在将复杂命令636从MOSI端口向电子设备102A的SDI端口发送到电子设备102A之后,MCU 101可被配置为发出写入命令746和要写入的DATA1 748。写入命令746和要写入的DATA1 748的组合可形成整个写入命令。该整个写入命令可旨在由电子设备102A执行并且可具有DataLength1的长度。写入命令746和DATA1 748可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可被配置为发出另一个写入命令750和要写入的DATA2 752。写入命令750和DATA2 752的组合可形成整个写入命令。该整个写入命令可旨在由电子设备102B执行并且可具有DataLength2的长度。写入命令750和DATA2 752可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可被配置为发出又一个写入命令754和要写入的DATA3 756。写入命令754和DATA3 756的组合可形成整个写入命令。该整个写入命令可旨在由电子设备102C执行并且可具有DataLength3的长度。写入命令754和DATA3 756可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可向电子设备102A发出NOP,或者逻辑低输出,直到所有命令已经传播到电子设备102。然后,MCU 101可发出在nCS信号上的变化沿,诸如上升沿。相应电子设备102可在接收到命令和要写入的数据时或在nCS信号上的该变化沿上执行其接收命令。
如曲线图308所示,电子设备102A可在其SDO端口上将命令和数据(636,746,748,750,752,754,756)的序列写入电子设备102B的SDI端口。类似地,如曲线图310所示,电子设备102B可在其SDO端口上将命令和数据(636,746,748,750,752,754,756)的序列写入电子设备102C的SDI端口。此外,如曲线图312所示,电子设备102C可在其SDO端口上将命令和数据(636,746,748,750,752,754,756)的序列写入MCU 101的MISO端口。该写入可用作向MCU101的对命令和数据已经成功地传播通过菊花链的确认。
电子设备102A可认识到命令746旨在由电子设备102A执行。电子设备102A可使用DATA1 748执行命令746。电子设备102B可认识到命令750旨在由电子设备102B执行。电子设备102B可使用DATA2 752执行命令750。电子设备102C可认识到命令754旨在由电子设备102C执行。电子设备102C可使用DATA2 756执行命令754。
除旨在由特定电子设备102执行外,命令746、750、754中的每个命令可以是相同或不同写入命令。此外,数据748、752、756各自可以是相同或不同数据,或者相同或不同数据长度。每个电子设备102可以相同方式认识到和计算每个命令的数据长度。
图8示出了根据本公开的实施方案的在复杂命令的上下文内读取命令的执行。
在所示的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
类似于图6至图7,在图8中,MCU 101可在发出在nCS信号上的变化沿(诸如下降沿)之后发出复杂命令636。MCU 101可在发出在nCS信号上的另一个变化沿(诸如上升沿)之前等待,直到所有相关联的命令已经传播通过电子设备102的菊花链。虽然nCS信号是逻辑低的,但是SCK时钟可提供连续时钟信号。
如曲线图306所示,在将复杂命令636从MOSI端口向电子设备102A的SDI端口发送到电子设备102A之后,MCU 101可被配置为发出读取命令858。此外,MCU 101可被配置为发出足够长度的NOP字节870以适应由于执行读取命令858生成的任何数据。这种数据可最终地由电子设备102A生成并称为DATA1 860。读取命令858和由NOP字节870占用的空间或DATA1 860的组合可形成整个读取命令。该整个读取命令可旨在由电子设备102A执行并且可具有DataLength1的长度。这可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可被配置为发出另一个读取命令862。此外,MCU101可被配置为发出足够长度的NOP字节870以适应由于执行读取命令862生成的任何数据。这种数据可最终地由电子设备102B生成并称为DATA2 864。读取命令862和由NOP字节872占用的空间或DATA2 864的组合可形成整个读取命令。该整个读取命令可旨在由电子设备102B执行并且可具有DataLength2的长度。这可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可被配置为发出另一个读取命令866。此外,MCU101可被配置为发出足够长度的NOP字节874以适应由于执行读取命令866生成的任何数据。这种数据可最终地由电子设备102C生成并称为DATA3 868。读取命令866和由NOP字节874占用的空间或DATA3 868的组合可形成整个读取命令。该整个读取命令可旨在由电子设备102C执行并且可具有DataLength3的长度。这可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可向电子设备102A发出NOP,或者逻辑低输出,直到所有命令已经传播到电子设备102并且数据已经返回到MCU 101。然后,MCU 101可发出在nCS信号上的变化沿,诸如上升沿。相应电子设备102可在接收到命令时执行其接收命令。
如曲线图308所示,电子设备102A可在其SDO端口上将复杂命令636、读取命令858、由电子设备102A生成的DATA1 860、读取命令862、NOP 872、读取命令866和NOP 874、876的序列写入电子设备102B的SDI端口。
类似地,如曲线图310中所示,电子设备102B可在其SDO端口上将复杂命令636、读取命令858、DATA1 860、读取命令862、由电子设备102B生成的DATA2 864、读取命令866和NOP 874、876写入电子设备102C的SDI端口。
此外,如曲线图312所示,电子设备102C可在其SDO端口上将复杂命令636、读取命令858、DATA1 860、读取命令862、DATA2 864、读取命令866、由电子设备102C生成的DATA3868和NOP 876(或至少与可在nCS信号的上升沿之前写入的一样多的NOP 876)写入MCU 101的MISO端口。该写入可用作向MCU 101的对命令和数据已经成功地传播通过菊花链的确认,并且用作电子设备102中的数据读取可被提供给MCU101的机制。
电子设备102A可认识到命令858旨在由电子设备102A执行。电子设备102A可执行命令858以产生DATA1 860。电子设备102A可发出DATA1 860而不是传播NOP 870。电子设备102B可认识到命令862旨在由电子设备102B执行。电子设备102B可执行命令862以产生DATA2 864。电子设备102B可发出DATA2 864而不是传播NOP 872。电子设备102C可认识到命令866旨在由电子设备102C执行。电子设备102A可执行命令866以产生DATA3 868。电子设备102A可发出DATA3 868而不是传播NOP 874。
除旨在由特定电子设备102执行外,命令858、862、866中的每个命令可以是相同或不同读取命令。此外,数据860、864、868各自可以是相同或不同数据长度。每个电子设备102可以相同方式认识到和计算每个命令的数据长度。
图9示出了根据本公开的实施方案的在复杂命令的上下文内读取命令、写入命令和快速命令的混合的执行。
在所示的事件之前,MCU 101可将电子设备102置于菊花链模式。可使用任何合适的信号或命令将电子设备102置于菊花链模式。
类似于图6至图8,在图9中,MCU 101可在发出在nCS信号上的变化沿(诸如下降沿)之后发出复杂命令636。MCU 101可在发出在nCS信号上的另一个变化沿(诸如上升沿)之前等待,直到所有相关联的命令已经传播通过电子设备102的菊花链。虽然nCS信号是逻辑低的,但是SCK时钟可提供连续时钟信号。
如曲线图306所示,在将复杂命令636从MOSI端口向电子设备102A的SDI端口发送到电子设备102A之后,MCU 101可被配置为发出读取命令978。此外,MCU 101可被配置为发出足够长度的NOP字节982以适应由于执行读取命令978生成的任何数据。这种数据可最终地由电子设备102A生成并称为DATA1 980。读取命令978和由NOP字节982占用的空间或DATA1 980的组合可形成整个读取命令。该整个读取命令可旨在由电子设备102A执行并且可具有DataLength1的长度。这可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可被配置为发出写入命令984和要写入的DATA2986。写入命令984和DATA2 986的组合可形成整个写入命令。该整个写入命令可旨在由电子设备102B执行并且可具有DataLength2的长度。写入命令984和DATA2 986可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可被配置为发出快速命令988。快速命令988的执行可能不要求将由预期接收方生成数据。在一个实施方案中,快速命令988可旨在由电子设备102C执行。在另一个实施方案中,快速命令988可旨在由所有电子设备102执行。快速命令988可以是DataLength3字节宽的。快速命令988可从MOSI端口发出到电子设备102A的SDI端口。
接下来,MCU 101可向电子设备102A发出NOP 990,或者逻辑低输出,直到所有命令已经传播到电子设备102并且数据已经返回到MCU101。然后,MCU 101可发出在nCS信号上的变化沿,诸如上升沿。相应电子设备102可在接收到命令时或在nCS信号的上升沿上执行其接收命令。
如图308所示,电子设备102A可在其SDO端口上将复杂命令636、读取命令978、由电子设备102A生成的DATA1 980、写入命令884、DATA2 986、快速命令988和NOP 990的序列写入电子设备102B的SDI端口。
类似地,如图310所示,电子设备102B可在其SDO端口上将复杂命令636、读取命令978、由电子设备102A生成的DATA1 980、写入命令884、DATA2 986、快速命令988和NOP 990的序列写入电子设备102C的SDI端口。
此外,如曲线图312所示,电子设备102C可在其SDO端口上将复杂命令636、读取命令978、由电子设备102A生成的DATA1 980、写入命令884、DATA2 986、快速命令988和NOP990(或至少与可在nCS信号的上升沿之前写入的一样多的NOP 990)的序列写入MCU 101的MISO端口。该写入可用作向MCU 101的对命令和数据已经成功地传播通过菊花链的确认,并且用作电子设备102中的数据读取可被提供给MCU 101的机制。
电子设备102A可认识到命令978旨在由电子设备102A执行。电子设备102A可执行命令878以产生DATA1 980。电子设备102A可发出DATA1 980而不是传播NOP 982。电子设备102B可认识到命令984旨在由电子设备102B执行。电子设备102B可使用DATA2 986执行命令984。在一个实施方案中,电子设备102C可认识到快速命令988旨在由电子设备102C执行,并且该快速命令可被执行。命令984、988的执行可延迟并且由nCS信号的变化沿(诸如上升沿)触发。
在图7至图9中的每一者中,写入MCU 101的MISO端口的数据可用作确认。MCU 101在看到被写入电子设备102A的相同的命令或数据从菊花链的在电子设备102C处的末端返回时,可确定是否成功地执行并传播所有命令和数据。如果在MCU 101处接收到的信息与预期信息不匹配,则MCU 101可采取任何合适的纠正措施。例如,可重新发送未正确地执行的任何命令。针对电子设备102中的单个电子设备的命令可由MCU 101通过在对应于给定电子设备102的适当时隙中写入命令来发出,同时在其他时隙中发出NOP。
图10是根据本公开的实施方案的用于菊花链复杂命令的执行的方法1000的图示。具体地,方法1000可示出电子设备102的操作。方法1000可在例如SPI接口电路204内实现,方法1000可包括更少或更多的步骤,可以不同的次序进入步骤、重复步骤,或者相对于彼此并行地进入不同的步骤路径。方法1000可在任何合适的步骤开始,诸如步骤1005。
在步骤1005处,电子设备(诸如电子设备102)可通电。在执行任何必要的引导或启动任务之后,方法1000可进入步骤510。步骤1010可反映电子设备102的正常操作,这时电子设备102不以菊花链方式将其输入传播到其输出,也不发送以菊花链方式传播的此类数据。
在步骤1015处,SPI接口电路204可被配置为确定电子设备102是否将进入菊花链模式。SPI接口电路204可以以任何合适的方式进行此类确定。如果是,则方法1000可前进至步骤1020。否则,方法1000可重复步骤1010以在正常模式菊花链模式下操作。
在步骤1020处,如有必要,可初始化计数器,诸如字节计数器和命令计数器。字节计数器可被配置为对已经在nCS信号的下降沿与复杂命令的接收之间接收的字节进行计数。这可用于确定在菊花链内电子设备的位置。命令计数器可被配置为对在复杂命令之后发出的命令的数量进行计数。这可用于确定给定命令是否旨在由电子设备执行。
在步骤1025处,可确定是否已经从MCU 101接收到信号,诸如在nCS信号上的下降沿。如果否,则方法1000可在步骤1025处重复。否则,方法100可前进至步骤1030。
在步骤1030处,可确定接收信息是否是复杂命令。如果是,则方法1000可前进至步骤1040。否则,方法100可前进至步骤1035。
在步骤1035处,可实施字节计数器。可将在SDI端口处的输入复制到SDO端口。方法1000可返回至步骤1030。
在步骤1040处,可以任何合适的方式确定电子设备的位置。例如,可从字节计数确定位置。这可指示复杂命令在其传播通过菊花链以到达给定电子设备时自其发出起的延迟。这可假设复杂命令是一个字节长,并且MCU 101在发出在nCS信号上的下降沿之后立即发出复杂命令。
在步骤1045处,可通过顺着菊花链向上在输入端口上接收信息。
在步骤1050处,可确定接收信息是否是命令。如果否,则方法1000可前进至步骤1055。否则,方法1000可前进至步骤1060。
在步骤1055处,可将在步骤1045中已经接收到的输入复制到SDO端口。方法1000可前进至步骤1075。
在步骤1060处,可识别命令。可确定命令的预期电子设备。可确定命令的性质,无论是写入、读取还是快速命令。可确定命令的数据长度,包括要用命令执行或从该命令生成的任何数据。可使命令计数器递增。因此,电子设备可跟踪在nCS信号的下降沿之后已经接收到的命令的数量。
在步骤1065处,可确定命令是否旨在由电子设备执行,而不是由另一个电子设备执行。这可以是基于命令计数对电子设备的位置的比较。如果否,则方法1000可前进至步骤1055。否则,方法1000可前进至步骤1070。
在步骤1070处,如果适当的话,可执行命令。例如,在步骤1070中可执行写入命令或快速命令。另选地,可替代地使这些命令的执行延迟,直到在例如步骤1075中检测到NCS信号的上升沿。例如,可在步骤1070中执行读取命令。可通过将信息复制到SDO端口来传播命令以及从命令的执行生成的任何数据。方法1000可返回至步骤1045。
在步骤1075处,可确定在nCS信号上是否存在变化沿,诸如上升沿。如果否,则方法1000可返回至步骤1045。如果是,则方法1000可前进至步骤1080。
在步骤1080处,如有必要,可执行已经接收到来由电子设备执行的命令。方法1000可返回到步骤1022继续执行菊花链模式。
虽然图10中未示出,但是方法1000可在任何合适的步骤处终止。此外,方法1000可在步骤1015之后的任何合适的步骤处退出菊花链模式,并且返回到步骤1010来运行正常模式。另外,方法1000可退出复杂菊花链执行,并且返回到步骤1020,以在步骤1030之后的任何合适的点处进行菊花链模式执行。
图11是根据本公开的实施方案的用于菊花链模式的复杂命令的执行的另一种方法1100的操作的图示。具体地,方法1100可示出MCU 101的操作。可在例如SPI接口电路202内实施方法1100。方法1100可包括更少或更多状态,可以不同次序进入状态、重复状态,或者相对于彼此并行地进入不同状态路径。方法1100可通过例如SPI接口电路202中的状态机来实施。方法1100可在任何合适的步骤开始,诸如步骤1105。
在步骤1105处,MCU(诸如MCU 101)可通电。在执行任何必要的引导或启动任务之后,方法1100可进入步骤1110。步骤1110可反映MCU101的正常操作,这时MCU 101不以菊花链方式向电子设备102发送数据,也不接收以菊花链方式传播的此类数据。
在步骤1115处,MCU的接口电路(诸如SPI接口电路202)可被配置为确定是否将电子设备102置于菊花链模式中。如果否,则方法1100可返回至步骤1110。否则,方法1100可前进至步骤1120。在步骤1120处,MCU可将菊花链中的电子设备置于菊花链模式。可以任何合适的方式执行步骤1120。
在步骤1125处,MCU的接口电路(诸如SPI接口电路202)可被配置为确定是否要将复杂命令发出到电子设备102。这可以是基于例如发出具体地由特定电子设备102执行的命令的需要。如果是,则方法1100可前进至步骤1130。否则,方法1100可在步骤1125处重复。
在步骤1130处,可向电子设备发出信号,诸如在nCS信号上的下降沿。此外,可向菊花链中的第一电子设备发出复杂命令。
在步骤1135处,可确定是否存在要发送到电子设备的附加命令。如果是,则方法1000可前进至步骤1140。否则,方法1000可前进至步骤1160。
在步骤1140处,可确定要发送的命令类型。如果要发送的命令类型是写入命令,则方法1000可前进至步骤1145。如果要发送的命令类型是读取命令,则方法1000可前进至步骤1150。如果要发送的命令类型是快速命令,则方法1000可前进至步骤1155。
在步骤1145处,可向菊花链中的电子设备中的第一电子设备发出写入命令。此外,可向菊花链中的电子设备中的第一电子设备发出要用于由写入命令执行的任何数据,诸如要写入的数据。方法1000可前进至步骤1135。
在步骤1150处,可向菊花链中的电子设备中的第一电子设备发出读取命令。此外,可向菊花链中的电子设备中的第一电子设备发出足以占据一定空间以供用于要由读取命令读取的数据的量的NOP。方法1000可前进至步骤1135。
在步骤1155处,可向菊花链中的电子设备中的第一电子设备发出快速命令。方法1000可前进至步骤1135。
在步骤1160处,可向菊花链中的电子设备中的第一电子设备发出附加NOP。这些附加NOP的量可以是足够的,使得在步骤1145、1150、1155中发出的所有命令、数据和NOP可传播通过菊花链中的所有电子设备。此外,这些附加NOP的量可以是足够的,使得MCU将接收在步骤1145、1150、1155中发出的所有命令和数据的副本,以及通过执行此类命令生成的任何数据。可发出在nCS信号上的上升沿。
在步骤1165处,可确定在步骤1160中接收到的命令和数据是否与预期的命令和数据相匹配。如果是,则方法1000可前进至步骤1120。否则,方法1000可前进至步骤1170。
在步骤1170处,可采取任何合适的纠正措施。例如,可重新发出在步骤1165中未正确地接收的任何命令,或者在步骤1165中未正确地接收的来自这些命令的执行的数据。这可通过返回到步骤1130的一个或多个实例执行来用复杂命令重新发出新命令流。
虽然图11中未示出,但是方法1100可在任何合适的步骤处终止。此外,方法1100可在步骤1115之后的任何合适的步骤处退出菊花链模式,并且返回到步骤1110来运行正常模式。另外,方法1100可退出复杂菊花链执行,并且返回到步骤1020,以在步骤1030之后的任何合适的点处进行菊花链模式执行。
尽管上文已描述了示例实施方案,但在不脱离这些实施方案的实质和范围的情况下,可由本公开进行其他变型和实施方案。
Claims (19)
1.一种装置,包括:
串行数据输入端口,所述串行数据输入端口被配置为从电子设备菊花链中的第一电子设备接收输入;
串行数据输出端口,所述串行数据输出端口被配置为向所述电子设备菊花链中的第二电子设备发送输出;
片选输入端口,所述片选输入端口被配置为从第三电子设备接收输入;和
接口电路,所述接口电路被配置为以菊花链模式并且基于第一接收命令:
接收关于所述串行数据输入端口的信息;
确定所述信息是否包括要由所述装置选择性执行的第二接收命令;以及
基于确定所述信息包括要由所述装置选择性执行的第二接收命令,执行所述第二接收命令。
2.根据权利要求1所述的装置,其中所述接口电路被进一步配置为基于确定所述信息包括不由所述装置选择性执行的第二接收命令,将所述第二接收命令复制到所述串行数据输出端口,而不执行所述第二接收命令。
3.根据权利要求1至2中任一项所述的装置,其中所述接口电路被进一步配置为至少部分地基于在所述电子设备菊花链中所述装置的位置来确定所述信息是否包括要由所述装置选择性执行的第二接收命令。
4.根据权利要求1至3中任一项所述的装置,其中所述接口电路被进一步配置为基于是否以对应于在所述电子设备菊花链中所述装置的位置的次序接收到要由所述装置选择性执行的第二接收命令来确定所述信息是否包括所述第二接收命令。
5.根据权利要求1至4中任一项所述的装置,其中所述接口电路被进一步配置为在执行所述第二接收命令之后将所述第二接收命令复制到所述串行数据输出端口。
6.根据权利要求1至5中任一项所述的装置,其中所述接口电路被进一步配置为结合所述第一接收命令接收在所述片选输入端口上的变化沿。
7.根据权利要求1至6中任一项所述的装置,其中所述接口电路被进一步配置为在接收到所述第二接收命令之后在所述片选输入端口上的变化沿上执行所述第二接收命令。
8.根据权利要求1至7中任一项所述的装置,其中所述接口电路被进一步配置为将其他信息复制到所述串行数据输出端口,所述其他信息在包括所述第二接收命令的所述信息之前被接收。
9.根据权利要求1至8中任一项所述的装置,其中所述接口电路被进一步配置为:
确定所述第二命令是读取命令;
执行所述第二命令以生成读取数据;以及
用所述读取数据取代所述信息的部分并且将来自所述取代的结果复制到所述串行数据输出端口。
10.一种装置,包括:
串行数据输出端口,所述串行数据输出端口被配置为向第一电子设备发送输出数据;
串行数据输入端口,所述串行数据输入端口被配置为从第二电子设备接收输入数据;
片选输出端口,所述片选输出端口被配置为向多个电子设备发送输出,所述多个电子设备以菊花链连接并且包括所述第一电子设备和所述第二电子设备;
接口电路,所述接口电路被配置为:
确定以菊花链连接的所述多个电子设备中的给定电子设备要选择性执行第一命令;
基于确定所述给定电子设备要执行所述第一命令,通过所述串行数据输出端口向以菊花链连接的所述多个电子设备发出复杂命令;以及
用所述复杂命令向所述多个电子设备指示要选择性执行附加命令。
11.根据权利要求10所述的装置,其中所述接口电路被进一步配置为:
在发出所述复杂命令之后,通过所述串行数据输出端口向以菊花链连接的所述多个电子设备发出所述第一命令,所述第一命令要由所述给定电子设备选择性执行并且不由在所述菊花链中的一个或多个其他电子设备执行。
12.根据权利要求10至11中任一项所述的装置,其中所述接口电路被进一步配置为在所述第一命令之前或之后发出附加信息,使得在此类附加信息中所述第一命令的位置对应于在所述菊花链中所述给定电子设备的位置。
13.根据权利要求12所述的装置,其中在所述第一命令之前或之后的所述附加信息的位置对应于在所述菊花链中的其他电子设备。
14.根据权利要求10至13中任一项所述的装置,其中在所述第一命令之前或之后的所述附加信息包括针对在所述菊花链中的其他电子设备的第二命令,或者NOP。
15.根据权利要求10至14中任一项所述的装置,其中:
所述第一命令是读取操作;并且
所述接口电路被进一步配置为紧接所述第一命令之后发出一定量的NOP,所述量对于所述给定电子设备足以写入从执行所述读取操作产生的数据。
16.根据权利要求10至15中任一项所述的装置,其中:
所述第一命令是要由所述给定电子设备执行的读取操作;并且
所述接口电路被进一步配置为通过所述串行数据输出端口向以菊花链连接的所述多个电子设备发出第二命令,所述第二命令是写入操作,所述第二命令要由所述第二电子设备执行。
17.一种方法,所述方法包括根据权利要求1至9中任一项所述的装置的操作以发送和接收来自所述电子设备菊花链的数据。
18.一种方法,所述方法包括根据权利要求10至16中任一项所述的装置的操作以发送和接收来自所述电子设备菊花链的数据。
19.一种系统,所述系统包括作为主节点的根据权利要求10至16中任一项所述的装置和作为从节点的根据权利要求1至9中任一项所述的一个或多个装置,所述主节点和所述从节点以菊花链连接。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962893209P | 2019-08-29 | 2019-08-29 | |
US201962893202P | 2019-08-29 | 2019-08-29 | |
US201962893216P | 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,170 US11386025B2 (en) | 2019-08-29 | 2020-08-20 | Daisy chain complex commands |
US16/998,097 | 2020-08-20 | ||
US16/998,170 | 2020-08-20 | ||
US16/998,050 US11221977B2 (en) | 2019-08-29 | 2020-08-20 | Daisy chain mode entry sequence |
US16/998,097 US11494324B2 (en) | 2019-08-29 | 2020-08-20 | Daisy chain streaming mode |
US16/998,050 | 2020-08-20 | ||
PCT/US2020/048321 WO2021041758A1 (en) | 2019-08-29 | 2020-08-28 | Daisy chain complex commands |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114286992A true CN114286992A (zh) | 2022-04-05 |
CN114286992B CN114286992B (zh) | 2024-05-28 |
Family
ID=74682133
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080059928.0A Active CN114365103B (zh) | 2019-08-29 | 2020-08-28 | 用于菊花链模式进入的装置和方法 |
CN202080059945.4A Active CN114286991B (zh) | 2019-08-29 | 2020-08-28 | 用于菊花链流传输模式的方法和装置 |
CN202080059967.0A Active CN114286992B (zh) | 2019-08-29 | 2020-08-28 | 菊花链复杂命令 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080059928.0A Active CN114365103B (zh) | 2019-08-29 | 2020-08-28 | 用于菊花链模式进入的装置和方法 |
CN202080059945.4A Active CN114286991B (zh) | 2019-08-29 | 2020-08-28 | 用于菊花链流传输模式的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11494324B2 (zh) |
CN (3) | CN114365103B (zh) |
DE (3) | DE112020004089T5 (zh) |
WO (3) | WO2021041758A1 (zh) |
Families Citing this family (5)
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 | 合肥为国半导体有限公司 | 一种通信系统及方法 |
CN117931718A (zh) * | 2024-01-29 | 2024-04-26 | 合肥为国半导体有限公司 | 一种菊花链结构及其信号传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2229472A1 (en) * | 1997-02-14 | 1998-08-14 | Canon Kabushiki Kaisha | Data communication apparatus and method |
US20030074505A1 (en) * | 2001-10-15 | 2003-04-17 | Andreas David C. | Serial device daisy chaining method and apparatus |
US20110252162A1 (en) * | 2008-09-26 | 2011-10-13 | Cypress Semiconductor Corporation | Memory system and method |
DE102016223673A1 (de) * | 2016-11-29 | 2018-05-30 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Sensorsystems, Sensorsystem |
Family Cites Families (20)
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 |
US5132635A (en) * | 1991-03-05 | 1992-07-21 | Ast Research, Inc. | Serial testing of removable circuit boards on a backplane bus |
US7181635B2 (en) * | 2000-03-13 | 2007-02-20 | Analog Devices, Inc. | Method for placing a device in a selected mode of operation |
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 |
EP2425238B1 (en) | 2009-05-01 | 2018-10-17 | Analog Devices, Inc. | An 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 |
EP2656226B1 (en) | 2010-12-22 | 2015-07-22 | GE Energy Power Conversion Technology Limited | Communications architecture for providing data communication, synchronization and fault detection between isolated modules |
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 |
US10216678B2 (en) | 2014-10-07 | 2019-02-26 | Infineon Technologies Ag | Serial peripheral interface daisy chain communication with an in-frame response |
US20160205066A1 (en) * | 2015-01-09 | 2016-07-14 | Texas Instruments Incorporated | Unique device address assignment technique for bidirectional daisy chain system |
US10642769B2 (en) | 2017-03-24 | 2020-05-05 | Analog Devices Global Unlimited Company | Serial peripheral interface daisy chain mode system and apparatus |
-
2020
- 2020-08-20 US US16/998,097 patent/US11494324B2/en active Active
- 2020-08-20 US US16/998,050 patent/US11221977B2/en active Active
- 2020-08-20 US US16/998,170 patent/US11386025B2/en active Active
- 2020-08-28 WO PCT/US2020/048321 patent/WO2021041758A1/en active Application Filing
- 2020-08-28 CN CN202080059928.0A patent/CN114365103B/zh active Active
- 2020-08-28 WO PCT/US2020/048338 patent/WO2021041768A1/en active Application Filing
- 2020-08-28 CN CN202080059945.4A patent/CN114286991B/zh active Active
- 2020-08-28 CN CN202080059967.0A patent/CN114286992B/zh active Active
- 2020-08-28 DE DE112020004089.5T patent/DE112020004089T5/de active Pending
- 2020-08-28 WO PCT/US2020/048330 patent/WO2021041763A1/en active Application Filing
- 2020-08-28 DE DE112020004019.4T patent/DE112020004019T5/de active Pending
- 2020-08-28 DE DE112020004065.8T patent/DE112020004065T5/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2229472A1 (en) * | 1997-02-14 | 1998-08-14 | Canon Kabushiki Kaisha | Data communication apparatus and method |
US20030074505A1 (en) * | 2001-10-15 | 2003-04-17 | Andreas David C. | Serial device daisy chaining method and apparatus |
US20110252162A1 (en) * | 2008-09-26 | 2011-10-13 | Cypress Semiconductor Corporation | Memory system and method |
DE102016223673A1 (de) * | 2016-11-29 | 2018-05-30 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Sensorsystems, Sensorsystem |
Also Published As
Publication number | Publication date |
---|---|
CN114365103A (zh) | 2022-04-15 |
CN114286992B (zh) | 2024-05-28 |
WO2021041768A1 (en) | 2021-03-04 |
US11221977B2 (en) | 2022-01-11 |
DE112020004065T5 (de) | 2022-06-15 |
US20210064564A1 (en) | 2021-03-04 |
CN114286991B (zh) | 2024-08-20 |
US11494324B2 (en) | 2022-11-08 |
US11386025B2 (en) | 2022-07-12 |
WO2021041763A1 (en) | 2021-03-04 |
DE112020004019T5 (de) | 2022-06-02 |
CN114286991A (zh) | 2022-04-05 |
US20210064555A1 (en) | 2021-03-04 |
WO2021041758A1 (en) | 2021-03-04 |
DE112020004089T5 (de) | 2022-07-07 |
CN114365103B (zh) | 2024-08-20 |
US20210064563A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114286992B (zh) | 菊花链复杂命令 | |
CA1325286C (en) | Method and apparatus for interfacing a system control unit for a multi-processor system with input/output units | |
JP4773742B2 (ja) | 2線チップ間インターフェース | |
EP0258872B1 (en) | Serial data transfer system | |
US7328399B2 (en) | Synchronous serial data communication bus | |
KR100267130B1 (ko) | Pci 버스 시스템 | |
JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
JPH0311595B2 (zh) | ||
US8375238B2 (en) | Memory system | |
JP3651588B2 (ja) | 区分化同期インタフェース用調整可能クロックを備えたデータ処理システム | |
US9880961B2 (en) | Asynchronous bridge circuitry and a method of transferring data using asynchronous bridge circuitry | |
EP1211603B1 (en) | Interface for multi-processor | |
KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
CN1321370C (zh) | 状态寄存器更新逻辑电路的系统及其方法 | |
JP2004046891A (ja) | データ処理システム、データ処理装置、外部装置及びデータ伝送方法 | |
JP2826781B2 (ja) | データ転送方式 | |
JP2581041B2 (ja) | デ−タ処理装置 | |
JPH07152565A (ja) | マイクロプロセッサ | |
IE901534A1 (en) | Method and apparatus for interfacing a system control unit¹for a multiprocessor system with input/output units | |
JPH04326127A (ja) | 並列命令実行方式 | |
JPS61150181A (ja) | フア−ストイン・フア−ストアウト方式レジスタの制御方式 | |
JP2000357062A (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 |