CN116708193A - 一种控制方法及装置 - Google Patents

一种控制方法及装置 Download PDF

Info

Publication number
CN116708193A
CN116708193A CN202310571717.0A CN202310571717A CN116708193A CN 116708193 A CN116708193 A CN 116708193A CN 202310571717 A CN202310571717 A CN 202310571717A CN 116708193 A CN116708193 A CN 116708193A
Authority
CN
China
Prior art keywords
slave
address
peripheral
host
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310571717.0A
Other languages
English (en)
Inventor
李超
鲍鹏鑫
张兴新
王学寰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202310571717.0A priority Critical patent/CN116708193A/zh
Publication of CN116708193A publication Critical patent/CN116708193A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请公开了一种控制方法及装置,其中方法包括:主机确定需要控制的目标设备后,可以通过I2C接口向主控设备发送指示信息、控制命令和目标设备的寄存器的地址,进而主控设备可以将指示信息、控制命令和目标设备的寄存器的地址封装后发送给主控设备连接的从设备。采用该方法,由于主控设备可以通过一条消息将指示信息、控制命令和目标设备的寄存器的地址发送给从设备,进而由从设备基于指示信息来确定目标设备是否为自身或自身连接的外围设备,从而能够实现对从设备或外围设备的快速控制,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。此外,当需要切换目标设备时,可以再次执行上述方法,从而使得切换效率较高。

Description

