CN101627375A - I2c时钟发生方法和系统 - Google Patents

I2c时钟发生方法和系统 Download PDF

Info

Publication number
CN101627375A
CN101627375A CN200780012025A CN200780012025A CN101627375A CN 101627375 A CN101627375 A CN 101627375A CN 200780012025 A CN200780012025 A CN 200780012025A CN 200780012025 A CN200780012025 A CN 200780012025A CN 101627375 A CN101627375 A CN 101627375A
Authority
CN
China
Prior art keywords
clock
clock signal
state
bus
state machine
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
CN200780012025A
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101627375A publication Critical patent/CN101627375A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

使用多种方法实现了I2C时钟发生器。根据一种这样的方法,这种方法的实现方式是,利用以状态机方式配置的逻辑电路来控制I2C总线上的时钟信号(110)。状态机的第一状态(202)判定是否要实现时钟伸展延迟。状态机的第二状态(206)判定I2C总线是被配置为运行于标准时钟模式还是运行于多种更快速的时钟模式中的一种。状态机的第三状态(210)在允许以另一种二进制逻辑状态驱动时钟信号(110)之前,在大于大约0.5微秒的时间内以一种二进制逻辑状态驱动时钟信号,并在大于大约0.5微秒的时间内使时钟信号保持于另一种二进制逻辑状态。

Description

