什么是I2C总线

上传人:hs****ma 文档编号:454585424 上传时间:2023-11-21 格式:DOC 页数:7 大小:223KB
返回 下载 相关 举报
什么是I2C总线_第1页
第1页 / 共7页
什么是I2C总线_第2页
第2页 / 共7页
什么是I2C总线_第3页
第3页 / 共7页
什么是I2C总线_第4页
第4页 / 共7页
什么是I2C总线_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《什么是I2C总线》由会员分享,可在线阅读,更多相关《什么是I2C总线(7页珍藏版)》请在金锄头文库上搜索。

1、I2C总线原理什么是I2C总线?I2C即InterIC,由Philips公司开发,是当今电子设计中应用非常广泛的串行总线之一,主要用于电压、温度监控,EEPROM数据的读写,光模块的管理等。I2C总线只有两根线,SCL和SDA,SCL即SerialClock,串行参考时钟,SDA即SerialData,串行数据。I2C总线的速率能达到多少?标准模式下:100Kbps快速模式下:400Kbps高速模式下:3.4Mbps<SPANlang=EN-USstyle=FONT-SIZE:12pt><FONTface=TimesNewRoman>如上图所示,I2C是0C或0D输出结

2、构,使用时必须在芯片外部进行上拉,上拉电阻R的取值根据I2C总线上所挂器件数量及I2C总线的速率有关,一般是标准模式下R选择lOkohm,快速模式下R选取lkohm,I2C总线上挂的12C器件越多,就要求I2C的驱动能力越强,R的取值就要越小,实际设计中,一般是先选取4.7kohm上拉电阻,然后在调试的时候根据实测的I2C波形再调整R的值。<SPANstyle=FONT-SIZE:l2pt;FONT-FAMILY:宋体;mso-ascii-font-family:TimesNewRoman;mso-hansi-font-family:TimesNewRoman>I2C总线上最多能挂

3、多少个I2C器件?<SPANstyle=FONT-SIZE:12pt;FONT-FAMILY:宋体;mso-ascii-font-family:TimesNewRoman;mso-hansi-font-family:TimesNewRoman>I2C总线上允许挂接I2C器件的数量由两个条件决定:1).I2C从设备的地址位数。I2C标准中有7位地址和10位地址两种。如果是7位地址,允许挂接的I2C器件数量为:27=128,如果是10位地址,允许挂接的I2C器件数量为:210=1024,般I2C总线上挂接的I2C器件不会太多,所以现在几乎所有的I2C器件都使用7位地址。2).挂在I2C

4、总线上所有I2C器件的管脚寄生电容之和。I2C总线规范要求,I2C总线容性负载最大不能超过470pF。I2C总线是如何工作的?1).I2C总线传输的特点。I2C总线按字节传输,即每次传输8bits二进制数据,传输完毕后等待接收端的应答信号ACK,收到应答信号后再传输下一字节。等不到ACK信号后,传输终止。空闲情况下,SCL和SDA都处于高电平状态。2).如何判断一次传输的开始?如上图所示,I2C总线传输开始的标志是:SCL信号处于高电平期间,SDA信号出现一个由高电平向低电平的跳变。3).如何判断一次传输的结束?如上图所示,I2C总线传输结束的标志是:SCL信号处于高电平期间,SDA信号出现一

5、个由低电平向高电平的跳变。跟开始标识正好相反。4)什么样的I2C数据才是有效的。有效数据在SCL处于高电平期间,SDA保持状态稳定的数据才是有效数据,只有在SCL处于低电平状态时,SDA才允许状态切换。前面已经讲过了,SCL高电平期间,SDA状态发生改变,是传输开始/.结束的标志。<SPANstyle=FONT-SIZE:12pt;FONT-FAMILY:宋体;mso-ascii-font-family:TimesNewRoman;msohansifontfamily:TimesNewRoman>I2C总线的主要时序参数有哪些?<SPANstyle=FONTSIZE:12pt

