I2C总线规范基础

简介

一、I2C总线的一些特征

  1. 只要求两条总线线路:一条串行数据线(SDA),一条串行时钟线(SCL)。
  2. SDA和SCL都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压(见图1)。当空闲时,两条线路都是高电平。
  3. 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址;主机可以作为主机发送器或主机接收器。
  4. 它是一个真正的多主机总线,如果两个或多个主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏。
  5. 串行的8位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。
  6. 片上的滤波器可以去总线上的毛刺法,保证数据完整。
  7. 连接到相同总线的IC数量只受到总线的最大电容400pF限制。
图1 高速模式器件和快速模式器件连接到 I2C 总线

 位传输

一、数据的有效性

        1、SDA线上的数据必须在时钟的高电平周期保持稳定;

        2、数据的高或低电电平状态只有在SCL线的时钟信号是低电平时才能改变(见图2)。

I2C总线的位传输
图2 I2C总线的位传输题

二、起始和停止条件

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

        2、当SCL线是高电平时,SDA线由低电平向高电平切换,这个情况表示停止条件(见图3)。

图3 起始和停止条件

传输数据

一、字节格式

        1、 发送到SDA线上的每个字节必须是8位。

        2、每次传输可以发送的字节数量不受限制,每个字节后必须跟一个响应位。

        3、首先传输的是最高位(MSB)(见图4)。

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

图4 I2C总线的数据传输

 二、响应

        1、数据传输必须带响应,相关的响应时钟脉冲由主机产生。

        2、有响应的时钟脉冲期间,发送器释放SDA线(高电平)。————(发送响应信号??

        3、在响应的时钟脉冲期间,接收器必须将SDA线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平(见图5)。—————(接收响应信号,否则不接收响应信号??

图5 I2C总线的响应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值