I2C时钟发生方法和系统
相关申请的交叉引用
本申请要求2006年3月31日提交的、题为“State Machine forGeneration of an I2C Clock”的、在先提交的临时申请60/788,570的优先权。
技术领域
本发明总体涉及I2C时钟发生,更具体地,涉及针对快速加模式(Fast-Plus Mode)的I2C时钟的实现。
背景技术
电子系统通常使用互连接在系统组件间传输信息。这样的互连接通常由一条或多条汇聚在一起信号线构成,也被称作总线。为了传输信息,系统的组件必须将总线的电压电平驱动至适当的电平。通常存在一些规范,用于规定在特定系统中电压可以何种快慢程度发生变化。例如,某些系统使用被称为内置集成电路总线或I2C总线的总线协议。
I2C总线是控制总线,提供系统中集成电路间的通信链路。这种带有软件定义协议的简单的双线总线是由Philips在80年代初期开发的,目前该双线总线已经发展成为用于系统控制的事实上的全球标准,在从温度传感器和电压电平转换器到EEPROMs、通用I/O、A/D和D/A转换器、CODECs,以及微处理器等各种设备中得到应用。Moelands等人的题为“Two-Wire Bus-System Comprising a Clock Wire and a DataWire for Interconnecting a Number of Stations”的美国专利4,689,740描述了一种计算机系统,该计算机系统包括许多工作站,这些工作站由时钟总线线路和数据总线线路进行互连,从而根据由工作站在时钟总线线路和数据总线线路上产生的信号形成布线逻辑总线,其全部内容被合并于此以作参考。在题为“The I2C Bus Specification(Version2.1,January 2000)”的I2C规范中同样可以找到有关I2C设备的实现方面的其他信息。
I2C总线还可以节省空间并降低总成本。使用I2C规范,设计者可以迅速地根据方框图实现最终硬件,使得向现有总线接口添加新设备和新功能得到了简化。由于该系统已经历了几代的发展,因此可以很容易地添加或移除I2C设备,而不对系统的其余部分造成影响。双线结构意味着较少的迹线(trace line),因而PCB可以制作得更小。由于较少的迹线和相对简单的协议的缘故,调试和测试也更加方便。
迄今为止I2C总线已延续了20多年这一事实是由若干原因所导致的。首先,最新引入的集线器、总线中继器、双向开关和复用器增加了总线所能够支持的设备的数量,扩充了最初受400pF的最大总线容量所限的设备数量。此外,软件控制的冲突检测(collision detection)和仲裁(arbitration)即使在复杂的系统中也可以防止数据损坏,并确保实现可靠的性能。除了性能以外,使用也十分方便。两条简单的线路连接系统中的所有集成电路。任意I2C设备都可以连接在公共I2C总线上,并且任意主设备均可与任意从设备交换信息。软件控制的寻址方案消除了对于寻址-译码硬件的需要,并且,由于I2C协议已经提供了外部控制逻辑,因此无需设计和调试外部控制逻辑。此外,总线的性能与时俱进,目前能够提供使用递增的时钟速度实现4种级别的数据速率传输。例如,在标准模式下时钟速度可以达到100KHz,在快速模式下可以达到400KHz,在快速模式加(Fast-Mode plus)下可以达到1MHz,在高速模式下可以达到3.4MHz。尽管高速模式使时钟速度能够达到3.4MHz,但是高速模式需要附加总线逻辑,而标准、快速和快速加模式并不需要这种附加总线逻辑。
根据标准、快速和快速模式加规范,片上I2C接口包括开漏NMOS下拉设备,而I2C总线上的所有设备共用一个单独的上拉电阻器。为了补偿快速模式加提高了的总线速度,规范要求能过产生频率在400KHz和1MHz之间的时钟信号。为了保持后向兼容,还需要产生兼容标准模式和快速模式的时钟信号。
可以使用各种方法实现同标准和快速模式规范兼容的时钟信号的发生。一种方法是利用由Philips Semiconductor Corportion制造的设备PCF8584和PCA9564予以实现的。在“PCF8584 I2C Bus Controller(October 1977)”和“PCA9564 Parallel Bus to I2C Controller(June2004)”的数据表中可以找到关于这些设备的其他信息。然而,这样的设备不具备产生同快速加模式兼容的时钟信号的能力。
上述和其它问题在为I2C总线产生时钟信号这方面造成了困难。因此,在为I2C总线产生同快速加模式兼容的时钟信号方面存在可以改进的空间。
发明内容
本发明的各个方案涉及解决和克服了上述问题的、用于为快速加模式产生I2C时钟的方法和配置。
根据一示例实施例,实现了一种同具有时钟信号的I2C总线一起使用的方法。该方法使用逻辑电路控制I2C总线上的时钟信号。逻辑电路是以状态机的方式进行配置的。状态机的第一状态判定是否要实现时钟伸展延迟。状态机的第二状态对不实现时钟伸展延迟判定予以响应,判定I2C总线是被配置为运行于标准时钟模式还是运行于多种其中之一为快速时钟模式的更快速的时钟模式中的一种。状态机的第三状态对该设备既未被配置为运行于标准时钟模式也未被配置为运行于快速时钟模式的判定予以响应,在大于大约0.5微秒且小于大约2.5微秒的时间内以一种二进制逻辑状态驱动时钟信号。然后允许以另一种二进制逻辑状态驱动时钟信号。在时钟信号再次被驱动为所述一种二进制逻辑状态之前,在大于大约0.5微秒且小于大约2.5微秒的时间内将时钟信号保持于另一种逻辑状态。
根据另一示例实施例,实现了一种逻辑电路,用于控制I2C总线的时钟信号。所述逻辑电路包含配以多种状态的状态机。第一状态判定是否实现时钟伸展延迟。第二状态对不实现时钟伸展延迟判定予以响应,判定I2C总线是被配置为运行于标准时钟模式还是运行于多种其中之一为快速时钟模式的更快速的时钟模式中的一种。第三状态对该设备既未被配置为运行于标准时钟模式也未被配置为运行于快速时钟模式的判定予以响应,在大于大约0.5微秒且小于大约2.5微秒的时间内以一种二进制逻辑状态驱动时钟信号。然后允许在时钟信号再次被驱动为第一种二进制逻辑状态之前,在大于大约0.5微秒且小于大约2.5微秒的时间内,以另一种二进制逻辑状态驱动时钟信号。
本发明的上述概要本意并不在于描述本发明的各实施例或每种实现。参照以下结合附图的详细说明和权利要求,本发明的优势和效果以及对于本发明的更加全面的理解,将变得显而易见和易于体会。
附图说明
考虑以下结合附图的本发明的各实施例的详细说明,可以更加全面地理解本发明,附图中:
图1示出了根据本发明的示例实施例的为标准、快速和快速加模式配置的I2C系统的框图;
图2示出了根据本发明的示例实施例的用于产生同快速加模式规范兼容的时钟信号的方法的流程图;以及
图3A-3E示出了根据本发明的示例性实施例的用于产生选择性地同标准模式、快速模式和快速加模式规范兼容的时钟信号的状态机的示意图。
具体实施方式
虽然本发明可以由各种修改方案和可替换形式,但在附图中以示例的方式示出了其特定方案,并将对其予以详细说明。然而,应当理解的是,本发明不局限于所描述的特定实施例。相反,本发明应涵盖属于由所附权利要求限定的发明的精神和范围内的全部修改方案,等价方案,以及候选方案。
本发明被认为适于各种I2C设备和涉及I2C快速加模式设备的方法。然而本发明未必局限于这样的应用,通过在这样的环境下讨论示例可以获得对本发明各方案的最佳理解。
根据本发明的示例实施例,通过实现状态机来产生大约位于400KHz和1MHz之间的时钟信号。状态机的第一状态判定是否实现时钟伸展延迟(clock stretching delay)。状态机的第二状态判定I2C总线是被配置为运行于标准时钟模式还是运行于多种更快速的时钟模式中的一种,其中多种更快的时钟模式包括快速时钟模式或快速加时钟模式。如果设备既未被配置为运行于标准时钟模式也未被配置为运行于快速加时钟模式,那么状态机的第三状态就在允许以另一种二进制逻辑状态驱动时钟信号之前,在大于大约0.5微秒且小于大约2.5微秒的时间内以一种二进制逻辑状态驱动时钟信号,并允许在大于大约0.5微秒且小于大约2.5微秒的时间内以另一种二进制逻辑状态保持时钟信号。设备可以重复这些状态,以产生400KHz和1MHz之间的时钟信号。
根据本发明的另一示例实施例,状态机产生用于I2C总线事务(bustransaction)的I2C时钟(SCL)。状态机还分别在I2C总线上产生“启动”和“终止”条件以启动和终止通信。使其时钟与SCL线上的其它时钟同步。状态机还支持时钟伸展。状态机能够为三种不同的I2C频率模式(标准、快速和快速加模式)产生定时。状态机提供可编程的、用于适当地从错误状态中恢复过来的超时特征。状态机对用于判定是否实现超时特征的使能信号予以响应。当该特征启用时,在指示I2C总线上出现错误前,状态机等待一段等同于超时值的时间。
下面参考附图,图1示出了根据本发明的示例实施例的标准、快速和快速加模式的I2C系统的框图。I2C设备102实现3种I2C时钟模式,标准104、快速106和快速加108。这些模式决定了在I2C总线上提供的时钟信号110(SCL)和数据信号112(SDA)的速率。标准模式104使用小于大约100KHz的时钟;快速模式106使用小于大约400KHz的时钟,快速加模式108使用小于大约1MHz的时钟。产生的SCL110时钟由设备114予以接收,并与SDA 112结合使用,以在设备之间发送数据。
图2示出了根据本发明的示例实施例的用于产生同快速模式加规范兼容的时钟信号的方法的流程图。图2示出了输出模式202、208、212、214和216以及判决块204、206和210。这些状态和判决块可以通过例如,主I2C设备的状态机予以实现。可以使用由处理器和任意类似方法实现的可编程逻辑、分立电路、软件来设计和实现的所述状态机。
当判定设备需要发生时钟信号时,状态机进入输出模式202。这样的判定基于I2C规范,并且所述判定包括诸如对另一I2C设备予以响应以及从另一I2C设备请求数据等情况。在输出模式202期间,时钟信号被驱动为逻辑低电平值。
判决块204在实现时钟伸展期间保持逻辑低电平值。一旦判定不再需要时钟伸展,判决块206就判定设备是否被配置用于标准模式。如果设备被配置用于标准模式,状态机就进入输出模式208,实现针对于标准模式的延迟。否则,状态机就进入判决块210,判定是否将设备配置用于快速模式。如果设备被配置用于快速模式,状态机就进入输出模式212,实现针对于快速模式的延迟。否则,状态机就进入输出模式214,实现针对于快速加模式的延迟。一旦完成了适当的时钟延迟,状态机就进入输出模式216,在与由判决块206和210所确定的模式相一致的时间内释放时钟。然后重复所述整个过程,以为SCL线产生时钟信号。
图2示出了针对于标准模式顺序实现的输出模式208、212和214,以及针对于快速模式顺序实现的输出模式212和214。例如,工作于标准模式的设备的总时钟延迟是输出模式208、212和214的延迟之和。这样的顺序操作对于通过重用针对于标准或快速模式的输出模式212和214的延迟从而降低状态机的复杂性而言特别有用。在其它实施例中,可以通过例如在针对于各时钟模式的一种输出模式下实现整个延迟的方式,使每个延迟独立于其它延迟。
图3A-E示出了根据本发明的示例实施例、用于产生选择性地同标准模式、快速模式和快速加模式规范兼容的时钟信号的状态机的示意图。该状态机为I2C总线事务产生SCL时钟。该状态机还在I2C总线上产生“启动”和“终止”条件,以分别启动和终止通信。该状态机使其时钟同SCL线上的其它时钟同步。状态机还支持时钟伸展。状态机能够为三种不同I2C频率模式(标准、快速和快速加模式)产生定时。状态机使用一个或多个计数器遍历各个状态。为简洁起见,以下说明描述了一个用于整个过程的计数器,然而,由于可以对各种延迟使用多个计数器,因此其本意并不是限制性的。
状态图示出了36种状态(S1-S36),并显示了事件应该以何种顺序发生,以在I2C总线上产生正确的定时信号(timed signal)。以下对各种状态以及这些状态用于实现正确的I2C行为的方式进行了说明。
S0-复位,状态机进入状态S0。这是状态机的默认状态。当处于该状态时,如果状态机在I2C总线上检测到“启动”条件,状态机就进入指示总线繁忙(例如,总线正被另一主设备所使用)的状态S13。如果状态机接收到发送“启动”条件的信号,就进入状态S1。
S1-当处于该状态时,如果状态机在I2C总线上检测到“启动”条件,就进入状态S13,总线繁忙状态。否则,状态机就检查SCL线,以确定SCL线为高电平。SCL线上的高电平表明,前一设备已经释放了I2C总线,并且状态机进入状态S2。如果已经启用了超时操作,并且SCL线为低电平(即,SCL线还没有被另一设备释放),状态机就开始对超时期进行计数。如果没有启用超时操作,状态机就停留在状态S1,直到SCL线释放或在总线上检测到“启动”条件为止。一旦超时期结束,如果SCL线仍为低电平,状态机就进入状态S17,以表明I2C总线的SCL线上的错误。
S2-如果状态机检测到“启动”条件,就进入状态S13(总线繁忙状态)。否则,状态机检测SDA线。如果SDA线为高电平,即,在I2C总线上没有其它设备将SDA线保持为低电平,状态机就进入状态S3。如果检测到SDA线为低电平,则假设某些从设备将SDA线下拉至低电平,因此状态机进入状态S18,在状态S18下状态机尝试发送9个时钟脉冲,以使可能导致SDA线变为低电平的滞留从设备(stuck slave)同步。如果,在9个时钟脉冲之后,该SDA线仍旧滞留在低电平,状态机就进入状态S16,以表明SDA线上的错误。
S3-在状态S3中,SDA线被下拉至低电平,以便在I2C总线上产生“启动”条件。当状态机检测到在I2C总线上的SDA已变为低电平,状态机就进入状态S4,否则,就停留在状态S3中。根据I2C规范,该检测确保SDA线上的电压电平已经达到足够低的电压。
S4-计数器为“启动”条件对保持时间进行计数。如果在计数器完成计数之前SCL线变为低电平,状态机就进入S19,否则,状态机在完成计数之后进入状态S5。
S5-在状态S5中,SCL线被下拉至低电平。一旦状态机检测到SCL线为低电平,状态机就进入状态S23。根据I2C规范,该检测确保SCL线上的电压电平已经达到足够低的电压。
S6-在状态S6中,计数器对SCL时钟的低电平期进行计数。一旦完成计数,状态机就进入状态S7。在SDA出错的情况下,(即,状态机发送了9个时钟脉冲而SDA线依旧保持在低电平的情况下),状态机就进入状态S16,以表明SDA线上的错误。
S7-只要需要伸展SCL时钟,状态机就停留在状态S7。状态机基于主设备的I2C模式(标准模式、快速模式和快速加模式)进入下一状态。对于标准模式,状态机进入状态S32;对于快速模式,状态机进入状态S31;对于快速加模式,状态机进入状态S27。
S8-在状态S8中,SCL线被释放。该状态还判定主设备是否已经失去了控制权。如果失去了控制权,状态机就进入状态S13。如果已经启用了超时操作,计数器就从SCL线释放之后开始对超时期进行计数。如果在超时期之后,SCL线未被释放,状态机就进入状态S17,表明存在SCL线滞留于低电平的问题。如果没有启用超时操作,并且SCL滞留于低电平,状态机就停留在状态S8,并需要从外部进行复位以便脱离该状态。当SCL线被成功释放时,状态机进入状态S22。
S9-在该状态中,计数器对重复“启动”条件的建立时间进行计数。当完成该计数时,状态机进入状态S3。
S10-在该状态中,计数器对SCL时钟的高电平期进行计数。如果SCL线在计数器完成计数前变为低电平,状态机就进入状态S19。当状态机完成计数时,状态机进入状态S5。
S11-在状态S11中,状态机对“终止”条件的建立时间进行计数。如果SCL线在计数器完成计数之前变为低电平,状态机就进入状态S13或总线繁忙状态。这意味着,尽管主设备期望在I2C总线上发送“终止”条件,但是其它一些主设备期望在SCL线上继续发送时钟脉冲。如果计数器成功地完成了计数,状态机就进入下一个状态S12。
S12-在该状态中,释放SDA线,以便在I2C总线上产生“终止”条件。状态机进入下一状态S13。
S13-在S13状态中,状态机判定是否检测到“终止”条件。如果检测到“终止”条件,就进入状态S14。如果没有在总线上检测到“终止”条件,SCL和SDL均为高电平,主设备期望在I2C总线上发送“启动”条件,并且启用了超时特征,状态机就进入状态S20。
S14-在该状态中,计数器对“终止”条件和接下来的“启动”条件之间的总线空闲时间进行计数。如果状态机在计数器完成对总线空闲时间的计数之前检测到“启动”条件,就进入S13总线繁忙状态。如果计数器完成了对总线空闲时间的计数,状态机就进入状态S24。
S16-状态S16表明在SDA线滞留于低电平的I2C总线上存在错误条件。状态机停留在状态S16中。需要从外部进行复位以便脱离该状态。
S17-这个状态表明存在SCL线滞留于低电平的问题。状态机一直停留在该状态下,直到从外部对其进行复位。
S18-在这个状态中,计数器会发出9个时钟脉冲。下一状态是状态S10。
S19-在状态S19中,状态机准备开始对SCL时钟的低电平期重新计数。下一状态,,状态机进入状态S23。
S20-在状态S20中,当超时启用时,计数器对超时期进行计数。如果未启用超时,状态机返回至S13总线繁忙状态。如果状态机在总线上检测到“终止”条件,就进入状态S26。如果计数器完成了对超时期的计数,状态机就进入状态S3,在状态S3中主设备将通过发送“启动”条件获得对I2C总线的控制权。如果SCL或SDA变为低电平,计数器就终止计数,且状态机返回至状态S13。
S21-该状态是为关于时钟的数据提供内部保持时间的多个这样状态的一部分。状态机进入下一状态S6。
S22-在该状态中,状态机判定下面的I2C操作。如果控制信号表明需要发送时钟脉冲,状态机就进入状态S10。如果控制信号表明需要发送“终止”条件,状态机就进入状态S11。如果控制信号表明需要在I2C总线上发送重复的“启动”条件,状态机就进入状态S9。
S23-该状态是为关于时钟的数据提供内部保持时间的多个这样状态中的一部分。状态机进入下一状态S21。
S24-该状态表示I2C总线处于总线空闲状态。如果状态机在总线上检测到“启动”条件,就进入S13总线繁忙状态。如果主设备期望在I2C总线上发送“启动”条件,状态机就进入状态S25。
S25-该状态检查SCL线是否为高电平,如果是高电平,状态机就进入状态S3,否则就进入状态S17。
S26-该状态令超时计数器复位。状态机由此处进入状态S14。
S27-S30-这些状态针对标准、快速和快速加模式提供关于时钟的数据建立。如果单独实现(即,没有状态31-36),延迟表示针对快速加模式时钟的延迟。状态机的下一个状态是S8。
S31-该状态针对快速模式提供关于时钟的数据建立时间。状态机的下一状态是S27。
S32-S36-这些状态针对标准模式提供关于时钟的数据建立时间。状态机的下一状态是S27。
上述以及附图中所示的各种实施例是仅以示例的方式来提供的,不应视为对本发明的限制。基于以上讨论和示例,本技术领域的技术人员容易认识到,可以对本发明进行各种修改和改进而不必严格地遵循此处说明的和描述的典型实施例和应用。例如,除了I2C主设备之外,还可以采用类似的方法实现其他应用。这样的修改和改进不应背离由以下权利要求中所阐释的本发明的真实范围。

