使用状态机增强i2c从/主接口的制作方法

文档序号:6567966阅读:309来源:国知局
专利名称:使用状态机增强i2c从/主接口的制作方法
技术领域
本发明总体上涉及通信装置和方法,并且更特别地,涉及使用状 态机来增强12 C总线上的从/主接口的方法和设备。
背景技术
由Philips公司所开发的内部集成电路(I2C)总线允许集成电路 经由简单的双向两线总线(加上电源和地)相互直接通信。装置连接 至该总线上的两条线中的每一条, 一条线是用于数据通信的串行数据 线(SDA),而另一条线是用于装置间的数据通信的控制和同步的串行 时钟线(SCL)。各装置并联连接至另一个装置,并且每一条总线线路 (SDA禾Q SCL)用作该总线上的所有线的线与(wired-AND)。各装 置的输出被配置为集电极开路(open-collector ) /漏极开路(open-drain ) 装置,并且,当总线处于静态时, 一个或多个上拉电阻在总线上保持' 软'高逻辑值。当装置要求访问总线时,该装置经由集电极开路/漏极开 路装置将总线拉至逻辑低值,其中,该集电极开路/漏极开路装置被置 于与地电位传导的状态下。
连接至I2C总线的各装置可以通过地址而识别,且可作为发射器 或接收器或者两者。使用主-从通信协议来实现数据传送。主装置启动 数据传送并产生允许该传送的时钟信号;被寻址到的装置被认作是这 个传送的从装置。可以由主装置启动数据传送,或者是向从装置发送 数据(此处称之为写入),或者是向该从装置请求数据(此处称之为读 取)。例如,诸如显示屏之类的输出装置典型地不能启动数据传送,并 且因此将被配置为只能作为装置。另一方面,视情况所需,微处理器 典型地将被配置作为主装置或从装置。
在静态中,SDA和SCL总线线路两者都处于高逻辑状态(此处称之为高或逻辑状态l)。当SCL线为高时,通过断定SDA线上的至 低逻辑状态(此处称之为低或逻辑状态0)的转换,主装置启动数据 传送;这被定义为"开始"条件。其后,主装置切换SCL线,以控制 数据传送的同步;当SCL时钟为低时,在SDA线上出现数据值改变, 并且,只有当SCL时钟为高时,SDA线的状态才被视为有效。
可以断定多个"开始",以在同一个传送会话中实现一连串的数 据传送。通常,各个数据传送需要来自数据传送的被寻址接受方的确 认。为了终止该数据传送,当SCL时钟为高时,主机断定SDA线上 的由低到高的转换;这被定义为"停止"条件。其后,如上,通过断 定SDA线上的由高到低的转换,任何装置都可以如主装置那样掌握总 线的控制。注意,为便于引用,术语断定在此被用于实现或试图实现 特定的逻辑状态。在转换至高逻辑状态的例子中,典型地,这通过由 断定装置将总线从强制下拉状态中释放出来而得以提供。这个高逻辑 状态的断定允许总线上的上述上拉装置使该总线进入高逻辑状态,除 非另一个装置也强制下拉状态。
I2C数据传送的通用格式包括形成I2C总线的SDA线和SCL线 上的信号。当SCL线为高时,"开始"条件对应于在SCL信号为高的 同时SDA线上的信号由高到低的转换;在该"开始"之后,主机传送 地址,即7位,后面是读取/写入-非指示符。在传送数据传送(R7W-) 的地址和方向之后,主机释放SDA线,允许它升至高逻辑电平。如果 从装置识别出它的地址,则该从装置通过将总线拉低来传送确认信号 (ACK)。因此,当主机释放SDA线时没有低信号,则表示否定确认 (NAK)。如果经由SDA处的低来确认了地址,则发送装置传送数据。 如果数据传送的方向相对于主机为"读取",则从装置为发送装置;如 果数据传送的方向相对于主机为"写入",则主装置为发送装置。发送 装置释放SDA线的控制,而接受装置通过断定SDA线上的低逻辑值 来确认数据的接收。如果数据被确认,则发射器发送附加的数据。这 个过程继续,直到数据全部通信完毕,或直到发送数据项被否定确认。 随后,主装置可以重新断定开始信号,并重复上面的过程,或者,可 以断定停止信号(P),以终止这个数据传送会话。
可以以各种方式来实现上述接口协议。为了将用于编程或设计
12C接口的开发时间最小化,已经公开了多种通用接口方案。"Design Of A Behavioral (Register Transfer Level, RTL) Model Of The Inter-Integrated Circuit Or I2C-Bus Master-Slave Interface", Amrita Deshpande的硕士论文,University of New Mexico, 1999,公开了一种 旨在在I2C装置中实施的I2C主接口和从接口 ,在此通过引用将其并 入。通过提供检验的I2C接口,系统设计员不必纠缠于I2C规范和协 议的细节。这个论文的主接口和从接口都是基于状态机的。US专利 6,799,233进一步描述了基于状态机的系统和方法,在此通过引用将其 并入。

