I2C总线协议
转自: https://www.cnblogs.com/aaronLinux/p/6218660.html 1.I2C总线物理拓扑结构 I2C总线在物理连接上非常简单,分别有SDA和SCL及上拉电阻组成。通信原理是通过SCL和SDA线高低电平时序控制,来产生I2C总线协议所需要的信号进行数据传输。 在总线处于空闲状态时,两线被上面所接的上拉电阻拉高,保持高电平 。 I2C通信方式是半双工。SPI和UART为双工 2 I2C总线特征 I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个 唯一的地址 (地 址通过物理接地或者拉高 ,可以从I2C器件的数据手册得知,如TVP5158芯片,7位地址依次bit6~bit0:x101 1xxx, 最低三位可配,如果全部物理接地,则该设备地址为0x58, 而之所以7bit因为 1个bit要代表方向,主向从和从向主 ),主从设备之间就通过这个地址来确定与哪个器件进行通信,在通常的应用中,我们把CPU带I2C总线接口的模块作为主设备,把挂接在总线上的其他设备都作为从设备。 I2C总线上可挂接的设备数量受总线的 最大电容400pF 限制 ,如果所挂接的是相同型号的器件,则还 受器件地址位的限制 。 I2C总线数据传输速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达 3