Claims (12)

1、一种同具有时钟信号(110)的I2C总线一起使用的、利用逻辑电路控制I2C总线上的时钟信号(110)的方法,所述方法是通过以状态机方式配置的逻辑电路予以实现的,包括:
在状态机的第一状态(204)中,判定是否要实现时钟伸展延迟;
在状态机的第二状态(206)中,对不实现时钟伸展延迟的判定予以响应,判定I2C总线是被配置为运行于标准时钟模式还是运行于包括快速时钟模式在内的多种更快速的时钟模式中的一种;以及
在状态机的第三状态(210)中,对所述设备既未被配置为运行于标准时钟模式也未被配置为运行于快速时钟模式的判定予以响应,在允许以另一种二进制逻辑状态驱动时钟信号(110)之前,在大于0.5微秒且小于2.5微秒的时间内以一种二进制逻辑状态驱动时钟信号,并在以所述一种二进制逻辑状态驱动时钟信号之前,在大于0.5微秒且小于2.5微秒的时间内使时钟信号保持于所述另一种二进制逻辑状态。
2、根据权利要求1所述的方法,其中,所述多个更快速的时钟模式包括:快速时钟模式和快速加时钟模式。
3、根据权利要求1所述的方法,还包括:使时钟信号(110)与同I2C总线以通信方式相耦合的外部信号同步的步骤。
4、根据权利要求1所述的方法,还包括:在状态机的另一状态中,对I2C总线上的通信予以响应,检测错误并对错误做出响应。
5、一种同具有时钟信号(110)的I2C总线一起使用的、用于控制I2C总线上的时钟信号(110)的方法,所述方法包括:
判定是否要实现时钟伸展延迟;
对不实现时钟伸展延迟的判定予以响应,判定I2C总线是否被配置为运行于标准时钟模式;
对所述设备被配置为并非运行于标准时钟模式的判定予以响应,判定I2C总线是否被配置为运行于快速时钟模式;以及
对设备并非被配置为运行于快速时钟模式的判定予以响应,在允许以高电平驱动时钟信号(110)之前,在大于0.5微秒且小于2.5微秒的时间内以低电平驱动时钟信号(110),并在以低电平驱动时钟信号(110)之前,在大于0.5微秒且小于2.5微秒的时间内使时钟信号(110)保持于高电平。
6、一种用于控制I2C总线的时钟信号(110)的逻辑电路,所述逻辑电路包括:
状态机装置,包括:
第一装置,用于工作于第一状态(204),以判定是否要实现时钟伸展延迟;
第二装置,用于工作于第二状态(206),对不实现时钟伸展延迟的判定予以响应,判定I2C总线是被配置为运行于标准时钟模式还是运行于包括快速时钟模式在内的多种更快速的时钟模式中的一种;以及
第三装置,用于工作于第三状态(210),对所述设备既未被配置为运行于标准时钟模式也未被配置为运行于快速时钟模式的判定予以响应,在允许以另一种二进制逻辑状态驱动时钟信号(110)之前,用在大于0.5微秒且小于2.5微秒的时间内以一种二进制逻辑状态驱动时钟信号(110),并在以所述一种二进制逻辑状态驱动时钟信号(110)之前,在大于0.5微秒且小于2.5微秒的时间内使时钟信号(110)保持于所述另一种二进制逻辑状态。
7、一种用于控制I2C总线的时钟信号的逻辑电路,所述逻辑电路包括:
状态机,被配置为:
在第一状态(204)中,判定是否要实现时钟伸展延迟;
在第二状态(206)中,对不实现时钟伸展延迟的判定予以响应,判定I2C总线是被配置为运行于标准时钟模式还是运行于包括快速时钟模式在内的多种更快速的时钟模式中的一种;以及
在第三状态(210)中,对所述设备既未被配置为运行于标准时钟模式未被配置为运行于快速时钟模式的判定予以响应,在允许以另一种二进制逻辑状态驱动时钟信号(110)之前,在大于0.5微秒且小于2.5微秒的时间内以一种二进制逻辑状态驱动时钟信号(110),并在以所述一种二进制逻辑状态驱动时钟信号(110)之前,在大于0.5微秒且小于2.5微秒的时间内使时钟信号(110)保持于所述另一种二进制逻辑状态。
8、根据权利要求7所述的逻辑电路,其中,所述多个更快速的时钟模式包括:快速时钟模式和快速加时钟模式。
9、根据权利要求7所述的逻辑电路,其中,所述状态机还被配置为:使时钟信号(110)与同I2C总线以通信方式相耦合的外部信号同步。
10、根据权利要求7所述的逻辑电路,所述状态机还被配置为:在状态机的另一状态中,对I2C总线上的通信予以响应,检测错误并对错误做出响应。
11、根据权利要求7所述的逻辑电路,其中,所述多个更快速的时钟模式包括:快速时钟模式和快速加时钟模式;所述状态机还被配置为:使时钟信号(110)与同I2C总线以通信方式相耦合的外部信号同步;并且所述状态机还被配置为:在状态机的另一状态中,对I2C总线上的通信予以响应,检测错误并对错误做出响应。
12、根据权利要求11所述的逻辑电路,其中,驱动时钟信号包括:在允许将时钟信号(110)驱动至高电压之前,在大于0.5微秒且小于2.5微秒的时间内将时钟信号(110)驱动至低电压,并在将时钟信号(110)驱动至低电压之前,在大于0.5微秒且小于2.5微秒的时间内使时钟信号(110)保持于高电压。
CN200780012025A 2006-03-31 2007-03-31 I2c时钟发生方法和系统 Pending CN101627375A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US78857006P 2006-03-31 2006-03-31
US60/788,570 2006-03-31
US60/830,309 2006-07-11