发明内容
以解决和克服上述问题的方式,本发明的各个方面涉及使用状态 机来增强I2C接口的方法和设备。
根据一个示例性实施例,本发明涉及一种通信系统和/或方法,其 使用具有被用来实现通信协议的串行数据线和时钟线的I2C串行数据 传送总线。该通信系统包括响应于时钟信号的上升沿的第一和第二 状态机,以及响应于时钟信号的下降沿的第三状态机,第三状态机与 第一和第二状态机不同地进行操作。第一状态机和第二状态机中的一 个遵循通信协议的写入状态,而第一状态机和第二状态机中的另一个 遵循通信协议的读取状态。
本发明的上述概要信息并非要描述本发明的各实施例或每种实 现。通过参考下列详细说明、权利要求以及附图,本发明的优点、成 就以及对本发明的更完全的理解将变得显然和易于领会。


根据附图,并参考下列本发明的各种实施例的详细说明,可以更
完全地理解本发明,其中
图1是根据本发明实施例的使用状态机在12C总线上实现增强的 从/主接口的数据通信系统的框图2是根据本发明实施例的用于使用状态机在I2C总线上实现增 强的从/主接口的数据通信系统的状态图3是根据本发明实施例的用于使用状态机在I2C总线上实现增 强的从/主接口的数据通信系统的另一个不同操作的状态图4到7示出根据本发明实施例的用于使用状态机在I2C总线上 实现增强的从/主接口的数据通信方法的流程图8是根据本发明另一个实施例的用于使用状态机在I2C总线上 实现增强的从/主接口的另一个方法的流程图。
具体实施例方式
虽然对本发明可进行各种修改和替换方式,但在附图中还是示出 了特殊示例,下面将详细描述之。然而,可以理解,所描述的具体实 施例不应视作对本发明的限制。相反地,要涵盖所有落入如权利要求 中所限定的本发明的范围内的修改、等价物和替换物。
本发明一般可适用于用于使用状态机在I2C总线上增强从/主接 口的方法和设备。已经发现本发明特别有利于内部集成电路(I2C)串 行数据通信总线,但是也有利于其它总线和通信协议,例如系统管理 总线(SMBus)体系和/或协议或其它的串行数据通信系统。为了示出, 而不是为了限制,将在具有控制至从装置的通信的主装置的I2C总线 的上下文中描述本发明。
主装置控制与I2C总线体系上的I2C从装置的通信。I2C从装置 可以应用于许多领域,从蜂窝电话、PDA和智能电话到LCDTV、医 疗器械、游戏和其它应用领域。I2C数据总线上的装置的新特征给主 装置和从装置之间的通信带来新的问题。根据本发明,多状态机的并 发使用可以被用来解决由这些新特征所带来的一些问题。这些状态机 将用于数据传送的控制信号的设计和产生流水线化,并消除"胶合 (glue)"逻辑的使用,以并入该附加的特征。
在本发明的具体实施例中,两个状态机运行在从装置的前台,取 决于SCL时钟的上升沿, 一个状态机运行在后台,取决于SCL时钟 的下降沿。为了为状态机保持格雷码,在前台有两个状态机,而不是
一个单独的状态机。对状态机进行格雷码编码消除了在基于状态机的 状态而产生的数据输出上的假信号(glitch)。
如上所述,在后台运行有一个状态机,其取决于SCL时钟的下降 沿。使前台和后台状态机取决于时钟的相反沿消除了针对后台的状态 机的输入的竞态条件。
根据一个示例性实施例,本发明涉及一种通信系统,其使用具有被用来实现通信协议的串行数据线和时钟线的I2C串行数据传送总线。该通信系统包括响应于时钟信号的上升沿的第一和第二状态机, 以及响应于时钟信号的下降沿的第三状态机,第三状态机与从第一和 第二状态机不同地操作。第一状态机和第二状态机中的一个遵循通信 协议的写入状态,而第一状态机和第二状态机中的另一个遵循通信协 议的读取状态。
图1是根据本发明实施例的使用状态机在I2C总线上实现增强的 从/主接口的数据通信系统100的框图。SDA线110和SCL线120被 设置为I2C数据总线125。主装置130和从装置140附于I2C数据总 线125。使用分别电连接至SCL线120和SDA线110的时钟连接134 和数据连接132,将主装置130电连接至I2C数据总线125。
使用分别电连接至SCL线120和SDA线110的时钟连接144和 数据连接142,将从装置140电连接至I2C数据总线125。该从装置包 括在前台运行的第一状态机150和第二状态机160。为了方便起见, 第一状态机150被指定为12C状态机-写入(12CSM-W),而第二状态 机160被指定为I2C状态机-读取(I2CSM-R)。 I2CSM-W和I2CSM-R 这两个状态机是在前台运行的状态机,并取决于SCL的上升沿。后 台状态机170 (图4到7中示出了)被指定为DIA—ARA一SM,在后台 运行且取决于SCL的下降沿。
I2CSM-W和I2CSM-R状态机由I2C总线激励并解释通信协议。 DIA一ARA—SM状态机促进新特征的实现,例如,响应device ID Address 和SM Bus Alert Response,这些将在下文作进一步描述。
图2是第一状态机150的状态图。为说明而不是为限制,状态机 作为I2C从装置而示出,该I2C从装置具有至标准I2C总线(例如,
SDA、 SCL、地(GND)、电源(VDD))和表示为INT存的中断管脚 的连接。图2中的各个圆圈对应于单独的状态,并由大写字母来指定, 对应于大写字母下方所示出的4位二进制编码。下面是这些状态的描

