原创 iic总线协议

2009-11-29 13:17 4053 9 10 分类: 工程师职场

       出去面试居然考的是iic总线,好久没有看了居然有些忘记了,现在贴点出来温习一下!


什么是I2C协议?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


I2C协议是单片机与其它芯片常用的通讯协议,由于只需要两根线,所以很好使用。


 

1. I2C总线的特点


(1)只要求两条总线线路 一条串行数据线 SDA 一条串行时钟线 SCL 


(2) 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址;主机可以作为主发送器或主机接收器 


(3)它是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏 


(4)串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s 快速模式下可达 400kbit/s 高速模式下可达.4Mbit/s 


(5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整


(6) 连接到相同总线的IC数量只受到总线的最大电容400pF 限制


 


I2C协议总线信号时序分析


1 .数据的有效性:


SDA 线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态只有在 SCL线的时钟信号是低电平时才能改变。如图3.1 I2C总线的位传输所示。


fa42d994-33c2-4aaf-905f-7ad64220050b.JPG


 


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 


1. I2C总线的位传输


 


2 .起始和停止条件


SCL线是高电平时,SDA线从高电平向低电平切换,这个情况表示起始条件。


SCL线是高电平时,SDA线由低电平向高电平切换表示停止条件。如图3.2 I2C起始和停止条件所示。


d6ef7dfb-dd3a-4ed0-849b-d8e9da0b4b09.JPG


3.2 起始和停止条件


3. 总线空闲状态


SDASCL两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高; 


4 .数据传输与应答信号ACK


发送到SDA线上的数据必须是8位的。每次传输可以发送的数据不受限制。每个字节后必须在时钟的第9个脉冲期间释放数据总线(SDA为高),由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。如图3.3 I2C总线响应。 


 


3d4c1828-f88d-4f6e-82b1-be76cd7cf22d.JPG

3.3 I2C总线响应


首先传输的是数据的最高位(MSB)。如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟SCL保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线SCL后,数据传输继续。如图3.4 I2C总线数据传输所示。


6facdac1-69b3-43fd-b309-16f570179906.JPG


3.4 I2C总线数据传输


4. 地址格式


数据的传输遵循如图4.1 完整的数据传送所示,在起始条件之后,发送一个7位的从机地址,紧接着第8位是数据方向(R/ — W),0-表示发送数据(写),1-表示接收数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中,可能有不同的读/写格式结合。如图3.5 I2C总线完整的数据传输。


1df04e3a-87da-4792-8770-31c963e00d93.JPG


3.5 I2C总线完整的数据传输


 

 


 

IIC总线协议中文 


https://static.assets-stash.eet-china.com/album/old-resources/2009/11/29/f56cfadf-af12-461e-aca1-5e43972bfeeb.rar

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户158894 2010-12-21 21:09

谢谢楼主 分享!!!
相关推荐阅读
bitao1983_395643617 2016-01-26 16:32
华为硬件开发是怎么做的,有什么不一样?(感同身受)
朱晓明 最近很多朋友咨询的一些硬件问题,发现朋友们没有仔细的看datasheet,也没有好好的做电路分析。我讲一讲华为是怎么做硬件开发的,给正在做硬件开发的朋友一些启示。说的不对的地方,大家批...
bitao1983_395643617 2015-12-08 11:24
(多图)宽带数字下变频器的FPGA实现
随着软件无线电理论的日趋成熟,软件无线电技术越来越多地应用到军用或民用通信系统中。其中,数字下变频技术(DDC)是软件无线电中的核心技术之一。数字下变频工作在模拟前端输入模拟信号经模数转换之后,而在终...
bitao1983_395643617 2015-10-15 09:41
扒开看移动5G原型机,聊聊其硬件设计的构想?
虽然5G标准尚未成型,但距离大家公认的商用化时间已不足5年(业界公认到2020年会实现5G的大规模部署)。为了抢占先机,参与标准制定,许多公司目前已提出了就5G的新兴算法和应用进行原型设计的需求,全球...
bitao1983_395643617 2015-10-15 09:39
(多图)时钟抖动和相噪及其测量方法
抖动测量一直被称为示波器测试测量的最高境界。传统最直观的抖动测量方法是利用余辉来查看波形的变化。后来演变为高等数学概率统计上的艰深问题,抖动测量结果准还是不准的问题就于是变得更加复杂。 时钟的特性可...
bitao1983_395643617 2015-06-27 22:49
你设计的PCB EMI达标了吗?
电子设备的电子信号和处理器的频率不断提升,电子系统已是一个包含多种元器件和许多分系统的复杂设备。高密和高速会令系统的辐射加重,而低压和高灵敏度 会使系统的抗扰度降低。因此,电磁干扰(EMI)实在是威胁...
bitao1983_395643617 2015-04-10 14:28
(多图) FPGA与ADC数字数据输出的接口及LVDS应用诀窍
现场可编程门阵列(FPGA)与模数转换器(ADC)输出的接口是一项常见的工程设计挑战。本文简要介绍各种接口协议和标准,并提供有关在高速数据转换器实现方案中使用LVDS的应用诀窍和技巧。 接口方式和标...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条