I2C总线协议

I2C(inter-integrated circuit)总线,是由菲利浦公司开发的一种同步串行总线协议,用于连接微控制器及其外围设备。
最初是为音频和视频设备开发的,如今 I2C 在各种电子设备中得到了广泛的应用。嵌入式系统中常常使用这个总线连接RAM、EEPROM 以及 LCD 控制器等设备。IIC 总线因为协议成熟、引脚简单、传输速率高、支持的芯片多,并且有利于实现电路的标准化和模块化,得到了包括 Linux 在内的很多操作系统的支持,受到开发者的青睐。Linux 内核中针对 I2C的总线特性,其设备驱动使用了一种特殊的体系结构。开发I2C 总线设备驱动程序就必须理解 Linux 的 I2C 总线驱动的体系结构。
I2C 总线是由数据线(SDA)和时钟(SCL)构成的同步串行总线,可发送和接收数据。主要用于在处理器与被控芯片之间、芯片与芯片之间进行双向传送。各种被控制电路均并联在这条总线上,每个电路和模块都有惟一的地址。在信息的传输过程中,I2C 总线上并接的每一模块既是主控设备或被控设备,又是发送器或接收器,这取决于它所要完成的功能。主控设备发出的控制信号分为地址码和控制量两个部分:地址码用来选址,即选择需要的控制电路,确定控制的种类;控制量决定该调整的类别及需要的数值。这样就保证了各控制电路虽然挂在同一条总线上,却彼此独立,互不影响。IIC是为了与低速设备通信而发明的,所以IIC的传输速率比不上SPI。
I2C 总线在传送数据过程中共有 3 种类型信号,它们分别是开始信号、结束信号和应答信号。
开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
在这里插入图片描述

结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
在这里插入图片描述
应答信号:主机SCL拉高,读取从机SDA的电平,为低电平时表示产生应答。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值