状态Ah
这个状态机根据停止和复位条件(二者为有效"高")异步地复位。
,它使用门控SCL时钟。该SCL时钟由状态机的状态门控。当 该"写入"状态机或"读取"状态机处于它们各自的空闲状态(Al和A2) 时,该状态机并不接收SCL。
状态G1:
*依据开始条件,状态机异步地进入状态G1。. *在下一个时钟上,状态机进入状态B1,在状态B1它准备接收
从装置地址。
状态B1:
,如果断定从装置忙信号,则状态机复位为状态A1。
如果状态机接收ALL CALL Address (ACA)并且如果这个特 征被禁止了,则状态机复位为状态A1。
如果状态机接收SMBus Alert Response Address (ARA)并且如 果这个特征被禁止了,则状态机复位为状态Al。
如果状态机接收Device ID Address (DIA)并且如果这个特征 被禁止了,则状态机复位为状态Al。
下面(由此点到状态E)假定ACA、 ARA和DIA被启用
如果状态机接收具有读取位的Slave Address (SA)或ACA, 则复位为状态Al。
如果状态机接收具有写入位的Slave Address (SA)或ACA, 则进入状态E。
如果状态机接收ARA和读取位并且中断为低,则复位为状态Al。
如果状态机接收ARA和读取位并且中断为高,则复位为状态Al。
如果状态机接收ARA和写入位并且中断为低,则复位为状态
AK
如果状态机接收ARA和写入位并且中断为高,则复位为状态Al。
如果状态机接收具有写入位的DIA,则进入状态H。
如果状态机接收具有读取位的DIA,则复位为状态Al。 4口果状态机接收不同于SA或者ACA或者ARA或者DIA的任
何东西,则复位为状态Al。
,如果状态机并非上面所述情况,则停留在状态B1,并接收从装
置地址。
状态E:
,在这个状态里,状态机发送确认。
'在下一个SCL时钟上,状态机进入状态F3。 状态F3:
,在状态F3里,状态机从串行数据线移入数据。
如果在移入数据的结尾处状态机接收从装置忙信号,则状态机
回到状态A1,或者,如果状态机完成了数据移动而没有接收从装置忙
信号,则回到状态E。
只要状态机正在移入八位,则状态机就停留在状态F3。 状态H:
*在这个状态里,状态机发送确认。 -在下一个SCL时钟上,状态机进入状态F1。 状态F1:
在这个状态里,状态机接收DIA的第一位。
在下一个SCL时钟上,状态机进入状态F2。
这个状态被添加用以保持状态机的格雷码编码。 状态F2:
,在这个状态里,状态机接收DIA的第二位。
在下一个SCL时钟上,状态机进入状态F3。
这个状态被添加用以保持状态机的格雷码编码。
图3是用于根据本发明的实施例的第二前台状态机160的状态
图。图3中所示的状态遵循与图2相同的设计协议。下面是这些状态
的描述
状态A2:
这个状态机根据停止和复位条件(二者为有效"高")异步地复位。
"它使用门控SCL时钟。该SCL时钟由状态机的状态门控。当 这个"写入"状态机或者"读取"状态机处于它们各自的空闲状态(Al和 A2)时,该状态机并不接收SCL。 状态G2:
*依据开始条件,状态机异步地进入状态G2。 *在下一个时钟上,状态机进入状态B2,在状态B2它准备接收
从装置地址。
状态B2:
,如果断定从装置忙信号,则状态机复位为状态A2。
如果状态机接收All Call Address (ACA)并且如果这个特征被
禁止了,则状态机复位为状态A2。
如果状态机接收SMBus Alter Response Address (ARA)并且如
果这个特征被禁止了,则状态机复位为状态A2。
如果状态机接收Device ID Address (DIA)并且如果这个特征
被禁止了,则状态机复位为状态A2。
下面(由此点到状态I)假定ACA、 ARA和DIA被启用 如果状态机接收具有读取位的Slave Address (SA)或ACA,
则进入状态C。
如果状态机接收具有读取位的DIA,则进入状态J。
如果状态机接收具有写入位的Slave Address (SA)或ACA,
则复位为状态A2。
如果状态机接收ARA和读取位并且中断为低,则进入状态I。
如果状态机接收ARA和读取位并且中断为高,则复位为状态
A2。
如果状态机接收ARA和写入位并且中断为低,则复位为状态A2。
如果状态机接收ARA和写入位并且中断为高,则复位为状态A2。
如果状态机接收具有写入位的DIA,则复位为状态A2。 '如果状态机接收不同于SA或者ACA或者ARA或者DIA的任
何东西,则复位为状态A2。
如果状态机并非上面所述情况,则停留在状态B2,并接收从装
置地址。 状态I:
在这个状态里,状态机发送确认并用要发送的自己的地址来加 载移位寄存器。
.在下一个SCL时钟上,状态机进入状态D1。 状态D1:
这个状态被添加,仅仅是为了能够用格雷码对所有的状态转换 进行编码。
*在这个状态里,从装置地址的第一位被发送。
如果这里检测到从装置忙信号,则状态机复位为状态A2。 -在下一个SCL时钟上,状态机进入状态D4。 状态D4:
'在这个状态里,与R/W^立一起,状态机发送从装置地址的6 个剩余位。
如果这里检测到从装置忙信号,则状态机复位为状态A2。 ,在发送全部的8位以后,状态机进入状态K。 状态K:
这个状态连同来自"dia—am—sm"的状态一起产生控制信号,以 标识报警响应地址协议的结束。
在下一个SCL时钟上,状态机复位为状态A2。 状态C:
'在这个状态里,状态机发送确认,并把将要读出的数据载入移 位寄存器。
'在下一个SCL时钟上,状态机进入状态D2。
状态D2:
,在这个状态里,状态机发送数据到数据线上。它总共发送8位。 -在8个时钟周期之后,如果在第8个时钟周期之后接收到确认,
则状态机回到状态C。
如果在第8个时钟周期之后接收到否定确认,则状态机复位为
状态A2。
如果状态机检测到从装置忙信号,则复位为状态A2。 状态J:
在这个状态里,状态机发送确认并用装置ID字节来加载移位 寄存器。
.在下一个SCL时钟上,状态机进入状态D3。 状态D3:
,在这个状态里,状态机发送数据到数据线上。它总共发送8位。 *在8个时钟周期之后,如果在第8个时钟周期之后接收到确认,
则状态机回到状态J。
如果在第8个时钟周期之后接收到否定确认,则状态机复位为
状态A2。
如果状态机检测到从装置忙信号,则复位为状态A2。 图4到7示出了后台状态机170的状态图,状态机170被指定为 DIA—ARA一SM。在图4中,连接器410被示出为图形注解,表示图4 的图与图5中所示出的连接器410之间的连接。在图4中,连接器420 被示出为图形注解,表示图4的图与图6中所示出的连接器420之间 的连接。在图5中,在图5的左下角和右上角处,连接器430被示出 为图形注解,表示图5中所示出的流程图的左下角和右上角之间的连 接。在图6中,在图6的左下角和右上角处,连接器440被示出为图 形注解,表示图6中所示出的流程图的左下角和右上角之间的连接。 在图6中,连接器450被示出为图形注解,表示图6的图与图7中所
示出的连接器450之间的连接。在图7中,在图7的左下角和右上角 处,连接器460被示出为图形注解,表示图7中所示出的流程图的左
下角和右上角之间的连接。下面是这些状态的描述 状态IDLE—DIA—ARA:
状态机根据"复位"条件或"停止"条件(二者为有效"低") 异步地进入此状态。
*如果状态机检测到I2CSM-W处于状态H,则进入状态 RCV一DIA—SA。
.否则,如果状态机检测到I2CSM-R处于状态I,则进入状态 SND—SA6。
否则状态机停留在状态IDLE_DIA—ARA。 状态RCV—DIA_SA:
状态机停留在这个状态,直到检测到I2CSM-W处于状态Fl、 F2或F3 。
'否则,当状态机检测到I2CSM-W处于状态E时,则进入状态 ACK—DIA—SA。
否则状态机回到IDLE—DIA_ARA。 状态ACK—DIA—SA:
'在这个状态里,如果I2CSM-W处于Gl,则状态机进入状态 REP—S。
-否则,状态机回到状态IDLE一DIA—ARA。 状态REP一S:
'在这个状态里,如果I2CSM-W处于Bl,则状态机进入状态 RCV—DIA一R。
-否则,状态机回到状态IDLE一DIA—ARA。 状态RCV—DIA—R:
只要I2CSM-W处于状态B1,状态机就停留在这个当前状态。 *否则,如果I2CSM-R处于状态J,则这个状态机进入状态 PRE—SND—BYTE 1。
*否则,状态机回到状态IDLE—DIA—ARA。
状态PRE—SND—BYTE1:
*在这个状态里,产生控制信号,以把将要被发送的DEVICE ID BYTE1载入到I2C总线上。
'在这个状态里,如果I2CSM-R处于状态D3,则状态机进入状 态SND一BYTE1。
*否则,状态机回到状态IDLE一DIA一ARA。
状态SND—BYTEh
只要I2CSM-R处于状态D3,状态机就停留在这个当前状态。
否则,如果I2CSM-R处于状态J,则状态机进入状态 PRE—SND—BYTE2。
*否则,状态机回到状态IDLE—DIA—ARA。 状态PRE—SND—BYTE2:
*在这个状态里,产生控制信号,以把将要被发送的DEVICE ID BYTE2载入到I2C总线上。
-在这个状态里,如果12CSM-R处于状态D3,则状态机进入状 态SND—BYTE2。
'否则,状态机回到状态IDLE—DIA—ARA。 状态SND—BYTE2:
只要I2CSM-R处于状态D3,状态机就停留在这个当前状态。
否则,如果I2CSM-R处于状态J,则状态机进入状态 PRE—SND一BYTE3 。
-否则,状态机回到状态IDLE一DIA一ARA。 状态PRE—SND—BYTE3:
'在这个状态里,产生控制信号,以把将要被发送的DEVICE ID BYTE3载入到I2C总线上。
.在这个状态里,如果12CSM-R处于状态D3,则状态机进入状 态SND一B YTE3 。
*否则,状态机回到状态IDLE—DIA—ARA。 状态SND—BYTE3:
只要I2CSM-R处于状态D3,状态机就停留在这个当前状态。
否则,如果I2CSM-R处于状态J,则状态机进入状态 PRE—SND—BYTE 1。
'否则,状态机回到状态IDLE—DIA—ARA。 状态SND—SA6:
这个状态被用来检测从装置地址的第6位是否被成功地发送到 I2C总线上。
如果I2CSM-R处于状态D1,则这个状态机进入状态SND—SA5。 *否则,状态机回到状态IDLE—DIA一ARA。 状态SND—SA5:
这个状态被用来检测从装置地址的第5位是否被成功地发送到 12C总线上。
如果I2CSM-R处于状态D4,则这个状态机进入状态SND—SA4。 '否则,状态机回到状态IDLE一DIA—ARA。 状态SND—SA4:
这个状态被用来检测从装置地址的第4位是否被成功地发送到 I2C总线上。
如果I2CSM-R处于状态D4,则这个状态机进入状态SND—SA3。 '否则,状态机回到状态IDLE一DIA—ARA。 状态SND一SA3:
这个状态被用来检测从装置地址的第3位是否被成功地发送到 I2C总线上。
如果I2CSM-R处于状态D4,则这个状态机进入状态SND—SA2。
否则,状态机回到状态IDLE—DIA—ARA 。 状态SND—SA2:
这个状态被用来检测从装置地址的第2位是否被成功地发送到 I2C总线上。
*如果I2CSM-R处于状态D4,则这个状态机进入状态SND—SA1 。 '否则,状态机回到状态IDLE一DIA一ARA。 状态SND—SA1:
这个状态被用来检测从装置地址的第1位是否被成功地发送到
I2C总线上。
如果I2CSM-R处于状态D4,则这个状态机进入状态SND—SA0。 *否则,状态机回到状态IDLE—DL^ARA。 状态SND一SA0:
这个状态被用来检测从装置地址的第0位是否被成功地发送到 I2C总线上。
如果I2CSM-R处于状态D4,则这个状态机进入状态 SND一R豐。
*否则,状态机回到状态IDLE一DIA一ARA。 状态SND—RWN:
这个状态被用来检测从装置地址的R/W射立是否被成功地发送 到I2C总线上。
如果I2CSM-R处于状态D4 ,则这个状态机进入状态 RCV一NACK。
*否则,状态机回到状态IDLE一DIA—ARA。 状态RCV一NACK:
如果I2CSM-R处于状态K,则这个状态机进入状态 REL—INT一N。
*否则,状态机回到状态IDLE一DIA一ARA。 状态REL—INT—N: 状态机回到状态IDLE一DIA一ARA。
图8是根据本发明的另一个实施例的用于使用状态机在I2C总线 上实现增强的从/主接口的方法800的流程图。方法800包括在12C从 装置的前台运行810第一状态机,以及在后台运行820第二状态机。 将从装置的操作控制从第一状态机转移830到第二状态机,以实现该 从装置的特征。执行该特征,例如,增强的操作840,并且,随后将 操作控制转移回850第一状态机。参照图8,术语第一状态机可以包 括图1到3中示出的第一和第二状态机的单独实施例。
在共同拥有的未决美国专利申请号60/676,164和60/676,104 [代 理文献号PH000772US1 and P11000771US1]中进一步描述了增强的
特征,例如ALL CALL和Device ID,在此通过引用将其并入。
硬件、固件、软件或它们的组合可以被用来执行如此所述的各种 实施例,以增强使用状态机的I2C总线上的从/主接口。如所述,连同 本发明一起使用的主装置的功能可以驻留在I2C主装置中,或者,替 代地,可以驻留在附于串行数据通信系统100的独立计算机或网络计 算机上。图1中所示出的串行数据通信系统100是一个实例结构,其 可与这种通信系统、计算机或者计算机实现的其它装置一起使用来执 行本发明的操作。
图1中所示出的实例主装置130适合于根据本发明来控制I2C总 线上的I2C通信,典型地,主装置130包括中央处理机(CPU),该 CPU与随机存取存储器(RAM)和/或一些变化的只读存储器(ROM) 耦合在一起。希望,该ROM可以是存储程序的其它类型的存储介质, 例如,可编程序只读存储器(PROM)、可擦除可编程只读存储器 (EPROM)等。该处理器可以通过输入/输出(I/O)电路和/或其它总
线与其它的内部和外部组件进行通信,以提供控制信号和通信信号等。 主装置130也可以包括一个或多个数据存储装置,所述数据存储 装置包括硬盘和软盘驱动、CD-ROM驱动及其它能够读取和/或存储 信息的硬件,例如DVD等。在一个实施例中,用于使用状态机在I2C 总线上增强从/主接口的软件可以被存储并分布于CD-ROM、磁盘或 能够便携地存储信息的其它形式的介质上。这些存储介质可能被插入 例如光盘驱动和磁盘驱动等的装置,并由其读取。该软件也可以经由 数据信号而被传输至计算设备,例如,经由网络(如互联网)而被电 子地下载。此外,如前所述,用于执行与本发明相关联的功能的软件 可以替代地被保存在计算装置的内部存储器(internal memory) /内部 贮存器(internal storage)中,例如ROM。
得到的任何具有计算机可读程序代码的程序可以被包含在一个 或多个计算机可用介质内部,例如,在存储装置或者发送装置内部, 从而根据本发明制造计算机程序产品或制品。同样地,术语"计算机可 读介质"、"制品"、"计算机程序产品"或这里所使用的其它相似的措辞 都被用来包括计算机程序,该计算机程序永久地、暂时地或瞬时地存
在于任何计算机可用介质上,例如,在任何存储装置上或者在任何发 送装置里。
除非特别声明,否则本说明书(包括任何权利要求、摘要和附图) 里所公开的各个特征都可由具有同样的、等价的或者相似的目的的替 代特征所替换。因此,除非特别声明,否则所公开的各个特征只是特 殊的一系列等价的或相似的特征的示例。
上述具体的实施例不应视作对本发明的限制。各种修改、等价过 程及本发明可能适用的众多结构都落入本发明的范围之内。举例来说, 可以使用相似构造的单向或者双向接口来实现根据本发明的使用状态 机在I2C总线上增强的从/主接口的实施例,以用于公共总线(例如
SMBus或其它的总线设备)上多个装置间的通信。这样的变更可以被
视为所请求的发明的一部分,如在权利要求中清楚阐明的。
权利要求
1.一种数据通信系统(100),包括I2C串行数据传送总线(125),用于实现通信协议,包括时钟线(120),提供具有周期重复的上升沿和下降沿的时钟信号(134);以及串行数据线(110);以及从装置,包括响应于时钟信号的上升沿的第一和第二状态机(150、160);以及响应于时钟信号的下降沿的第三状态机(170),第三状态机(170)与第一和第二状态机不同地操作;其中,第一状态机和第二状态机中的一个遵循通信协议的写入状态,而第一状态机和第二状态机中的另一个遵循通信协议的读取状态。
2. 如权利要求1所述的数据通信系统,其中,第一和第二状态 机在I2C停止条件或I2C复位或开始条件下异步地复位。
3. 如权利要求1所述的数据通信系统,其中,在预定的条件下, 第一和第二状态机把从装置的操作控制转移到第三状态机。
4. 如权利要求1所述的数据通信系统,其中,第一和第二状态 机运行在前台,掌控从装置的操作控制,直到把从装置的操作控制转 移到第三状态机。
全文摘要
根据一个实施例,使用具有被用于实现通信协议的串行数据线和时钟线的串行数据传送总线(125)的通信系统包括使用状态机在I2C总线上的增强的从/主接口。该通信系统包括响应于时钟信号(134)的上升沿的第一和第二状态机(150、160)和响应于时钟信号的下降沿的第三状态机,第三状态机与第一和第二状态机不同地操作。第一状态机和第二状态机中的一个遵循通信协议的写入状态,而第一状态机和第二状态机中的另一个(170)遵循通信协议的读取状态。
文档编号G06F13/38GK101208676SQ200680023204
公开日2008年6月25日 申请日期2006年5月1日 优先权日2005年4月29日
发明者阿姆里塔·德什潘德 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1