菊花链流传输模式的制作方法

文档序号:29510733发布日期:2022-04-06 19:44阅读:285来源:国知局
菊花链流传输模式的制作方法
菊花链流传输模式
1.优先权
2.本公开要求2019年8月29日提交的美国临时专利申请第62/893,202号、2019年8月29日提交的美国临时专利申请第62/893,209号和2019年8月29日提交的美国临时专利申请第62/893,216号的优先权,其内容据此全文并入本文。
技术领域
3.本公开涉及微控制器之间的通信,并且更具体地涉及菊花链流传输模式。


背景技术:

4.微控制器单元(mcu)和其他电子设备以多种方式进行通信。然而,它们的通信端口数量是有限的,并且要连接到的设备数量可能远大于端口数量。优化mcu端口使用的一种方式是菊花链配置,在该配置中此类设备一个接一个彼此连接,并且数据从一个设备传播到下一个设备。菊花链配置通常用于大型背板应用,并且与其中数据传输在此类设备之间并行的配置相比,可以减少所需的线材数量。菊花链配置使用n个端口,其中n是在任何两个设备之间传送的数据的位数。在串行通信的情况下,诸如串行外设接口(spi),n可以是一。相反,并行配置可能需要m个端口,或m乘以n个端口,其中m是将彼此传送数据的设备的数量。如果设备上的端口数量有限,则菊花链配置可以有助于节省端口的使用。
5.菊花链配置可能需要有助于将命令和数据在整个菊花链中从一个设备传输到另一个设备的接口协议。本公开的实施方案的发明人已经发现在菊花链中以菊花链模式从设备流传输数据的障碍。本公开的实施方案的发明人发现的一个此类问题是菊花链协议通常遭受巨大的通信开销,因为简单地在整个菊花链中复制读取命令会使读取命令长度乘以链的长度。此外,如果必须从链中的每个设备检索数据,则此数据的缓冲可能发生在每个设备中,以便从沿菊花链更远的设备正确地传输数据。对缓冲区的需要可能导致需要更大的裸片尺寸来容纳这些缓冲区。本公开的实施方案的发明人已发现一种电子设备的菊花链流传输操作模式,该菊花链流传输操作模式解决了这些已发现问题中的一个或多个问题。


技术实现要素:

6.本公开的实施方案可包括一种装置。该装置可以是菊花链中的节点或电子设备。该装置可以包括串行数据输入端口,该串行数据输入端口被配置为从该菊花链中的第一电子设备接收输入。该装置可以包括串行数据输出端口,该串行数据输出端口被配置为向该菊花链中的第二电子设备发送输出。该装置可以包括片选输入端口,该片选输入端口被配置为从主控制单元接收输入。该装置可以包括接口电路,该接口电路被配置为在菊花链流传输模式下,基于接收的命令并且基于片选输入端口上的片选信号的变化沿,重复地进行下述步骤:从该装置的数据源读取数据以产生数据,将该数据输出到串行数据输出端口,以及在数据之后将在该串行数据输入端口处接收到的数据复制到串行数据输出端口。
7.本公开的实施方案可包括一种装置。该装置可以是用于电子设备的菊花链的主控
制单元。该装置可以包括串行数据输出端口,该串行数据输出端口被配置为向该菊花链的第一电子设备发送输出数据。该装置可以包括串行数据输入端口,该串行数据输入端口被配置为从该菊花链的最后一个电子设备接收输入数据。该装置可以包括片选输出端口,该片选输出端口被配置为向该菊花链的电子设备发送输出。该装置可以包括接口电路,该接口电路被配置为利用通过该串行数据输出端口发出的命令以及通过该片选输出端口发出的片选信号上的第一变化沿而将该电子设备设置成菊花链流传输模式。在菊花链流传输模式中,每个给定电子设备被配置为重复地进行下述步骤:从给定电子设备的数据源读取数据以产生数据;将该数据输出到菊花链中的下一电子设备;以及将从该菊花链中的前一电子设备接收到的接收数据输出到该菊花链中的下一电子设备。该接口电路可以被配置为:通过该串行数据输入端口,接收由该电子设备读取的连续数据流,该连续数据流包括来自每个电子设备的数据的至少两个实例。
8.本公开的实施方案可以包括一种用于操作电子设备的方法。该方法可以包括串行数据输入端口。该方法可以包括通过串行数据输入端口从第一电子设备接收输入。该方法可以包括通过串行数据输出端口向第二电子设备发送输出。该方法可以包括通过片选输入端口从主控制单元接收输入。该方法可以包括在菊花链流传输模式下,基于接收的命令并且基于片选输入端口上的片选信号的变化沿,重复地进行下述步骤:从该装置的数据源读取数据以产生数据,将该第一数据输出到串行数据输出端口,以及在该数据之后将在该串行数据输入端口处接收到的数据复制到该串行数据输出端口。
9.本公开的实施方案可以包括一种用于操作主控制单元的方法。该方法可以包括通过串行数据输出端口向第一电子设备发送输出数据。该方法可以包括通过串行数据输入端口从第二电子设备接收输入数据。该方法可以包括通过片选输出端口向电子设备发送输出。该电子设备可以以菊花链方式连接并且包括该第一电子设备和该第二电子设备。该方法可以包括利用通过该串行数据输出端口发出的命令以及通过该片选输出端口发出的片选信号上的变化沿而将该电子设备设置成菊花链流传输模式。在该菊花链流传输模式中,每个给定电子设备可以重复地进行下述步骤:从给定电子设备的数据源读取数据以产生数据;将该数据输出到菊花链中的下一电子设备;以及将从该菊花链中的前一电子设备接收到的接收数据输出到该菊花链中的下一电子设备。该方法可以包括通过该串行数据输入端口,接收由该电子设备读取的连续数据流,该连续数据流包括来自每个电子设备的数据的至少两个实例。
附图说明
10.图1是根据本公开的实施方案的具有菊花链式电子设备的系统的图示。
11.图2是根据本公开的实施方案的主控制单元和电子设备的更详细图示。
12.图3和图4是根据本公开的实施方案的发出用于在电子设备的菊花链中设置流传输模式的命令,然后在该流传输模式下执行数据读取的时序图的图示。
13.图5a和图5b是根据本公开的实施方案的用于电子设备的菊花链流传输的方法的操作的图示。
14.图6是根据本公开的实施方案的用于主控制单元的菊花链流传输模式进入和命令执行的另一方法的操作的图示。
具体实施方式
15.本公开的实施方案可以包括系统。该系统可以包括以菊花链方式彼此连接的电子设备。电子设备可以包括主电子设备或主控制单元以及任何合适数量的其他电子设备。电子设备和主控制单元可以以相同的方式或以不同的方式实现。电子设备和主控制单元可以各自包括接口电路。该接口电路可以以模拟电路、数字电路或由处理器执行的指令的任何合适的组合来实现。该接口电路可以处理电子设备与主控制单元之间的通信。主控制单元可以以任何合适的方式连接到每个电子设备。例如,该主控制单元可以经由时钟信号连接连接到每个电子设备。该主控制单元可以经由片选信号连接连接到每个电子设备。该主控制单元可以通过主控制单元的串行数据输出端口和菊花链中的第一电子设备的串行数据输入端口连接到该第一电子设备。该菊花链的给定电子设备可以通过给定电子设备的串行数据输出端口和菊花链的其他电子设备的串行数据输入端口连接到该其他电子设备。该主控制单元可以通过主控制单元中的串行数据输入端口和电子设备中的串行数据输出端口连接到菊花链中的最后一个电子设备。
16.结合上述任一实施方案,实施方案可以包括一种装置,诸如菊花链中的电子设备。该电子设备可以包括串行数据输入端口,该串行数据输入端口被配置为从第一其他电子设备或主控制单元接收输入。该电子设备可以包括串行数据输出端口,该串行数据输出端口被配置为向第二其他电子设备发送输出。该电子设备可以包括片选输入端口,该片选输入端口被配置为从电子设备(诸如主控制单元)接收输入。
17.结合上述任一实施方案,主控制单元可以被配置为向电子设备发出命令和与该命令相关联的数据。当处于菊花链模式时,电子设备通常可以将在其串行数据输入端口上接收的信息传播到其串行数据输出端口。该主控制单元可以包括:串行数据输出端口,该串行数据输出端口被配置为将输出数据发送到菊花链顶端处的第一电子设备;串行数据输入端口,该串行数据输入端口被配置为从菊花链末端处的第二电子设备接收输入数据;以及片选输出端口,该片选输出端口被配置为向电子设备发送输出;以及接口电路。
18.结合上述任一实施方案,电子设备的装置可包括接口电路。该接口电路可以被配置为在菊花链流传输模式下,基于第一接收命令并且基于片选输入端口上的片选信号的第一变化沿,重复地进行下述步骤:从该装置的数据源读取数据以产生第一数据,将该第一数据输出到串行数据输出端口,以及在第一数据之后将在串行数据输入端口处接收到的数据复制到串行数据输出端口。结合上述任一实施方案,接口电路可以被配置为在没有另外接收到第二命令或在片选输入端口上接收到的附加信号的情况下,重复下述步骤:从数据源读取数据以产生第一数据,将该第一数据输出到串行数据输出端口,以及将在串行数据输入端口处接收到的数据复制到串行数据输出端口。结合上述任一实施方案,该接口电路可以被配置为基于通过串行数据输入端口接收到第一接收命令,并且基于随后接收到片选输入端口上的片选信号的一个或多个第二变化沿而进入菊花链流传输模式。结合上述任一实施方案,该接口电路可以被配置为基于装置在电子设备的菊花链中的位置、待由装置读取的数据的长度或者电子设备的菊花链中的电子设备的数量而将第一数据一次输出到串行数据输出端口。可以以任何合适的方式确定装置的位置。待由装置读取的数据的长度(诸如数据长度)可以基于接收到的命令。该菊花链中的电子设备的数量可以以任何合适的方式来确定。使用位置、数据长度和电子设备数量的因素中的一个或多个因素,该接口电路可以
被配置为将数据写入与其他电子设备按顺序排列的下一电子设备,以便不发生数据冲突。结合上述任一实施方案,该接口电路可以被配置为基于片选输入端口上的片选信号的第二变化沿,暂停重复进行的下述步骤:将第一数据输出到串行数据输出端口,以及将在串行数据输入端口处接收到的数据复制到串行数据输出端口。结合上述任一实施方案,该接口电路可以被配置为基于片选输入端口上的片选信号的第三变化沿,恢复重复进行的下述步骤:将第一数据输出到串行数据输出端口,以及将在串行数据输入端口处接收到的数据复制到串行数据输出端口。
19.结合上述任一实施方案,主控制单元可包括接口电路。该接口电路可以被配置为利用通过该串行数据输出端口发出的第一命令以及通过该片选输出端口发出的片选信号上的第一变化沿而将该电子设备设置成菊花链流传输模式。在菊花链流传输模式中,每个给定电子设备被配置为重复地进行下述步骤:从给定电子设备的数据源读取数据以产生第一数据;将该第一数据输出到菊花链中的下一电子设备;以及将从该菊花链中的前一电子设备接收到的接收数据输出到该菊花链中的下一电子设备。结合上述实施方案中的任一实施方案,该接口电路可以被配置为通过该串行数据输入端口,接收由该电子设备读取的连续数据流,该连续数据流包括来自每个电子设备的第一数据的至少两个实例。结合上述实施方案中的任一实施方案,该接口电路可被进一步配置为使得该电子设备重复地提供连续数据流,而不发出第二命令或该片选输出端口上的附加信号。结合上述实施方案中的任一实施方案,该接口电路可被进一步配置为基于通过该片选输出端口发出的片选信号上的第二变化沿的发出,使得该电子设备进入菊花链流传输模式。结合上述实施方案中的任一实施方案,该接口电路可被进一步配置为使得该电子设备基于相应电子设备在电子设备的菊花链中的位置、待由每个电子设备读取的数据的长度或者电子设备的菊花链中的电子设备数量而将该第一数据一次输出到该串行数据输出端口。结合上述实施方案中的任一实施方案,该接口电路可被进一步配置为通过发出该片选输出端口上的该片选信号的第二变化沿来暂停该菊花链流传输模式。结合上述实施方案中的任一实施方案,该接口电路可被进一步配置为通过发出该片选输出端口上的该片选信号的第三变化沿来恢复该菊花链流传输模式。
20.图1是根据本公开的实施方案的具有菊花链式电子设备的系统100的图示。任何合适的电子设备可以是菊花链式的。例如,微控制器单元(mcu)101可以是系统100中的主节点或头节点。又如,附加电子设备102a、102b、102c可以是系统100中的从节点或子节点。可以使用任何合适数量和类型的电子设备。例如,在一些具体实施中,256个不同的电子设备可以在系统100中菊花链式连接。系统100的电子设备(诸如mcu 101和电子设备102)可以以相同的方式或各自以不同的方式实现。
21.系统100可以在任何合适的上下文中实现。例如,系统100可以在数据传感器阵列、交通工具、控制系统、工业自动化、家庭自动化、工厂、测试和验证系统或任何其他合适的应用中实现。系统100可以被配置为通过菊花链式串行接口读取或写入数据,以便在此类上下文中完成或进一步实现任何合适的任务。
22.mcu 101可以包括输入和输出,包括主入从出(miso),该miso被配置为从系统100的菊花链的末端(诸如电子设备102c的输出)接收数据。miso可以通过miso端口被接收。miso端口可以是被配置为从其他电子设备接收输入的串行数据输入端口。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中的每一者。
23.电子设备102可以各自包括串行数据输入(sdi)端口或引脚,该端口或引脚被配置为从mcu 101或电子设备102中的另一电子设备接收数据输入。sdi端口可以是被配置为从其他电子设备接收输入的串行数据输入端口。电子设备102可以各自包括串行数据输出(sdo)端口或引脚,该端口或引脚被配置为向mcu 101或电子设备102中的另一电子设备发送数据输出。sdo端口可以是被配置为向其他电子设备发送输出的串行数据输出端口。电子设备102可以包括用于接收sck信号的共享时钟输入端口和用于接收cs或ncs信号的片选输入端口。电子设备102和mcu 101可以进一步包括其他合适数量和种类的端口。
24.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。
25.电子设备102中的每个电子设备可以被配置为经由其相应的sdo端口传播nop(无操作)命令,直到给定电子设备102认识并识别其相应sdi端口上的预定义命令,该预定义命令与不同于nop命令的已知模式匹配。nop命令可以是例如一系列逻辑0位。一旦被认识和识别,当预定义命令的所有位已经经由sdi端口完全接收时,可以由相应的电子设备102执行该预定义命令。每个电子设备102可以在执行该预定义命令的同时,将到达其sdi端口的预定义命令复制到其sdo端口。这可以有助于该预定义命令以最小量的延迟和通信开销在整个菊花链中的传播。
26.该命令可以是例如读取数据。该数据和将被读取的数据的源可以由命令来指定。每个电子设备102可以监测其sdi端口用以获得读取命令,然后用以对来自其他电子设备102或mcu 101进行数据读取(以沿菊花链更远连接的电子设备为准)。来自其他电子设备102或mcu 101的此类数据可能需要通过菊花链通过电子设备102的sdo端口传播。数据可以
传播到mcu 101的miso端口。读取命令可由电子设备102识别为在ncs信号的下降沿之后接收到的被识别的第一命令,并且不同于nop命令或信号。
27.每个电子设备102可以被配置为通过在接收和识别读取命令之后,以及在将在其sdi端口上接收到的电子设备102或mcu 101的数据复制到其sdo端口之后发送其自身数据(通过执行读取命令生成)来执行读取命令。然而,在其他具体实施中,这可能需要使用缓冲区,该缓冲区在电子设备102内部并且其长度等于由每个电子设备102生成的数据的长度。
28.然而,在本公开的实施方案中,电子设备102可以被配置为通过spi接口电路204或任何其他合适的电路来确定电子设备102在菊花链中的位置。spi接口电路204可以被配置为例如对在识别读取命令之前接收到的nop的数量进行计数。如果读取命令和nop具有相同的大小,则电子设备的位置可以等于nop的数量加一。在计算出或已知电子设备102在菊花链中的位置的情况下,电子设备102可以被配置为识别读取命令并且开始从沿菊花链更远的其他电子设备102复制数据。可以在sdi端口上接收此类数据,并且可以将此类数据复制到sdo端口。在复制接收到的数据之后,电子设备102可以被配置为将由于读取命令而生成的其自身的数据复制在其sdo端口上。此操作可能需要小的缓冲区,诸如单个字节,其中读取寄存器利用单字节输入移位寄存器来实现。如果链中的设备数量被给定为链长,则mcu 101的miso端口上的数据将为nop命令的量链长,后接读取命令,后接来自菊花链中的每个电子设备102的数据。在一个实施方案中,来自电子设备102中的每个电子设备的数据可以没有任何延迟地以从电子设备102中的相应电子设备到达mcu 101的miso端口的数据的形式进行流传输。在另一个实施方案中,从电子设备102中的相应电子设备到达mcu 101的miso端口的数据的顺序可以是从菊花链中的电子设备102中的第一电子设备排列到菊花链中的电子设备102中的最后一个电子设备所接收到的数据。
29.菊花链的元件可以被配置为以菊花链操作模式或以正常操作模式操作。在菊花链模式下,命令和数据可以从给定电子设备102的sdi端口传播到其sdo端口,使得菊花链中的其他电子设备102可以接收和执行命令。在正常模式下,命令和数据可能不从给定电子设备102的sdi端口传播到其sdo端口。
30.给定的电子设备102可以根据任何合适的信号或命令从正常模式进入菊花链模式或退出菊花链模式到正常模式。此类信号或命令可由mcu 101提供。mcu 101可以基于任何合适的条件或标准确定将电子设备102设置为菊花链模式。
31.图2是根据本公开的实施方案的mcu 101和电子设备102的更详细图示。
32.mcu 101可包括处理器205,该处理器通信地耦接到存储器206。处理器205可以包括任何合适的处理器,并且存储器206可以是任何合适的持久性或非持久性存储器。未示出由mcu 101用于执行mcu 101被设计执行的任何其他任务的任何合适数量和种类的外围设备或辅助电路,例如模数转换器(adc)或寄存器。此外,处理器205可以被配置为加载和执行存储在存储器206中的指令,以便执行任何合适的任务。
33.电子设备102可包括处理器207,该处理器通信地耦接到存储器208。处理器207可以包括任何合适的处理器,并且存储器208可以是任何合适的持久性或非持久性存储器。未示出由电子设备102用于执行电子设备102被设计执行的任何其他任务的任何合适数量和种类的外围设备或辅助电路,例如adc或寄存器。此外,处理器207可以被配置为加载和执行存储在存储器208中的指令,以便执行任何合适的任务。
34.mcu 101和电子设备102可以各自包括相应的spi接口电路202、204。spi接口电路202、204可由模拟电路、数字电路、逻辑部件、用于由处理器(诸如分别由处理器205、207)执行的指令或它们的任何合适的组合来实现。该spi接口电路202、204的具体实施可以相对于彼此相同或不同。在一个实施方案中,spi接口电路202、204可以以相同的方式实现并被配置为基于例如寄存器或系统或用户设置不同地操作。spi接口电路202可以被配置为用于主节点诸如mcu 101的目的,并且spi接口电路204可以被配置为用于电子设备诸如电子设备102的目的。
35.在mcu 101中,spi接口电路202可以被配置为生成到sck端口和cs端口的输出。spi接口电路202可以被配置为生成输出以通过其mosi端口将命令或数据发送到电子设备102。spi接口电路202可以被配置为通过其miso端口接收数据。spi接口电路202可以被配置为生成到sck端口和cs端口的输出以指示电子设备102进入或退出不同操作模式。
36.在电子设备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端口提供其自身的数据。
37.电子设备102可以包括与spi接口电路204的操作一起使用的任何合适数量和种类的机构。例如,spi接口电路204可以利用看门狗定时器203。看门狗定时器203可以通过数字电路、模拟电路和逻辑部件或它们的任何组合来实现。例如,看门狗定时器203可以被实现为一种定时器,该定时器从设定值对每个时钟周期进行倒计时并且生成对已经过去的时钟周期数(从而对已经过去的时间的)的警报、信号或其他指示符。看门狗定时器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提供。
38.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提供。
39.图3和图4是根据本公开的实施方案的发出用于在系统100中的菊花链中设置流传输模式的命令,然后在该流传输模式下执行数据读取的时序图的图示。
40.流传输模式可以包括操作电子设备102以连续读取数据。可以从指定来源读取数据。用于读取的来源也可以由命令指定。可使用任何合适的来源。该来源可以在电子设备102内或通信地耦接到电子设备102。例如,此类来源可以包括在每个电子设备102内进行测量或收集数据的指定adc。
41.mcu 101可以使系统100执行连续数据读数,以便快速收集此类测量值或其他采集信息。mcu 101可以通过发出诸如流传输模式进入命令314的命令来引起这些操作。流传输模式进入命令314可以被实现为例如单字节指令。
42.进入流传输模式可以基于系统100已进入菊花链模式。流传输模式操作可以是菊花链操作的子集。可以使用任何合适的方法进入菊花链模式。
43.流传输模式进入命令314可以指示电子设备102连续读取其中的数据并且将输出流传输到mcu 101。流传输模式进入命令314可以从mcu 101发送到菊花链配置中的电子设备102中的第一电子设备。在一个实施方案中,每个电子设备102可以被配置为将流传输模式进入命令314传播到菊花链中的下一电子设备102(或者在菊花链的最后一个电子设备102的情况下,经由其miso端口传播到mcu 101)。在另一实施方案中,在传播流传输模式进入命令314之后,每个电子设备102可被配置为等待直到接收到后续信号才开始执行流传输模式进入命令314。在一个实施方案中,此类后续信号可以包括由mcu 101发出的片选信号(诸如ncs)的两个变化沿。根据片选信号的第一变化沿(诸如ncs信号上的上升沿),电子设备102可以验证进入到流传输模式。根据片选信号的第二变化沿(诸如ncs信号上的下降沿),电子设备102可以开始执行流传输模式操作。
44.流传输模式进入命令314可以被配置为使电子设备102一旦启动和执行,就连续地执行一系列操作(诸如读取),而没有对ncs、命令或复位的中断或其他断言。可以向菊花链的第一电子设备102发出流传输模式进入命令314,该第一电子设备可以将流传输模式进入命令314传播到菊花链中的下一个电子设备102。此传播可以持续进行直到流传输模式进入命令314被发送到mcu 101为止。然后,mcu 101可以发送跟踪信号,诸如在每个电子设备102的cs端口上的ncs信号上的两个变化沿,该两个变化沿然后可以触发电子设备102中的数据读取并且在电子设备102之间传播所得的数据。为了执行菊花链流传输模式操作以读取数据,每个电子设备102可以读取在电子设备102中或通信地耦接到电子设备102的数据源上的数据,从而产生第一数据。电子设备102可以被配置为将该第一数据复制到电子设备102的下一实例。当不读取电子设备102内的数据并将结果复制到电子设备102的下一实例时,
电子设备102可以被配置为将其串行数据输入复制到其串行数据输出。
45.曲线图302示出了由mcu 101发出并由电子设备102接收的ncs信号的图示。ncs信号最初可以是高电平(逻辑1)。ncs信号到低值(逻辑零)的下降沿可由mcu 101发出并且在每个电子设备102处检测到。然后,mcu 101可以经由sck向每个电子设备发出时钟信号。图3的上下文中的实耗时间可以用字节来表示,其中给定字节表示八个时钟脉冲。图3中表示的是在八脉冲块(表示为“8x”)中发出的sck信号。因此,每个此类块可以是一个字节长。
46.曲线图304示出了由mcu 101发出并在每个电子设备102处检测到的sck信号的图示。在mcu 101与电子设备102之间的串行数据传输期间,sck信号的每个脉冲可以用于按串行数据线串行传输单个位。因此,由“8x”表示的块可以表示用于按串行数据线传输单个字节的时间和时钟信号。
47.曲线图306示出了由mcu 101经由其mosi端口发出并且由电子设备102a经由其sdi端口(表示为sdi1)接收的信号的图示。
48.曲线图308示出了由电子设备102a经由其sdo端口(表示为sdo1)发出并且由电子设备102b经由其sdi端口(表示为sdi2)接收的信号的图示。
49.曲线图310示出了由电子设备102b经由其sdo端口(表示为sdo2)发出并且由电子设备102c经由其sdi端口(表示为sdi3)接收的信号的图示。
50.曲线图312示出了由电子设备102c经由其sdo端口(表示为sdo3)发出并且由mcu 101经由其miso端口接收的信号的图示。
51.在一个实施方案中,mcu 101可以被配置为命令电子设备102在信号的两个阶段内实现到电子设备102的流传输模式。第一阶段可以是流传输模式进入阶段,其中mcu 101将电子设备102配置为为流传输模式进入命令314做好自身准备,以执行诸如读取的连续流传输操作。该第一阶段可以在图3中示出。在第二阶段中,可以执行此类连续读取操作,并且因此被认为是流传输数据阶段。该第二阶段可以在图4中示出。曲线图302、304、306、308、310、312从图3延续到图4。
52.流传输模式进入阶段和流传输数据阶段可以各自完全或部分地由mcu101对ncs的断言以及流传输模式进入命令314的发出来定义。图3的流传输模式进入阶段可由mcu 101向电子设备102的cs端口发出信号的变化沿来启动。此类变化沿可以是ncs信号的下降沿,如图3中的曲线图302中所示。在mcu 101在一段时间内使ncs保持在逻辑零电平时,流传输模式进入阶段可以继续。流传输数据阶段可以在流传输模式进入命令314传播到每个电子设备102并且因此mcu 101向电子设备102的cs端口发出信号的另一变化沿时结束。此类变化沿可以是ncs信号的上升沿,如图3中的曲线图302中所示。在一个实施方案中,当电子设备102c已完全接收到流传输模式进入命令314时,ncs信号的上升沿可以与菊花链的最后一个电子设备重合、同时发生或几乎同时发生。在另一个实施方案中,ncs信号的上升沿也可以在电子设备102c已将流传输模式进入命令314传播回mcu 101之后,其可以用作mcu 101的miso端口的可选确认信号。
53.在流传输模式进入阶段期间,每个电子设备102可以计算其自身在菊花链内的位置。该位置可被给定为位置。每个电子设备102可以计算菊花链的长度,其可以是连接在菊花链中的电子设备102的总数。该长度可被给定为链长。可以通过对开始流传输模式进入阶段的ncs下降沿和流传输模式进入命令的结束之间的字节进行计数(如果每个命令是一个
字节长)来执行对位置的确定。此类计数可以以任何合适的方式进行,诸如通过连接到sck的计数器(未示出)在spi接口电路204内实现并且通过在spi端口处识别流传输模式进入命令来触发。如果mcu 101不需要确认,则可由在流传输模式进入阶段期间所接收到的总字节数来确定链长,或者如果mcu 101需要在执行ncs变化沿之前经由其miso端口接收确认,则可由在流传输模式进入阶段期间所接收到的总字节数减去一来确定链长。无论是否需要确认都可以被编程或硬连接到每个电子设备102中。还可以通过任何合适的机制在流传输模式进入阶段之前的特定阶段来确定链长。
54.在图3的阶段的结束与图4的阶段之间可能经过任何合适的时间。在此期间,由于ncs保持在逻辑高电平,因此电子设备102保持在复位状态,其中每个电子设备102均使其sdo端口置于高阻抗。此外,sdi端口和sck端口未处于活动态并且可以被禁用。然而,可以在每个电子设备102上设置已启用流传输模式的指示器。这可以包括例如寄存器值。电子设备102可以使用该指示器来确定电子设备102处于菊花链流传输模式。
55.在图4中,数据流传输可由mcu 101向电子设备102的cs端口发出信号的变化沿来启动。此类变化沿可以是ncs信号的下降沿,如图4中的曲线图302中所示。当mcu 101在一段时间内使ncs保持在逻辑零电平时,数据流传输可以继续。随后,电子设备102可以根据命令对数据进行流传输,如下文进一步详细讨论的。在一个实施方案中,在mcu 101向电子设备102的cs端口发出信号的另一变化沿时,数据流传输可结束。然而,在另一实施方案中,到电子设备102的cs端口的此类信号变化沿可能不完全结束数据流传输模式。在此类实施方案中,到电子设备102的cs端口的信号变化沿(诸如ncs信号的上升沿)可能使电子设备102停止流传输数据。然而,在另外的实施方案中,电子设备102可以在暂停实际的数据流传输时,保持处于流传输模式。电子设备102可以仍被配置为流传输数据,并且可以等待来自mcu 101的信号以恢复流传输数据。例如,在向电子设备102的cs端口发出信号的另一变化沿(诸如ncs信号的下降沿(未示出))时,电子设备102可以恢复流传输数据。此类恢复可以不需要重新发出流传输模式进入命令314。在由mcu 101发出复位信号时,数据流传输模式可以结束。可以由mcu 101以任何合适的方式发送复位信号,诸如在无需来自mcu 101的任何活动的情况下看门狗定时器到期,或者在没有伴随的sck脉冲的情况下发送ncs低脉冲。
56.如图3所示,mcu 101可以被配置为经由菊花链传输向每个电子设备102发出流传输模式进入命令314。在另外的实施方案中,流传输模式进入命令314可以是读取命令。在另外的实施方案中,在所有电子设备102已接收到流传输模式进入命令314之前,电子设备102不读取数据。在另一实施方案中,如图4所示,电子设备102可以被配置为连续地执行流传输模式进入命令314所指定的数据操作。在另外的实施方案中,电子设备102可以被配置为连续地将从电子设备102读取的数据流传输到mcu 101。基于如图3所示在电子设备102处接收到流传输模式进入命令314,电子设备102可以基于由mcu 101提供的ncs的第二下降沿对数据流传输的启动而连续地执行流传输模式进入命令314,如图4所示。
57.如图3所示,mcu 101可以向电子设备102a发出流传输模式进入命令314。流传输模式进入命令314可以指定电子设备102的接收方实例在ncs的上升沿之后连续读取数据,然后由电子设备102接收ncs的另一下降沿。可以将读取数据的位置暗示或包括在流传输模式进入命令314中。电子设备102a可以通过其sdi1端口完成读取流传输模式进入命令314。
58.如曲线图308所示,在通过其sdi1端口读取流传输模式进入命令314之后,电子设
备102a可以开始将其sdo1端口上的流传输模式进入命令314写入到电子设备102b其sdi2端口上。
59.如曲线图310所示,在通过其sdi2端口读取流传输模式进入命令314之后,电子设备102b可以开始将其sdo2端口上的流传输模式进入命令314写入到电子设备102c其sdi3端口上。
60.电子设备102c可能不将其sdo3端口上的流传输模式进入命令314写入到mcu 101其miso端口上,因为mcu 101可能通过发出电子设备102的cs端口上的ncs信号上的变化沿来中断该过程。在一些情况下,电子设备102c这样写入流传输模式进入命令314的尝试可能被mcu 101简单地忽略,或者用作对电子设备102c成功地接收到流传输模式进入命令314的验证。
61.由mcu 101经由电子设备102的cs端口在ncs信号上发出的变化沿(诸如上升沿)可以使每个电子设备102向其相应的sdo端口输出高阻抗值。
62.在一个实施方案中,每个电子设备102可以被配置为在接收到流传输模式进入命令314时,随后向其相应sdo端口提供默认输出(诸如逻辑低电平)。ncs信号的上升沿可以是由mcu 101发出的流传输模式进入命令314已传播到每个电子设备102的信号。
63.随后,如图4所示,ncs信号的下降沿可以是由mcu 101发出的数据流传输可以开始并且随后将从电子设备102读取数据的信号。在菊花链中的电子设备102的最后一个实例(诸如电子设备102c)已接收到流传输模式进入命令314之后,可以尽快执行ncs信号的下降沿,如图3所示。
64.返回图4,并且为了传播已根据流传输模式进入命令314读取的信息,电子设备102可以利用它们在菊花链中的位置。电子设备102可以以任何合适的方式计算它们在菊花链中的位置(位置)。此外,电子设备102可以计算随后何时以任何合适的方式将他们的数据添加到通过菊花链传播的信息中。此类计算可以由例如spi接口电路204的实例基于cs信号的到达时间值来执行,如上所述。为了执行这些计算,电子设备102可以使用由给定电子设备102在单个连续块中读取的数据的长度(数据长度)、菊花链的长度(电子设备102的数量,链长)、相应电子设备102在菊花链中的位置。
65.由给定电子设备102在单个连续块中读取的数据的长度可由流传输模式进入命令314指定或暗示。例如,在图4中,由给定电子设备102在单个连续块中读取的数据的长度可以是三个字节。如上所述,此长度可以被引用为数据长度。
66.电子设备102a的位置(位置1)可被计算为从菊花链末端起的两个位置。电子设备102b的位置(位置2)可被计算为从菊花链末端起的一个位置。电子设备102c的位置(位置3)可被计算为零,并且在菊花链末端处的最后位置。
67.在一个实施方案中,电子设备102可以以与菊花链中的电子设备102的顺序相反的顺序将其新读取的数据传播到其他电子设备102和mcu101。例如,通过菊花链填充和传播并且返回到mcu 101处的数据可以首先包括来自电子设备102c的数据,然后是来自电子设备102b的数据,然后是来自电子设备102a的数据。然而,在各种实施方案中,可使用菊花链中的电子设备102的正常顺序来对数据进行排序,其中通过菊花链填充和传播并且返回到mcu 101处的数据可以与菊花链中的电子设备102的顺序匹配。在这种情况下,也可以将位置定义为给定电子设备到菊花链起点的相对位置。
68.一旦给定电子设备102的位置对给定的电子设备102已知,则给定电子设备102可以计算在数据流传输期间何时开始将其自身数据传播到菊花链的其余部分。何时将其自身数据复制到菊花链中的这种定时可以表示为从接收图4中所示的ncs的下降沿的偏移量。可以执行此类计算,使得每个电子设备102仅在这种传输将不干扰菊花链中的其他电子设备102时的适当时间传输数据。即使当此类其他电子设备102在菊花链中的给定电子设备102之前或之后,也可以防止干扰。给定数据长度(每次读取三个字节)和单独的位置值,每个电子设备102可以在由(位置*(数据长度

1))给出的阶段842中将其自身的数据一次复制到菊花链中。因此,电子设备102a可以在下述阶段将其自身的数据复制到菊花链中,该阶段在(位置1*(3-1)),计算为(2(3-1)),得到四个字节。电子设备102b可以在下述阶段将其自身的数据复制到菊花链中,该阶段在(位置2*(3-1)),计算为(1*2),得到两个字节。电子设备102c可以在下述阶段将其自身的数据复制到菊花链中,该阶段在(位置3*(3-1)),计算为(0*2),得到零个字节。新数据可以被连续复制,在由(链长*数据长度)给定或在图4的情况下为九个字节的周期中重复出现。因此,电子设备102被配置为基于通过其串行数据输入端口接收到流传输模式进入命令与经由其片选输入端口接收到片选信号的第二变化沿之间的延迟来将其本地读取数据一次输出到其串行数据输出端口。
69.对电子设备102何时将其自身的数据复制到菊花链中的时间偏移量的此类计算可以在将电子设备102置于流传输模式之后的任何时间,但在对数据进行实际地流传输之前的任何情况下执行。
70.给定电子设备102可以被配置为在由偏移量和周期确定的某些位置处周期性地复制其自身的数据。否则,给定电子设备102可以被配置为以1字节的延迟简单地将在其sdi端口处的内容复制到其sdo端口。这就有效地复制了从沿菊花链更远的电子设备102传入的先前数据。
71.在图4中,在ncs信号的下降沿时,可以开始读取指定数据,将此类数据提供到其他电子设备102和mcu 101,并且将数据从该其他电子设备102传播到另一些电子设备102和mcu 101。可以忽略mosi到sdi1的输出。当不以另外的方式传播发出的数据时,电子设备102可以发出默认值,诸如零。
72.如曲线图308所示,电子设备102a可以根据其特定偏移量开始向电子设备102b提供其新读取的数据,其计算如上所讨论的。该偏移量可能足以使电子设备102a允许电子设备102b、104c将它们自身新读的数据添加到要发送到mcu 101的数据流中。在一个实施方案中,该偏移量可以使电子设备102a延迟发送其新添加的数据,直到电子设备102a的新读取数据已通过此类电子设备102b、104c传播而将有足够的空间能够用于将电子设备102b、104c的数据包括在数据流中。
73.例如,如曲线图308所示,电子设备102a可以根据流传输模式进入命令314读取数据,从而产生数据402。偏移量可以是四个字节。因此,电子设备102a可以等待直到在ncs信号的下降沿之后经过四个字节,并且开始将数据820写入电子设备102b。数据402可以是三个字节长。
74.随后,电子设备102a可以再次读取数据并开始写入新读取的数据。此新读取的数据可以被称为数据408。在电子设备102a首次写入其新读取的数据之后的(链长*数据长度)的时间或九个字节处,电子设备102a可以开始写入数据408。如果未由mcu 101以另外的方
式停止,则电子设备102a可以每九个字节重复读取新数据并且将新读取的数据写入电子设备102b的该过程。
75.如曲线图310所示,电子设备102b可以根据其特定偏移量开始向电子设备102c提供其新读取的数据,其计算如上所讨论的。该偏移量可能足以使电子设备102b允许电子设备102c将其自身新读的数据添加到要发送到mcu 101的数据流中。在一个实施方案中,该偏移量可以使电子设备102b延迟发送其新添加的数据,直到电子设备102b的新读取数据已通过菊花链传播而将有足够的空间能够用于将电子设备102的所有数据包括在数据流中。
76.例如,如曲线图310中所示,最初可能没有来自电子设备102a的数据用于电子设备102b进行传播。因此,电子设备102b可以通过其sdo2端口向电子设备102c输出逻辑低电平信号。电子设备102b可以根据流传输模式进入命令314读取数据,从而产生数据404。偏移量可以是两个字节。因此,电子设备102b可以等待直到从ncs信号的下降沿经过两个字节,并且开始将数据404写入电子设备102c。数据404可以是三个字节长。同时,数据402可能已从电子设备102a到达。在完成将数据404写入到电子设备102c之后,电子设备102b可以开始将从电子设备102a接收到的数据402传播到电子设备102c。随后,电子设备102b可能继续将低逻辑信号从电子设备102a传播到电子设备102c。
77.电子设备102b可以再次读取数据并开始写入新读取的数据。此新读取的数据可以被称为数据410。在电子设备102b首次开始写入数据404之后的(链长*数据长度)的时间或九个字节处,电子设备102b可以开始向电子设备102c写入数据410。如果未由mcu 101以另外的方式停止,则电子设备102b可以每九个字节重复读取新数据并且将新读取的数据写入电子设备102c的该过程。此外,电子设备102b可以再次将从电子设备102a接收到的数据(诸如数据408)传播到电子设备102c。
78.如曲线图312所示,电子设备102c可以根据其特定偏移量开始向mcu 101提供其新读取的数据,其计算如上所讨论的。电子设备102c的偏移量可以是零,因此电子设备102c可以立即开始向mcu 101提供其新读取的数据。图4中所示的延迟可能由接收ncs信号的下降沿所需的时间而产生。电子设备102c可以根据流传输模式进入命令314读取数据,从而产生数据406。数据406可以是三个字节长,可以写入mcu 101。同时,数据404可能已从电子设备102b到达。在完成将数据406写入到mcu 101之后,电子设备102c可以开始将从电子设备102b接收到的数据404传播到mcu 101。同时,数据402(最初由电子设备102a生成)可能已从电子设备102b到达。在完成将数据404写入到mcu 101之后,电子设备102c可以开始向mcu 101传播数据402。
79.在传输中没有任何间隙或没有来自mcu 101的任何另外接收的命令或信号(诸如在串行数据输入端口或片选输入端口上)的情况下,电子设备102c可以重复进行下述过程:从其数据源读取数据以产生数据,将产生数据的数据输出到其串行数据输出端口,并且将在其串行数据输入端口处接收到的数据复制到串行数据输出端口。电子设备102c可以再次读取数据并开始写入新读取的数据。此新读取的数据可以被称为数据412。在电子设备102c首次开始写入数据406之后的(链长*数据长度)的时间或九个字节处,电子设备102c可以开始向mcu 101写入数据412。如果未由mcu 101以另外的方式停止,则电子设备102c可以每九个字节重复读取新数据并且将新读取的数据写入mcu 101的该过程。此外,电子设备102c可以再次将从电子设备102b接收到的数据410传播到mcu 101,然后是源自电子设备102a并从
电子设备102b接收的数据408。由于传输中没有间隙,因此传输可得以改进或优化,并且可以减少通信开销的影响,诸如需要传播读取命令。
80.因此,mcu 101可以接收由电子设备102读取的连续数据流。连续流可以包括来自每个电子设备102的多个读取数据实例。此外,可以通过发送流传输模式进入命令314一次,之后进行cs信号的两个变化沿来建立此类连续数据流。另外发送流传输模式进入命令314或cs信号的变化沿对于电子设备102继续读取数据并将其发送到mcu 101而言可能是不必要的。mcu 101可以根据需要继续接收来自电子设备102的多个读取数据循环。mcu 101可以被配置为以任何合适的方式暂停、取消暂停和重启或停止连续数据流。在一个实施方案中,可以执行此暂停和随后的取消暂停和重启,而不需要通过菊花链传播附加命令。没有此功能所需的此类附加命令可以减少通信开销。
81.在一个实施方案中,mcu 101可以被配置为通过向电子设备102发出变化的cs信号来暂停连续数据流,如图4所示。因此,电子设备102可以被配置为基于该变化的cs信号暂停输出其读取数据和传播接收到的数据。在一个实施方案中,mcu 101可以被配置为通过向电子设备102发出另一变化的cs信号来取消暂停和重启连续数据流。因此,电子设备102可以被配置为基于该变化的cs信号恢复输出其读取数据和传播接收到的数据。
82.例如,在图4中,mcu 101可以向电子设备102的cs端口发出ncs信号上的上升沿。每个电子设备102可以对其sdo端口施加高阻抗。在一些情况下,ncs信号上的上升沿可以在电子设备102仍读取和传播数据时到达。如果是这样,则ncs信号上的上升沿的影响可以推迟直到当前执行的读取命令完成执行并且所有数据已通过菊花链传播到mcu 101为止。在ncs信号上的上升沿之后,每个电子设备102可以保持处于菊花链流传输模式,以准备好在发出ncs信号上的后续下降沿时进行数据的流传输。mcu 101可以暂停任何合适的时间长度的操作。在ncs信号上的此类后续下降沿时,电子设备102可以返回以图4中所示的方式操作。
83.图5a和图5b是根据本公开的实施方案的用于菊花链流传输的方法500的操作的图示。具体地,方法500可以示出电子设备102的操作。方法500可以在例如spi接口电路204内实现,方法500可以包括更少或更多的步骤,可以以不同的顺序进入步骤、重复步骤,或者相对于彼此并行地进入不同的步骤路径。方法500可在任何合适的步骤开始,诸如步骤505。
84.在步骤505处,电子设备(诸如电子设备102)可以通电。在执行任何必要的引导或启动任务之后,方法500可以进入步骤510。步骤505可以反映电子设备102的正常操作,这时电子设备102不以菊花链方式将其输入传播到其输出,也不发送以菊花链方式传播的此类数据。
85.在步骤515处,spi接口电路204可以被配置为确定电子设备102是否将进入菊花链模式。spi接口电路204可以以任何合适的方式进行此类确定。如果是,则方法500可前进至步骤520。否则,方法500可以重复步骤510以在正常模式菊花链模式下操作。
86.在步骤520处,可以观察ncs信号上的下降沿。然后,可以接收流传输模式进入命令。电子设备102可以计算下降沿与接收到流传输模式进入命令之间的时间,以及下降沿与后续上升沿之间的时间,以便计算电子设备102在菊花链内的位置。在步骤525处,可以将流传输模式进入命令传播到菊花链中的其他电子设备102。
87.在步骤530处,可以确定是否已接收到上升的ncs信号,这可以指示菊花链中的每个电子设备102已接收到流传输模式进入命令。如果尚未接收到此类信号,则方法500可以
重复步骤530。否则,如果已接收到此类信号,则方法500可前进至步骤535。
88.在步骤535处,可以使用步骤520的下降沿与步骤530中观察到的上升沿之间的延迟来计算菊花链的长度和电子设备102在菊花链中的位置。这些可以进而用于确定电子设备何时将其自身的读取数据复制到菊花链中的偏移量,以及电子设备以何频率将其自身的读取数据复制到菊花链中的偏移量。
89.在步骤540处,可以确定mcu 101是否已发出ncs下降沿,从而启动数据流传输模式,或者如果数据流传输模式先前暂停,则恢复数据流传输模式。如果否,则方法500可重复步骤540。如果是,则方法500可前进至步骤545。
90.在步骤545处,可确定数据流传输模式是否将结束。这可以通过首先设置看门狗定时器来确定。在步骤545中,可以确定看门狗定时器是否在接收到sck信号的变化沿或ncs信号的变化沿之前到期。未能接收到此类变化沿可以被解释为复位信号。如果看门狗定时器到期并且没有sck或ncs信号的变化沿,则方法500可以前进至步骤550以退出流传输模式。看门狗定时器可对被表记为twatch的时间段进行定时,该时间段可以是例如50微秒。否则,方法500可前进至步骤555。步骤545可以在步骤520之后的任何时间点执行,诸如在任何sck沿之后,并且优选地在步骤540之后执行。在步骤550中,电子设备可以退出流传输模式返回到步骤520,重新进入正常菊花链模式而不是流传输模式。
91.在步骤555处,可以由电子设备读取先前的数据。在电子设备处接收到的任何数据可被传播到菊花链中的下一个电子设备。电子设备的sdi端口处的数据可被复制到sdo端口。可以读取待由电子设备自身读取的数据。
92.在步骤560处,可以确定是否已达到等于(位置*(数据长度-1)的偏移量。如果是,则方法500可前进至步骤565。如果否,则方法500可在步骤555处重复。
93.在步骤565处,可将在执行读取命令期间由电子设备读取的数据复制到菊花链中的下一个电子设备。此数据可以放置在电子设备的sdo端口上。数据传输可以持续数据长度字节。
94.在步骤570处,可以确定在步骤565处启动的此数据传输是否已完成。如果读取数据已复制在电子设备的sdo端口上,则方法500可以前进至步骤575。否则,方法500可重复步骤570。
95.在步骤575处,电子设备可以恢复复制和传播从沿菊花链更远的电子设备接收的其sdi端口上的任何数据。这可以是类似于步骤555的操作。
96.在步骤580处,电子设备可以确定自将其自身的读取数据写入其sdo端口的前一实例的开始以来是否已经经过一个周期。此周期可被定义为链长*数据长度。如果是,则方法500可以在步骤565处重复。否则,可以在步骤580处重复方法500。
97.步骤585可以与步骤540、550、555、560、565、570、575或580中的任何步骤并行地执行,或者在这些步骤之前或之后执行。在步骤585处,可以确定是否已接收到暂停信号,诸如ncs上升沿。如果是,则可以暂停读取和复制到sdo端口。可以将sdo端口置于高阻抗。可以禁用sdi端口和sck端口。电子设备可以保持处于流传输模式中。方法500可返回至步骤540。可以终止步骤540、550、555、560、565、570、575和580的当前实例的执行。在步骤540处,确定是否已接收到恢复或取消暂停信号,诸如ncs下降沿。
98.否则,在步骤585处,方法500可以返回以继续执行步骤540、550、555、560、565、
570、575和580。
99.图6是根据本公开的实施方案的用于菊花链流传输模式进入和命令执行的另一方法600的操作的图示。具体地,方法600可以示出mcu 101的操作。可以在例如spi接口电路202内实现方法600。方法600可以包含更少或更多状态,可以以不同顺序进入状态、重复状态,或者相对于彼此并行地进入不同状态路径。方法600可以通过例如spi接口电路202中的状态机来实现。方法600可在任何合适的步骤开始,诸如步骤605。
100.在步骤605处,mcu(诸如mcu 101)可以通电。在执行任何必要的引导或启动任务之后,方法600可以进入步骤610。步骤610可以反映mcu 101的正常操作,这时mcu 101不以菊花链方式向电子设备102发送数据,也不接收以菊花链方式传播的此类数据。
101.在步骤615处,mcu的接口电路(诸如spi接口电路202)可以被配置为确定是否将电子设备102置于菊花链模式中。如果否,则方法600可返回至步骤610。否则,方法600可前进至步骤620。在步骤620处,mcu可以将菊花链中的电子设备置于菊花链模式中。可以任何合适的方式执行步骤620。在步骤625处,mcu的接口电路(诸如spi接口电路202)可以被配置为基于所需的菊花链操作来确定是否将电子设备102置于菊花链流传输操作模式中。如果是,则方法600可前进至步骤630。否则,方法600可在步骤620处重复。
102.在步骤630处,可以发出流传输模式进入命令,并且可以等待该命令的传播。
103.在步骤635处,可以向电子设备102发出信号(诸如ncs信号的上升沿),以指示命令已传播到每个电子设备。spi接口电路202可以等待由电子设备102接收信号。
104.在步骤640处,可以向电子设备102发出信号(诸如ncs信号的下降沿),以指示电子设备102将根据命令开始菊花链流传输模式。
105.在步骤645处,可以从电子设备102读取数据,因为数据是从菊花链的末端到达的。
106.在步骤650处,可以确定电子设备102是否应该暂停其操作。如果是,则方法600可前进至步骤655。否则,方法600可返回至步骤645。
107.在步骤655处,可以向电子设备102发出信号(诸如ncs信号的上升沿),以指示它们将暂停其读取和复制操作。
108.在步骤660处,可以确定电子设备102的操作是否将恢复。如果否,则方法600可重复步骤660。如果是,则方法600可前进至步骤665。
109.在步骤665处,可以向电子设备102发出信号(诸如ncs信号的下降沿),以指示它们将恢复读取和传播数据。方法600可返回至步骤640。
110.方法600可以将步骤670与步骤645、650、655、660和665中的任何步骤并行地执行,或者在这些步骤之前或之后执行。在步骤670中,可以确定是否将退出数据流传输模式。如果是,则方法600可前进至步骤675。否则,方法600可以继续执行步骤645、650、655、660和665。
111.在步骤675处,可以以任何合适的方式退出流传输模式。可以命令电子设备退出流传输模式。例如,在由电子设备的看门狗定时器定时的时间段内,mcu可能不向电子设备发送ncs或sck脉冲。方法600可返回至步骤625。
112.尽管上文已描述了示例实施方案,但在不脱离这些实施方案的实质和范围的情况下,可由本公开进行其他变型和实施方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1