I2C协议

I2C  双向同步串行总线 Inter Intergrated CirCUIT bus 内部集成电路总线
低速 同步 芯片-芯片 板上/板间通信 2线 多主设备
串行扩展总线,连接控制器及其外设,2根线完美连接所有器件,缺点为速度太慢,最快才几Mbps,每传一个BYTE就要ACK/NACK(确认每一帧都传输成功)
2 Lines -> 2 data buses   + Ground
  • 串行时钟SCL(Clock)
  • 串行数据SDA(Data) 
传输速率:
  • 100kbit/s—标准模式
  • 400kbit/s—快速模式
  • 3.4Mbit/s—高速模式
Master --> Slave       
every device have  read address and write address
 
 

协议格式

1. 一般长这个样子:

 

 

2. 以S3C2440芯片为例,其I2C设备管理器的手册中写明读数据和发数据的格式为:

 

 

 

 

 

 
 

发送数据段的例子

设备向PC发送一个字符‘A’ (A = 0x41(H) = 01000001(B) )
 

1. SDA先拉低,SDL开启CLK脉冲

2. 8个CLK周期,发送数据(SCL高电平检测引脚电平)

3. 第9个CLK周期,芯片检测ACK信号,输出转为输入

 

 

 

 

 


 

posted @ 2020-01-02 16:53  kumata  阅读(217)  评论(0编辑  收藏  举报