一种实现I2C读写时序的方法技术

技术编号:2835556 阅读:583 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种实现I2C读写时序的方法,应用于电子通讯领域,通过信号的组合,完成读写操作,主要特点在于,I2C时钟信号、Start信号即起始信号、Stop信号即停止信号、发送或获取ACK信号即响应信号是通过数据控制寄存器、时钟控制寄存器以及时间延时的设置来实现的;并且主从设备在通讯过程中,利用Start信号、Stop信号、ACK信号来完成读写操作。采用本发明专利技术所述方法可以简化硬件设计的复杂度,增强了模块的可移植性,增加系统设计的灵活性,缩短产品开发的周期,大大降低了由于硬件原因而造成的产品故障,最终提高了产品的合格率和使用寿命。

【技术实现步骤摘要】

本专利技术涉及电子通讯领域,尤其涉及一种实现I2C读写时序的方法
技术介绍
I2C是一种双线(SDA(Serial Data-串行数据线)和SCL(Serial Clock-串行时钟线))总线,通过这两条线,系统元器件之间可以相互通讯。I2C包括多个设备主控制器(bus master)和辅助设备(bus slave)。通常,主控制器能与辅助设备直接通讯并提供时钟信号;辅助设备能从主控制器那接收数据或者为主控制器提供数据。在任何时候都只能有一个主控制器存在,但可以有多辅助设备同时存在。目前,Start信号、Stop信号、I2C时钟信号、ACK信号均是由硬件来产生的,主从设备在通讯过程中,有机将Start信号、Stop信号、ACK信号组织在一起形成一个独立、完整的操作时序。1、数据有效性SDA线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。如图1所示。2、起始条件如图2所示。3、停止条件如图3所示。4、I2C上的数据传输数据只能以字节方式在I2C上传输,数据传输单位是字节。传输通常是以MSB(most significan本文档来自技高网...

【技术保护点】
一种实现I2C读写时序的方法,通过信号的组合,完成读写操作,其特征在于,I2C时钟信号、Start信号即起始信号、Stop信号即停止信号、发送或获取ACK信号即响应信号是通过数据控制寄存器、时钟控制寄存器以及时间延时的设置来实现的,并且主从设备在通讯过程中,利用Start信号、Stop信号、ACK信号来完成读写操作。

【技术特征摘要】
1.一种实现I2C读写时序的方法,通过信号的组合,完成读写操作,其特征在于,I2C时钟信号、Start信号即起始信号、Stop信号即停止信号、发送或获取ACK信号即响应信号是通过数据控制寄存器、时钟控制寄存器以及时间延时的设置来实现的,并且主从设备在通讯过程中,利用Start信号、Stop信号、ACK信号来完成读写操作。2.根据权利要求1所述的方法,其特征在于,I2C时钟信号是通过以下步骤实现的步骤一,时钟控制寄存器置1,从而相应电路输出高电平;步骤二,延时n ms;步骤三,时钟控制寄存器清0,从而相应电路输出低电平;步骤四,延时n ms后,重新进行步骤一,如此循环,从而实现了用软件产生I2C时钟信号的目的。3.根据权利要求1所述的方法,其特征在于,Start信号是通过以下步骤实现的步骤一,把数据控制寄存器置1,数据线上输出高电平;步骤二,延时n/2ms;步骤三,时钟控制寄存器置1,从而相应电路输出高电平;步骤四,延时n/2ms;步骤五,数据控制寄存器清0,数据线上输出低电平;步骤六,延时n/2ms;步骤七,时钟控制寄存器清0,从而相应电路输出低电平;步骤八,延时n/2ms,从而利用软件实现了时钟为高电平时检测到数据线从高到低的一次变化。4.根据权利要求1所述的方法,其特征在于,Stop信号是通过以下步骤实现的步骤一,数据控制寄存器清0,数据线上输出低电平;步骤二,时钟控制寄存器清0,相应电路输出低电平;步骤三,延时n/2ms;步骤四,时钟控制寄存器置1,相应电路输出高电平;步骤五,延时n/2ms;步骤六,数据控制寄存器置1,数据线上输出高电平;步骤七,延时n/2ms,从而实现了时钟为高电平时检测到数据线从低到高的一次变化。5.根据权利要求1所述的方法,其特征在于,获取ACK信号是通过以下步骤实现的步...

【专利技术属性】
技术研发人员:郑其杉
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1