一种控制方法及装置
本申请是分案申请,原申请的申请号是202080002468.8,原申请日是2020年1月2日,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子通信技术领域,特别涉及一种控制方法及装置。
背景技术
内部集成电路(inter integrated circuit,I2C)总线是一种双向串行总线,用于连接微控制器及其外围设备,I2C总线有两根信号线,一根是串行数据线(serial dataline,SDA),一根是串行时钟线(serial clock line,SCL),所有接到I2C总线上的设备的数据线都连接到I2C总线中的SDA,所有接到I2C总线上的设备的时钟线均连接到I2C总线中的SCL。
I2C总线可以应用到多种可能的场景中,比如可以应用于车内音频系统。车内音频系统可以包括:音频处理(digital signal process,DSP)设备、传输系统以及与传输系统连接的外围设备,传输系统中可以包括多个传输设备;主机可以通过I2C总线与一个传输设备连接。进一步地,由于车内空间极其有限,且菊花链拓扑结构可以减少连接线缆的长度、降低布线难度、减少DSP设备的数量,提升设备部署的灵活性,因此传输系统中的多个传输设备一般采用菊花链拓扑结构。
然而,当采用菊花链拓扑结构等复杂的拓扑结构时,如何实现DSP设备对传输设备和/或外围设备的控制,目前仍需进一步的研究。
发明内容
有鉴于此,本申请提供了一种控制方法及装置,用以实现对从设备和/或外围设备的快速控制。
第一方面,本申请实施例提供一种控制方法,该控制方法可以适用于主机,主机通过I2C总线与主控设备连接;在该控制方法中,主机确定需要控制的目标设备,目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;N个外围设备连接P个从设备和主控设备中的至少一个设备;主机向主控设备发送开始信号;主机向主控设备发送指示信息、控制命令和目标设备的寄存器的地址,指示信息用于指示目标设备,控制命令为读命令或写命令;以及,主机向主控设备发送停止信号;其中,P、N为大于或等于1的整数。
采用上述方法,由于主机是在发送开始信号之后,发送停止信号之前,向主控设备发送指示信息、控制命令和目标设备的寄存器的地址,从而能够有效提高传输效率,实现对目标设备(比如从设备和/或外围设备)的快速控制。需要说明的是,本申请实施例中对主机发送指示信息、控制命令和目标设备的寄存器的地址等三者的顺序不做限定。
在一种可能的设计中,目标设备为N个外围设备中的第一外围设备;指示信息包括与第一外围设备连接的设备的标识,还包括第一外围设备的地址的索引或者第一外围设备的地址。
在一种可能的设计中,目标设备为P个从设备中的第一从设备;指示信息包括第一从设备的标识。
在一种可能的设计中,指示信息还包括预设索引或者预设地址。
在一种可能的设计中,主机向主控设备发送指示信息,包括:主机获取映射关系信息;映射关系信息包括标识信息、索引信息和地址信息之间的映射关系,或者,映射关系信息包括标识信息和地址信息之间的映射关系;其中,标识信息包括P个从设备的标识,索引信息包括N个外围设备的地址的索引,地址信息包括N个外围设备的地址;主机根据映射关系信息,向主控设备发送指示信息。
采用上述方法,主机可以根据映射关系信息来确定用于指示目标设备的指示信息所包括的内容,从而能够有效保证准确指示信息目标设备。示例性地,指示信息指示目标设备的方式可以是预先定义的,或者主机、主控设备和从设备预先约定的。
在一种可能的设计中,当映射关系信息包括标识信息、索引信息和地址信息之间的映射关系时,P个从设备中每个从设备的标识、与每个从设备连接的外围设备的地址、以及与每个从设备连接的外围设备的地址的索引对应;当映射关系信息包括标识信息和地址信息之间的映射关系时,P个从设备中每个从设备的标识、与每个从设备连接的外围设备的地址对应。
在一种可能的设计中,索引信息还包括预设索引,地址信息还包括预设地址。
在一种可能的设计中,若控制命令为读命令,则主机向主控设备发送停止信号之前,还包括:主机接收主控设备发送的第一数据;其中,第一数据是来自目标设备的数据;或者,若控制命令为写命令,则主机向主控设备发送停止信号之前,还包括:主机向主控设备发送第二数据。
第二方面,本申请实施例提供一种控制方法,该控制方法可以适用于主控设备,主控设备通过I2C总线与主机连接;在该控制方法中,主控设备接收来自主机的指示信息、控制命令和目标设备的寄存器的地址;指示信息用于指示目标设备,控制命令为读命令或写命令;目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;N个外围设备连接P个从设备中的至少一个设备;主控设备向与主控设备连接的从设备发送第一消息,第一消息包括指示信息、控制命令和目标设备的寄存器的地址;其中,P、N为大于或等于1的整数。
采用该方法,由于主控设备可以通过一条消息将指示信息、控制命令和目标设备的寄存器的地址发送给从设备,进而由从设备基于指示信息来确定目标设备是否为自身或自身连接的外围设备,从而能够实现对从设备或外围设备的快速控制,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。
在一种可能的设计中,目标设备为N个外围设备中的第一外围设备;指示信息包括与第一外围设备连接的设备的标识,还包括第一外围设备的地址的索引或者第一外围设备的地址。
在一种可能的设计中,该方法还包括:主控设备将第一外围设备连接的设备的标识与控制命令写入同一寄存器;或者,主控设备将第一外围设备的地址的索引或者第一外围设备的地址与控制命令写入同一寄存器。
采用上述方法,第一外围设备连接的设备的标识与控制命令占用一个寄存器,或者,第一外围设备的地址的索引或者第一外围设备的地址与控制命令占用一个寄存器,从而能够有效节省寄存器资源,且还能够降低主机向主控设备传输的比特数量,提高传输效率。
在一种可能的设计中,目标设备为P个从设备中的第一从设备;指示信息包括第一从设备的标识。
在一种可能的设计中,指示信息还包括预设索引或者预设地址。
在一种可能的设计中,该方法还包括:主控设备将第一从设备的标识与控制命令写入同一寄存器;或者,主控设备将预设索引或者预设地址与控制命令写入同一寄存器。
在一种可能的设计中,主控设备接收来自主机的指示信息、控制命令和目标设备的寄存器的地址,包括:主控设备接收来自主机的开始信号;主控设备接收来自主机的指示信息、控制命令和目标设备的寄存器的地址;主控设备接收来自主机的停止信号。
采用上述方法,由于主机是在发送开始信号之后,发送停止信号之前,向主控设备发送指示信息、控制命令和目标设备的寄存器的地址,从而能够有效提高传输效率,实现对目标设备(比如从设备和/或外围设备)的快速控制。
在一种可能的设计中,若控制命令为读命令,则该方法还包括:主控设备接收来自目标设备的第一数据,并将第一数据发送给主机;或者,若控制命令为写命令,则该方法还包括:主控设备接收来自主机的第二数据,第一消息还包括第二数据。
第三方面,本申请实施例提供一种控制方法,该控制方法可以适用于第一从设备,在该控制方法中,第一从设备接收来自主控设备的第一消息,第一消息包括指示信息、控制命令和目标设备的寄存器的地址;指示信息用于指示目标设备,控制命令为读命令或写命令;目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;N个外围设备连接P个从设备中的至少一个设备;第一从设备为P个从设备中的任一从设备;第一从设备若确定目标设备为第一从设备,则根据控制命令执行第一操作;其中,P、N为大于或等于1的整数。
采用上述方法,从设备接收到来自主控设备的第一消息后,可以基于指示信息来确定目标设备是否为自身或自身连接的外围设备,当指示信息指示目标设备包括自身时,可以根据控制命令执行第一操作,从而实现主机对从设备的快速控制,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。
在一种可能的设计中,第一从设备确定目标设备为第一从设备,包括:第一从设备若确定指示信息包括第一从设备的标识以及预设索引或预设地址,则确定目标设备为第一从设备。
在一种可能的设计中,该方法还包括:第一从设备若确定目标设备为第一从设备连接的第一外围设备,则控制第一外围设备执行第一操作。
采用上述方法,从设备接收到来自主控设备的第一消息后,基于指示信息确定目标设备包括自身连接的外围设备时,可以根据控制命令控制外围设备执行第一操作,从而实现主机对外围设备的快速控制。
在一种可能的设计中,第一从设备确定目标设备为第一外围设备,包括:第一从设备若确定指示信息包括第一从设备的标识以及第一外围设备的地址的索引或者第一外围设备的地址,则确定目标设备为第一外围设备。
在一种可能的设计中,若控制命令为写命令,则第一消息还包括第二数据。
在一种可能的设计中,若控制命令为写命令,则第一操作为写操作、清空内存操作或读操作中的至少一项。
在一种可能的设计中,主控设备和P个从设备之间的连接构成菊花链拓扑结构,或者环形拓扑结构,或者树形拓扑结构。
第四方面,本申请提供一种装置,该装置具备实现上述第一方面至第三方面的任一种可能的设计的功能,比如,该装置包括执行上述第一方面至第三方面的任一种可能的设计涉及的步骤所对应的模块或单元或手段(means),功能或单元或手段可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现。
在一种可能的设计中,该装置包括处理单元、通信单元,其中,通信单元可以用于收发信号,以实现该装置和其它装置之间的通信;处理单元可以用于执行该装置的一些内部操作。处理单元、通信单元执行的功能可以和上述第一方面至第三方面的任一种可能的设计涉及的步骤相对应。
在一种可能的设计中,该装置包括处理器,还可以包括收发器,收发器用于收发信号,处理器执行程序指令,以完成上述第一方面至第三方面中任意可能的设计或实现方式中的方法。其中,该装置还可以包括一个或多个存储器或者与一个或多个存储器耦合。一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置,本申请并不限定。存储器可以保存实现上述第一方面至第三方面涉及的功能的必要计算机程序或指令。处理器可执行存储器存储的计算机程序或指令,当计算机程序或指令被执行时,使得该装置实现上述第一方面至第三方面任意可能的设计或实现方式中的方法。
在一种可能的设计中,该装置包括处理器和存储器,存储器可以保存实现上述第一方面至第三方面涉及的功能的必要计算机程序或指令。处理器可执行所述存储器存储的计算机程序或指令,当计算机程序或指令被执行时,使得该装置实现上述第一方面至第三方面任意可能的设计或实现方式中的方法。
在一种可能的设计中,该装置包括至少一个处理器和接口电路,其中,至少一个处理器用于通过所述接口电路与其它装置通信,并执行上述第一方面至第三方面任意可能的设计或实现方式中的方法。
第五方面,本申请实施例中还提供一种通信系统,该通信系统中包括主机、主控设备和一个或多个从设备,主机与主控设备之间可以通过I2C总线连接;示例性地,主控设备和一个或多个从设备可以与一个或多个外围设备连接。其中,主机可以用于执行上述第一方面的任一种可能的设计所述的方法,主控设备可以用于执行上述第二方面的任一种可能的设计所述的方法,从设备可以用于执行上述第三方面的任一种可能的设计所述的方法。
第六方面,本申请实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现第一方面至第三方面的任一种可能的设计提供的方法。
第七方面,本申请实施例还提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述第一方面至第三方面的任一种可能的设计提供的方法。
第八方面,本申请实施例还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,执行上述第一方面至第三方面的任一种可能的设计提供的方法。
第九方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持控制装置实现上述方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存所述管理设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例适用的一种可能的系统架构示意图;
图2a为本申请实施例提供的菊花链拓扑结构示意图;
图2b为本申请实施例提供的环形拓扑结构示意图;
图3为本申请实施例适用的又一种可能的系统架构示意图;
图4为本申请实施例适用的又一种可能的系统架构示意图;
图5为本申请实施例一提供的控制方法所对应的流程示意图;
图6为本申请实施例二提供的控制方法所对应的流程示意图;
图7为本申请实施例三提供的控制方法所对应的流程示意图;
图8为本申请实施例中所涉及的装置的可能的示例性框图;
图9为本申请实施例提供的一种控制装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
图1为本申请实施例适用的一种系统架构图,如图1所示,该系统架构包括:主机(Host)、与主机连接的传输系统和与传输系统连接的一个或多个外围设备。其中,传输系统中可以包括一个或多个传输设备,一个或多个传输设备中包括主控设备,除主控设备以外的其它传输设备可以称为从设备。示例性地,传输设备也可以称为传输节点或节点,主控设备也可以称为主设备或主节点(Master),从设备可以称为从节点(Slave)。外围设备也可以称为外围器件、外接器件外接设备或外设。
下面对图1所示意的系统架构中不同设备之间的连接关系和连接方式进行说明。
示例性地,主机可以通过I2C(也可以写为I2C)总线与主控设备连接。主控设备可以与从设备连接,不同从设备之间可以逐级连接。其中,主控设备与从设备之间以及从设备与从设备之间可以通过双绞线(twisted pair,TP)连接,或者也可以其它方式连接,如同轴线(coaxial)等,具体不做限定。
传输设备(比如主控设备或从设备)可以通过一根或多根I2C总线与外围设备连接,以传输设备1为例,传输设备1可以通过一根I2C总线与1个外围设备连接,或者,通过一根I2C总线与多个外围设备连接,又或者,通过多根I2C总线与多个外围设备连接。需要说明的是,一个或多个传输设备中也可以存在某些不连接外围设备的传输设备,比如主控设备可以连接外围设备,或者也可以不连接外围设备,从设备可以连接外围设备,或者也可以不连接外围设备。本申请实施例中以一个或多个传输设备中均连接外围设备为例进行描述。
下面对上述各个设备进行解释说明,以便于本领域技术人员理解。
主机:主机可以控制传输系统中的传输设备,也可以控制外围设备。例如,主机可以对传输系统中传输设备进行读写控制。再例如,主机可以对传输系统连接的外围设备进行读写控制。此外,主机还可以实现其他功能,这里不再一一列举。示例性地,主机中可以包括处理器,处理器可以是一个通用中央处理器(central processing unit,CPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路。
主控设备:主控设备可以接收主机发送的数据,并将主机发送的数据进行封装后传输给各个从设备,还可以接收各个从设备发送的数据,并将各个从设备发送的数据进行解封装后发送给主机。如果主控设备连接了外围设备,还可以与外围设备之间传输数据,如获取外围设备采集的数据、向外围设备发送数据。主控设备还可以将该主控设备连接的外围设备采集的数据进行封装后发送给主机,还可以将主机发送的数据进行解封装后发送给连接的外围设备。此外,主控设备还可以实现其他功能,这里不再一一列举。
从设备:从设备可以获取外围设备采集的数据并发送给主控设备,还可以将主控设备发送的数据发送给连接的外围设备。若从设备为菊花链中的中间节点,则从设备还可以将下级从设备发送的数据转发给主控设备,或者将主控设备发送的数据转发给下级从设备。此外,从设备还可以实现其他功能,这里不再一一列举。
外围设备:可以包括以下至少一项:麦克风、毫米波雷达、激光雷达、超声波雷达、摄像头、定位系统、惯性传感器、速度传感器、加速度传感器、湿度传感器、光强度传感器,还可以包括播放设备,如显示屏、外置功放、扬声器等。在其它可能的实施例中,外围设备还可以包括其它可能的设备,此处不再一一列举。
需要说明的是:(1)本申请实施例中涉及的主机、主控设备、从设备等网元可以是逻辑概念或者也可以实体概念。比如,主机、主控设备、从设备等网元的形态可以是实体设备;进一步地,多个网元可以分别是多个实体设备,或者也可以是多个网元集合成一个实体设备,例如从设备1和从设备2可能在一个电路板上。又比如,主机、主控设备、从设备等网元的形态也可以是一块电路板或电路板上的一个芯片或一个芯片区域所实现的功能。(2)图1所描述的系统架构可以适用于多种可能的场景,比如可以适用于车内音频系统。当上述系统架构应用于车内音频系统时,主机可以为DSP设备,外围设备可以包括麦克风阵列(MICarray)、扬声器(SPK)等。
基于图1所示意的系统架构,以系统架构中包括P个从设备和N个外围设备为例,P和N均为大于或等于1的整数,P可能大于N或者也可能小于N又或者也可能等于N。P个从设备可以分别为从设备0、从设备1、从设备2、……、从设备P-1;其中,0、1、2、……、P-1可以理解为为从设备分配的编号。本申请实施例中,也可以为主控设备分配编号,比如为主控设备分配的编号为P。需要说明的是,为主控设备和从设备编号可以有多种可能的实现,比如若为从设备分配的起始编号为1,则为主控设备分配的编号也可以为0。N个外围设备可以分别为外围设备0、外围设备1、外围设备2、……、从设备N-1,其中,0、1、2、、……、N-1可以理解为为外围设备分配的编号。
示例性地,当传输系统中所包括的传输设备个数较多时,多个传输设备之间的连接可以构成多种可能的拓扑结构,比如菊花链拓扑结构,参见图2a所示;又比如环形拓扑结构,采用图2b所示;又比如树形拓扑结构。
为便于对本申请实施例进行介绍,下面以P=3,N=4为例,描述一种可能的系统架构,系统架构可以适用于车内音频系统。参见图3所示,主机与主控设备之间通过I2C总线连接,此外,主机与主控设备之间还可以通过集成音频接口(integrated interchip sound,I2S)/时分多路复用(time-division multiplexing,TDM)/脉冲编码调制(pulse codemodulation,PCM)/脉冲密度调制(pulse density modulation,PDM)/通用输入/输出(general-purpose input/output,GPIO)接口连接。主控设备与从设备0之间通过双绞线连接,从设备0与从设备1之间通过双绞线连接,从设备1与从设备2之间通过双绞线连接。从设备0通过I2C总线连接外围设备1(比如为MIC阵列)、从设备1通过I2C总线连接外围设备2(比如为SPK)、从设备2通过I2C总线连接外围设备3(比如为SPK)和外围设备4(比如为MIC阵列)。此外,传输设备与外围设备之间还可以通过I2S/TDM/PCM/PDM/GPIO接口相连。其中,从设备0可以理解为从设备1的上级传输设备,相应地,从设备1可以理解为从设备0的下级传输设备;从设备1可以理解为从设备2的上级传输设备,相应地,从设备2可以理解为从设备1的下级传输设备。
示例性地,主控设备还可以连接电源,电源为主控设备供电,主控设备可以为从设备供电,各个传输设备还可以为其连接的外设供电。主控设备可以通过AP/AN接口与电源相连,或者也可以通过其他接口与电源相连。上级传输设备可以通过BP/BN接口与下级传输设备的AP/AN接口相连,从而实现上级传输设备与下级传输设备之间的电传输以及信号传输。
以图3所示意的系统架构为例,主机可以用于对麦克风等外围设备传输的数据进行处理,如对麦克风采集的语音数据进行滤波、降噪等处理。主控设备可以用于将经过处理器处理的数据封装后发送到各个从设备,还可以接收各个从设备发送的数据并解封装后发送给主机。从设备可以用于将外围设备采集的数据发送给主控设备,还可以接收来自主控设备的数据。也就是说,音频等下行数据流可以由主机发送给主控设备,进而由主控设备发送给各个从设备,再由从设备传输给外围设备,其传输路径可描述为Slave2->Slave1->Slave0->Master->DSP。音频等上行数据流由麦克风采集传输给从设备,由从设备发送到主控设备,再由主控设备中转给DSP,传输的路径可描述为Slave2->Slave1->Slave0->Master->DSP。除数据流外,主机还需要对主控设备、从设备以及外围设备进行控制。比如主机可以通过I2C接口对主控设备进行控制。然而,主机如何对从设备以及外围设备进行快速控制,目前仍需进一步的研究。
基于此,本申请实施例提供一种控制方法,用于实现对从设备和/或外围设备的快速控制。
下面先对本申请实施例所涉及的相关技术特征进行介绍。需要说明的是,这些解释是为了让本申请实施例更容易被理解,而不应该视为对本申请所要求的保护范围的限定。
(1)I2C通信
在I2C总线通信架构中,多个设备可以在硬件上共享总线,比如可以由一个I2C主器件与一个或多个I2C从器件共享同一I2C总线,即一个I2C主器件与一个或多个I2C从器件都通过SCL和SDA连接在I2C总线上。不同的I2C从器件可以通过地址来区分,也就是说,每个I2C从器件可以具有唯一的地址,该地址可以包括7个比特(bit)或10个比特,本申请实施例中以7个比特为例进行说明。由于I2C主器件与一个或多个I2C从器件共享同一I2C总线,因此,I2C主器件在进行通信时需要通过寻址选择需要通信的从器件。
I2C主器件与I2C从器件在通信过程中包括三种类型信号,分别为开始信号、停止信号和应答信号。其中,开始信号:SCL保持在高电平的状态下,SDA出现下降沿;开始信号用于开始I2C总线通信,出现开始信号以后,I2C总线被认为“忙”,进而可以进行后续的I2C总线寻址或数据传输等。停止信号:SCL保持在高电平的状态下,SDA出现上升沿;停止信号用于终止I2C总线通信,停止信号过后,总线被认为“空闲”。应答信号:接收数据的器件在接收到8位数据后,向发送数据的器件发出特定的低电平脉冲,表示已经收到数据。
I2C主器件与I2C从器件之间的通信可以包括I2C主器件控制I2C从器件读数据(即读流程),还可以包括I2C主器件控制I2C从器件写数据(即写流程)。下面分别对读流程和写流程进行说明。
I2C总线的一种可能的写流程可以包括如下步骤:
步骤1,I2C主器件发送开始(START)信号。
步骤2,I2C主器件发送一个字节,并等待ACK。其中,该字节的前7位携带待控制的I2C从器件的地址(I2C ADDR),最后一位为读写控制位(R/W);读写控制位为1时,表示读命令,读写控制位为0时,表示写命令。
步骤3,I2C从器件(该I2C从器件即为待控制的I2C从器件)发送ACK。
步骤4,I2C主器件发送一个字节,并等待ACK。其中,该字节携带I2C从器件的寄存器(比如寄存器1)的地址。
步骤5,I2C从器件发送ACK。
步骤6,I2C主器件发送一个字节,并等待ACK。其中,该字节携带要写入I2C从器件的数据。
步骤7,I2C从器件将数据写入寄存器1,并发送ACK。
步骤8,I2C主器件发出结束(STOP)信号。
需要说明的是:上述步骤6和步骤7可以连续进行,即顺序写入寄存器。
I2C总线的读流程可以包括2个过程,过程1制定寄存器地址,过程2读取寄存器数据。一种可能的读流程可以包括如下步骤:
步骤1,I2C主器件发送开始信号。
步骤2,I2C主器件发送I2C ADDR(7bit)和写命令(1bit),等待ACK。
步骤3,I2C从器件发送ACK。
步骤4,I2C主器件发送携带I2C从器件的寄存器(比如寄存器1)的地址(8bit),并等待ACK。
步骤5,I2C从器件发送ACK。
步骤6,I2C主器件发送停止信号。
步骤7,I2C总线初始化状态。
步骤8,I2C主器件发送开始信号。
步骤9,I2C主器件发送I2C ADDR(7bit)和读命令(1bit),等待ACK。
步骤10,I2C从器件发送ACK。
步骤11,I2C从器件发送寄存器1中存储的数据(8bit),等待ACK。
步骤12,I2C主器件发送ACK。
步骤13,I2C主器件发送停止信号。
示例性地,在上述图1或图3所示意的系统架构中,主机可以为I2C主器件,主控设备可以为I2C从器件;传输设备可以为I2C主器件,传输设备连接的外围设备可以为I2C从器件。
(2)寄存器
I2C主器件或I2C从器件中可以包括多个寄存器,多个寄存器中的每个寄存器可以存储一个字节,即8个比特。多个寄存器中可以包括一个或多个控制寄存器,比如多个寄存器中包括控制寄存器1和控制寄存器2,当在控制寄存器1中写入00000001时,代表需要执行清空内存操作;当在控制寄存器2中写入00000001时,代表需要执行复位操作。又比如,多个寄存器中包括控制寄存器3,当在控制寄存器3中写入00000001时,代表需要执行清空内存操作;当在控制寄存器3中写入00000010时,代表需要执行复位操作。
下面将以本申请实施例适用的系统架构中包括主机、P+1个传输设备(包括主控设备和P个从设备)、N个外围设备(N个外围设备连接P个从设备中的至少一个从设备)为例进行描述。其中,P=3,N=7,参见图4所示,从设备0连接外围设备0和外围设备1,从设备1连接外围设备2、外围设备3和外围设备4,从设备2连接外围设备5、外围设备6和外围设备7。
本申请实施例提供的控制方法中,主机确定需要控制的目标设备后,可以通过I2C接口向主控设备发送指示信息、控制命令和目标设备的寄存器的地址,进而主控设备可以将指示信息、控制命令和目标设备的寄存器的地址封装后发送给主控设备连接的从设备。当目标设备为从设备时,从设备可以根据控制命令执行第一操作,当目标设备为外围设备时,外围设备连接的从设备可以控制外围设备执行第一操作。采用该方法,由于主控设备可以通过一条消息(或者说一次性)将指示信息、控制命令和目标设备的寄存器的地址发送给从设备,进而由从设备基于指示信息来确定目标设备是否为自身或自身连接的外围设备,从而能够实现对从设备或外围设备的快速控制,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。此外,当需要切换目标设备时,可以再次执行上述方法,从而使得切换效率较高。
示例性地,主机可以获取第一映射关系信息,并根据第一映射关系信息向主控设备发送指示信息。可以理解地,第一映射关系信息可以存储在主机中,或者也可以存储在独立于主机且主机可以访问的存储装置中。
在一种可能的实现方式(称为实现方式1)中,主机存储有第一映射关系信息,进一步地,传输设备(比如从设备)可以存储有第二映射关系信息。可以理解地,第二映射关系信息也可以存储在独立于传输设备且传输设备可以访问的存储装置中。
下面对第一映射关系信息和第二映射关系信息进行说明。
(1)第一映射关系信息
第一映射关系信息可以包括标识信息、索引信息和地址信息之间的映射关系。标识信息可以包括P(P=3)个从设备的标识,其中从设备的标识可以为为从设备分配的编号,或者其它能够标识从设备的信息。本申请实施例中以从设备的标识为编号为例进行描述。标识信息还可以包括预设编号(包括第一预设编号和第二预设编号),比如编号3。索引信息可以包括N(N=7)个外围设备的地址的索引,还可以包括预设索引(包括第一预设索引、第二预设索引和第三预设索引),比如从设备0对应的索引3、从设备1对应的索引4、从设备2对应的索引4。地址信息可以包括N个外围设备的地址。其中有关预设编号和预设索引的介绍可以参见后文。
示例性地,P个从设备中每个从设备的标识、与每个从设备连接的一个或多个外围设备的地址、以及与每个从设备连接的一个或多个外围设备的地址的索引对应;参见表1所示,为第一映射关系信息的一种示例。
表1:第一映射关系信息示例1
根据表1可以看出,从设备0的编号为0,从设备1的编号为1,从设备2的编号为2。传输设备的标识可以对应传输设备连接的一个或多个外围设备的地址,比如从设备0的编号对应PER-1(外围设备0的地址)和PER-2(外围设备1的地址),从设备1的编号对应PER-1(外围设备2的地址)、PER-2(外围设备3的地址)和PER-3(外围设备4的地址),从设备2的编号对应PER-1(外围设备5的地址)、PER-2(外围设备6的地址)和PER-3(外围设备7的地址)。多个外围设备的地址与多个外围设备的地址的索引一一对应,比如,PER-1(外围设备0的地址)对应索引1,PER-2(外围设备1的地址)对应索引2。
可以理解地,本申请实施例中,不同从设备连接的多个外围设备的地址可以完全相同或部分相同或完全不同,不同从设备连接的多个外围设备的地址的索引可以完全相同或部分相同或完全不同,具体不做限定。
可以理解地,本申请实施例中的“标识”也可以称为“索引”,比如从设备的标识也可以称为从设备的索引,类似地,外围设备的地址的索引也可以称为外围设备的地址的标识或者外围设备的标识。本申请各实施例对具体名称不作具体限定。
(2)第二映射关系信息
第二映射关系信息可以包括地址信息和索引信息之间的映射关系。其中,地址信息可以包括传输设备连接的外围设备的地址,索引信息可以包括传输设备连接的外围设备的地址的索引,还可以包括预设索引。其中,每个外围设备的地址与每个外围设备的地址的索引对应。
示例性地,各个从设备均可以存储第二映射关系信息。其中,从设备0存储的第二映射关系信息可以参见表2所示,从设备1存储的第二映射关系信息可以参见表3所示,从设备2存储的第二映射关系信息可以参见表4所示。
表2:从设备0存储的第二映射关系信息示例
表3:从设备1存储的第二映射关系信息示例
表4:从设备2存储的第二映射关系信息示例
需要说明的是,各个从设备除了存储第二映射关系信息外,还可以存储从设备的编号以及预设编号,比如从设备0可以存储从设备0的编号和预设编号,从设备1可以存储从设备1的编号和预设编号,从设备2可以存储从设备2编号和预设编号。
在又一种可能的实现方式(称为实现方式2)中,主机可以存储有第一映射关系信息,进一步地,传输设备中可以不再存储第二映射关系信息。第一映射关系信息可以包括标识信息和地址信息之间的映射关系。其中标识信息可以包括P(P=3)个从设备的编号,还可以包括预设编号;地址信息可以包括7个外围设备的地址,还可以包括预设地址。
示例性地,P个从设备中每个从设备的标识、与每个从设备连接的一个或多个外围设备的地址对应。参见表5所示,为第一映射关系信息的一种示例。
表5:第一映射关系信息示例2
针对于上述实现方式1中所描述的第一映射关系信息,主机根据第一映射关系信息发送的指示信息可以包括两个字节,其中一个字节(称为字节1)可以指示传输设备、另一个字节(称为字节2)可以指示该传输设备连接的外围设备。
比如,目标设备为外围设备3时,字节1可以包括从设备1的编号,字节2可以包括外围设备3的地址的索引。
又比如,目标设备为从设备1时,字节1可以包括从设备1的编号,字节2可以包括第一预设索引(第一预设索引可以为预先定义的,且不对应从设备1连接的任何外围设备的地址,比如第一预设索引可以为4)。可以理解地,对于不同从设备来说,第一预设索引可以是相同的或者不同的,比如对于从设备0来说,第一预设索引可以为3,对于从设备1来说,第一预设索引可以为4,对于从设备2来说,第一预设索引可以为4。
又比如,目标设备包括所有从设备(即从设备0、从设备1、从设备2)时,字节1可以包括第一预设编号(第一预设编号可以为预先定义的,且不属于任何一个从设备的编号,比如第一预设编号为3),字节2可以包括第二预设索引(第二预设索引可以为预先定义的,且不对应任何外围设备的地址,比如第二预设索引可以为4)。
又比如,目标设备包括所有外围设备(即外围设备1至外围设备7)时,字节1可以包括第二预设编号(第二预设编号可以为预先定义的,不属于任何一个从设备的编号,比如第二预设编号为3),字节2可以包括第三预设索引(第三预设索引可以为预先定义的,不对应任何外围设备的地址,且不同于第一预设索引和第二预设索引,比如第三预设索引可以为5)。
又比如,目标设备包括所有从设备和所有外围设备(即从设备0至从设备2、外围设备1至外围设备7),字节1可以包括第三预设编号(第三预设编号可以为预先定义的,不属于任何一个从设备的编号,比如第三预设编号为3),字节2可以包括第四预设索引(第四预设索引可以为预先定义的,不对应任何外围设备的地址,且不同于第一预设索引、第二预设索引和第三预设索引,比如第四预设索引可以为6)。
参见表6所示,为指示信息指示目标设备的多种可能的示例。
表6:指示信息指示目标设备的多种可能的示例
在其它可能的示例中,指示信息可以包括一个字节或两个字节。比如,当目标设备为传输设备时,指示信息可以包括字节1,而不再包括字节2;示例性地,当目标设备为从设备0时,指示信息可以包括字节1而不再包括字节2,字节1可以包括从设备0的编号,即0;当目标设备为从设备1时,指示信息可以包括字节1而不再包括字节2,字节1可以包括从设备1的编号,即1;当目标设备为从设备2时,指示信息可以包括字节1而不再包括字节2,字节1可以包括从设备2的编号,即2。而在其它情形中,指示信息可以包括两个字节。参见表7所示,为指示信息指示目标设备的多种可能的示例。
表7:指示信息指示目标设备的多种可能的示例
需要说明的是,上述表6或表7所给出的指示信息的指示方式仅为一些可能的示例,本领域技术人员可以根据实际需要在此基础上进行变形,本申请实施例对此不做限定。
针对于上述实现方式2中所描述的第一映射关系信息,主机根据第一映射关系信息发送的指示信息可以包括两个字节,其中一个字节(称为字节1)可以指示传输设备、另一个字节(称为字节2)可以指示该传输设备连接的外围设备。
比如,目标设备为外围设备3时,字节1可以包括从设备1的编号,字节2可以包括外围设备3的地址。
又比如,目标设备为从设备1时,字节1可以包括从设备1的标号,字节2可以包括第一预设地址(第一预设地址可以为预先定义的,且不是从设备1连接的任何外围设备的地址,比如第一预设地址可以为PER-3)。
又比如,目标设备包括所有从设备(即从设备0、从设备1、从设备2)时,字节1可以包括第一预设编号(第一预设编号可以为预先定义的,且不属于任何一个从设备的编号,比如第一预设编号为3),字节2可以包括第二预设地址(第二预设地址可以为预先定义的,且不是任何外围设备的地址,比如第二预设地址可以为PER-4)。
又比如,目标设备包括所有外围设备(即外围设备1至外围设备7)时,字节1可以包括第二预设编号(第二预设编号可以为预先定义的,不属于任何一个从设备的编号,比如第二预设编号为3),字节2可以包括第三预设地址(第三预设地址可以为预先定义的,不是任何外围设备的地址,且不同于第一预设地址和第二预设地址,比如第三预设地址可以为PER-5)。
又比如,目标设备包括所有从设备和所有外围设备(即从设备0至从设备2、外围设备1至外围设备7),字节1可以包括第三预设编号(比如第三预设编号为3),字节2可以包括第四预设地址(第四预设地址可以为预先定义的,不是任何外围设备的地址,且不同于第一预设地址、第二预设地址和第三预设地址,比如第四预设地址可以为PER-6)。
参见表8所示,为指示信息指示目标设备的多种可能的示例。
表8:指示信息指示目标设备的多种可能的示例
/>
需要说明的是,基于实现方式2中所描述的第一映射关系信息发送的指示信息与基于实现方式1中所描述的第一映射关系信息发送的指示信息的差异之处在于,前者字节2中承载的是地址,后者字节2中承载的是索引。下文中以基于实现方式1中所描述的第一映射关系信息来发送指示信息为例进行介绍。
本申请实施例中,控制命令用于对目标设备进行控制,比如控制命令可以包括1个比特,当该比特的取值为1时,表示读命令,取值为0时,表示写命令。当控制命令为读命令时,第一操作可以为读操作,当控制命令为写命令时,第一操作可以为写操作、清空内存操作或复位操作。控制命令可以占用一个单独的字节,或者控制命令也可以承载在字节1中或字节2中,从而能够有效降低需要传输的比特数量,提高传输效率。下文中以控制命令承载在字节1中为例进行描述。
基于上述内容,下面结合实施例一至实施例三对本申请实施例提供的控制方法进行描述。
实施例一
在实施例一中,以控制命令为读命令、目标设备为外围设备3为例,结合图5对本申请实施例提供的控制方法进行介绍。图5为本申请实施例提供的控制方法所对应的流程示意图。如图5所示,该方法包括:
步骤501,主机确定需要控制的目标设备为外围设备3。
步骤502,主机向主控设备发送指示信息、读命令和外围设备3的寄存器的地址;指示信息用于指示外围设备3,参见表6所示,指示信息可以包括字节1和字节2,字节1中包括编号1,字节2中包括索引2。读命令用于从外围设备3的寄存器中读取第一数据,读命令可以承载在字节1中。
相应地,在步骤503中,主控设备接收指示信息、读命令和外围设备3的寄存器的地址。
步骤504,主控设备向与主控设备连接的从设备(即从设备0)发送第一消息,第一消息包括指示信息、读命令和外围设备3的寄存器的地址。
步骤505,从设备0接收来自主控设备的第一消息。
步骤506,从设备0确定目标设备既不是从设备0也不是从设备0的外围设备(比如外围设备0或外围设备1)。
示例性地,从设备0可以根据从设备0存储的第二映射关系信息,确定目标设备是否为从设备0或者从设备0的外围设备。比如,从设备0接收到指示信息后,可以判断字节1中的编号是否为从设备0的编号或预设编号,若不是从设备0的编号,也不是预设编号,则可以不执行读操作。
步骤507,从设备0将第一消息转发给从设备0的下级传输设备(即从设备1)。
可以理解地,从设备0可以在确定目标设备是否为从设备0或者从设备0的外围设备的同时将第一消息转发给从设备0的下级传输设备;或者,从设备0可以在确定目标设备是否为从设备0或者从设备0的外围设备之前先将第一消息转发给从设备0的下级传输设备;又或者,也可以在确定既不是从设备0也不是从设备0的外围设备后,将第一消息转发给从设备0的下级传输设备,具体不做限定。
步骤508,从设备1确定目标设备为外围设备3,并控制外围设备3执行读操作,进而获取第一数据。
示例性地,从设备1可以根据从设备1存储的第二映射关系信息,确定目标设备是否为从设备1或从设备1连接的外围设备。比如,从设备1接收到指示信息后,确定字节1中的编号为从设备1的编号,进而可以根据字节2所携带的索引,确定需要控制的外围设备的地址(即PER-3),进而可以根据PER-3和第一消息中携带的外围设备3的寄存器的地址控制外围设备3执行读操作。
其中,从设备1控制外围设备3执行读操作的流程可以参见前文所描述的I2C总线读流程,具体不做赘述。
步骤509,从设备1向主控设备发送第一数据。
示例性地,从设备1可以先将第一数据发送给从设备0,进而由从设备0转发给主控设备。
步骤510,主控设备向主机发送第一数据。
针对于上述步骤501至步骤510,下面结合实现方式1和实现方式2对该实施例中主机和主控设备之间的通信进行详细描述。
实现方式1
主机可以在发送开始信号之后,发送停止信号之前,向主控设备发送指示信息、控制命令(即读命令)和目标设备(即外围设备3)的寄存器的地址,以及接收第一数据。示例性地,主机和主控设备之间的通信可以包括如下步骤:
步骤1,主机向主控设备发送开始信号。
步骤2,主机向主控设备发送指示信息、控制命令(即读命令)和外围设备3的寄存器的地址。
步骤3,主控设备向主机发送第一数据。
步骤4,主机向主控设备发送停止信号。
示例性地,由于主机和主控设备之间可以通过I2C总线进行通信,下面基于I2C通信流程对主机和主控设备之间的通信进行详细描述,比如可以包括如下步骤:
步骤1,主机向主控设备发送开始信号。
步骤2,主机向主控设备发送主控设备的地址和写命令,并等待ACK。其中,写命令用于控制主控设备执行写操作。
步骤3,主控设备发送ACK。
步骤4,主机向主控设备发送主控设备的寄存器1的地址,并等待ACK。
步骤5,主控设备发送ACK。
步骤6,主机向主控设备发送字节1,并等待ACK。其中,字节1可以包括编号1和读命令。
步骤7,主控设备发送ACK。
此处,主控设备可以将字节1所承载的内容写入寄存器1。
步骤8,主机向主控设备发送字节2,并等待ACK。其中,字节2可以包括索引2。
步骤9,主控设备发送ACK。
此处,主控设备可以将字节2所承载的内容顺序写入主控设备的寄存器2。
步骤10,主机向主控设备发送外围设备3的寄存器的地址,并等待ACK。
步骤11,主控设备发送ACK。
此处,主控设备接收到指示信息、控制命令和外围设备3的寄存器的地址后,可以将执行上述步骤504至步骤509,进而获取到来自外围设备3的寄存器的第一数据。
步骤12,主控设备向主机发送第一数据。
步骤13,主机向主控设备发送ACK。
步骤14,主机向主控设备停止信号。
需要说明的是,本申请实施例中对主机发送指示信息、控制命令和目标设备的寄存器的地址等三者的顺序不做限定,上述步骤中是以主机先向主控设备发送节点编号和读命令,然后发送目标设备的地址的索引,再然后发送目标设备的寄存器的地址为例进行描述的;在其它实施例中,也可以是其它可能的顺序,比如主机先向主控设备发送目标设备的地址的索引,然后发送节点编号和读命令,再然后发送目标设备的寄存器的地址。
上述实现方式1中,由于主机是在发送开始信号之后,发送停止信号之前,向主控设备发送指示信息、控制命令和目标设备的寄存器的地址,从而能够有效提高传输效率,实现对目标设备(比如从设备和/或外围设备)的快速控制。
实现方式2
在实现方式2中,主机可以多次发送开始信号和停止信号,每一组开始信号和停止信号之间,可以发送一个或多个字节的信息。比如,主机和主控设备之间的通信可以包括如下步骤:
步骤1,主机向主控设备发送开始信号。
步骤2,主机向主控设备发送指示信息和控制命令。
步骤3,主机向主控设备发送停止信号。
步骤4,主机向主控设备发送开始信号。
步骤5,主机向主控设备发送目标设备(即外围设备3)的寄存器的地址。
步骤6,主控设备向主机发送第一数据。
步骤7,主机向主控设备发送停止信号。
下面基于I2C通信流程对主机和主控设备之间的通信进行详细描述,比如可以包括如下步骤:
步骤1,主机向主控设备发送开始信号。
步骤2,主机向主控设备发送主控设备的地址和写命令,并等待ACK。其中,写命令用于控制主控设备执行写操作。
步骤3,主控设备发送ACK。
步骤4,主机向主控设备发送主控设备的寄存器1的地址,并等待ACK。
步骤5,主控设备发送ACK。
步骤6,主机向主控设备发送字节1,并等待ACK。其中,字节1可以包括编号1和读命令。
步骤7,主控设备发送ACK。
此处,主控设备可以将字节1所承载的内容写入寄存器1。
步骤8,主机向主控设备发送字节2,并等待ACK。其中,字节2可以包括索引2。
步骤9,主控设备发送ACK。
此处,主控设备可以将字节2所承载的内容顺序写入主控设备的寄存器2。
步骤10,主机向主控设备发送停止信号。
步骤11,主机向主控设备发送开始信号。
步骤12:主机向主控设备发送外围设备3的寄存器的地址,并等待ACK。
步骤13,主控设备发送ACK。
步骤14,主控设备向主机发送第一数据。
步骤15,主机向主控设备发送ACK。
步骤16,主机向主控设备停止信号。
在实现方式2中,由于主机可以多次发送开始信号和停止信号,并在每一组开始信号和停止信号之间发送一个或多个字节的信息,从而可以在某一次开始信号后发送的信息发生错误的情况下,重新发送该开始信号后所发送的信息即可(比如上述步骤12中主机向主控设备发送外围设备3的寄存器的地址发生错误,则可以重新执行步骤11和步骤12,而无需重新执行步骤1至步骤10),从而能够有效保证信息发生错误情况下的及时更正。
上述实施例一中,主机将指示信息、读命令、目标设备的寄存器的地址写入主控设备中,进而主控设备可以通过一条消息将指示信息、读命令、目标设备的寄存器的地址发送给从设备,进而由从设备基于指示信息来确定目标设备是否为自身或自身连接的外围设备,从而能够实现快速地从从设备或外围设备中读取数据,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。此外,当需要切换目标设备时,可以再次执行上述方法,从而使得切换效率较高。
实施例二
在实施例二中,以控制命令为写命令、目标设备为外围设备3为例,结合图6对本申请实施例提供的控制方法进行介绍。图6为本申请实施例提供的控制方法所对应的流程示意图。如图6所示,该方法包括:
步骤601,主机确定需要控制的目标设备为外围设备3。
步骤602,主机向主控设备发送指示信息、写命令、外围设备3的寄存器的地址和第二数据;指示信息用于指示外围设备3,参见表6所示,指示信息可以包括字节1和字节2,字节1中包括编号1,字节2中包括索引2。写命令用于将第二数据写入外围设备3的寄存器,写命令可以承载在字节1中。
相应地,在步骤603中,主控设备接收指示信息、写命令、外围设备3的寄存器的地址和第二数据。
步骤604,主控设备向与主控设备连接的从设备(即从设备0)发送第一消息,第一消息包括指示信息、外围设备3的寄存器的地址、写命令和第二数据。
步骤606,从设备0接收来自主控设备的第一消息。
步骤606,从设备0确定目标设备既不是从设备0也不是从设备0的外围设备。
步骤607,从设备0将第一消息转发给从设备0的下级传输设备(即从设备1)。
步骤608,从设备1确定目标设备为外围设备3,控制外围设备3执行写操作,即控制外围设备3将第二数据写入外围设备3的寄存器。
其中,从设备1控制外围设备3执行写操作的流程可以参见前文所描述的I2C总线写流程,具体不做赘述。
步骤609,从设备1向主控设备发送响应信息(比如ACK)。
步骤610,主控设备向主机发送响应信息(比如ACK)。
针对于上述步骤601至步骤610,下面对该实施例中主机和主控设备之间的通信进行详细描述。在一个示例中,主机和主控设备之间的通信可以包括如下步骤:
步骤1,主机向主控设备发送开始信号。
步骤2,主机向主控设备发送指示信息、控制命令(即写命令)、外围设备3的寄存器的地址和第二数据。
步骤3,主控设备向主机发送ACK。
步骤4,主机向主控设备发送停止信号。
下面基于I2C通信流程对主机和主控设备之间的通信进行详细描述,比如可以包括如下步骤:
步骤1,主机向主控设备发送开始信号。
步骤2,主机向主控设备发送主控设备的地址和写命令,并等待ACK。其中,写命令用于控制主控设备执行写操作。
步骤3,主控设备发送ACK。
步骤4,主机向主控设备发送主控设备的寄存器1的地址,并等待ACK。
步骤5,主控设备发送ACK。
步骤6,主机向主控设备发送字节1,并等待ACK。其中,字节1可以包括编号1和写命令。
步骤7,主控设备发送ACK。
此处,主控设备可以将字节1所承载的内容写入寄存器1。
步骤8,主机向主控设备发送字节2,并等待ACK。其中,字节2可以包括索引2。
步骤9,主控设备发送ACK。
此处,主控设备可以将字节2所承载的内容顺序写入主控设备的寄存器2。
步骤10,主机向主控设备发送外围设备3的寄存器的地址,并等待ACK。
步骤11,主控设备发送ACK。
步骤12,主机向主控设备发送第二数据,并等待ACK。
此处,主控设备接收到指示信息、写命令、外围设备3的寄存器的地址和第二数据后,可以执行上述步骤604至步骤609。
步骤13,主控设备发送ACK,即主控设备向主机发送响应信息。
步骤14,主机向主控设备停止信号。
上述实施例二中,主机将指示信息、写命令、目标设备的寄存器的地址和第二数据写入主控设备中,进而主控设备可以通过一条消息将指示信息、目标设备的寄存器的地址、写命令和第二数据发送给从设备,进而由从设备基于指示信息来确定目标设备是否为自身或自身连接的外围设备,从而能够实现快速地将数据写入从设备或外围设备,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。此外,当需要切换目标设备时,可以再次执行上述方法,从而使得切换效率较高。
实施例三
在实施例三中,以控制命令为写命令(控制目标设备执行清空内存操作)、目标设备为所有从设备(比如从设备0、从设备1和从设备2)为例,结合图7对本申请实施例提供的控制方法进行介绍。图7为本申请实施例提供的控制方法所对应的流程示意图。如图7所示,该方法包括:
步骤701,主机确定需要控制的目标设备为从设备0、从设备1和从设备2。
步骤702,主机向主控设备发送指示信息、写命令、目标设备的寄存器(比如目标设备的控制寄存器1)的地址和第三数据;指示信息用于指示从设备0、从设备1和从设备2,参见表6所示,指示信息可以包括字节1和字节2,字节1中包括第一预设编号(比如3),字节2中包括第二预设索引(比如4)。写命令用于将第三数据写入目标设备的控制寄存器1,进而控制目标设备执行清空内存操作,写命令可以承载在字节1中。
相应地,在步骤703中,主控设备接收指示信息、写命令、目标设备的寄存器的地址和第三数据。
步骤704,主控设备向与主控设备连接的从设备(即从设备0)发送第一消息,第一消息包括指示信息、写命令、目标设备的寄存器的地址和第三数据。
步骤705,从设备0接收来自主控设备的第一消息。
步骤706,从设备0确定指示信息中所携带的编号为编号3,进而可以获知目标设备包括从设备0,并执行清空内存操作。
步骤707,从设备0将第一消息转发给从设备0的下级传输设备(即从设备1)。
步骤708,从设备1确定指示信息中所携带的编号为编号3,进而可以获知目标设备包括从设备1,并执行清空内存操作。
步骤709,从设备1将第一消息转发给从设备1的下级传输设备(即从设备2)。
步骤710,从设备2确定指示信息中所携带的编号为编号3,进而可以获知目标设备包括从设备2,并执行清空内存操作。
步骤711,主控设备向主机发送ACK。
需要说明的是,上述从设备0、从设备1和从设备2执行清空内存操作后,均可以向主控设备发送ACK,主控设备在接收到从设备0、从设备1和从设备2的ACK后,可以向主机发送ACK。
针对于上述步骤701至步骤711,下面对该实施例中主机和主控设备之间的通信进行详细描述。在一个示例中,主机和主控设备之间的通信可以包括如下步骤:
步骤1:主机向主控设备发送开始信号。
步骤2:主机向主控设备发送主控设备的地址和写命令,并等待ACK。其中,写命令用于控制主控设备执行写操作。
步骤3,主控设备发送ACK。
步骤4:主机向主控设备发送主控设备的寄存器1的地址,并等待ACK。
步骤5,主控设备发送ACK。
步骤6:主机向主控设备发送字节1,并等待ACK。其中,字节1可以包括编号3和写命令。
步骤7,主控设备发送ACK。
此处,主控设备可以将字节1所承载的内容写入寄存器1。
步骤8:主机向主控设备发送字节2,并等待ACK。其中,字节2可以包括索引4。
步骤9,主控设备发送ACK。
此处,主控设备可以将字节2所承载的内容顺序写入主控设备的寄存器2。
步骤10:主机向主控设备发送目标设备的寄存器的地址,并等待ACK。
步骤11,主控设备发送ACK。
步骤12,主机向主控设备发送第三数据,并等待ACK。
此处,主控设备接收到指示信息、写命令、目标设备的寄存器的地址和第三数据后,可以执行上述步骤704至步骤710。
步骤13,主控设备发送ACK,即主控设备向主机发送响应信息。
步骤14,主机向主控设备停止信号。
上述实施例三中,主机将指示信息、写命令、目标设备的寄存器的地址和第三数据写入主控设备中,进而主控设备可以通过一条消息将指示信息、写命令、目标设备的寄存器的地址和第三数据发送给从设备,进而由从设备基于指示信息来确定目标设备是否为自身或自身连接的外围设备。由于指示信息所指示的目标设备可以包括所有从设备,从而能够实现快速地控制所有从设备,且具有较强的适应性,比如可以适用于各种复杂的拓扑结构。
需要说明的是:(1)上述实施例一至实施例三所描述的为本申请实施例的一些可能的实现,在其它可能的实施例中,比如控制命令还可以为写命令(控制目标设备执行复位操作),又比如目标设备还可以为其它可能的从设备或外围设备,或者还可以为所有从设备和所有外围设备;具体不再一一列举。
(2)上述实施例一至实施例三的差异之处在于,控制命令不同和/或目标设备不同,除此差异之外的其它内容,实施例一至实施例三之间可以相互参照。
(3)上述实施例一至实施例三中是以N个外围设备连接P个从设备中的至少一个从设备(即主控设备不连接外围设备)为例进行描述的,在其它可能的实施例中,主控设备也可以连接外围设备。当主控设备连接外围设备时,在一种可能的实现方式中,可以为主控设备分配编号,进而当主控设备接收到指示信息(字节1携带主控设备的编号,字节2携带主控设备连接的外围设备的地址的索引)后,若确定目标设备为主控设备连接的外围设备,则可以控制外围设备执行第一操作。进一步地,主控设备可以不再向从设备发送第一消息,从而节省传输资源。在又一种可能的实现方式中,主控设备的寄存器中可以包括预设寄存器(预设寄存器可以包括多个寄存器),当主机向预设寄存器中写入目标设备的地址(或目标设备的地址的索引)、控制命令和目标设备的寄存器的地址时,表示需要控制的目标设备为主控设备连接的外围设备,具体是主控设备连接的哪个外围设备,可以根据目标设备的地址来确定。
上述主要从主机、控制设备和从设备之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,主机、控制设备和从设备可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请的实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对主机、控制设备和从设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的单元的情况下,图8示出了本申请实施例中所涉及的装置的可能的示例性框图。如图8所示,装置800可以包括:处理单元802和通信单元803。处理单元802用于对装置800的动作进行控制管理。通信单元803用于支持装置800与其他设备的通信。可选地,通信单元803也称为收发单元,可以包括接收单元和/或发送单元,分别用于执行接收和发送操作。装置800还可以包括存储单元801,用于存储装置800的程序代码和/或数据。
该装置800可以为上述任一实施例中的主机(或设置在主机中的芯片),主机可以通过I2C总线与主控设备连接。其中,处理单元802可以支持装置800执行上文中各方法示例中主机的动作;或者,处理单元802主要执行方法示例中的主机的内部动作,通信单元803可以支持装置800与主控设备之间的通信。
在一个实施例中,处理单元802用于:确定需要控制的目标设备,目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;N个外围设备连接P个从设备和主控设备中的至少一个设备;通信单元803用于:向主控设备发送开始信号,向主控设备发送指示信息、控制命令和目标设备的寄存器的地址;指示信息用于指示目标设备,控制命令为读命令或写命令;以及,向主控设备发送停止信号;其中,P、N为大于或等于1的整数。
在一种可能的设计中,目标设备为N个外围设备中的第一外围设备;指示信息包括与第一外围设备连接的设备的标识,还包括第一外围设备的地址的索引或者第一外围设备的地址。
在一种可能的设计中,目标设备为P个从设备中的第一从设备;指示信息包括第一从设备的标识。
在一种可能的设计中,指示信息还包括预设索引或者预设地址。
在一种可能的设计中,处理单元802用于:获取映射关系信息;映射关系信息包括标识信息、索引信息和地址信息之间的映射关系,或者,映射关系信息包括标识信息和地址信息之间的映射关系;其中,标识信息包括P个从设备的标识,索引信息包括N个外围设备的地址的索引,地址信息包括N个外围设备的地址;通信单元803用于:根据映射关系信息,向主控设备发送指示信息。
在一种可能的设计中,当映射关系信息包括标识信息、索引信息和地址信息之间的映射关系时,P个从设备中每个从设备的标识、与每个从设备连接的外围设备的地址、以及与每个从设备连接的外围设备的地址的索引对应;当映射关系信息包括标识信息和地址信息之间的映射关系时,P个从设备中每个从设备的标识、与每个从设备连接的外围设备的地址对应。
在一种可能的设计中,索引信息还包括预设索引,地址信息还包括预设地址。
在一种可能的设计中,若控制命令为读命令,则通信单元803向主控设备发送停止信号之前,还用于:接收主控设备发送的第一数据;其中,第一数据是来自目标设备的数据;或者,若控制命令为写命令,则通信单元803向主控设备发送停止信号之前,还用于:向主控设备发送第二数据。
该装置800可以为上述任一实施例中的主控设备(或设置在主控设备中的芯片),主控设备可以通过I2C总线与主机连接。其中,处理单元802可以支持装置800执行上文中各方法示例中主控设备的动作;或者,处理单元802主要执行方法示例中的主控设备的内部动作,通信单元803可以支持装置800与其它设备(比如主机、从设备)之间的通信。
在一个实施例中,通信单元803用于:接收来自主机的指示信息、控制命令和目标设备的寄存器的地址;指示信息用于指示目标设备,控制命令为读命令或写命令;目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;N个外围设备连接P个从设备中的至少一个设备;向与主控设备连接的从设备发送第一消息,第一消息包括指示信息、控制命令和目标设备的寄存器的地址;其中,P、N为大于或等于1的整数。
在一种可能的设计中,目标设备为N个外围设备中的第一外围设备;指示信息包括与第一外围设备连接的设备的标识,还包括第一外围设备的地址的索引或者第一外围设备的地址。
在一种可能的设计中,处理单元802用于:将第一外围设备连接的设备的标识与控制命令写入同一寄存器;或者,将第一外围设备的地址的索引或者第一外围设备的地址与控制命令写入同一寄存器。
在一种可能的设计中,目标设备为P个从设备中的第一从设备;指示信息包括第一从设备的标识。
在一种可能的设计中,指示信息还包括预设索引或者预设地址。
在一种可能的设计中,处理单元802用于:将第一从设备的标识与控制命令写入同一寄存器;或者,主控设备将预设索引或者预设地址与控制命令写入同一寄存器。
在一种可能的设计中,通信单元803具体用于:先接收来自主机的开始信号,然后接收来自主机的指示信息、控制命令和目标设备的寄存器的地址,最后接收来自主机的停止信号。
在一种可能的设计中,若控制命令为读命令,则通信单元803还用于:接收来自目标设备的第一数据,并将第一数据发送给主机;或者,若控制命令为写命令,则通信单元803还用于:接收来自主机的第二数据,第一消息还包括第二数据。
该装置800可以为上述任一实施例中的从设备(或设置在从设备中的芯片),其中,处理单元802可以支持装置800执行上文中各方法示例中从设备的动作;或者,处理单元802主要执行方法示例中的从设备的内部动作,通信单元803可以支持装置800与其它设备(比如主控设备、该从设备的下一级传输设备或上一级传输设备)之间的通信。
在一个实施例中,通信单元803用于:接收来自主控设备的第一消息,第一消息包括指示信息、控制命令和目标设备的寄存器的地址;指示信息用于指示目标设备,控制命令为读命令或写命令;目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;N个外围设备连接P个从设备中的至少一个设备;第一从设备为P个从设备中的任一从设备;处理单元802用于:若确定目标设备为第一从设备,则根据控制命令执行第一操作;其中,P、N为大于或等于1的整数。
在一种可能的设计中,处理单元802还用于:确定指示信息包括第一从设备的标识以及预设索引或预设地址,则确定目标设备为第一从设备。
在一种可能的设计中,处理单元802还用于:若确定目标设备为第一从设备连接的第一外围设备,则控制第一外围设备执行第一操作。
在一种可能的设计中,处理单元802还用于:若确定指示信息包括第一从设备的标识以及第一外围设备的地址的索引或者第一外围设备的地址,则确定目标设备为第一外围设备。
在一种可能的设计中,若控制命令为写命令,则第一消息还包括第二数据。
在一种可能的设计中,若控制命令为写命令,则第一操作为写操作、清空内存操作或读操作中的至少一项。
在一种可能的设计中,主控设备和P个从设备之间的连接构成菊花链拓扑结构,或者环形拓扑结构,或者树形拓扑结构。
应理解以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific IntegratedCircuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是处理器,比如通用中央处理器(central processing unit,CPU),或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
以上用于接收的单元是一种该装置的接口电路,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该接收单元是该芯片用于从其它芯片或装置接收信号的接口电路。以上用于发送的单元是一种该装置的接口电路,用于向其它装置发送信号。例如,当该装置以芯片的方式实现时,该发送单元是该芯片用于向其它芯片或装置发送信号的接口电路。
参见图9所示,为本申请实施例提供的一种控制装置示意图,该装置900可以是上述实施例中的主机、主控设备或者从设备。该装置900包括:处理器902、通信接口903,还可以包括存储器901或者与存储器901存在耦合关系。可选的,装置900还可以包括通信线路904。其中,通信接口903、处理器902以及存储器901可以通过通信线路904相互连接;通信线路904可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述通信线路904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器902可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。处理器902的功能可以和图8中所描述的处理单元的功能相同。
通信接口903,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN),有线接入网等。通信接口903的功能可以和图8中所描述的通信单元的功能相同。
存储器901可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路904与处理器相连接。存储器也可以和处理器集成在一起。存储器901可以和图8中所描述的存储单元的功能相同。
其中,存储器901用于存储执行本申请方案的计算机执行指令,并由处理器902来控制执行。处理器902用于执行存储器901中存储的计算机执行指令,从而实现本申请上述实施例提供的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例还提供了一种计算机可读存储介质,用于存储为执行上述处理器所需执行的计算机软件指令,其包含用于执行上述处理器所需执行的程序。
本申请实施例中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。以及,除非有特别说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一数据和第二数据,只是为了区分不同的数据,而并不是表示这两种数据的优先级或者重要程度等的不同。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (31)

