CN116909975B - 一种串行总线标准多主多从交互控制系统 - Google Patents
一种串行总线标准多主多从交互控制系统 Download PDFInfo
- Publication number
- CN116909975B CN116909975B CN202311174599.6A CN202311174599A CN116909975B CN 116909975 B CN116909975 B CN 116909975B CN 202311174599 A CN202311174599 A CN 202311174599A CN 116909975 B CN116909975 B CN 116909975B
- Authority
- CN
- China
- Prior art keywords
- signal line
- input signal
- target
- data
- clock
- 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.)
- Active
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 97
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 abstract description 44
- 238000004891 communication Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- 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
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
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)
- Information Transfer Systems (AREA)
Abstract
本发明实施例提供了一种串行总线标准多主多从交互控制系统,串行总线标准多主多从交互控制系统包括多个信号选择控制器,信号选择控制器可以用于基于由串行数据信号线发送的串行数据信号,和由串行时钟信号线发送的串行时钟信号,从多个串行总线标准设备中确定出目标主机,以及与目标主机对应的目标从机,以使多个与串行总线标准多主多从交互控制系统连接的目标主机,同时与目标主机对应的目标从机进行数据交互,实现了多对主机和从机同时进行I2C数据传输,从而提高I2C通信效率。
Description
技术领域
本发明涉及串行总线数据交互技术领域,特别是涉及一种串行总线标准多主多从交互控制系统。
背景技术
I2C总线是一种简单、双向二线制同步串行总线。它只需要两根线(串行数据线SDA和串行时钟线SCL)即可在连接于总线上的器件之间传送信息。主机用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从机,如何提升主机与从机之间的数据传输效率,成为了本领域技术人员需要克服的技术问题。
参考图1,图1是相关技术提供的一种针对串行总线标准线路的结构示意图,相关技术在针对I2C多主机与多从机之间进行数据交互的设计方案,是在每个主机端都设置总线仲裁逻辑,同一时刻可以由多个主机发起数据传输,但是最后只能由一个主机和从机成功完成这次数据传输,这是因为其将多个主机和多个从机的SCL和SDA线连接到一起,这样的连接方式在相同时间如果有一个主机和一个从机正在通信,则其他主从机之间就不能够再进行通信,从而导致I2C通信的效率低下。
发明内容
本发明实施例是提供一种串行总线标准多主多从交互控制系统,以解决提升串行总线数据交互效率的问题。
本发明实施例公开了一种串行总线标准多主多从交互控制系统,所述串行总线标准多主多从交互控制系统包括多个信号选择控制器,所述串行总线标准多主多从交互控制系统配置有多个串行总线标准设备;多个所述信号选择控制器与多个所述串行总线标准设备一一对应;
多个所述信号选择控制器两两之间配置有第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线,多个信号选择控制器两两之间通过所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线进行数据交互;
所述信号选择控制器用于基于由串行数据信号线发送的串行数据信号,和由串行时钟信号线发送的串行时钟信号,从多个所述串行总线标准设备中确定出目标主机,以及与所述目标主机对应的目标从机,以使多个与所述串行总线标准多主多从交互控制系统连接的所述目标主机,同时与所述目标主机对应的目标从机进行数据交互。
可选地,所述串行总线标准多主多从交互控制系统包括多个控制模块,多个所述信号选择控制器与多个所述控制模块一一对应;
所述信号选择控制器通过所述控制模块基于所述串行数据信号线和所述串行时钟信号线与所述串行总线标准设备连接。
可选地,所述信号选择控制器配置有第二时钟输入信号线和第二时钟输出信号线,第二数据输入信号线和第二数据输出信号线;
所述控制模块用于将从所述串行时钟信号线接收的串行时钟信号转换为时钟输入信号,并通过第二时钟输入信号线将所述时钟输入信号发送至所述信号选择控制器;
所述信号选择控制器用于通过所述第二时钟输出信号线将时钟输出信号发送至所述控制模块,所述控制模块用于将接收到的所述时钟输出信号转换为针对所述串行时钟信号线的串行时钟信号;
所述控制模块用于将从所述串行数据信号线接收的串行数据信号转换为数据输入信号,并通过第二数据输入信号线将所述数据输入信号发送至所述信号选择控制器;
所述信号选择控制器用于通过所述第二数据输出信号线将数据输出信号发送至所述控制模块,所述控制模块用于将接收到的所述数据输出信号转换为针对所述串行数据信号线的串行时钟信号。
可选地,所述串行总线标准设备配置有对应的正电源,多个所述串行总线标准设备分别通过独立的所述串行数据信号线和所述串行时钟信号线和上拉电阻与所述正电源电连接。
可选地,所述串行数据信号线和所述串行时钟信号线,或,所述第二时钟输入信号线和所述第二时钟输出信号线,或,所述第二数据输入信号线和所述第二数据输出信号线,或,所述第一时钟输入信号线和所述第一时钟输出信号线,或,所述第一数据输入信号线和所述第一数据输出信号线,通过所述上拉电阻保持高电平状态,或,低电平状态。
可选地,所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线分别配置有对应的控制开关;
所述信号选择控制器配置有对应的空闲状态,当所述信号选择控制器处于空闲状态时,所述控制开关开启。
可选地,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且未接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,响应于接收到所述第二开始信号,将与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备确定为目标主机;
当接收到由所述目标主机发送的从机地址信息时,基于所述从机地址信息确定所述目标从机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标从机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
当判定接收到由所述目标从机所发送的确认字符信号时,基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
可选地,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关。
可选地,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互。
可选地,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态。
可选地,所述信号选择控制器用于当未接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,判断是否从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号;
当判定未从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号时,进入所述空闲状态;
当判定从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号时,响应于接收到所述确认字符信号,将与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备确定为目标从机;
由所述第一数据输入信号线发送的第一数据输入信号,以及,与所述第一数据输入信号对应的第一电平状态信息,确定目标主机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标主机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
可选地,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关。
可选地,所述信号选择控制器用于当接收到针对所述目标第一时钟输入信号线和所述目标第一数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互。
可选地,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态。
可选地,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,通过由所述第二数据输入信号线发送的第二数据输入信号,以及,与所述第二数据输入信号对应的第二电平状态信息和由所述第一数据输入信号线发送的第一数据输入信号,以及,与所述第一数据输入信号对应的第一电平状态信息,确定目标主机;
当所述目标主机为与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备,且接收到由所述目标主机发送的从机地址信息时,基于所述从机地址信息确定所述目标从机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标从机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
当判定接收到由所述目标从机所发送的确认字符信号时,基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
可选地,所述信号选择控制器用于当与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备不为目标主机时,进入所述空闲状态。
可选地,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关。
可选地,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互。
可选地,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态。
可选地,当判定未接收到由所述目标从机所发送的确认字符信号时,进入所述空闲状态。
本发明实施例包括以下优点:
本发明实施例,通过为多个串行总线标准设备配置串行总线标准多主多从交互控制系统,并通过串行总线标准多主多从交互控制系统从多个串行总线标准设备中确定出第一主机和第二主机和与第一主机对应的第二从机,以及,与第二主机对应的第一从机,同时,分别为第一主机和第二从机,第二主机和第一从机构建独立的I2C通道,为第二主机和第一从机构建独立的I2C通道,以使第一主机第二串行总线通道与所述第二从机进行数据交互,第二主机通过第一串行总线通道与所述第一从机进行数据交互,实现了多对主机和从机同时进行I2C数据传输,从而提高I2C通信效率。
附图说明
图1是相关技术提供的一种针对串行总线标准线路的结构示意图;
图2是本发明实施例中提供的一种串行总线标准线路示意图;
图3是本发明实施例中提供的一种串行总线标准多主多从交互控制系统结构示意图;
图4是本发明实施例中提供的一种针对信号选择控制器和控制模块的结构示意图;
图5是本发明实施例中提供的一种针对信号选择控制器的判定流程逻辑示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为使本领域技术人员更好地理解本发明实施例,以下对本发明实施例所涉及的部分技术名词进行说明。
I2C是Inter Integrated Circuit的缩写,是一种串行总线。
SCL是I2C接口的一根信号线,是时钟信号线。
SDA是I2C接口的一根信号线,是数据信号线。
FPGA是Field Programmable Gate Array的缩写,是现场可编程门阵列。
IC是intergrated circuit的缩写,是集成电路。
CPU是中央处理器(Central Processing Unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
在实际应用中,主机可以用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均可以被认为是从机,在总线上主机和从机的关系并不是固定的,其关系取决于此时数据传送方向,即由I2C设备接收或发送数据的状态而决定。如果主机要发送数据给从机,则主机首先寻址从机,然后主动发送数据至从机,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件,然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。
参照图2,图2是本发明实施例中提供的一种串行总线标准线路示意图;
在具体实现中,串行总线标准多主多从交互控制系统101,串行总线标准多主多从交互控制系统101可以配置有多个串行总线标准设备,每个串行总线标准设备都可以配置有独立的串行数据信号线和串行时钟信号线;串行总线标准设备可以通过与自身对应的串行数据信号线和串行时钟信号线与串行总线标准多主多从交互控制系统101电连接;串行总线标准多主多从交互控制系统101可以用于基于由串行数据信号线发送的串行数据信号,和由串行时钟信号线发送的串行时钟信号,从多个串行总线标准设备中确定出多个目标主机,多个目标主机至少包括第一主机102和第二主机103,并从多个串行总线标准设备中确定出多个目标从机,多个目标从机至少包括与第一主机102对应的第一从机104,以及,与第二主机103对应的第二从机105,并构建针对第一主机102和第一从机104的第一串行总线标准通道,构建针对第二主机103和所第二从机105的第二串行总线标准通道,以使第一主机102可以通过第一串行总线标准通道与第一从机104进行数据交互,第二主机103可以通过第二串行总线标准通道与第二从机105进行数据交互。
示例性地,可以在串行总线标准多主多从交互控制系统101中配置与串行总线标准设备对应的逻辑门设备,逻辑门设备的数量可以与串行总线标准设备的数量相同,多个逻辑门设备两两之间可以电连接,逻辑门可以基于串行数据信号和串行时钟信号确定多个主机,并通过由主机发送的从机地址信息确定出多个与主机对应的多个从机,并构建主机和从机之间独立的通信通道,从而实现多主机和多从机之间独立的I2C数据交互。
当然,需要说明的是,本发明实施例的主机和从机的数量可以是一个也可以是多个,图2仅为示例,本领域技术人员可以从任意数量的串行总线标准设备中按任意数量确定出主机,以及与主机对应的从机,对此,本发明实施例不作限定。
本发明实施例,通过为多个串行总线标准设备配置串行总线标准多主多从交互控制系统,并通过串行总线标准多主多从交互控制系统从多个串行总线标准设备中确定出第一主机和第二主机和与第一主机对应的第一从机,以及,与第二主机对应的第二从机,同时,分别为第一主机和第一从机,第二主机和第二从机构建独立的I2C通道,为第二主机和第二从机构件独立的I2C通道,以使第一主机第一串行总线通道与所述第一从机进行数据交互,第二主机通过第二串行总线通道与所述第二从机进行数据交互,实现了多对主机和从机同时进行I2C数据传输,从而提高I2C通信效率。
参考图3,图3是本发明实施例中提供的一种串行总线标准多主多从交互控制系统结构示意图。
串行总线标准多主多从交互控制系统包括多个信号选择控制器,串行总线标准多主多从交互控制系统配置有多个串行总线标准设备;多个信号选择控制器与多个串行总线标准设备一一对应;
多个信号选择控制器两两之间配置有第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线,多个信号选择控制器两两之间通过第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线进行数据交互;
信号选择控制器用于基于由串行数据信号线发送的串行数据信号,和由串行时钟信号线发送的串行时钟信号,从多个串行总线标准设备中确定出目标主机,以及与目标主机对应的目标从机,以使多个与串行总线标准多主多从交互控制系统连接的所述目标主机,同时与目标主机对应的目标从机进行数据交互。
在具体实现中,第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线,可以为设置于任意两个信号选择控制器之间,用于连接两者的连接线,其可以用于使任意两个信号选择控制器之间传输信号,信号选择控制器可以为逻辑门设备,任一信号选择控制器可以基于串行数据信号和串行时钟信号对与其连接的串行总线标准设备进行仲裁,从容确定出目标主机和与目标主机对应的目标从机,多个信号选择控制器可以确定出多个目标主机,以及与目标主机对应的目标从机。
当然,需要说明的是,图3仅为示例图,其只以支持4路I2C接口作为示例,本领域技术人员可以根据实际情况按照任意数量设置I2C接口数量、Pad控制模块和信号选择控制器的数量,各个信号选择控制器之间的连接线也可以根据各组件的数量相应配置,对此,本发明实施例不作限定。
本发明实施例,提供了一种串行总线标准多主多从交互控制系统,串行总线标准多主多从交互控制系统包括多个信号选择控制器,信号选择控制器可以用于基于由串行数据信号线发送的串行数据信号,和由串行时钟信号线发送的串行时钟信号,从多个串行总线标准设备中确定出目标主机,以及与目标主机对应的目标从机,以使多个与串行总线标准多主多从交互控制系统连接的目标主机,同时与目标主机对应的目标从机进行数据交互,实现了多对主机和从机同时进行I2C数据传输,从而提高I2C通信效率。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在本发明的一个可选地实施例中,所述串行总线标准多主多从交互控制系统包括多个信号选择控制器和多个控制模块,多个所述串行总线标准设备与多个所述信号选择控制器与多个所述控制模块一一对应;
所述信号选择控制器通过所述控制模块基于所述串行数据信号线和所述串行时钟信号线与所述串行总线标准设备电连接;
所述信号选择控制器用于基于由所述串行数据信号线发送的串行数据信号,和由所述串行时钟信号线发送的串行时钟信号,从多个所述串行总线标准设备中确定出目标主机和与所述目标主机对应的目标从机,所述目标主机通过所述信号选择控制器与所述目标从机进行数据交互。
串行总线标准多主多从交互控制系统可以由内部的Pad控制模块和信号选择控制器组成,示例性地,参考图3,当串行总线标准多主多从交互控制系统可以支持4路I2C时,有4个Pad控制模块和4个信号选择控制器,其中,Pad控制模块是和外部I2C接口直接连接的模块,信号选择控制器可以通过Pad控制模块基于串行数据信号线SDA和串行时钟信号线SCL与串行总线标准设备连接,以使信号选择控制器可以基于串行数据信号和串行时钟信号,独立确定出与信号选择控制器连接的I2C设备是否能够作为目标主机,从而更进一步地提升了针对主从设备的确定效率。
当然,需要说明的是,图3仅为示例图,其只以支持4路I2C接口作为示例,本领域技术人员可以根据实际情况按照任意数量设置I2C接口数量、Pad控制模块和信号选择控制器的数量,各个信号选择控制器之间的连接线也可以根据各组件的数量相应配置,对此,本发明实施例不作限定。
在本发明的一个可选地实施例中,所述信号选择控制器配置有第二时钟输入信号线和第二时钟输出信号线,第二数据输入信号线和第二数据输出信号线;
所述控制模块用于将从所述串行时钟信号线接收的串行时钟信号转换为时钟输入信号,并通过第二时钟输入信号线将所述时钟输入信号发送至所述信号选择控制器;
所述信号选择控制器用于通过所述第二时钟输出信号线将时钟输出信号发送至所述控制模块,所述控制模块用于将接收到的所述时钟输出信号转换为针对所述串行时钟信号线的串行时钟信号;
所述控制模块用于将从所述串行数据信号线接收的串行数据信号转换为数据输入信号,并通过第二数据输入信号线将所述数据输入信号发送至所述信号选择控制器;
所述信号选择控制器用于通过所述第二数据输出信号线将数据输出信号发送至所述控制模块,所述控制模块用于将接收到的所述数据输出信号转换为针对所述串行数据信号线的串行时钟信号。
在具体实现中,第二时钟输入信号线和第二时钟输出信号线第二数据输入信号线和第二数据输出信号线可以为设置于任一信号选择控制器,以及与该信号选择控制器对应的控制模块之间,用于连接两者的信号线。
在实际应用中,SDA和SCL都是双向,而为了能支持信号选择控制器执行逻辑判断,需要将双向信号转换位单项信号。
参考图4,图4是本发明实施例中提供的一种针对信号选择控制器和控制模块的结构示意图,控制模块Pad可以将I2C接口的SCL和SDA双向信号转换成对应的单向信号,该I2C接口可以不区分主机和从机,I2C主从机可以都可以与其进行连接,从而为信号选择控制器的逻辑判断提供了支持。
参考图3,信号选择控制器作为本发明的重要发明点之一,可以和Pad控制模块连接,接收pad控制模块的输入信号,并输出信号给pad控制模块,并且,通过将多个信号选择控制器两两之间通过第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线进行电连接,可以将从pad控制模块得到的scl和sda输入信号输出给其他几个信号选择控制器,并可以接收其他信号选择控制器发送的scl和sda信号,以实现为目标主机和目标从机构建独立的I2C通道,更进一步地提升了I2C的传输效率。
可选地,所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线分别配置有对应的控制开关;
所述信号选择控制器配置有对应的空闲状态,当所述信号选择控制器处于空闲状态时,所述控制开关开启。
信号选择控制器可以根据scl和sda信号来判断I2C传输的所处阶段并关闭或打开和其他信号选择控制器的信号连接开关,以确保I2C接口和接口之间确定传输对后,其他接口还能再进行新的传输。
参考图2,在本发明的一个可选地实施例中,所述串行总线标准设备可以配置有对应的正电源,多个串行总线标准设备可以分别通过独立的串行数据信号线和串行时钟信号线和上拉电阻Rp与正电源电连接,从而保证了对各I2C设备的供电效率。
在实际应用中,在总线仲裁的时候可以在同一时刻如果同时存在有低电平和高电平同时,高电平设备失去总线所有权。
在实际应用中,利用I2C接口在设备之间进行连接使用的两根线是 SDA(串行数据)和 SCL(串行时钟),它们都可以通过一个上拉电阻接到正电源,因此在不使用的时候仍保持高电平。使用I2C总线进行通信的I2C设备可以驱动 SDA和 SCL变为低电平。每个连到I2C的设备都可以有一个唯一地址,可以用针对I2C设备的地址信息表达,该设备可以是数据发送者(主机)、接收者(从机),也可以二者都是。I2C可以是多主机总线,所以可以有多个设备作为总线主机。SDA和SCL都是双向的。它使用同一根线来完成主机发送数据和接收从机响应。I2C总线只有一个工作模式,时钟线 SCL和数据线SDA 之间的时序关系很简单直观:当空闲的时候,SDA和SCL都是高电平,只有SDA变为低电平,接着SCL也变为低电平时,才开始I2C总线的数据传输。当SDA和SCL都变为低电平时,就是告诉总线上的所有接收设备数据包的传输开始,在SCL变为低电平后,SDA才发送第二个有效数据位,这称为开始条件。
所以,为支持信号选择控制器的逻辑判断,需要确定scl和sda的电平状态。
在本发明的一个可选地实施例中,所述串行数据信号线和所述串行时钟信号线,或,所述第二时钟输入信号线和所述第二时钟输出信号线,或,所述第二数据输入信号线和所述第二数据输出信号线,或,所述第一时钟输入信号线和所述第一时钟输出信号线,或,所述第一数据输入信号线和所述第一数据输出信号线,通过所述上拉电阻保持高电平状态,或,低电平状态,从而为信号选择控制器执行逻辑判断创造了条件。
如图4所示,pad控制模块的实现过程如下:
1、第二时钟输入信号scl_in一直等于串行时钟信号SCL的值;
2、第二数据输入信号sda_in一直等于串行数据信号SDA的值。
3、当scl_out等于0时,SCL等于scl_out,当scl_out等于1时,SCL为高阻态;当sda_out等于0时,SDA等于sda_out,当sda_out等于1时,SDA为高阻态。
在本发明的一个可选地实施例中,所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线分别配置有对应的控制开关;
所述信号选择控制器配置有对应的空闲状态,当所述信号选择控制器处于空闲状态时,所述控制开关开启。
在具体实现中,为实现信号选择控制器逻辑判断流程处于初始化状态,信号选择控制器的状态在开始时可以处在IDLE空闲状态,这个时候所有的信号都处在初始状态,和其他信号选择控制器连接的开关也可以都处于打开状态。所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线处于高电平,scl_in=1;sda_in=1;scl_out=1;sda_out=1。
在本发明的一个可选地实施例中,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且未接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,响应于接收到所述第二开始信号,将与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备确定为目标主机;
当接收到由所述目标主机发送的从机地址信息时,基于所述从机地址信息确定所述目标从机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标从机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
当判定接收到由所述目标从机所发送的确认字符信号时,基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
在具体实现中,本发明实施例的信号选择控制器可以包括主机传送状态,本发明实施例可以在信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且未接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,判定与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备为目标主机,从而自动进入主机传送状态以完成针对目标主机和目标从机的I2C数据交互流程,更进一步地提升了I2C数据传输的效率。
可选地,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关,以确保I2C接口和接口之间确定传输对后,其他接口还能再进行新的传输。
可选地,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互,以实现在完成数据传送时自动停止主从机之间的数据交互,减少线程占用。
可选地,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态,以自动进入初始状态,为下一次判定做准备。
示例性地,信号选择控制器的开始状态处在IDLE状态,这个时候所有的信号都处在初始状态,信号选择控制器和其他信号选择控制器连接的所有开关都处于打开状态。scl_in=1;sda_in=1;scl_out=1;sda_out=1;如果检测到第二时钟输入信号线scl_in和第二数据输入信号线sda_in上出现I2C的开始信号start,第一时钟输入信号线scl_in1、第一数据输入信号线sda_in1和第一时钟输入信号线scl_in2、第一数据输入信号线sda_in2和第一时钟输入信号线scl_in3、第一数据输入信号线sda_in3上没有开始信号start,这时进入主机传输状态,等待 scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3上反馈确认字符信号ACK,假设scl_in1、sda_in1上出现ACK信号,则把2、3通道的开关关闭,这时输出给2、3通道的scl和sda全为1,即,处于高电平状态,sda_out等于sda_in1;如果2或3通道上出现ACK信号也采用和上面相同的处理方式,进入传输锁定状态,检测传输停止状态,也就是检测到scl_in和sda_in或者其他通道输入的scl_in和sda_in出现STOP信号时,传输结束,重新进入IDLE状态。
在本发明的一个可选地实施例中,所述信号选择控制器用于当未接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,判断是否从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号;
当判定未从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号时,进入所述空闲状态;
当判定从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号时,响应于接收到所述确认字符信号,将与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备确定为目标从机;
由所述第一数据输入信号线发送的第一数据输入信号,以及,与所述第一数据输入信号对应的第一电平状态信息,确定目标主机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标主机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
在具体实现中,本发明实施例的信号选择控制器可以包括从机传送状态,本发明实施例可以在当未接收到针对第二时钟输入信号线和第二数据输入信号线的第二开始信号,且接收到针对第一时钟输入信号线和第一数据输入信号线的第一开始信号时,判断是否从第二时钟输入信号线和第二数据输入信号线接收到确认字符信号,当判定未从第二时钟输入信号线和第二数据输入信号线接收到确认字符信号时,进入空闲状态;当判定从第二时钟输入信号线和第二数据输入信号线接收到确认字符信号时,响应于接收到确认字符信号,将与第二时钟输入信号线和第二时钟输出信号线和第二数据输入信号线和第二数据输出信号线连接的控制串行总线标准设备确定为目标从机;由第一数据输入信号线发送的第一数据输入信号,以及,与第一数据输入信号对应的第一电平状态信息,确定目标主机,并从第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线中确定出针对目标主机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;基于第二时钟输入信号线和第二时钟输出信号线和第二数据输入信号线和第二数据输出信号线和目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线,使目标主机和目标从机进行数据交互,示例性地,由于信号选择控制器两两之间具有连接关系,在多个在一个4接口的串行总线标准多主多从交互控制系统中,信号选择控制器可以具有scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3,三个第一时钟输入信号线和第一数据输入信号线,当未接收到针对第二时钟输入信号线和第二数据输入信号线的第二开始信号,且接收到针对第一时钟输入信号线和第一数据输入信号线的第一开始信号时,则可以判定第一时钟输入信号线和第一数据输入信号线中至少有一组线对应的I2C设备为主机,而与第二时钟输入信号线和第二数据输入信号线所对应的I2C设备可能为从机也可能不为从机,所以,可以判断是否从第二时钟输入信号线和第二数据输入信号线接收到确认字符信号ACK,若未接收到ACK,则可以判定与第二时钟输入信号线和第二数据输入信号线所对应的I2C设备不为从机,则信号选择控制器进入空闲状态;若接收到ACK,则可以判定与第二时钟输入信号线和第二数据输入信号线所对应的I2C设备为从机,则此时,可以根据scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3以及他们对应的电平状态进行仲裁,直至只有一组第一时钟输入信号线开启,即,只有一条第一时钟输入信号线为底电平状态,将与其对应的I2C设备作为目标主机,并将目标主机所对应的第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线作为目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线,例如,假设只剩下scl_in1为低电平,可以认为与scl_in1连接的I2C设备为目标主机,将scl_in1、scl_out1、sda_in1、sda_out1作为目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线,则此时可以自动进入从机传输状态以完成针对目标主机和目标从机的I2C数据交互流程,更进一步地提升了I2C数据传输的效率。
在本发明的一个可选地实施例中,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关,以确保I2C接口和接口之间确定传输对后,其他接口还能再进行新的传输。
在本发明的一个可选地实施例中,所述信号选择控制器用于当接收到针对所述目标第一时钟输入信号线和所述目标第一数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互,以实现在完成数据传送时自动停止主从机之间的数据交互,减少线程占用。
可选地,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态,为下一次判定做准备。
示例性地,信号选择控制器的开始状态处在IDLE状态,这个时候所有的信号都处在初始状态,信号选择控制器和其他信号选择控制器连接的所有开关都处于打开状态。scl_in=1;sda_in=1;scl_out=1;sda_out=1;
当未接收到针对第二时钟输入信号线和第二数据输入信号线的第二开始信号,且接收到针对第一时钟输入信号线和第一数据输入信号线的第一开始信号时,则可以判定第一时钟输入信号线和第一数据输入信号线中至少有一组线对应的I2C设备为主机,而与第二时钟输入信号线和第二数据输入信号线所对应的I2C设备可能为从机也可能不为从机,所以,可以判断是否从第二时钟输入信号线和第二数据输入信号线接收到确认字符信号ACK,若未接收到ACK,则可以判定与第二时钟输入信号线和第二数据输入信号线所对应的I2C设备不为从机,则信号选择控制器进入空闲状态;若接收到ACK,则可以判定与第二时钟输入信号线和第二数据输入信号线所对应的I2C设备为从机,则此时,可以根据scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3以及他们对应的电平状态进行仲裁,具体地,可以把开着通道的第一数据输入信号线sda_in1进行逻辑相与并传送给第二数据输出信号线sda_out信号,若检测到开着通道的sda_in信号为高电平信号时,sda_in信号为高电平的通道关掉;直至只有一组第一时钟输入信号线开启,即,只有一条第一时钟输入信号线为底电平状态,将与其对应的I2C设备作为目标主机,并将目标主机所对应的第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线作为目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线,例如,假设只剩下scl_in1为低电平,可以认为与scl_in1连接的I2C设备为目标主机,将scl_in1、scl_out1、sda_in1、sda_out1作为目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线,这时进入传输锁定状态,开始在目标主机和目标从机之间进行数据交互,检测传输停止状态,也就是检测到scl_in1和sda_in1或者其他通道输入的sc_in和sda_in出现STOP信号时,传输结束,进入IDLE状态。
在本发明的一个可选地实施例中,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,通过由所述第二数据输入信号线发送的第二数据输入信号,以及,与所述第二数据输入信号对应的第二电平状态信息和由所述第一数据输入信号线发送的第一数据输入信号,以及,与所述第一数据输入信号对应的第一电平状态信息,确定目标主机;
当所述目标主机为与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备,且接收到由所述目标主机发送的从机地址信息时,基于所述从机地址信息确定所述目标从机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标从机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
当判定接收到由所述目标从机所发送的确认字符信号时,基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
在具体实现中,本发明实施例的信号选择控制器可以包括主机仲裁状态,当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,意味着存在多个通道对应的I2C设备要作为主机争夺I2C总线的情况,此时,信号选择控制器可以自动进入主机仲裁状态,对这些I2C设备进行仲裁,通过第二数据输入信号,与第二数据输入信号对应的第二电平状态信息,第一数据输入信号,以及,与第一数据输入信号对应的第一电平状态信息,对多个I2C设备进行仲裁,最终确定出目标主机,以完成目标主机和目标从机之间的数据交互,从而在实现多对主从机共同实现数据交互的基础上,自动实现主机仲裁,更进一步地提升了I2C的数据交互效率。
在本发明的一个可选地实施例中,所述信号选择控制器用于当与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备不为目标主机时,进入所述空闲状态,从而实现了对仲裁失败的I2C设备可以自动进入初始状态,为下一次判定做准备。
可选地,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关,以确保I2C接口和接口之间确定传输对后,其他接口还能再进行新的传输。
可选地,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互,以实现在完成数据传送时自动停止主从机之间的数据交互,减少线程占用。
可选地,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态,以自动进入初始状态,为下一次判定做准备。
可选地,当判定未接收到由所述目标从机所发送的确认字符信号时,进入所述空闲状态,以自动进入初始状态,为下一次判定做准备。
示例性地,信号选择控制器的开始状态处在IDLE状态,这个时候所有的信号都处在初始状态,信号选择控制器和其他信号选择控制器连接的所有开关都处于打开状态。scl_in=1;sda_in=1;scl_out=1;sda_out=1;假设检测到scl_in和sda_in上出现I2C的start信号,同时 scl_in1、sda_in1和scl_in2、sda_in2上有start信号,这时进入主机仲裁状态,判断sda_in和sda_in1或sda_in2信号是否异同,若是,且sda_in为高电平,则把低电平输出一个scl周期给sda_out,并进入IDLE状态,判定与sda_in连接的I2C设备仲裁失败;如果是sda_in1或sda_in2上的sda_in为高电平,关闭这个通道的接口,输出给它的scl和sda全为1,不再接收它的输出信号,重复上面的过程直到确认唯一的主机。同时,检测其他没有scl_in3、sda_in3通道上是否有ACK信号,如果有ACK则这个通道开着,其他通道关闭,并把这个ACK给sda_out,scl_in3、sda_in3的sda_in信号也传给sda_out。等到确认本接口是唯一主机并确认了传输的从机通道后,进入传输锁定状态,进行数据传输,检测传输停止状态,也就是检测到scl_in和sda_in或者其他通道输入的sc_in和sda_in出现STOP信号时,传输结束,跳到步骤1,进入IDLE状态。
为使本领域技术人员更好地理解本发明实施例,以下采用一完整示例对本发明实施例进行说明。
本发明所有I2C主从机都连接I2C多主多从交互控制系统,通过I2C多主多从交互控制系统来控制I2C主机和从机之间的I2C数据传输,I2C多主机多从机交互控制系统的连接方式如图2所示,图2是本发明实施例中提供的一种串行总线标准线路示意图,串行总线标准多主多从交互控制系统主要实现以下几种功能。1、把所有的I2C主机和从机的SCL和SDA的inout信号转换成in和out信号。2、检测各个接口是否会有ACK回应。3、检测各个接口是作为主机还是作为从机还是暂时无法确定(多主机同时发起时的总线仲裁阶段无法判断主从机)。4、根据信号选择控制器其他模块给的输入信号判断哪个接口在传输数据并根据需求关闭其他不需要的输入和输出。5、检测到传输结束后打开关闭的通道。
当然,图2所示的连接的主机和从机数量只是一个例子,本发明实施例对连接的I2C主从机数量不做具体限制。
参考图3,图3是本发明实施例中提供的一种串行总线标准多主多从交互控制系统结构示意图。串行总线标准多主多从交互控制系统由内部的Pad控制模块和信号选择控制器组成,图4中有4个Pad控制模块和4个信号选择控制器,但其仅作为示例,其只是举例了支持4路I2C接口的情况,本领域技术人员可以根据实际支持的I2C接口数量增加Pad和信号选择控制器的数量,各个信号选择控制器之间的连接线也相应增多。其中,Pad控制模块是和外部I2C接口直接连接的模块,把I2C接口的SCL和SDA双向信号转换成对应的单向信号。如这4个接口,不区分主机和从机,I2C主从机可以随意连接。信号选择控制器作为的核心模块之一,首先和Pad控制模块连接,接收Pad控制模块的输入信号,并输出信号给Pad控制模块,其次信号选择控制器和其他几个信号选择控制器连接,把从Pad控制模块得到的scl和sda输入信号输出给其他几个信号选择控制器并接收这些模块给过来的scl和sda信号;信号选择控制器还可以根据这些信号来判断I2C传输的所处阶段并关闭和打开和其他信号选择控制器的信号连接开关,确保I2C接口和接口之间确定传输对后,其他接口还能再进行新的传输。
如图4所示,图4是本发明实施例中提供的一种针对信号选择控制器和控制模块的结构示意图。
Pad控制模块的实现过程如下:
1、scl_in一直等于SCL的值;
2、sda_in一直等于SDA的值。
3、当scl_out等于0时,SCL等于scl_out,当scl_out等于1时,SCL为高阻态。
当sda_out等于0时,SDA等于sda_out,当sda_out等于1时,SDA为高阻态。
参考图5,图5是本发明实施例中提供的一种针对信号选择控制器的判定流程逻辑示意图。
信号选择控制模块的实现逻辑如下:
S1、信号选择控制器的开始状态处在IDLE状态,这个时候所有的信号都处在初始状态,信号选择控制器和其他信号选择控制模块连接的所有开关都处于打开状态。scl_in=1;sda_in=1;scl_out=1;sda_out=1;
S2、如果检测到第二时钟输入信号线scl_in和第二数据输入信号线sda_in上出现I2C的开始信号start,第一时钟输入信号线scl_in1、第一数据输入信号线sda_in1和第一时钟输入信号线scl_in2、第一数据输入信号线sda_in2和第一时钟输入信号线scl_in3、第一数据输入信号线sda_in3上没有开始信号start,这时进入主机传输状态,跳转到S3;如果检测到 scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3上有start信号,scl_in和sda_in上没有I2C的start信号,这时进入从机传输状态进入S4;如果检测到scl_in和sda_in上出现I2C的start信号,同时 scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3上有start信号,这时进入主机仲裁状态,进入S5;
S3、等待 scl_in1、sda_in1和scl_in2、sda_in2和scl_in3、sda_in3上反馈ACK信号,如果 scl_in1、sda_in1上出现ACK信号,则把2、3通道的开关关闭,这时输出给2、3通道的scl和sda全为1,sda_out等于sda_in1;如果其他通道上出现ACK信号也采用和上面相同的处理方式。这时进入传输锁定状态,进入S6;
S4、根据检测到的通道上的start信号,关闭没有检测到的通道的开关,把开着通道的scl_in进行逻辑相与并传送给scl_out信号,把开着通道的sda_in进行逻辑相与并传送给sda_out信号,检测到开着通道的sda_in信号为高电平信号时,sda_in信号为高电平的通道关掉;如果这些主机给的从机地址,本模块连接的接口的sda_in没有给ACK信号,则跳转到S1,进入IDLE状态。否则等到这有一个通道开着时,这时进入传输锁定状态,进入S6;
S5、检测和其他出现start信号的通道上sda_in信号的异同,如果出现不相同,且本接口的sda为高电平,则把低电平输出一个scl周期给sda_out,跳转到步骤1进入IDLE状态;如果是其他通道的sda_in为高电平,关闭这个通道的接口,输出给它的scl和sda全为1,不再接收它的输出信号,重复上面的过程直到确认唯一的主机。同时检测其他没有出现start信号通道上是否有ACK信号,如果有ACK则这个通道开着,其他通道关闭,并把这个ACK给sda_out,这个通道的sda_in信号也传给sda_out。等到确认本接口是唯一主机并确认了传输的从机通道后,进入传输锁定状态,进入S6;
S6、检测传输停止状态,也就是检测到scl_in和sda_in或者其他通道输入的sc_in和sda_in出现STOP信号时,传输结束,跳到S1,进入IDLE状态。
通过上述方式可以将任意I2C设备连接到串行总线标准多主多从交互控制系统的任意接口,串行总线标准多主多从交互控制系统可以针对多对I2C主从机自动建立多对数据通信,无需占用中央处理器CPU等其他运算设备的运算线程,能够有效提高I2C通信效率。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种串行总线标准多主多从交互控制系统,其特征在于,所述串行总线标准多主多从交互控制系统包括多个信号选择控制器,所述串行总线标准多主多从交互控制系统配置有多个串行总线标准设备;多个所述信号选择控制器与多个所述串行总线标准设备一一对应;
多个所述信号选择控制器两两之间配置有第一时钟输入信号线和第一时钟输出信号线和第一数据输入信号线和第一数据输出信号线,多个信号选择控制器两两之间通过所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线进行数据交互;
所述信号选择控制器用于基于由串行数据信号线发送的串行数据信号,和由串行时钟信号线发送的串行时钟信号,从多个所述串行总线标准设备中确定出目标主机,以及与所述目标主机对应的目标从机,以使多个与所述串行总线标准多主多从交互控制系统连接的所述目标主机,同时与所述目标主机对应的目标从机进行数据交互;
所述串行总线标准多主多从交互控制系统包括多个控制模块,多个所述信号选择控制器与多个所述控制模块一一对应;
所述信号选择控制器通过所述控制模块基于所述串行数据信号线和所述串行时钟信号线与所述串行总线标准设备连接;
所述信号选择控制器配置有第二时钟输入信号线和第二时钟输出信号线,第二数据输入信号线和第二数据输出信号线;
所述信号选择控制器通过所述第二时钟输入信号线、第二时钟输出信号线、第二数据输入信号线和第二数据输出信号线与所述控制模块连接。
2.根据权利要求1所述的串行总线标准多主多从交互控制系统,其特征在于,
所述控制模块用于将从所述串行时钟信号线接收的串行时钟信号转换为时钟输入信号,并通过第二时钟输入信号线将所述时钟输入信号发送至所述信号选择控制器;
所述信号选择控制器用于通过所述第二时钟输出信号线将时钟输出信号发送至所述控制模块,所述控制模块用于将接收到的所述时钟输出信号转换为针对所述串行时钟信号线的串行时钟信号;
所述控制模块用于将从所述串行数据信号线接收的串行数据信号转换为数据输入信号,并通过第二数据输入信号线将所述数据输入信号发送至所述信号选择控制器;
所述信号选择控制器用于通过所述第二数据输出信号线将数据输出信号发送至所述控制模块,所述控制模块用于将接收到的所述数据输出信号转换为针对所述串行数据信号线的串行时钟信号。
3.根据权利要求2所述的串行总线标准多主多从交互控制系统,其特征在于,所述串行总线标准设备配置有对应的正电源,多个所述串行总线标准设备分别通过独立的所述串行数据信号线和所述串行时钟信号线和上拉电阻与所述正电源电连接。
4.根据权利要求3所述的串行总线标准多主多从交互控制系统,其特征在于,所述串行数据信号线和所述串行时钟信号线,或,所述第二时钟输入信号线和所述第二时钟输出信号线,或,所述第二数据输入信号线和所述第二数据输出信号线,或,所述第一时钟输入信号线和所述第一时钟输出信号线,或,所述第一数据输入信号线和所述第一数据输出信号线,通过所述上拉电阻保持高电平状态,或,低电平状态。
5.根据权利要求4所述的串行总线标准多主多从交互控制系统,其特征在于,所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线分别配置有对应的控制开关;
所述信号选择控制器配置有对应的空闲状态,当所述信号选择控制器处于空闲状态时,所述控制开关开启。
6.根据权利要求5所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且未接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,响应于接收到所述第二开始信号,将与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备确定为目标主机;
当接收到由所述目标主机发送的从机地址信息时,基于所述从机地址信息确定所述目标从机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标从机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
当判定接收到由所述目标从机所发送的确认字符信号时,基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
7.根据权利要求6所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关。
8.根据权利要求7所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互。
9.根据权利要求8所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态。
10.根据权利要求5所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当未接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,判断是否从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号;
当判定未从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号时,进入所述空闲状态;
当判定从所述第二时钟输入信号线和所述第二数据输入信号线接收到确认字符信号时,响应于接收到所述确认字符信号,将与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备确定为目标从机;
由所述第一数据输入信号线发送的第一数据输入信号,以及,与所述第一数据输入信号对应的第一电平状态信息,确定目标主机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标主机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
11.根据权利要求10所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关。
12.根据权利要求11所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当接收到针对所述目标第一时钟输入信号线和所述目标第一数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互。
13.根据权利要求12所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态。
14.根据权利要求5所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的第二开始信号,且接收到针对所述第一时钟输入信号线和所述第一数据输入信号线的第一开始信号时,通过由所述第二数据输入信号线发送的第二数据输入信号,以及,与所述第二数据输入信号对应的第二电平状态信息和由所述第一数据输入信号线发送的第一数据输入信号,以及,与所述第一数据输入信号对应的第一电平状态信息,确定目标主机;
当所述目标主机为与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备,且接收到由所述目标主机发送的从机地址信息时,基于所述从机地址信息确定所述目标从机,并从所述第一时钟输入信号线和所述第一时钟输出信号线和所述第一数据输入信号线和所述第一数据输出信号线中确定出针对所述目标从机的目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线;
当判定接收到由所述目标从机所发送的确认字符信号时,基于所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线和所述目标第一时钟输入信号线和所述目标第一时钟输出信号线和所述目标第一数据输入信号线和所述目标第一数据输出信号线,使所述目标主机和所述目标从机进行数据交互。
15.根据权利要求14所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当与所述第二时钟输入信号线和所述第二时钟输出信号线和所述第二数据输入信号线和所述第二数据输出信号线连接的控制串行总线标准设备不为目标主机时,进入所述空闲状态。
16.根据权利要求14所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于关闭除所述目标第一时钟输入信号线和目标第一时钟输出信号线和目标第一数据输入信号线和目标第一数据输出信号线以外的其他第一时钟输入信号线和其他第一时钟输出信号线和其他第一数据输入信号线和其他第一数据输出信号线的控制开关。
17.根据权利要求16所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当接收到针对所述第二时钟输入信号线和所述第二数据输入信号线的停止信号时,停止所述目标主机和所述目标从机进行数据交互。
18.根据权利要求17所述的串行总线标准多主多从交互控制系统,其特征在于,所述信号选择控制器用于当停止所述目标主机和所述目标从机进行数据交互时,进入所述空闲状态。
19.根据权利要求6或10或14所述的串行总线标准多主多从交互控制系统,其特征在于,当判定未接收到由所述目标从机所发送的确认字符信号时,进入所述空闲状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311174599.6A CN116909975B (zh) | 2023-09-12 | 2023-09-12 | 一种串行总线标准多主多从交互控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311174599.6A CN116909975B (zh) | 2023-09-12 | 2023-09-12 | 一种串行总线标准多主多从交互控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909975A CN116909975A (zh) | 2023-10-20 |
CN116909975B true CN116909975B (zh) | 2024-01-26 |
Family
ID=88363383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311174599.6A Active CN116909975B (zh) | 2023-09-12 | 2023-09-12 | 一种串行总线标准多主多从交互控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909975B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
CN1662008A (zh) * | 2004-10-20 | 2005-08-31 | 天津市英克瑞电子技术有限公司 | 带时钟信号的半双工串行总线通信方法及通信系统 |
CN103123615A (zh) * | 2011-11-18 | 2013-05-29 | 快捷半导体(苏州)有限公司 | 管脚可选的i2c从机地址 |
CN111008170A (zh) * | 2014-02-20 | 2020-04-14 | 三星电子株式会社 | 系统芯片、总线接口连接电路和其总线接口连接方法 |
CN114138703A (zh) * | 2022-02-07 | 2022-03-04 | 成都时识科技有限公司 | 基于串行外设接口进行通信的方法、装置及芯片 |
CN115826450A (zh) * | 2022-10-20 | 2023-03-21 | 振曜科技股份有限公司 | 串行周边接口的逻辑控制装置、主从系统及其主从切换方法 |
-
2023
- 2023-09-12 CN CN202311174599.6A patent/CN116909975B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
CN1662008A (zh) * | 2004-10-20 | 2005-08-31 | 天津市英克瑞电子技术有限公司 | 带时钟信号的半双工串行总线通信方法及通信系统 |
CN103123615A (zh) * | 2011-11-18 | 2013-05-29 | 快捷半导体(苏州)有限公司 | 管脚可选的i2c从机地址 |
CN111008170A (zh) * | 2014-02-20 | 2020-04-14 | 三星电子株式会社 | 系统芯片、总线接口连接电路和其总线接口连接方法 |
CN114138703A (zh) * | 2022-02-07 | 2022-03-04 | 成都时识科技有限公司 | 基于串行外设接口进行通信的方法、装置及芯片 |
CN115826450A (zh) * | 2022-10-20 | 2023-03-21 | 振曜科技股份有限公司 | 串行周边接口的逻辑控制装置、主从系统及其主从切换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116909975A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552366B2 (en) | Method of communication for master device and slave device on synchronous data bus wherein master and slave devices are coupled in parallel | |
US6339806B1 (en) | Primary bus to secondary bus multiplexing for I2C and other serial buses | |
JP5055489B2 (ja) | 通信バス用双方向単線式割り込みライン | |
KR100729692B1 (ko) | 마스터 노드 및 슬레이브 노드를 갖는 전자 장치 시스템 | |
US8290103B2 (en) | Method for transmitting parallelization signals of uninterruptible power supplies | |
CN102880143B (zh) | 单can控制器热冗余can总线系统及其实现方法 | |
US6119183A (en) | Multi-port switching system and method for a computer bus | |
JP2009535677A (ja) | I2cクロックの生成方法及びシステム | |
US5884044A (en) | Dedicated DDC integrable multimode communications cell | |
CN110875867B (zh) | 一种总线访问仲裁装置及方法 | |
JP6629361B2 (ja) | プログラマブルロジックコントローラ | |
JPS6239580B2 (zh) | ||
CN116909975B (zh) | 一种串行总线标准多主多从交互控制系统 | |
CN117215977B (zh) | 一种i3c集线器及中断仲裁数字实现方法 | |
JP4737049B2 (ja) | 通信システム及び電子制御装置 | |
US5636343A (en) | Microcomputer with built-in serial input-output circuit and collision detection circuit responsive to common input-output line being occupied | |
US11714772B2 (en) | Additional communication in standardized pinout of a bidirectional interface between a first and second communication device | |
CN116541329A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN216873219U (zh) | 通信电路及多主通信系统 | |
JP2850282B2 (ja) | 通信装置 | |
Deepika et al. | Design of dual master I2C bus controller and interfacing it with DC motor | |
CN108874166B (zh) | 一种基于fpga和ps2协议的kvm控制器 | |
JPH02219151A (ja) | コンピユータ入出力システムおよびそのチャネル診断方法 | |
CN111181828B (zh) | 一种实现can总线通讯星型连接的装置 | |
TWI818834B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |