CN116610609A - 一种iic地址冲突防护控制电路、装置及控制方法 - Google Patents
一种iic地址冲突防护控制电路、装置及控制方法 Download PDFInfo
- Publication number
- CN116610609A CN116610609A CN202310554597.3A CN202310554597A CN116610609A CN 116610609 A CN116610609 A CN 116610609A CN 202310554597 A CN202310554597 A CN 202310554597A CN 116610609 A CN116610609 A CN 116610609A
- Authority
- CN
- China
- Prior art keywords
- slave
- pull
- resistor
- master controller
- signal line
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004891 communication Methods 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 12
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims description 8
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims description 8
- 230000009467 reduction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 229940127236 atypical antipsychotics Drugs 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/376—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
-
- 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/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种IIC地址冲突防护控制电路、装置及控制方法,电路包括:主控制器、电源输入模块、第一从机、第二从机、第一上拉电阻、第二上拉电阻及第三上拉电阻;主控制器的第一GPIO引脚与第一上拉电阻的第一端及第一从机电连接,第一上拉电阻的第二端与电源输入模块电连接;主控制器的第二GPIO引脚与第二上拉电阻的第一端及第二从机电连接,第二上拉电阻的第二端与电源输入模块电连接;主控制器的第三GPIO引脚分别与第三上拉电阻的第一端、第一从机及第二从机电连接,第三上拉电阻的第二端与电源输入模块电连接;第一GPIO引脚及第二GPIO引脚用作SCL时钟线,第三GPIO引脚用作SDA信号线。本发明有PIN引脚占用少、减少PCB板占用空间及降低访问延时的优点。
Description
技术领域
本发明涉及通讯控制技术领域,尤其涉及一种IIC地址冲突防护控制电路、装置及控制方法。
背景技术
IIC通信协议是一种两线式串行总线,由飞利浦公司开发用于微控制器和外围设备进行通信的一种总线。IIC通信协议属于一主多从的总线结构,总线上的每个设备都有一个特定的设备地址,以区分同一IIC总线上的其他设备。IIC通信协议使用SCL和SDA两根双向线,可用于发送和接收数据,但是通信都是由主设备发起,从设备被动响应,实现数据的传输。IIC通信协议支持7位或10位地址,要求挂在总线上的IIC从机地址唯一性,否则将导致寻址冲突,引起通信异常。
在特定领域下,有可能需要接入具有相同IIC从机地址的特定芯片。如N路采集光强传感器的系统等等,且从机是第三方芯片,可能无法通过修改软件或硬件切换改变地址。现有技术中,针对这种情况传统的做法基本有四种:1)、使用N路的GPIO模拟IIC总线连接不同从机,需要占用N*2个GPIO(SDA,SCL)实现N路IIC通道。该方法PIN脚占用较多。2)、使用一路IIC总线,再分别使用N个GPIO控制每个子通道IIC开关使能。总共需要N+2个pin脚。如果IIC从机不带使能位的话,需要额外的IIC开关器件。3)、使用IIC扩展芯片,CPLD等中间芯片隔离从机,扩展器提供多路隔离的IIC通道pin脚。优点是只占用一路主IIC总线,仅通过IIC命令控制扩展器子通道的开启。缺点有二,一是会占用PCB板可能有限的空间,二是访问每个通道前,需要额外的IIC指令开启通道,增加了访问IIC从机的时延。4)、模拟操作系统通过时间片切分连接通道,需要时分复用电路在指定时间片内访问指定从机,避免地址冲突,但会增加比较大访问延时。
这些传统的做法都存在各自的缺点和局限性,如PIN脚占用过多、PCB板空间不足、访问延时过长等等。因此,有必要提出一种新的方法来解决这些问题。
发明内容
本申请的目的是提供一种IIC地址冲突防护控制电路、装置及控制方法,本方案中,使用较少的IO脚,避免了IIC从机地址冲突且无法通过软硬件分配地址的情况,有效避免了使用扩展器导致额外占用有限PCB空间及使用额外的IIC指令选择子通道导致时延增加的问题,有PIN引脚占用少、减少PCB板占用空间及降低访问延时的优点。
为解决上述技术问题,本申请提供了一种IIC地址冲突防护控制电路,包括主控制器、电源输入模块、第一从机、第二从机、第一上拉电阻、第二上拉电阻及第三上拉电阻;
所述主控制器的第一GPIO引脚分别与所述第一上拉电阻的第一端及所述第一从机电连接,所述第一上拉电阻的第二端与所述电源输入模块电连接;
所述主控制器的第二GPIO引脚分别与所述第二上拉电阻的第一端及所述第二从机电连接,所述第二上拉电阻的第二端与所述电源输入模块电连接;
所述主控制器的第三GPIO引脚分别与所述第三上拉电阻的第一端、所述第一从机及所述第二从机电连接,所述第三上拉电阻的第二端与所述电源输入模块电连接;
所述主控制器的第一GPIO引脚及所述主控制器的第二GPIO引脚用作SCL时钟线,所述主控制器的第三GPIO引脚用作SDA信号线;
所述第一GPIO、所述第二GPIO及所述第三GPIO设置为开漏模式;
所述主控制器用于依次控制指定从机的有效连接;所述主控制器控制连接于所述指定从机的GPIO引脚用作SCL时钟线发出时钟信号;
所述主控制器控制共用的SDA信号线只对有效所述指定从机产生START时序信号,进行寻址、读写位时序信号、读写数据时序及产生STOP信号以完成点对点的IIC通信。
优选地,所述一种IIC地址冲突防护控制电路还包括第三从机及第四上拉电阻;
所述主控制器的第四GPIO引脚分别与所述第四上拉电阻的第一端及所述第三从机电连接,所述第四上拉电阻的第二端与所述电源输入模块电连接,所述第四上拉电阻及所述第三从机电连接;
所述主控制器的第四GPIO引脚用作SCL时钟线,所述第四GPIO设置为开漏模式。
优选地,所述一种IIC地址冲突防护控制电路还包括第四从机及第五上拉电阻;
所述主控制器的第五GPIO引脚分别与所述第五上拉电阻的第一端及所述第四从机电连接,所述第五上拉电阻的第二端与所述电源输入模块电连接,所述第五上拉电阻及所述第三从机电连接;
所述主控制器的第五GPIO引脚用作SCL时钟线,所述第五GPIO设置为开漏模式。
优选地,所述主控制器设置为SOC芯片的一种。
为解决上述技术问题,本申请提供了一种IIC地址冲突防护控制装置,包括所述的一种IIC地址冲突防护控制电路。
为解决上述技术问题,本申请提供了一种IIC地址冲突防护控制方法,应用于所述的一种IIC地址冲突防护控制电路,所述控制方法包括:
上电后,将所述主控制器、所述第一从机及所述第二从机设置为开漏模式;
通过上拉电阻控制SCL时钟线及SDA信号线在空闲时保持输出为高阻态,保持IIC总线为空闲状态;
通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线依次进行配合,实现多个从机隔离START信号和寻址信号的传输以实现点对点通信。
优选地,所述通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信包括:
若所述指定从机为第一从机;
控制所述SDA信号线先拉低所述第一从机的半个SCL时钟周期,并对所述第一从机的SCL拉低半个时钟周期;
控制所述第一从机监控所述SDA信号线上传送的地址;
若所述主控制器传送的地址匹配,在读写位传输完后,所述主控制器释放所述SDA信号线的控制权,控制所述第一从机拉低所述SDA信号线的电平以表示所述第一从机响应ACK状态;
所述SCL时钟线拉高后,所述主控制器监控所述SDA信号线的状态确定所述第一从机是否响应;
如果所述第一从机没有响应,所述SDA信号线保持上拉高电平代表无响应:NACK。
优选地,所述在控制所述第一从机监控所述SDA信号线上传送的地址包括:
所述SDA信号线上传送的地址为所述第一从机的地址和读写状态。
优选地,所述一种IIC地址冲突防护控制方法还包括:
通信结束后,控制所述主控制器通过所述SDA信号线和所述第一从机的SCL时钟线发送STOP信号;
控制所述第一从机的SCL时钟线先释放总线拉高电平,再控制所述SDA信号线释放总线拉高电平。
优选地,所述通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信还包括:
若所述指定从机为第二从机;
控制所述SDA信号线先拉低所述第二从机的半个SCL时钟周期,并对所述第二从机的SCL拉低半个时钟周期;
控制所述第二从机监控所述SDA信号线上传送的地址;
若所述主控制器传送的地址匹配,在读写位传输完后,所述主控制器释放所述SDA信号线的控制权,控制所述第二从机拉低所述SDA信号线的电平以表示所述第二从机响应ACK状态;
所述SCL时钟线拉高后,所述主控制器监控所述SDA信号线的状态确定所述第二从机是否响应;
如果所述第二从机没有响应,所述SDA信号线保持上拉高电平代表无响应:NACK。
本发明的一种IIC地址冲突防护控制电路具有如下有益效果,本发明公开的一种IIC地址冲突防护控制电路包括:主控制器、电源输入模块、第一从机、第二从机、第一上拉电阻、第二上拉电阻及第三上拉电阻;所述主控制器用于依次控制指定从机的有效连接;所述主控制器控制连接于所述指定从机的GPIO引脚用作SCL时钟线发出时钟信号;所述主控制器控制共用的SDA信号线只对有效所述指定从机产生完整的START时序信号,进行寻址、读写位时序信号、读写数据时序及产生STOP信号以完成点对点的IIC通信。因此,本申请使用较少的IO脚,避免了IIC从机地址冲突且无法通过软硬件分配地址的情况,有效避免了使用扩展器导致额外占用有限PCB空间及使用额外的IIC指令选择子通道导致时延增加的问题,有PIN引脚占用少、减少PCB板占用空间及降低访问延时的优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图及实施例对本发明作进一步说明,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图:
图1是本发明较佳实施例的一种IIC地址冲突防护控制电路的结构示意图;
图2是本发明较佳实施例的一种IIC地址冲突防护控制电路的脉冲原理示意图;
图3是本发明较佳实施例的一种IIC地址冲突防护控制方法的流程示意图;
图4是本发明较佳实施例的一种IIC地址冲突防护控制方法的通信时,控制所述主控制器1通过SDA信号线和所述指定从机的SCL时钟线依次进行配合,实现多个从机START信号和寻址信号的传输以实现点对点通信的流程示意图。
具体实施方式
本申请的核心是提供一种IIC地址冲突防护控制电路、装置及控制方法,本方案中,使用较少的IO脚,避免了IIC从机地址冲突且无法通过软硬件分配地址的情况,有效避免了使用扩展器导致额外占用有限PCB空间及使用额外的IIC指令选择子通道导致时延增加的问题,有PIN引脚占用少、减少PCB板占用空间及降低访问延时的优点。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请提供的一种IIC地址冲突防护控制电路的结构示意图,包括主控制器1、电源输入模块2、第一从机3、第二从机4、第一上拉电阻R1、第二上拉电阻R2及第三上拉电阻R3;
主控制器1的第一GPIO引脚分别与第一上拉电阻R1的第一端及第一从机3电连接,第一上拉电阻R1的第二端与电源输入模块2电连接;
主控制器1的第二GPIO引脚分别与第二上拉电阻R2的第一端及第二从机4电连接,第二上拉电阻R2的第二端与电源输入模块2电连接;
主控制器1的第三GPIO引脚分别与第三上拉电阻R3的第一端、第一从机3及第二从机4电连接,第三上拉电阻R3的第二端与电源输入模块2电连接;
主控制器1的第一GPIO引脚及主控制器1的第二GPIO引脚用作SCL时钟线,主控制器1的第三GPIO引脚用作SDA信号线;
第一上拉电阻R1连接的GPIO、第二上拉电阻R2连接的GPIO及第三上拉电阻R3连接的GPIO都设置为开漏模式;
主控制器1用于依次控制指定从机的有效连接;主控制器1控制连接于指定从机的GPIO引脚用作SCL时钟线发出时钟信号;
主控制器1控制共用的SDA信号线只对有效指定从机产生完整START时序信号,进行寻址、读写位时序信号、读写数据时序及产生STOP信号以完成点对点的IIC通信。
现有技术中,不同的IIC通讯协议存在各自的缺点和局限性,如PIN脚占用过多、PCB板空间不足、访问延时过长等等。
针对上述缺点,本申请中通过主控制器1、电源输入模块2、第一从机3、第二从机4、第一上拉电阻R1、第二上拉电阻R2及第三上拉电阻R3的配合避免了使用扩展器导致额外占用有限PCB空间及使用额外的IIC指令选择子通道导致时延增加的问题,有PIN引脚占用少、减少PCB板占用空间及降低访问延时的优点。
具体地,本申请的IIC地址冲突防护控制电路共用1个SDA信号线,2个SCL时钟线来连接2个从机,SCL时钟线也相当于是选择信号线,所有SCL时钟线和SDA信号线通过上拉电阻连接电源,都设置为开漏模式。主控制器连接指定从机时,使用一根相连的SCL时钟线连接从机发出时钟信号,配合共用的SDA联合产生只对相连从机有效的START时序信号,进行寻址、读写位时序信号、读写数据时序以及最终的STOP信号,完成点对点IIC通信,避免了地址冲突导致的通信异常。
具体地,如表1所示:
具体地,从表1的对比结果可以看出,相对于现有技术,本申请解决了IIC从机地址冲突且无法通过软硬件分配地址的条件下,使用较少的IO脚,又避免了使用扩展器导致额外占用有限PCB空间及使用额外的IIC指令选择子通道导致时延增加的问题。
综上,本发明提供了一种IIC地址冲突防护控制电路,在本方案中,包括:主控制器1、电源输入模块2、第一从机3、第二从机4、第一上拉电阻R1、第二上拉电阻R2及第三上拉电阻R3;主控制器1用于依次控制指定从机的有效连接;主控制器1控制连接于指定从机的GPIO引脚用作SCL时钟线发出时钟信号;主控制器1控制共用的SDA信号线只对有效指定从机产生START时序信号,进行寻址、读写位时序信号、读写数据时序及产生STOP信号以完成点对点的IIC通信。因此,本申请使用较少的IO脚,避免了IIC从机地址冲突且无法通过软硬件分配地址的情况,有效避免了使用扩展器导致额外占用有限PCB空间及使用额外的IIC指令选择子通道导致时延增加的问题,有PIN引脚占用少、减少PCB板占用空间及降低访问延时的优点。
在上述实施例的基础上:
请参照图2,图2为本申请提供的一种IIC地址冲突防护控制电路通信时的脉冲原理示意图。
作为一种优选地实施例,一种IIC地址冲突防护控制电路还包括第三从机及第四上拉电阻;
主控制器1的第四GPIO引脚分别与第四上拉电阻的第一端及第三从机电连接,第四上拉电阻的第二端与电源输入模块2电连接,第四上拉电阻及第三从机电连接;
主控制器1的第四GPIO引脚用作SCL时钟线,第四上拉电阻连接的GPIO设置为开漏模式。
作为一种优选地实施例,一种IIC地址冲突防护控制电路还包括第四从机及第五上拉电阻;
主控制器1的第五GPIO引脚分别与第五上拉电阻的第一端及第四从机电连接,第五上拉电阻的第二端与电源输入模块2电连接,第五上拉电阻及第三从机电连接;
主控制器1的第五GPIO引脚用作SCL时钟线,第五上拉电阻连接的GPIO设置为开漏模式。
可以理解的是,在本实施例中,从机的连接数量可根据需要自行设置,在此不作具体限定。
作为一种优选地实施例,主控制器1设置为SOC芯片中的一种。可以理解的是,SOC芯片可以设置为MCU控制器或FPGA控制器等,在此不作具体限定。
作为一种优选地实施例,电源输入模块2的电压输入范围为3.3V到5V之间。可以理解的是,电源输入模块2的电压输入范围具体根据主控制器和从机的电源特性而定,在此不作具体限定。
具体地,在本实施例中,本发明的主控制器包括主控制器1,1路IIC总线的SDA线,N路SCL线,通过上拉电阻将SCLx,SDA上拉到VCC,一般是3.3V或5V,主控制器做为IIC主机,主控制器1的型号在此不作具体限定。
本申请还提供了一种IIC地址冲突防护控制装置,包括的一种IIC地址冲突防护控制电路。
请参照图3,图3为本申请提供的一种IIC地址冲突防护控制方法的流程示意图。
本申请还提供了一种IIC地址冲突防护控制方法,应用于的一种IIC地址冲突防护控制电路,控制方法包括:
S1、上电后,将主控制器1、第一从机3及第二从机4设置为开漏模式;
S2、通过上拉电阻控制SCL时钟线及SDA信号线在空闲时保持输出为高阻态,保持IIC总线为空闲状态;
S3、通信时,控制主控制器1通过SDA信号线和指定从机的SCL时钟线依次进行配合,实现多个从机隔离START信号和寻址信号的传输以实现点对点通信。
具体地,标准的IIC通信步骤如下:IIC主机发起START信号,即SCL,SDA顺序切换电平,在SCL的脉冲内SDA依次发送7位地址或10位地址及读写位,从机根据SDA线上的地址数据信号,确认是本从机地址时响应ACK,否则忽略响应;当总线没有任何从机响应时,总线相当于收到的是NACK;如果从机有响应是主机发送的是写状态标志,主机在随后的SCL周期依次更新SDA信号状态发送寄存器地址或指令数据给从机,从机从SDA得到数据,每收到8BIT数据后回复ACK响应信号;如果是读状态主机在随后的SCL脉冲更新周期内依次读取从机控制SDA状态回复的数据。
根据以上通信步骤可知,只有完整的START信号和寻址信号成功到达从机后,从机才会响应。因此只要隔离出SCL线,即可屏蔽其他相同地址的从机响应,避免了冲突,而不需要再通过专用的IIC扩展器把从机所有的SCL,SDA都完全隔离开就可以实现指定从机通信。
请参照图4,图4为本申请提供的一种通信时,控制主控制器1通过SDA信号线和指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信的流程示意图。
作为一种优选地实施例,通信时,控制主控制器1通过SDA信号线和指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信包括:
S31、若指定从机为第一从机3,控制所述SDA信号线先拉低所述第一从机的半个SCL时钟周期,并对所述第一从机的SCL拉低半个时钟周期;
S32、在后续SCL时钟周期内,控制第一从机3监控SDA信号线上传送的地址;
S33、若主控制器1传送的地址匹配,在读写位传输完后,主控制器1释放SDA信号线的控制权,控制第一从机3拉低SDA信号线的电平以表示第一从机3响应ACK状态;
S34、SCL时钟线拉高后,主控制器1监控SDA信号线的状态确定第一从机3是否响应;
S35、如果第一从机3没有响应,控制SDA信号线保持上拉高电平代表无响应:NACK。
作为一种优选地实施例,在后续SCL时钟周期内,控制第一从机3监控SDA信号线上传送的地址包括:
所述SDA信号线上传送的地址为所述第一从机的地址和读写状态。
具体地,在本实施例中,SDA信号线上传送的地址为第一从机的7位地址或10位地址。
优选地,一种IIC地址冲突防护控制方法还包括:
通信结束后,控制主控制器1通过SDA信号线和第一从机3的SCL时钟线发送STOP信号;
控制第一从机3的SCL时钟线先释放总线拉高电平,再控制SDA信号线释放总线拉高电平。
具体地,在本实施例中,IIC具体的通信步骤总结为:
上电后,主机和从机自动设置IIC相关IO脚为开漏模式,所有SCL和SDA保持输出是高阻态,总线上拉到高电平,保持IIC为空闲状态。
作为一个优选地实施例,所述通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信还包括:
若所述指定从机为第二从机;
控制所述SDA信号线先拉低所述第二从机的半个SCL时钟周期,并对所述第二从机的SCL拉低半个时钟周期;
控制所述第二从机监控所述SDA信号线上传送的地址;
若所述主控制器传送的地址匹配,在读写位传输完后,所述主控制器释放所述SDA信号线的控制权,控制所述第二从机拉低所述SDA信号线的电平以表示所述第二从机响应ACK状态;
所述SCL时钟线拉高后,所述主控制器监控所述SDA信号线的状态确定所述第二从机是否响应;
如果所述第二从机没有响应,所述SDA信号线保持上拉高电平代表无响应:NACK。
通信时,主机通过控制用作SDA线的GPIO引脚和连接到指定从机的SCLx的GPIO引脚发送标准START信号。SDA,SCLx初始都是高电平,SDA先拉低半个SCL时钟周期,即100K速度的约4~5us,随后SCLx拉低;对应的指定从机开始监控SDA上传送的地址;如果随后主机发送的地址匹配,则在读写位传输完后,主机释放SDA控制权,由从机拉低SDA电平代表从机响应ACK状态;SCL拉高后,主机监控SDA状态确定从机是否响应,如果没有从机响应,SDA将保持上拉高电平代表无响应:NACK;为了保证点对点IIC通信正常,发送的IIC地址的确是当前从机的地址,随后参考标准IIC通信流程进行读写操作。
通信结束后,主机通过SDA和SCLx发送STOP信号,即SCLx先释放总线拉高电平,随后SDA释放总线拉高电平。
依次类推,SCLx控制任何一路从机的时钟线,同时做为从机选择功能,切换通道操作的本身不需要额外的IIC指令,不会产生额外的延迟,也不会占用额外的空间。但是IIC通信轮询通信。不同的通道切换后通信时间依然是串行的。若使用IIC扩展器的方法的话,可能需要先对扩展器发送切换IIC通道的命令,再进行真正的通信。
对于本申请提供的一种IIC地址冲突防护控制电路的介绍,请参照上述实施例,本申请此处不再赘述。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种IIC地址冲突防护控制电路,其特征在于,包括主控制器、电源输入模块、第一从机、第二从机、第一上拉电阻、第二上拉电阻及第三上拉电阻;
所述主控制器的第一GPIO引脚分别与所述第一上拉电阻的第一端及所述第一从机电连接,所述第一上拉电阻的第二端与所述电源输入模块电连接;
所述主控制器的第二GPIO引脚分别与所述第二上拉电阻的第一端及所述第二从机电连接,所述第二上拉电阻的第二端与所述电源输入模块电连接;
所述主控制器的第三GPIO引脚分别与所述第三上拉电阻的第一端、所述第一从机及所述第二从机电连接,所述第三上拉电阻的第二端与所述电源输入模块电连接;
所述主控制器的第一GPIO引脚及所述主控制器的第二GPIO引脚用作SCL时钟线,所述主控制器的第三GPIO引脚用作SDA信号线;
所述第一GPIO引脚、所述第二GPIO引脚及所述第三GPIO引脚设置为开漏模式;
所述主控制器用于依次控制指定从机的有效连接;所述主控制器控制连接于所述指定从机的GPIO引脚用作SCL时钟线发出时钟信号;
所述主控制器控制共用的SDA信号线只对有效的所述指定从机产生START时序信号,进行寻址、读写位时序信号、读写数据时序及产生STOP信号以完成点对点的IIC通信。
2.根据权利要求1所述的一种IIC地址冲突防护控制电路,其特征在于,所述一种IIC地址冲突防护控制电路还包括第三从机及第四上拉电阻;
所述主控制器的第四GPIO引脚分别与所述第四上拉电阻的第一端及所述第三从机电连接,所述第四上拉电阻的第二端与所述电源输入模块电连接,所述第四上拉电阻及所述第三从机电连接;
所述主控制器的第四GPIO引脚用作SCL时钟线,所述第四GPIO引脚设置为开漏模式。
3.根据权利要求1所述的一种IIC地址冲突防护控制电路,其特征在于,所述一种IIC地址冲突防护控制电路还包括第四从机及第五上拉电阻;
所述主控制器的第五GPIO引脚分别与所述第五上拉电阻的第一端及所述第四从机电连接,所述第五上拉电阻的第二端与所述电源输入模块电连接,所述第五上拉电阻及所述第三从机电连接;
所述主控制器的第五GPIO引脚用作SCL时钟线,所述第五GPIO引脚设置为开漏模式。
4.根据权利要求1所述的一种IIC地址冲突防护控制电路,其特征在于,所述主控制器设置为SOC芯片的一种。
5.一种IIC地址冲突防护控制装置,其特征在于,包括权利要求1至4任一项所述的一种IIC地址冲突防护控制电路。
6.一种IIC地址冲突防护控制方法,其特征在于,应用于权利要求1至5任一项所述的一种IIC地址冲突防护控制电路,所述控制方法包括:
上电后,将所述主控制器、所述第一从机及所述第二从机设置为开漏模式;
通过上拉电阻控制SCL时钟线及SDA信号线在空闲时保持输出为高阻态,保持IIC总线为空闲状态;
通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线依次进行配合,实现多个从机隔离START信号和寻址信号的传输以实现点对点通信。
7.根据权利要求6所述的一种IIC地址冲突防护控制方法,其特征在于,所述通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信包括:
若所述指定从机为第一从机;
控制所述SDA信号线先拉低所述第一从机的半个SCL时钟周期,并对所述第一从机的SCL拉低半个时钟周期;
在后续SCL时钟周期内,控制所述第一从机监控所述SDA信号线上传送的地址;
若所述主控制器传送的地址匹配,在读写位传输完后,所述主控制器释放所述SDA信号线的控制权,控制所述第一从机拉低所述SDA信号线的电平以表示所述第一从机响应ACK状态;
所述SCL时钟线拉高后,所述主控制器监控所述SDA信号线的状态确定所述第一从机是否响应;
如果所述第一从机没有响应,所述SDA信号线保持上拉高电平代表无响应:NACK。
8.根据权利要求8所述的一种IIC地址冲突防护控制方法,其特征在于,所述在后续SCL时钟周期内,控制所述第一从机监控所述SDA信号线上传送的地址包括:
所述SDA信号线上传送的地址为所述第一从机的地址和读写状态。
9.根据权利要求8所述的一种IIC地址冲突防护控制方法,其特征在于,所述一种IIC地址冲突防护控制方法还包括:
通信结束后,控制所述主控制器通过所述SDA信号线和所述第一从机的SCL时钟线发送STOP信号;
控制所述第一从机的SCL时钟线先释放总线拉高电平,再控制所述SDA信号线释放总线拉高电平。
10.根据权利要求6所述的一种IIC地址冲突防护控制方法,其特征在于,所述通信时,控制所述主控制器通过SDA信号线和所述指定从机的SCL时钟线配合,实现START信号和寻址信号的传输以实现点对点通信还包括:
若所述指定从机为第二从机;
控制所述SDA信号线先拉低所述第二从机的半个SCL时钟周期,并对所述第二从机的SCL拉低半个时钟周期;
控制所述第二从机监控所述SDA信号线上传送的地址;
若所述主控制器传送的地址匹配,在读写位传输完后,所述主控制器释放所述SDA信号线的控制权,控制所述第二从机拉低所述SDA信号线的电平以表示所述第二从机响应ACK状态;
所述SCL时钟线拉高后,所述主控制器监控所述SDA信号线的状态确定所述第二从机是否响应;
如果所述第二从机没有响应,所述SDA信号线保持上拉高电平代表无响应:NACK。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310554597.3A CN116610609A (zh) | 2023-05-16 | 2023-05-16 | 一种iic地址冲突防护控制电路、装置及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310554597.3A CN116610609A (zh) | 2023-05-16 | 2023-05-16 | 一种iic地址冲突防护控制电路、装置及控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116610609A true CN116610609A (zh) | 2023-08-18 |
Family
ID=87679351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310554597.3A Pending CN116610609A (zh) | 2023-05-16 | 2023-05-16 | 一种iic地址冲突防护控制电路、装置及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610609A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141062A (ja) * | 2001-11-05 | 2003-05-16 | Sharp Corp | Iicバス制御システム |
CN1567278A (zh) * | 2003-07-06 | 2005-01-19 | 华为技术有限公司 | 内部集成电路总线访问控制系统 |
CN1731383A (zh) * | 2005-08-29 | 2006-02-08 | 杭州华为三康技术有限公司 | 一种设备管理系统及方法 |
KR20070035265A (ko) * | 2005-09-27 | 2007-03-30 | (주)대인테크 | I2c 통신을 이용한 공통 어드레스를 가지는 부품의 제어장치 |
CN101561790A (zh) * | 2009-05-27 | 2009-10-21 | 中兴通讯股份有限公司 | 一种主控机与从机通信的方法、系统及装置 |
CN201374060Y (zh) * | 2008-12-16 | 2009-12-30 | 康佳集团股份有限公司 | 一种iic总线扩展系统结构 |
CN104199796A (zh) * | 2014-09-18 | 2014-12-10 | 歌尔声学股份有限公司 | Iic通信方法以及实现iic通信的嵌入式系统 |
CN105138485A (zh) * | 2015-08-21 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 一种串行总线地址管理装置 |
CN105159860A (zh) * | 2015-10-10 | 2015-12-16 | 上海斐讯数据通信技术有限公司 | Iic扩展系统及方法 |
CN109977051A (zh) * | 2019-03-14 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种基于gpio扩展总线通道数量的方法和系统 |
CN111352879A (zh) * | 2018-12-24 | 2020-06-30 | 沈阳新松机器人自动化股份有限公司 | 一种基于多路选通的同地址从机扩展电路及方法 |
WO2023061053A1 (zh) * | 2021-10-14 | 2023-04-20 | 上海矽睿科技股份有限公司 | I2c通信设备及通信系统 |
-
2023
- 2023-05-16 CN CN202310554597.3A patent/CN116610609A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141062A (ja) * | 2001-11-05 | 2003-05-16 | Sharp Corp | Iicバス制御システム |
CN1567278A (zh) * | 2003-07-06 | 2005-01-19 | 华为技术有限公司 | 内部集成电路总线访问控制系统 |
CN1731383A (zh) * | 2005-08-29 | 2006-02-08 | 杭州华为三康技术有限公司 | 一种设备管理系统及方法 |
KR20070035265A (ko) * | 2005-09-27 | 2007-03-30 | (주)대인테크 | I2c 통신을 이용한 공통 어드레스를 가지는 부품의 제어장치 |
CN201374060Y (zh) * | 2008-12-16 | 2009-12-30 | 康佳集团股份有限公司 | 一种iic总线扩展系统结构 |
CN101561790A (zh) * | 2009-05-27 | 2009-10-21 | 中兴通讯股份有限公司 | 一种主控机与从机通信的方法、系统及装置 |
CN104199796A (zh) * | 2014-09-18 | 2014-12-10 | 歌尔声学股份有限公司 | Iic通信方法以及实现iic通信的嵌入式系统 |
CN105138485A (zh) * | 2015-08-21 | 2015-12-09 | 上海斐讯数据通信技术有限公司 | 一种串行总线地址管理装置 |
CN105159860A (zh) * | 2015-10-10 | 2015-12-16 | 上海斐讯数据通信技术有限公司 | Iic扩展系统及方法 |
CN111352879A (zh) * | 2018-12-24 | 2020-06-30 | 沈阳新松机器人自动化股份有限公司 | 一种基于多路选通的同地址从机扩展电路及方法 |
CN109977051A (zh) * | 2019-03-14 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种基于gpio扩展总线通道数量的方法和系统 |
WO2023061053A1 (zh) * | 2021-10-14 | 2023-04-20 | 上海矽睿科技股份有限公司 | I2c通信设备及通信系统 |
Non-Patent Citations (2)
Title |
---|
符强 等编著: "嵌入式实验与实践教程——基于STM32与Proteus", vol. 1, 31 January 2022, 西安电子科学技术大学出版社, pages: 96 * |
蔡逢煌 等编著: "微控制器原理及应用——基于TI C2000实时微控制器", vol. 1, 31 January 2023, 机械工业出版社, pages: 238 - 239 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100224965B1 (ko) | 다층 구조의 아이2씨 버스를 이용한 진단/제어 시스템 | |
CN101539900B (zh) | 解决具有相同定址地址的两i2c从属装置间产生冲突的装置 | |
US5974475A (en) | Method for flexible multiple access on a serial bus by a plurality of boards | |
CN102023954B (zh) | 具有多路i2c总线的装置、处理器、系统主板及工控计算机 | |
CN101398801B (zh) | 扩展内部集成电路总线的方法及装置 | |
CN109359073B (zh) | 一种基于spi总线的设备间通信方法及装置 | |
JP3226930B2 (ja) | 従局および少なくとも1つの従局を有する通信システム | |
JP2001308883A (ja) | 通信制御回路 | |
CN104350700A (zh) | 用于串行通信设备的时钟 | |
CN115033515A (zh) | 一种主从spi通信方法 | |
CN212135417U (zh) | 一种配置从设备地址的装置及单板 | |
CN110515343B (zh) | 通信连接装置、可编程逻辑控制器、通讯方法及产品 | |
US20040095952A1 (en) | Method and system for a three conductor transceiver bus | |
US6665757B1 (en) | Communication interface having a master activating/deactivating a first signal with a clock signal after a predetermined time after a slave activating/deactivating the first signal | |
CN116610609A (zh) | 一种iic地址冲突防护控制电路、装置及控制方法 | |
CN104133792B (zh) | 精简串行总线通信方法及系统 | |
CN111352879A (zh) | 一种基于多路选通的同地址从机扩展电路及方法 | |
CN116126769A (zh) | 用于串行总线的隔离电路及设备隔离方法 | |
Venkateswaran et al. | Design and implementation of FPGA based interface model for scale-free network using I2C bus protocol on Quartus II 6.0 | |
CN111367203A (zh) | 控制芯片、驱动芯片及通信接口复用方法 | |
US6598111B1 (en) | Backplane physical layer controller | |
CN115277290A (zh) | 连接于现场总线的设备自动顺序编号电路与方法 | |
JP7547079B2 (ja) | マスタスレーブ通信システムおよびその制御方法 | |
CN112559402A (zh) | 一种基于fpga的pci从接口控制电路及fpga | |
CN113326220A (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 |