1.一种控制方法,其特征在于,所述方法适用于主机,所述主机与主控设备连接;所述方法包括:
所述主机确定需要控制的目标设备,所述目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;所述N个外围设备连接所述P个从设备和所述主控设备中的至少一个设备;
所述主机向所述主控设备发送开始信号;
所述主机向所述主控设备发送指示信息、控制命令和所述目标设备的寄存器的地址;所述指示信息用于指示所述目标设备,所述控制命令为读命令或写命令;
所述主机向所述主控设备发送停止信号,所述停止信号与所述开始信号相对应;
其中,P、N为大于或等于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述目标设备为所述N个外围设备中的第一外围设备;
所述指示信息包括与所述第一外围设备连接的设备的标识,还包括所述第一外围设备的地址的索引或者所述第一外围设备的地址。
3.根据权利要求1所述的方法,其特征在于,所述目标设备为所述P个从设备中的第一从设备;
所述指示信息包括所述第一从设备的标识。
4.根据权利要求3所述的方法,其特征在于,所述指示信息还包括预设索引或者预设地址。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述主机向所述主控设备发送所述指示信息,包括:
所述主机获取映射关系信息;所述映射关系信息包括标识信息、索引信息和地址信息之间的映射关系,或者,所述映射关系信息包括标识信息和地址信息之间的映射关系;其中,所述标识信息包括所述P个从设备的标识,所述索引信息包括所述N个外围设备的地址的索引,所述地址信息包括所述N个外围设备的地址;
所述主机根据所述映射关系信息,向所述主控设备发送所述指示信息。
6.根据权利要求5所述的方法,其特征在于,当所述映射关系信息包括标识信息、索引信息和地址信息之间的映射关系时,所述P个从设备中每个从设备的标识、与所述每个从设备连接的外围设备的地址、以及与所述每个从设备连接的外围设备的地址的索引对应;
当所述映射关系信息包括标识信息和地址信息之间的映射关系时,所述P个从设备中每个从设备的标识、与所述每个从设备连接的外围设备的地址对应。
7.根据权利要求5或6所述的方法,其特征在于,所述索引信息还包括预设索引,所述地址信息还包括预设地址。
8.根据权利要求1至7中任一项所述的方法,其特征在于:
若所述控制命令为读命令,则所述主机向所述主控设备发送停止信号之前,还包括:所述主机接收所述主控设备发送的第一数据;其中,所述第一数据是来自所述目标设备的数据;或者,
若所述控制命令为写命令,则所述主机向所述主控设备发送停止信号之前,还包括:所述主机向所述主控设备发送第二数据。
9.一种控制方法,其特征在于,所述方法适用于主控设备,所述方法包括:
所述主控设备获取指示信息、控制命令和目标设备的寄存器的地址;所述指示信息用于指示所述目标设备,所述控制命令为读命令或写命令;所述目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;所述N个外围设备连接所述P个从设备中的至少一个设备;
所述主控设备向与所述主控设备连接的从设备发送第一消息,所述第一消息包括所述指示信息、所述目标设备的寄存器的地址和所述控制命令;
其中,P、N为大于或等于1的整数。
10.根据权利要求9所述的方法,其特征在于,所述目标设备为所述N个外围设备中的第一外围设备;
所述指示信息包括与所述第一外围设备连接的设备的标识,还包括所述第一外围设备的地址的索引或者所述第一外围设备的地址。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述主控设备将所述第一外围设备连接的设备的标识与所述控制命令写入同一寄存器;或者,
所述主控设备将所述第一外围设备的地址的索引或者所述第一外围设备的地址与所述控制命令写入同一寄存器。
12.根据权利要求9所述的方法,其特征在于,所述目标设备为所述P个从设备中的第一从设备;
所述指示信息包括所述第一从设备的标识。
13.根据权利要求12所述的方法,其特征在于,所述指示信息还包括预设索引或者预设地址。
14.根据权利要求12或13所述的方法,其特征在于,所述方法还包括:
所述主控设备将所述第一从设备的标识与所述控制命令写入同一寄存器;或者,
所述主控设备将所述预设索引或者所述预设地址与所述控制命令写入同一寄存器。
15.根据权利要求9至14中任一项所述的方法,其特征在于,所述主控设备接收来自所述主机的指示信息、控制命令和目标设备的寄存器的地址,包括:
所述主控设备接收来自所述主机的开始信号;
所述主控设备接收来自所述主机的指示信息、控制命令和目标设备的寄存器的地址;
所述主控设备接收来自所述主机的停止信号;
其中,所述停止信号与所述开始信号相对应。
16.根据权利要求9至15中任一项所述的方法,其特征在于:
若所述控制命令为读命令,则所述方法还包括:所述主控设备接收来自所述目标设备的第一数据,并将所述第一数据发送给所述主机;或者,
若所述控制命令为写命令,则所述方法还包括:所述主控设备接收来自所述主机的第二数据,所述第一消息还包括所述第二数据。
17.根据权利要求9-16任一项所述的方法,其特征在于,所述方法还包括:
所述主控设备与主机连接,所述指示信息、所述控制命令和所述目标设备的寄存器的地址来自所述主控设备。
18.一种控制方法,其特征在于,所述方法包括:
第一从设备接收来自主控设备的第一消息,所述第一消息包括指示信息、控制命令和目标设备的寄存器的地址;所述指示信息用于指示所述目标设备,所述控制命令为读命令或写命令;所述目标设备包括P个从设备中的至少一个从设备和/或N个外围设备中的至少一个外围设备;所述N个外围设备连接所述P个从设备中的至少一个设备;所述第一从设备为所述P个从设备中的任一从设备;
所述第一从设备若确定所述目标设备为所述第一从设备,则根据所述控制命令执行第一操作;
其中,P、N为大于或等于1的整数。
19.根据权利要求18所述的方法,其特征在于,所述第一从设备确定所述目标设备为所述第一从设备,包括:
所述第一从设备若确定所述指示信息包括所述第一从设备的标识以及预设索引或预设地址,则确定所述目标设备为所述第一从设备。
20.根据权利要求18或19所述的方法,其特征在于,所述方法还包括:
所述第一从设备若确定所述目标设备为所述第一从设备连接的第一外围设备,则控制所述第一外围设备执行第一操作。
21.根据权利要求20所述的方法,其特征在于,所述第一从设备确定所述目标设备为所述第一外围设备,包括:
所述第一从设备若确定所述指示信息包括第一从设备的标识以及第一外围设备的地址的索引或者第一外围设备的地址,则确定所述目标设备为所述第一外围设备。
22.根据权利要求18至21中任一项所述的方法,其特征在于:
若所述控制命令为写命令,则所述第一消息还包括第二数据。
23.根据权利要求18至22中任一项所述的方法,其特征在于:
若所述控制命令为写命令,则所述第一操作为写操作、清空内存操作或读操作中的至少一项。
24.根据权利要求18至23中任一项所述的方法,其特征在于,所述主控设备和所述P个从设备之间的连接构成菊花链拓扑结构,或者环形拓扑结构,或者树形拓扑结构。
25.一种控制装置,其特征在于,包括用于执行如权利要求1至24中任一项所述的方法的各步骤的单元。
26.一种控制装置,其特征在于,包括:
通信接口,用于与其它装置通信;
处理器,用于读取并运行存储器中的计算机程序,通过所述通信接口执行如权利要求1-24任一项所述的方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储程序或指令,所述程序或所述指令在被一个或多个处理器读取并执行时可实现权利要求1至24任一项所述的方法。
28.一种计算机程序产品,其特征在于,当所述计算机程序产品在主机上运行时,使得所述主机执行权利要求1至8任一项所述的方法;或者,
当所述计算机程序产品在主控设备上运行时,使得所述主控设备执行权利要求9至17任一项所述的方法;或者,
当所述计算机程序产品在第一从设备上运行时,使得所述第一从设备执行权利要求18至24任一项所述的方法。
29.一种通信系统,其特征在于,所述通信系统中包括主控设备和第一从设备,所述主控设备用于执行上述权利要求9至17中任一项所述的方法,所述第一从设备用于执行上述权利要求18至24中任一项所述的方法。
30.根据权利要求29所述的通信系统,其特征在于,所述通信系统还包括主机,所述主机与所述主控设备相连接,所述主机用于执行上述权利要求1-8中任一项所述的方法。
31.一种车辆,其特征在于,所述车辆包括上述权利要求29或30所述的通信系统。
CN202310571717.0A 2020-01-02 2020-01-02 一种控制方法及装置 Pending CN116708193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310571717.0A CN116708193A (zh) 2020-01-02 2020-01-02 一种控制方法及装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202080002468.8A CN113396565B (zh) 2020-01-02 2020-01-02 一种控制方法及装置
CN202310571717.0A CN116708193A (zh) 2020-01-02 2020-01-02 一种控制方法及装置
PCT/CN2020/070145 WO2021134762A1 (zh) 2020-01-02 2020-01-02 一种控制方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080002468.8A Division CN113396565B (zh) 2020-01-02 2020-01-02 一种控制方法及装置

