I2C总线

 I2C是飞利浦公司发明的主从同步串行通信总线。I2C总线只需要两根信号线组成,一根是串行数据线SDA,另一根是串行时钟线SCL。I2C总线器件SDA和SCL引脚都是漏极开路(或集电极开路)输出结构,因此实际应用时,SDA和SCL信号线都必须要加上拉电阻。
 起始条件:当SCL处于高电平期间,SDA从高电平向低电平跳变时产生起始条件。
 停止条件:当SCL处于高电平期间,SDA从低电平向高电平跳变时产生停止条件。
 SCL必须由主机发送,SDA上信号的转变必须是在SCL处于低电平时发生,否则会被当成起始条件或停止条件;SCL处于高电平时,SDA上信号稳定,接收方可以接收。
 主机发送起始信号后,继续送片选信号(从机把自己的地址和发送过来的地址相比,如果一样就应答),即7位从机地址加1位方向(读写)控制。从机接收到8位数据后,才要发应答信号(SDA为低电平),如发非应答信号(SDA为高电平)表示从机忙,还无法接收数据或则从机坏了。如果从机是有子地址器件(如带I2C接口的EEPROM AT24C02),则主机继续发送器件子地址,从机还要应答。然后,如果是写,主机就开始往SDA上发数据了,从机收到后应答,如果要连续写,从机会自动把地址加一,主机就不停写下去,每一字节从机要应答,如果不要连续写,就从新开始,最后主机要停止写,就发停止信号;如果是读,主机就又要发个起始信号,再发7位从机地址加1位方向(读写)控制,读写控制此时为1,从机应答后,从机往主机发数据,主机应答,如为连续读,从机会自动把地址加一,主机就不停读下去,如果不要连续读,就从新开始,最后主机发非应答信号表示我不再接收了,从机知道后不再发数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值