CN117215977A - 一种i3c集线器及中断仲裁数字实现方法 - Google Patents
一种i3c集线器及中断仲裁数字实现方法 Download PDFInfo
- Publication number
- CN117215977A CN117215977A CN202311487762.4A CN202311487762A CN117215977A CN 117215977 A CN117215977 A CN 117215977A CN 202311487762 A CN202311487762 A CN 202311487762A CN 117215977 A CN117215977 A CN 117215977A
- Authority
- CN
- China
- Prior art keywords
- data
- hsda
- lsda
- data line
- driving circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000001514 detection method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000000630 rising effect Effects 0.000 claims description 8
- 230000000644 propagated effect Effects 0.000 abstract description 4
- 230000010354 integration Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 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
- 230000000977 initiatory effect 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
- 230000008569 process Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- 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
- Bus Control (AREA)
Abstract
本发明公开了一种I3C集线器及中断仲裁的数字实现方法,属于I3C总线技术领域,I3C集线器包括数据方向控制电路、HSDA数据线驱动电路、LSDA数据线驱动电路、LSCL时钟线驱动电路,数据方向控制电路在设备地址位和读写位阶段,当检测到主机设备端的数据线为高电平且从机设备端的数据线为低电平时,将第一控制信号置为有效,第二控制信号置为无效,将数据传播方向修改为由从机到主机,从机设备的中断行为因此被传播到所有的主从设备。实施本发明的技术方案在扩展从机设备数量后也能支持从机设备中断,对设备没有电气特性要求,控制逻辑简单,易于集成,非常适合用于多I3C从机设备的系统的中断仲裁控制。
Description
技术领域
本发明涉及I3C(Improved Inter Integrated Circuit,改进型集成电路)总线技术领域,尤其涉及一种I3C集线器及中断仲裁的数字实现方法。
背景技术
随着集成电路的发展,多种多样的传感器被集成在移动产品中。这些移动设备主要使用I2C(Inter-Integrated Circuit,集成电路总线)、SPI(Serial PeripheralInterface,串行外设接口)、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)作为通信协议。由于传感器没有统一的通信协议,移动设备上使用多种传感器时就要集成多种通信协议模块,这无疑会大大增加芯片的走线布局。在这些常用的通讯协议中,SPI协议传输速度快,但需要的引脚数很多,不能解决多主机多从机情况。UART协议速度非常慢,且内部中断需要额外的引脚。I2C协议使用双线接口,功能和速度一般。这些协议均不支持热插拔,当工作状态下突然断开再恢复连接会影响继续通信。
在I2C协议的基础上诞生的I3C协议采用双线接口,支持热插拔,热插拔特性可以让I3C从机设备在空闲时处于睡眠或者关闭状态,可以在使用时才挂载到总线上使用,从而达到进一步降低功耗目的。I3C协议支持动态地址,从机设备的地址由主机设备仲裁。 I3C协议还支持IBI(In-Band Interrupt,带内中断)中断且向下兼容I2C协议,可与传统的I2C设备一起使用,极大简化移动产品中传感器设计架构,被广泛的应用于各种移动设备中。
集线器(HUB)是数字通信系统中的常用设备,是一个不需要其他系统支持或只需要很少系统监管的硬件设备。集线器用于提供主机从机之间的信号互传,相当于多设备中继器。集线器可以扩展更多设备接口,常用于包含多I3C从机设备的通信系统中。在I3C协议定义中,从机可以发起中断请求并且进行中断竞争。在发送设备地址和读写位阶段每个设备都可以竞争数据线,即数据线拉低输出低电平或者数据线不操作上拉为高电平。因为数据线为开漏输出方式,所以协议定义了输出低电平的设备将会赢得该比特位的竞争。
现有的I3C集线器大多是全双向传输的,即主机端数据和从机端数据直接互传,那么可以很容易实现中断竞争。但全双向的集线器需要解决数据锁死为低电平的问题,即若主机端输出数据为低电平时集线器输出低电平到从机端,而从机端数据的低电平又会被集线器输出低电平到主机端,这样即使主机停止输出低电平数据,主机端数据也无法恢复为高电平。为了解决这个问题,需要调整集线器输出低电平的电压,使得集线器能识别是自身还是其它设备输出的低电平。这样就会要求主从设备能识别集线器调整后低电平的电压,对主从设备的电气特性有要求。
若I3C集线器是单向传输的,即默认为数据由主机传播到从机,那么当I3C从机设备发起中断时,从机端数据总线上的数据无法传播到主机端,又会存在主机设备不知道有从机设备在通过竞争总线发起中断的问题,导致在通过I3C集线器扩展I3C从机设备数量后,无法支持I3C从机设备的中断仲裁。
发明内容
本发明要解决的技术问题在于,针对现有技术中I3C集线器扩展I3C从机设备数量后无法支持I3C从机设备中断仲裁,或者需要I3C设备满足额外的电气特性才能支持中断仲裁的问题,提供一种I3C集线器中断仲裁的数字实现方法。
本发明解决其技术问题所采用的技术方案是:
本发明提供了一种I3C集线器,包括:数据方向控制电路、HSDA数据线驱动电路、LSDA数据线驱动电路、LSCL时钟线驱动电路,其中:
所述数据方向控制电路与HSDA数据线驱动电路、LSDA数据线驱动电路、LSCL时钟线驱动电路及主机端时钟总线HSCL、主机端数据总线HSDA、从机端数据总线LSDA连接,用于根据所述主机端时钟总线HSCL、所述主机端数据总线HSDA、所述从机端数据总线LSDA上的信号来产生第一控制信号和第二控制信号,控制所述HSDA数据线驱动电路、所述LSDA数据线驱动电路的导通和关断,所述第一控制信号和所述第二控制信号不会同时有效。
所述HSDA数据线驱动电路的输入端与从机端I3C数据总线LSDA相连接,输出端与主机端I3C数据总线HSDA相连接,控制端与所述数据方向控制电路的第一控制信号输出控制端连接,当所述第一控制信号有效时,所述HSDA数据线驱动电路导通,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA,当所述第一控制信号无效时,所述HSDA数据线驱动电路关断。
所述LSDA数据线驱动电路的输入端与主机端I3C数据总线HSDA相连接,输出端与从机端I3C数据总线LSDA相连接,控制端与所述数据方向控制电路的第二控制信号输出控制端连接,当所述第二控制信号有效时,所述LSDA数据线驱动电路导通,数据从主机端I3C数据总线HSDA传播到从机端I3C数据总线LSDA,当所述第二控制信号无效时,所述LSDA数据线驱动电路关断。
所述数据方向控制电路在设备地址位和读写位阶段,当检测到主机设备端的数据线为高电平且从机设备端的数据线为低电平时,将所述第一控制信号置为有效,所述第二控制信号置为无效。
本发明还提供了一种I3C集线器中断仲裁数字实现方法,所述中断仲裁数字实现方法基于所述I3C集线器实现,所述中断仲裁数字实现方法包括以下步骤:
步骤S1,需要参与总线竞争的主机设备和从机设备在时钟下降沿发送设备地址位和读写位,在上升沿采样数据,根据I3C协议判断竞争结果,当前比特竞争成功,继续发送下一个地址位或读写位,如果竞争失败,退出总线竞争。
步骤S2,在发送设备地址位和读写位阶段,I3C集线器在主机端I3C时钟总线HSCL的每个时钟下降沿之后的固定时刻设置检测时间点,检测HSDA和LSDA的电平,如果HSDA为高电平,LSDA为低电平,输出有效的第一控制信号,无效的第二控制信号,HSDA数据线驱动电路导通,LSDA数据线驱动电路关断,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA。
步骤S3,在发送设备地址位和读写位阶段,I3C集线器在I3C时钟总线HSCL的时钟信号下降沿,输出无效的第一控制信号,有效的第二控制信号,LSDA数据线驱动电路导通,HSDA数据线驱动电路关断,数据从主机端I3C数据总线HSDA传播到从机端I3C数据总线LSDA。
本发明主要利用了I3C协议的开漏输出特性,I3C集线器在设备地址位和读写位阶段,检查主机设备端的数据线为高电平时,从机设备端的数据线是否被拉低,来确定在中断竞争识别阶段有无从机设备存在中断竞争行为,如果有,通过控制电路将从机数据线的数据传播到主机数据线,主机数据线的电平被拉低,其它集线器从机端的数据线的电平也被拉低,从机设备的中断行为因此被传播到所有的主从设备,各主从设备根据采样到的数据线的电平值进行竞争结果判断,在这个比特位竞争失败的设备退出竞争,其余设备接下来竞争后续比特位,从而达到扩展从机设备数量后也能支持从机设备中断仲裁的目的。本发明的技术方案对设备没有电气特性要求,控制逻辑简单,易于集成,非常适合用于多I3C从机设备的系统的中断仲裁控制。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是带集线器的I3C主从机通信结构示意图。
图2是I3C集线器的内部电路示意图。
图3是I3C集线器中断仲裁方法流程图。
图4是I3C集线器中断仲裁方法时序图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的典型实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
如图1所示为本发明实施例提供的带集线器的I3C主从机通信结构示意图,其中Master为主机设备,HUB0~HUBx为集线器,Slave0~Slavex为从机设备。一个主机设备上可以挂载多个集线器,而一个集线器上又可以挂载多个从机设备。集线器通过时钟线HSCL以及数据线HSDA与主机设备进行数据通信。从机设备通过时钟线LSCL以及数据线LSDA与集线器进行通信。
本发明实施例中,Master对应于计算机终端的CPU;HUB对应于DDR5 SPD Hub(Serial Presence Detect串行检测集线器)芯片,I3C集线器为DDR5 SPD Hub芯片其中一个功能,用于为DDR5内存模组提供与下级I3C设备的连接支持;Slave设备对应于DDR5内存模组的下级I3C设备,比如温度传感器、电源管理设备。本发明实施例中,每台计算机终端上最多连接8根内存条,每根内存条对应一个DDR5 SPD Hub芯片,每根内存条上可挂载若干个I3C设备。计算机终端上的CPU作为I3C主机端设备,通过DDR5 SPD Hub中的I3C集线器与每根内存条上挂载的I3C从机设备进行通信,获取I3C从机设备上的数据,I3C从机设备也可以通过I3C集线器向CPU传递中断竞争行为,请求主动向CPU上报数据。I3C协议是接口类的协议,因此,本发明中的I3C集线器还可以用于任何其它有需要的场合,而不限于DDR技术中。
如图2所示为本发明实施例I3C集线器的内部电路示意图。
本发明实施例提供的I3C集线器包括:数据方向控制电路1、HSDA数据线驱动电路2、LSDA数据线驱动电路3、LSCL时钟线驱动电路4,其中:
所述数据方向控制电路1与HSDA数据线驱动电路2、LSDA数据线驱动电路3、LSCL时钟线驱动电路4及主机端时钟总线HSCL、主机端数据总线HSDA、从机端数据总线LSDA连接,用于根据所述主机端时钟总线HSCL、所述主机端数据总线HSDA、所述从机端数据总线LSDA上的信号来产生第一控制信号和第二控制信号,控制所述HSDA数据线驱动电路2、所述LSDA数据线驱动电路3的导通和关断,从而实现控制I3C总线数据的传播方向,对I3C中断进行仲裁的目的。
所述第一控制信号和所述第二控制信号不会同时有效,否则会导致互锁。这也就是单向传输的集线器控制原理。
所述HSDA数据线驱动电路2的输入端与从机端I3C数据总线LSDA相连接,输出端与主机端I3C数据总线HSDA相连接,控制端与所述数据方向控制电路1的第一控制信号输出控制端连接,当所述第一控制信号有效时,所述HSDA数据线驱动电路2导通,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA,当所述第一控制信号无效时,所述HSDA数据线驱动电路2关断;
所述LSDA数据线驱动电路3的输入端与主机端I3C数据总线HSDA相连接,输出端与从机端I3C数据总线LSDA相连接,控制端与所述数据方向控制电路1的第二控制信号输出控制端连接,当所述第二控制信号有效时,所述LSDA数据线驱动电路3导通,数据从主机端I3C数据总线HSDA传播到从机端I3C数据总线LSDA,当所述第二控制信号无效时,所述LSDA数据线驱动电路3关断。
所述数据方向控制电路1在设备地址位和读写位阶段,当检测到主机设备端的数据线为高电平且从机设备端的数据线为低电平时,将第一控制信号置为有效,第二控制信号置为无效,使得HSDA数据线驱动电路2导通,LSDA数据线驱动电路3关断,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA,主机端I3C数据总线HSDA的电平被拉低,其它集线器从机端的I3C数据线LSDA的电平也被拉低,主机设备和从机设备根据采样到的数据线的电平值进行竞争结果判断,在这个比特位竞争失败的设备退出竞争,其余设备接下来竞争后续比特位。
LSCL时钟线驱动电路4的输入端与主机端I3C时钟总线HSCL相连接,输出端与从机端I3C时钟总线LSCL相连接,用于将主机端I3C时钟总线HSCL上的时钟信号直传到从机端I3C时钟总线。
所述数据方向控制电路1包括HSCL时钟信号输入端hscl_in、LSDA数据信号输入端lsda_in、HSDA数据信号输入端hsda_in、HSDA数据线输出控制端hsda_out、LSDA数据线输出控制端lsda_out,其中:
HSCL时钟信号输入端hscl_in与主机端I3C时钟总线HSCL相连接,用于获取主机端I3C时钟总线HSCL上的时钟信号;
LSDA数据信号输入端lsda_in与从机端I3C数据总线LSDA相连接,用于获取从机端I3C数据总线LSDA上的数据信号;
HSDA数据信号输入端hsda_in与主机端I3C数据总线HSDA相连接,用于获取主机端I3C数据总线HSDA上的数据信号;
HSDA数据线输出控制端hsda_out与HSDA数据线驱动电路2的控制端相连接,用于输出第一控制信号,控制所述HSDA数据线驱动电路2的导通和关断;
LSDA数据线输出控制端lsda_out与LSDA数据线驱动电路3的控制端相连接,用于输出第二控制信号,控制所述LSDA数据线驱动电路3的导通和关断。
当主机设备以及从机设备均处于空闲状态时,主机端的时钟线HSCL、数据线HSDA为高电平,从机端的时钟线LSCL、数据线LSDA也为高电平。当主机设备要与从机设备通信时,主机端的数据线HSDA会先拉低,然后再拉低时钟线HSCL,产生起始条件,集线器和从机设备检测到起始条件,通信开始进入发送设备地址和读写位阶段,此阶段也是中断竞争识别阶段。时钟下降沿后,需要中断的从机设备会依次输出自己的设备地址和读写位进行总线的竞争。主机设备也可能在此时输出期望的从机设备地址和读写位进行总线的竞争,主从机设备在接下来的时钟上升沿判断数据线是否是自己需要的数据,是则认为赢得竞争,接着竞争接下来的数据位,否则停止后面的竞争。
I3C集线器的数据传输方向默认为由主机到从机,主机端的数据线HSDA和从机端的数据线LSDA的数据线状态只有可能是三种:HSDA和LSDA都是高电平、HSDA和LSDA都是低电平、HSDA高电平时LSDA低电平。前两种情况不需要I3C集线器特别处理,后一种情况表示从机设备参与并赢得了总线的竞争,需要I3C集线器进行判断处理。本发明的思路为:I3C集线器在主从设备输出自己的设备地址到检查竞争结果之间选定了一个时间点先进行结果判断,利用I3C协议的开漏输出特性,若发现HSDA高电平时LSDA低电平,则切换数据传播方向为由从机到主机,从而使得HSDA也为低电平,其它集线器从机端的数据线的电平也被拉低,主机设备和所有的从机设备也就能知道有从机设备在竞争该比特位。
I3C一次完整的传输主要包括以下几个阶段:起始条件产生判断阶段、设备地址和读写位阶段、应答阶段、数据阶段、停止条件产生判断阶段,当主机在I3C时钟总线HSCL和数据总线HSDA上产生起始条件时,I3C集线器检测到起始条件,在接下来的设备地址和读写位阶段进行中断仲裁,如图3所示为I3C集线器中断仲裁方法流程图,所述方法的具体步骤为:
步骤S1A,I3C集线器设置第一控制信号的初始值为无效,第二控制信号的初始值为有效。如此设置,数据传播方向为由主机到从机。
步骤S1B,在主机端I3C总线上产生Start条件,I3C集线器和主从设备检测到Start条件。按照I3C协议,Start条件通常由主机设备产生,但也可能由从机设备产生,本发明对此不做限制。
步骤S1,需要参与总线竞争的主机设备和从机设备在时钟下降沿发送设备地址位和读写位,在上升沿采样数据,根据I3C协议判断竞争结果,当前比特竞争成功,继续发送下一个地址位或读写位,如果竞争失败,退出总线竞争。每个时钟周期发送1个比特位,一共7个地址位,1个读写位。
步骤S2,在发送设备地址位和读写位阶段,I3C集线器在主机端I3C时钟总线HSCL的每个时钟下降沿之后的固定时刻设置检测时间点,检测HSDA和LSDA的电平,如果HSDA为高电平,LSDA为低电平,输出有效的第一控制信号,无效的第二控制信号,HSDA数据线驱动电路2导通,LSDA数据线驱动电路3关断,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA。
所述步骤S2中,I3C集线器通过定时或者延迟单元设定检测时间点,本发明实施例中,各个I3C集线器设置相同的检测时间点。
I3C集线器设置的检测时间点在下降沿和上升沿之间,因此,能够在主从设备采样之前完成检查,如果HSDA为高电平,LSDA为低电平,I3C集线器将I3C从机端数据总线LSDA的数据传播到主机端数据总线HSDA之后,主机端数据总线HSDA上的电平被拉低,其它集线器从机端的数据线LSDA的电平也被拉低。
步骤S3,在发送设备地址位和读写位阶段,I3C集线器在I3C时钟总线HSCL的时钟信号下降沿,输出无效的第一控制信号,有效的第二控制信号,LSDA数据线驱动电路3导通,HSDA数据线驱动电路2关断,数据从主机端I3C数据总线HSDA传播到从机端I3C数据总线LSDA。
当I3C集线器将主机端数据总线上的高电平拉低之后,如果主机设备也在参与总线竞争,主机设备在接下来的时钟上升沿采样数据的时候发现主机端数据总线上的电平与预期的电平不一致,即可知道自己竞争失败,将会退出接下来的总线竞争,从机设备赢得竞争,继续发送后续的设备地址位和读写位。如果此时有多个从机设备在参与竞争,各从机设备按照I3C协议,根据从机数据总线上的采样值和自己发送值的对比,进行竞争结果判定。
步骤S4,在发送设备地址位和读写位阶段之后的时钟周期,I3C集线器不再设置检测时间点进行HSDA和LSDA电平的检测。
在发送设备地址位和读写位阶段之后,I3C集线器根据协议判定数据传播方向,不再进行HSDA和LSDA电平的检测。
如图4所示为本发明实施例提供的一个I3C集线器中断仲裁方法时序图。下面结合图4对I3C集线器的工作原理进行详细说明。
图4中,Bus State表示总线状态,其中Idle表示空闲阶段,Start表示起始条件阶段,Device Address表示设备地址发送阶段,Read/Write表示读写位发送阶段,Acknowledge表示应答阶段,Data表示数据阶段。HSCL表示主机端时钟总线信号,HSDA表示主机端数据总线信号,LSDA表示从机端数据总线信号,其中,1(1)表示总线实际值为1,设备目标值为1,即设备输出的值为1,采样到的总线实际值也为1;1(-)表示总线实际值为1,设备没有输出地址位。HUB Direction表示I3C集线器控制的数据传播方向,其中,H->L表示数据方向为由主机到从机,L->H表示数据方向为由从机到主机。
起始时,I3C总线处于空闲状态,主机端的时钟线HSCL、数据线HSDA为高电平,从机端的时钟线LSCL、数据线LSDA也为高电平。当主机要与从机通信时,主机端的数据线HSDA会先拉低,然后再拉低时钟线HSCL,产生Start起始条件,I3C集线器控制数据传播方向为H->L。
I3C集线器在时钟线HSCL的第一个下降沿检测到Start信号,通过定时或者延迟单元在接下来的8个时钟周期各设置1个时间检查点进行中断仲裁,如图中Check time所示。
接下来进入到设备地址发送阶段,在此阶段,主机设备和从机设备都参与了竞争。主机设备和从机设备在时钟下降沿发送数据,在下一个上升沿采样数据,判断竞争结果。
在第一个时钟周期之内,主从设备分别发送第一个地址比特位,主机数据总线HSDA上的数据为1,主机设备的目标值为1,从机数据总线LSDA上的数据为1,从机设备的目标值为1,主机设备和从机设备发送的地址位相同,接着进行下一个比特位的竞争。I3C集线器在设定的时间检查点进行检测,HSDA和LSDA均为高电平,因此I3C集线器设置数据传播方向仍然保持默认的H->L。
在第二个时钟周期之内,主从设备分别发送第二个地址比特位,主机数据总线HSDA上的数据为0,主机设备的目标值为0,从机数据总线LSDA上的数据为0,从机设备的目标值为0,主机设备和从机设备发送的地址位相同,接着进行下一个比特位的竞争。I3C集线器在设定的时间检查点进行检测,HSDA和LSDA均为低电平,因此I3C集线器设置数据传播方向仍然保持默认的H->L。
在第三个时钟周期之内,主从设备分别发送第三个地址比特位,主机数据总线HSDA上的数据为1,主机设备的目标值为1,从机数据总线LSDA上的数据为0,从机设备的目标值为0,I3C集线器在设定的时间检查点进行检测,发现HSDA为高电平,LSDA为低电平,通过控制电路将数据传播方向调整为L->H,HSDA被拉成低电平,主机设备在下一个上升沿采样到低电平,发现与目标值1不符,得知从机设备赢得了总线竞争。如果此时另一个I3C集线器下也有从机设备在同时竞争总线,并且其发送的比特位为1,因为主机端I3C的数据线HSDA被拉成低电平,该设备所在集线器对应的从机端的数据总线也会变成低电平,该设备检测到其对应的集线器从机端的数据总线的电平变化,即可判断出自己竞争失败,将会退出后续的竞争。
I3C集线器在第4个时钟下降沿,通过控制电路将数据传播方向重新调整为H->L,主机设备得知从机设备赢得了竞争,在第4-8个时钟下降沿不再发送数据,从机设备接下来发送后面的地址位和读写位。I3C集线器在第4个时间检查点检测到HSDA和LSDA均为高电平,不做数据传播方向调整;在第5个时间检查点检测到HSDA为高电平,LSDA为低电平,通过控制电路将数据传播方向调整为L->H,在第6个HSCL时钟下降沿,通过控制电路将数据传播方向调整为H->L;在第6个时间检查点检测到HSDA为高电平,LSDA为低电平,通过控制电路将数据传播方向调整为L->H,在第7个HSCL时钟下降沿,通过控制电路将数据传播方向调整为H->L;在第7个时间检查点检测到HSDA为高电平,LSDA为低电平,通过控制电路将数据传播方向调整为L->H,在第8个HSCL时钟下降沿,通过控制电路将数据传播方向调整为H->L;在第8个时间检查点检测到HSDA和LSDA均为高电平,不做数据传播方向调整。
直到设备地址和读写位阶段结束,I3C集线器根据竞争结果就可以知道后续的操作应该是主机应答还是从机应答,数据是写数据还是读数据了,不需要再设置时间检查点进行中断仲裁和数据传播方向调整。
本发明主要利用了I3C协议的开漏输出特性,I3C集线器在设备地址位和读写位阶段,检查主机设备端的数据线为高电平时,从机设备端的数据线是否被拉低,来确定在中断竞争识别阶段有无从机设备存在中断竞争行为,如果有,通过控制电路将从机数据线的数据传播到主机数据线,主机数据线的电平被拉低,其它集线器从机端的数据线的电平也被拉低,从机设备的中断行为因此被传播到所有的主从设备,各主从设备根据采样到的数据线的电平值进行竞争结果判断,在这个比特位竞争失败的设备退出竞争,其余设备接下来竞争后续比特位,从而达到扩展从机设备数量后也能支持从机设备中断仲裁的目的。本发明的技术方案对设备没有电气特性要求,控制逻辑简单,易于集成,非常适合用于多I3C从机设备的系统的中断仲裁控制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本说明书中使用的“第一”、“第二”等包含序数的术语可用于说明各种构成要素,但是这些构成要素不受这些术语的限定。使用这些术语的目的仅在于将一个构成要素区别于其他构成要素。例如,在不脱离本发明的权利范围的前提下,第一构成要素可被命名为第二构成要素,类似地,第二构成要素也可以被命名为第一构成要素。两个实体之间的“相连”或“连接”,不仅仅包括将两个实体直接相连,也包括通过具有有益改善效果的其他实体间接相连。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式的变形,这些均属于本发明的保护之内。
Claims (8)
1.一种I3C集线器,其特征在于,包括:数据方向控制电路(1)、HSDA数据线驱动电路(2)、LSDA数据线驱动电路(3)、LSCL时钟线驱动电路(4),其中:
所述数据方向控制电路(1)与HSDA数据线驱动电路(2)、LSDA数据线驱动电路(3)、LSCL时钟线驱动电路(4)及主机端时钟总线HSCL、主机端数据总线HSDA、从机端数据总线LSDA连接,用于根据所述主机端时钟总线HSCL、所述主机端数据总线HSDA、所述从机端数据总线LSDA上的信号来产生第一控制信号和第二控制信号,控制所述HSDA数据线驱动电路(2)、所述LSDA数据线驱动电路(3)的导通和关断,所述第一控制信号和所述第二控制信号不会同时有效;
所述HSDA数据线驱动电路(2)的输入端与从机端I3C数据总线LSDA相连接,输出端与主机端I3C数据总线HSDA相连接,控制端与所述数据方向控制电路(1)的第一控制信号输出控制端连接,当所述第一控制信号有效时,所述HSDA数据线驱动电路(2)导通,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA,当所述第一控制信号无效时,所述HSDA数据线驱动电路(2)关断;
所述LSDA数据线驱动电路(3)的输入端与主机端I3C数据总线HSDA相连接,输出端与从机端I3C数据总线LSDA相连接,控制端与所述数据方向控制电路(1)的第二控制信号输出控制端连接,当所述第二控制信号有效时,所述LSDA数据线驱动电路(3)导通,数据从主机端I3C数据总线HSDA传播到从机端I3C数据总线LSDA,当所述第二控制信号无效时,所述LSDA数据线驱动电路(3)关断;
所述数据方向控制电路(1)在设备地址位和读写位阶段,当检测到主机设备端的数据线为高电平且从机设备端的数据线为低电平时,将所述第一控制信号置为有效,所述第二控制信号置为无效。
2.根据权利要求1所述的一种I3C集线器,其特征在于,所述LSCL时钟线驱动电路(4)的输入端与主机端I3C时钟总线HSCL相连接,输出端与从机端I3C时钟总线LSCL相连接,用于将主机端I3C时钟总线HSCL上的时钟信号直传到从机端I3C时钟总线。
3.根据权利要求2所述的一种I3C集线器,其特征在于,所述数据方向控制电路(1)包括HSCL时钟信号输入端(hscl_in)、LSDA数据信号输入端(lsda_in)、HSDA数据信号输入端(hsda_in)、HSDA数据线输出控制端(hsda_out)、LSDA数据线输出控制端(lsda_out),其中:
HSCL时钟信号输入端(hscl_in)与主机端I3C时钟总线HSCL相连接,用于获取主机端I3C时钟总线HSCL上的时钟信号;
LSDA数据信号输入端(lsda_in)与从机端I3C数据总线LSDA相连接,用于获取从机端I3C数据总线LSDA上的数据信号;
HSDA数据信号输入端(hsda_in)与主机端I3C数据总线HSDA相连接,用于获取主机端I3C数据总线HSDA上的数据信号;
HSDA数据线输出控制端(hsda_out)与HSDA数据线驱动电路(2)的控制端相连接,用于输出第一控制信号,控制所述HSDA数据线驱动电路(2)的导通和关断;
LSDA数据线输出控制端(lsda_out)与LSDA数据线驱动电路(3)的控制端相连接,用于输出第二控制信号,控制所述LSDA数据线驱动电路(3)的导通和关断。
4.一种I3C集线器中断仲裁数字实现方法,其特征在于,所述中断仲裁数字实现方法基于权利要求1-3中任一项权利要求所述的I3C集线器实现,所述中断仲裁数字实现方法包括以下步骤:
步骤S1,需要参与总线竞争的主机设备和从机设备在时钟下降沿发送设备地址位和读写位,在上升沿采样数据,根据I3C协议判断竞争结果,当前比特竞争成功,继续发送下一个地址位或读写位,如果竞争失败,退出总线竞争;
步骤S2,在发送设备地址位和读写位阶段,I3C集线器在主机端I3C时钟总线HSCL的每个时钟下降沿之后的固定时刻设置检测时间点,检测HSDA和LSDA的电平,如果HSDA为高电平,LSDA为低电平,输出有效的第一控制信号,无效的第二控制信号,HSDA数据线驱动电路(2)导通,LSDA数据线驱动电路(3)关断,数据从从机端I3C数据总线LSDA传播到主机端I3C数据总线HSDA;
步骤S3,在发送设备地址位和读写位阶段,I3C集线器在I3C时钟总线HSCL的时钟信号下降沿,输出无效的第一控制信号,有效的第二控制信号,LSDA数据线驱动电路(3)导通,HSDA数据线驱动电路(2)关断,数据从主机端I3C数据总线HSDA传播到从机端I3C数据总线LSDA。
5.根据权利要求4所述的一种I3C集线器中断仲裁数字实现方法,其特征在于,所述方法在步骤S1之前,还包括:
步骤S1A,I3C集线器设置第一控制信号的初始值为无效,第二控制信号的初始值为有效;
步骤S1B,在主机端I3C总线上产生Start条件,I3C集线器和主从设备检测到Start条件。
6.根据权利要求4所述的一种I3C集线器中断仲裁数字实现方法,其特征在于,在所述步骤S2中,I3C集线器通过定时或者延迟单元设置检测时间点。
7.根据权利要求4所述的一种I3C集线器中断仲裁数字实现方法,其特征在于,所述步骤S2中,各个I3C集线器设置相同的检测时间点。
8.根据权利要求4所述的一种I3C集线器中断仲裁数字实现方法,其特征在于,所述方法在步骤S3之后,还包括:
步骤S4,在发送设备地址位和读写位阶段之后的时钟周期,I3C集线器不再设置检测时间点进行HSDA和LSDA电平的检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311487762.4A CN117215977B (zh) | 2023-11-09 | 2023-11-09 | 一种i3c集线器及中断仲裁数字实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311487762.4A CN117215977B (zh) | 2023-11-09 | 2023-11-09 | 一种i3c集线器及中断仲裁数字实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215977A true CN117215977A (zh) | 2023-12-12 |
CN117215977B CN117215977B (zh) | 2024-03-22 |
Family
ID=89042952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311487762.4A Active CN117215977B (zh) | 2023-11-09 | 2023-11-09 | 一种i3c集线器及中断仲裁数字实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215977B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117933153A (zh) * | 2024-03-21 | 2024-04-26 | 成都电科星拓科技有限公司 | I3c总线验证系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073611A (zh) * | 2011-02-16 | 2011-05-25 | 东莞市泰斗微电子科技有限公司 | 一种i2c总线控制系统及方法 |
CN108111382A (zh) * | 2017-12-01 | 2018-06-01 | 广东高云半导体科技股份有限公司 | 基于i3c总线的通信装置及其通信方法 |
CN114020673A (zh) * | 2021-10-14 | 2022-02-08 | 上海矽睿科技股份有限公司 | 自动跳线装置及通信设备 |
US20230103368A1 (en) * | 2022-12-02 | 2023-04-06 | Intel Corporation | Memory module management device |
CN116805836A (zh) * | 2022-03-16 | 2023-09-26 | 辉芒微电子(深圳)股份有限公司 | 一种自供电电源驱动电路及芯片 |
-
2023
- 2023-11-09 CN CN202311487762.4A patent/CN117215977B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073611A (zh) * | 2011-02-16 | 2011-05-25 | 东莞市泰斗微电子科技有限公司 | 一种i2c总线控制系统及方法 |
CN108111382A (zh) * | 2017-12-01 | 2018-06-01 | 广东高云半导体科技股份有限公司 | 基于i3c总线的通信装置及其通信方法 |
CN114020673A (zh) * | 2021-10-14 | 2022-02-08 | 上海矽睿科技股份有限公司 | 自动跳线装置及通信设备 |
CN116805836A (zh) * | 2022-03-16 | 2023-09-26 | 辉芒微电子(深圳)股份有限公司 | 一种自供电电源驱动电路及芯片 |
US20230103368A1 (en) * | 2022-12-02 | 2023-04-06 | Intel Corporation | Memory module management device |
Non-Patent Citations (1)
Title |
---|
王相伟;郭宝利;郭亮;杜艳;朱红霞;宋忠强;: "用于多表集抄系统的自适应M-BUS主机电路设计", 电测与仪表, no. 04 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117933153A (zh) * | 2024-03-21 | 2024-04-26 | 成都电科星拓科技有限公司 | I3c总线验证系统 |
CN117933153B (zh) * | 2024-03-21 | 2024-06-04 | 成都电科星拓科技有限公司 | I3c总线验证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117215977B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102023953B (zh) | 具有多路i2c总线的系统的控制方法 | |
US10169282B2 (en) | Bus serialization for devices without multi-device support | |
CN109213715B (zh) | 通信方法和相应的设备 | |
CN117215977B (zh) | 一种i3c集线器及中断仲裁数字实现方法 | |
EP0258872B1 (en) | Serial data transfer system | |
EP1187033B1 (en) | PCI arbiter with hot plug controller support | |
US6119183A (en) | Multi-port switching system and method for a computer bus | |
US10936524B2 (en) | Bus system with slave devices | |
CN103312636B (zh) | 信息处理装置、串行通信系统和装置以及通信初始化方法 | |
KR19990087498A (ko) | 프로세서 시스템용 단선(one-wire) 유니버설 비동기 송/수신기(uart) | |
TWI706257B (zh) | 匯流排系統 | |
JP2009535677A (ja) | I2cクロックの生成方法及びシステム | |
KR20130129388A (ko) | 프로세서 모듈들 사이에서 데이터를 송신하는 방법 및 회로 배열 | |
WO2007030978A1 (fr) | Procede, appareil de reinitialisation et equipement pour effectuer la reinitialisation d'un dispositif maitre dans un bus i2c | |
JP2007529814A (ja) | 接続された装置の検知された伝送方向に依存した、送信器又は受信器としての通信ポートの自動設定 | |
US6175887B1 (en) | Deterministic arbitration of a serial bus using arbitration addresses | |
WO2005083577A2 (en) | Integrated circuit with two different bus control units | |
US20220327086A1 (en) | Bus system | |
CN116566761A (zh) | Spi双主机共享仲裁系统及方法 | |
JP3459075B2 (ja) | 同期式シリアルバス方式 | |
JP2000231539A (ja) | データ転送システムおよびデータ転送方法 | |
KR20100135642A (ko) | 타이밍 제어기, 이를 이용하여 데이터를 송수신하는 장치 | |
US11374846B1 (en) | Lin master testing device | |
JPH0343804A (ja) | シーケンス制御装置 | |
RU2802535C1 (ru) | Способ автоматической инициализации и авторизации устройств, объединенных в одной системе |
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 |