I2C总线

  1. I2C总线是一种两线式串行总线,只有一根时钟线和一根数据线,用于连接微控制器及其外围设备。
    I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,
    因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。
  2. I2C设备有1K/2K/4K/8K/16K的,都是以8字节为一页。
    设备地址有硬件确定,地址前四位都是固定值1010,最后一位都是读写位,由自己确定,1代表读,0代表写,
  3. 1K/2K的最多可级联8个设备,第5-7位是A2-A0,用于确定设备地址,由硬件布线确定,读写的地址用一字节表示
    4K的最多可级联4个设备,第5-6位是A1-A0,用于确定设备地址,由硬件布线确定,后面还有一位P0,
    这一位和后面传入的地址结合(共9位)用于表示读写的地址
    8K的最多可级联2个设备,第5位是A0,用于确定设备地址,由硬件布线确定,后面两位P1P0,
    这两位和后面传入的地址结合(共10位)用于表示读写的地址
    16的只可以1个设备,所以不需要指定设备地址,有三位P2P1P0,
    这三位和后面传入的地址结合(共11位)用于表示读写的地址
    外接设备既可以作为主设备也可以作为从设备,哪一方发起的通信,哪一方就是主设备。
  4. **I2C通信协议要求:
    1) 只有在总线空闲时才允许启动数据传送
    2) 在数据传送过程中
    当时钟线为高电平时数据线必须保持稳定状态
    如果时钟线为高电平时,数据线发生跳变,则数据线的任何电平变化将被看作总线的起始或停止信号

时序要求:
1)先发送start信号:SCL高电平,SDK拉低
2)发送数据:发送数据是电平变化必须在SCL线为低电平时,每次发送一字节,一字节读写完毕,最后会有一个应答位
保持一个时钟周期的低电平,表示数据读写成功
如果是按页读写,则发送完一字节不需要发送应答信号,只需在一页读写完毕再发送一个应答信号,
读写完一页以后则发生回滚,读写地址跳转到当前页的起始地址
3)发送stop信号:SCL高电平,SDK拉高**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值