6、;FONTFAMILY:宋体;msoasciifontfamily:TimesNewRoman;msohansifontfamily:TimesNewRoman>I2C总线的主要时序参数有:开始建立时间tSU:STA,开始保持时间tHD:STA,数据建立时间tSU:DAT,数据保持时间tSU:DAT,结束建立时间tSU:STO。如下图所示:<SPANstyle=FONTSIZE:12pt;FONTFAMILY:宋体;msoasciifontfamily:TimesNewRoman;msohansifont-family:TimesNewRoman>开始建立时间:SCL上升至幅

7、度的90%与SDA下降至幅度的90%之间的时间间隔;开始保持时间:SDA下降至幅度的10%与SCL下降至幅度的10%之间的时间间隔;数据建立时间:SDA上升至幅度的90%或SDA下降至幅度的10%与SCL上升至幅度的10%之间的时间间隔;数据保持时间:SCL下降至幅度的10%与SDA上升至幅度的10%或SDA下降至幅度的90%之间的时间间隔;结束建立时间:SCL上升至幅度的90%与SDA上升至幅度的90%之间的时间间隔;I2C总线的时序参数要求:参数标准模式快速模式最小值最大值最小值最大值tSU:STA4.7us0.tHD:STA4.Ous0.tSU:DAT250ns100nstsU:DATO

8、us3.45usOus0.9ustSU:STO4.Ous0.Bus勿fron1!maBterto&aveI2C总线如何进行读写操作?from-jetomasterPSTOPcwidilionSLAVEADDRESS/AASA/A%=0Write*/zzzADATAiDATA1测二1ReadA=ackrtiw(SDALOAJ瓦notacknowlwigfe(SDAHIGHS=STARTcondition如上图所示,I2C开始传输时,第一个字节的前7bit是地址信息(7位地址器件),第8bit是操作标识,为“0”时表示写操作,为“1”时表示读操作,第9个时钟周期是应答信号ACK,低有效,高电平表示

9、无应答,传输终止。在上图中还可以看出,正常情况下,写操作是I2C主设备方发起终止操作的,而读操作时,I2C主控制器在接收完最后一个数据后,不对从设备进行应答,传输终止。I2C总线案例分析<SPANstyle=FONT-SIZE:12pt;FONT-FAMILY:宋体;mso-ascii-font-family:TimesNewRoman;mso-hansi-font-family:TimesNewRoman><SPANstyle=FONT-SIZE:12pt;FONT-FAMILY:宋体;mso-ascii-font-family:TimesNewRoman;mso-hans

10、i-font-family:TimesNewRoman;mso-font-kerning:1.0pt;mso-ansi-language:EN-US;mso-fareast-language:ZH-CN;mso-bidi-language:AR-SA;mso-bidi-font-family:TimesNewRoman>问题描述:在测试某I2C总线时,发现SDA数据线上有毛刺,而且出现的位置很有规律,一般在第9,18,27时钟周期的后面。如下图所示。SDA<SPANstyle=FONT-SIZE:12pt;FONT-FAMILY:宋体;mso-ascii-font-family:T

11、imesNewRoman;mso-hansi-font-family:TimesNewRoman><SPANstyle=FONT-SIZE:12pt;FONT-FAMILY:宋体;mso-ascii-font-family:TimesNewRoman;mso-hansi-font-family:TimesNewRoman>如上图所示,t1是I2C总线上的Slave设备应答信号ACK(第9个时钟周期输出)相对与参考时钟SCL下降沿的滞后时间。数据方向是Slave->Master。2是I2C总线上的Master设备在第10个时钟输出相对了参考时钟SCL的滞后时间。数据方向是Master->Slave。At是Master设备与Slave设备输出数据延迟的时间差。Master设备发出最后一个bit数据后,总线的使用权交给Slave设备使用,由Slave设备发出应答信号ACK,该信号在SCL下降沿经t1延迟后发出,在SCL的下一个时钟沿后内经t1后结束。而Master设备在同一个时钟沿,经常t2延迟后发出第9bit数据,这样在At(t2-tl)时间内,Master和Slave设备都没有使用总线,由于SDA是OC/OD输出,芯片外面通过电阻R上拉到VCC,将SDA电平拉升,但是由于At很短,VCC还没来的及将SDA拉到稳定的高电平,Master就开始发出数据“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号