i2c协议详细介绍

本文详细介绍了I2C协议,包括SDA和SCL信号、逻辑电平、数据有效性、起始和停止状态、字节格式、ACK和NACK机制、时钟同步与仲裁、从机地址及读写位。讲解了I2C如何在多主机系统中实现同步和数据传输确认,以及在数据传输中的各种情况处理。
摘要由CSDN通过智能技术生成

1.SDA和SCL信号

  SDA和SCL都是双向线,通过一个电流源或者上拉电阻连接到一个正电压。当总线空闲时,两线都是高电平。连接到总线的设备输出状态必须开漏或者开集电极来执行线与功能。总线数据的传输速率在标准模式下达到100kbit/s,在快速模式下达到400kbit/s,在快速+模式下达到1Mbit/s,在高速模式下达到3.4Mbit/s。总线电容限制了连接到总线上的接口数量

2.SDA和SCL的逻辑电平

  由于不同种类的技术设备(CMOS,NMOS,bipolar)都能接入IIC总线,逻辑电平0和1不是固定的,而是依赖于相关联的Vdd。输入参考电平是0.3Vdd和0.7Vdd(一些早期设备是固定的Vil=1.5V和Vih=3.0V)。

3.数据有效性

  SDA上的数据必须在SCL为高电平时保持稳定,而在SCL为低电平时,切换高低状态。每发送一位数据,需要一个时钟脉冲。

4、起始和停止状态。

  全部的通信事物开始于一个起始信号,终止于一个停止信号。在SCL为高电平时,SDA从高到低的转换,定义为起始状态。在SCL为高电平,SDA从低到高的转换,定义为停止状态。

  

  起始状态和停止状态一直由主机生成。起始状态之后总线处于忙的状态。在停止状态出现,再经过一个确定的时间后,总线状态变成空闲。

  如果主机生成一个重复的起始状态代替停止状态,总线将一直保持忙状态。在这方面,起始状态和重复的起始状态在功能上是一致的。

  连接到总线上的设备如果集成了所需的接口硬件,能够很

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值