Publications (1)

Publication Number Publication Date
CN101627375A true CN101627375A (zh) 2010-01-13

Family

ID=41522351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780012025A Pending CN101627375A (zh) 2006-03-31 2007-03-31 I2c时钟发生方法和系统

Country Status (1)

Country Link
CN (1) CN101627375A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930294A (zh) * 2016-06-25 2016-09-07 张宏彬 一种基于状态机的数字集成电路总线系统
CN106598891A (zh) * 2015-10-15 2017-04-26 飞思卡尔半导体公司 集成电路间(i2c)总线系统中的从设备报警信号
CN112051890A (zh) * 2020-08-27 2020-12-08 海光信息技术有限公司 I2c总线的时钟控制方法、主设备及连接i2c总线的设备系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598891A (zh) * 2015-10-15 2017-04-26 飞思卡尔半导体公司 集成电路间(i2c)总线系统中的从设备报警信号
CN106598891B (zh) * 2015-10-15 2021-04-30 恩智浦美国有限公司 集成电路间i2c总线系统中的从设备报警信号
CN105930294A (zh) * 2016-06-25 2016-09-07 张宏彬 一种基于状态机的数字集成电路总线系统
CN112051890A (zh) * 2020-08-27 2020-12-08 海光信息技术有限公司 I2c总线的时钟控制方法、主设备及连接i2c总线的设备系统
CN112051890B (zh) * 2020-08-27 2022-07-26 海光信息技术股份有限公司 I2c总线的时钟控制方法、主设备及连接i2c总线的设备系统

