首页 / 行业
I2C总线的基本通信总结
2021-08-26 14:08:00
在电子设计开发中I2C大家已经很熟悉了,每一种电子产品小到电子开关,大到卫星通信都会利用的I2C总线。据统计I2C在电子产品中占据了93%的份额,几乎任何一种电路都要使用。
I2C是由PHILIPS公司在1980年开发的两线式串行总线,至今已经发展30多年的历史了。古老的电子产品中就已经在使用I2C总线了。I2C总线在所有总线中是最简单,最稳定的一种,由于发展历史久远,所以I2C总线出现了多种版本。但是万变不离其中,有的厂商甚至在原有I2C总线的基础上,自己改变了总线时序,成为独有的I2C。但是基本原理不变。
我遇到过很多人在问我,自己的I2C程序明明已经调试好,可换了个芯片就通信失败了,不能读取数据了。都是I2C的元器件,只是芯片厂家不同。在这里我告诉大家,这总线历史悠久,各种版本的要有几十种甚至几百种了,所有版本的通信格式,协议都一样,只是时间不同了,因为有的芯片厂家更改了时序中的时钟周期。所以大家遇到这种问题,只需调整延时,其余不动即可,不必不知所措,乱找问题。
I2C总线从机设备最多支持127个,主要是通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址。
I2C总线有三种数据传输速度:标准,快速模式和高速模式。标准的是100Kbps,快速模式为400Kbps,高速模式支持快至3.4Mbps的速度。所有的与次之传输速度的模式都是兼容的。I2C总线支持7位和10位地址空间设备和在不同电压下运行的设备。
TTL电平与COMS在I2C这里通用。是相互兼容的。
由于I2C的模式多种多样,我就给大家讲一种常用的7位寻址模式的通信,还有10位模式,大家可以自行找资料去了解,这种10位模式的较少。
总线通信流程大概分为四部分。1.启动—2.数据传输—3.应答—4.结束。
启动与结束:
SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;
SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。
数据传输:
发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。
数据应答:
数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器释放SDA 线(高)。
在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。
以上是基本的通信流程,当然这通信是离不开时钟线的SCL。
时钟同步:
所有主机在SCL线上产生它们自己的时钟来传输I2C总线上的报文。数据只在时钟的高电平周期有效,因此需要一个确定的时钟进行逐位仲裁。
时钟同步通过线与连接I2C 接口到SCL 线来执行。这就是说SCL 线的高到低切换会使器件开始数它们的低电平周期,而且一旦器件的时钟变低电平,它会使SCL 线保持这种状态直到到达时钟的高电平。但是如果另一个时钟仍处于低电平周期,这个时钟的低到高切换不会改变SCL 线的状态。因此SCL 线被有最长低电平周期的器件保持低电平。此时低电平周期短的器件会进入高电平的等待状态。当所有有关的器件数完了它们的低电平周期后,时钟线被释放并变成高电平。之后,器件时钟和SCL线的状态没有差别,而且所有器件会开始数它们的高电平周期。首先完成高电平周期的器件会再次将SCL线拉低。
这样产生的同步SCL 时钟的低电平周期由低电平时钟周期最长的器件决定,而高电平周期由高电平时钟周期最短的器件决定。
7位寻址方式:
第一个字节的头7 位组成了从机地址,最低位(LSB)是第8 位,它决定了传输的方向。第一个字节的最低位是“0”,表示主机会写信息到被选中的从机;“1”表示主机会向从机读信息,当发送了一个地址后,系统中的每个器件都在起始条件后将头7 位与它自己的地址比较,如果一样,器件会判定它被主机寻址,至于是从机接收器还是从机发送器,都由R/W 位决定的。
下面是I2C的时序图与对应程序,程序已经调试通过,大家可以使用,但是大家记住一点,不同厂家芯片时钟周期会不同。本人以51单片机,keil4开发环境,12M晶振调试通过。从机芯片是AT24C08芯片。
起始与停止总线:
I2C总线程序起始与停止:
I2C读写时序:
I2C读写单个字节:
I2C应答与非应答时序:
I2C多字节连续读写时序:
以上程序调试通过,直接使用即可。但根据不同厂家的芯片可能时序会有不同,如遇通信不正常,可改变延时。基本给大家把I2C的基本通信总结了一下。由于I2C种类版本繁多,但基本原理相同,这里不一一举例。
最新内容
手机 |
相关内容
新一代8通道脑电采集芯片研制成功,
新一代8通道脑电采集芯片研制成功,铠侠与西部数据已中止合并谈判,合并,芯片,脑电,新一代,通道,产品,近日,一项重要的科技突破在全球范低耗能,小安派-LRW-TH1传感器通用板
低耗能,小安派-LRW-TH1传感器通用板,一块板即可连接多种传感器!,传感器,多种,连接,一块,通用,接口,小安派-LRW-TH1传感器通用板是一款英特尔不应该担心英伟达Arm架构的P
英特尔不应该担心英伟达Arm架构的PC芯片?恰恰相反,芯片,英伟达,英特尔,调整,研发,推出,英特尔目前是全球最大的半导体公司之一,主要以射频前端芯片GC1103在智能家居无线
射频前端芯片GC1103在智能家居无线通信IoT模块中应用,模块,芯片,无线通信,智能家居,支持,数据交换,射频前端芯片GC1103是一种低功耗DigiKey 凭借品牌更新荣获四项 Mar
DigiKey 凭借品牌更新荣获四项 MarCom 大奖,四项,机构,明尼苏达州,公司,行业,产品,全球供应品类丰富、发货快速的商业现货技术元件芯朋微:服务器配套系列芯片已通过客
芯朋微:服务器配套系列芯片已通过客户验证 可应用于AI服务器,服务器,客户,芯片,验证,人工智能,公司,芯朋微是一家专注于人工智能芯片ASML不惧佳能纳米压印光刻机!
ASML不惧佳能纳米压印光刻机!,提升,分辨率,产品,公司,芯片,市场,佳能最近发布了一款被称为能够生产2纳米芯片的新一代纳米压印光刻机慧荣科技Ferri嵌入式存储通过芯驰
慧荣科技Ferri嵌入式存储通过芯驰车载平台认证,车载,认证,平台,嵌入式,车载系统,多种,慧荣科技是一家专注于嵌入式存储技术的公司,其