Publications (1)

Publication Number Publication Date
CN116708193A true CN116708193A (zh) 2023-09-05

Family

ID=76686869

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310571717.0A Pending CN116708193A (zh) 2020-01-02 2020-01-02 一种控制方法及装置
CN202080002468.8A Active CN113396565B (zh) 2020-01-02 2020-01-02 一种控制方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080002468.8A Active CN113396565B (zh) 2020-01-02 2020-01-02 一种控制方法及装置

Country Status (4)

Country Link
US (1) US20220335002A1 (zh)
EP (1) EP4075736A4 (zh)
CN (2) CN116708193A (zh)
WO (1) WO2021134762A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10212658B2 (en) 2016-09-30 2019-02-19 Kinetic Technologies Systems and methods for managing communication between devices
US10757484B2 (en) * 2017-01-05 2020-08-25 Kinetic Technologies Systems and methods for pulse-based communication
CN113612838A (zh) * 2021-07-30 2021-11-05 三一汽车制造有限公司 搅拌站的控制方法、装置、搅拌站、电子设备及介质
CN114153779B (zh) * 2021-10-31 2023-07-14 郑州云海信息技术有限公司 一种i2c通信方法、系统、设备、及存储介质
CN113934674B (zh) * 2021-12-17 2022-03-01 飞腾信息技术有限公司 基于pcie总线的命令传输方法及片上系统
CN114625689B (zh) * 2022-02-17 2024-05-03 上海类比半导体技术有限公司 从设备、菊花链系统、数据传输方法
CN117544596B (zh) * 2024-01-05 2024-04-09 广东宝莱特医用科技股份有限公司 遥测系统的地址自动分配方法及遥测系统、存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012885A (zh) * 2010-09-15 2011-04-13 开源集成电路(苏州)有限公司 采用动态i2c总线实现通讯的系统及方法
US20130058444A1 (en) * 2011-09-06 2013-03-07 Cisco Technology, Inc. Fault Tolerant Communications Over a Two-Wire Interface
US9946680B2 (en) * 2012-10-05 2018-04-17 Analog Devices, Inc. Peripheral device diagnostics and control over a two-wire communication bus
CN105786734B (zh) * 2016-02-25 2018-12-18 广州视源电子科技股份有限公司 数据传输的方法、扩展装置、外围设备及系统
GB2549722B (en) * 2016-04-25 2018-09-26 Imagination Tech Ltd Communications interface circuit architecture
CN205665661U (zh) * 2016-05-19 2016-10-26 浪潮集团有限公司 一种基于Microblaze软核实现USB功能的KVM模块
US10769084B2 (en) * 2016-12-22 2020-09-08 Intel Corporation Out-of band interrupt mapping in MIPI improved inter-integrated circuit communication
CN107656773B (zh) * 2017-09-28 2021-06-25 中国人民解放军国防科技大学 一种多核dsp启动方法