Similar Documents

Publication Publication Date Title
US8103896B2 (en) Method and system for I2C clock generation
CN100541442C (zh) 高性能串行总线测试方法
US20150074306A1 (en) Single Wire Communications Interface and Protocol
US8010724B2 (en) 12C/SMBus ladders and ladder enabled ICs
CN101609440B (zh) 总线系统和总线从锁定状态中恢复的方法
CN101399854A (zh) 动态配置地址的方法及其系统
CN101119192A (zh) 一种时钟同步方法和系统
US9024663B2 (en) Clock glitch detection circuit
CN106649180A (zh) 一种解除i2c总线死锁的方法及装置
CN101208682B (zh) 具有锁存服务请求的从设备
CN111078614B (zh) 一种基于fpga的功能模块
CN101825917A (zh) 时钟提供方法及信息处理设备
CN100426274C (zh) 避免i2c总线锁定的方法与装置
CN108920401B (zh) 多主多从的i2c通信方法、系统及节点设备
WO2007030978A1 (fr) Procede, appareil de reinitialisation et equipement pour effectuer la reinitialisation d'un dispositif maitre dans un bus i2c
CN110730253A (zh) 控制芯片的自动编址方法
CN117933153B (zh) I3c总线验证系统
CN101627375A (zh) I2c时钟发生方法和系统
JPS6239580B2 (zh)
US11321258B2 (en) Integrated circuit, bus system and scheduling method
US20160267029A1 (en) Semiconductor device and control method thereof
CN107132469B (zh) 多路信号检测方法和电路及控制芯片
CN111913904B (zh) 向利用主从通信协议的多个从属装置自动分配互不相同地址的方法及用于其的装置
EP1607864A2 (en) Error recovery method for an I2C bus slave
CN109101448A (zh) 地址扩展电路和具有该电路的i2c通信接口芯片

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100113