Also Published As

Publication number Publication date
EP4075736A4 (en) 2022-12-28
CN113396565A (zh) 2021-09-14
WO2021134762A1 (zh) 2021-07-08
US20220335002A1 (en) 2022-10-20
CN113396565B (zh) 2023-05-09
EP4075736A1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
CN113396565B (zh) 一种控制方法及装置
US10467154B2 (en) Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US10521392B2 (en) Slave master-write/read datagram payload extension
US8520563B2 (en) Interface device, communications system, non-volatile storage device, communication mode switching method and integrated circuit
JP2019508915A (ja) メッセージングおよび入出力転送インターフェースのための最適レイテンシパケタイザ有限ステートマシン
TW201903620A (zh) 在改良式內部積體電路匯流排拓撲中從屬對從屬之通信
WO2017032112A1 (zh) 一种与无中央处理器单板通讯的方法及通讯设备
WO2002079971A1 (en) Programmable cpu/interface buffer structure using dual port ram
US7827343B2 (en) Method and apparatus for providing accelerator support in a bus protocol
US20100257302A1 (en) I/o connection system and i/o connection method
US11288223B2 (en) Bridge chip with function of expanding external devices and associated expansion method
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
CN107291641B (zh) 用于计算单元的存储器直接访问控制装置及其运行方法
GB2377138A (en) Ring Bus Structure For System On Chip Integrated Circuits
US8645620B2 (en) Apparatus and method for accessing a memory device
CN115576889B (zh) 链式的多芯片系统及通讯方法
CN115840592A (zh) Flash访问方法、控制器、系统及可读存储介质
CN102170401A (zh) 一种数据的处理方法和设备
CN112988650B (zh) 通信方法、装置、系统及存储介质
WO2021208805A1 (zh) 硬件单板的逻辑地址空间的配置方法、设备和存储介质
US6314485B1 (en) Automatic status register
CN112445728A (zh) 一种支持多种硬件接口的机器人开发板ros通讯系统
CN112817893A (zh) 具备扩充外部装置功能的桥接芯片以及扩充方法
CN100514971C (zh) 一种ip核接口标准化方法
WO2018133792A1 (zh) 一种数据处理方法和语音数据卡

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination