12. I2C-EEPROM

12.1. I2C 协议简介
I 2 C ( Inter-Integrated Circuit )协议是由 Phiilps 公司开发的,由于它具引脚少,硬件实现简单,可扩展性强,不需要如 USART、CAN 的外部收发设备,现在被
广泛地使用在系统内多个集成电路(IC)间的通讯。根据《I 2 C 总线协议版本 2.1-2000》的说明,我们可以更详细地了解 I 2 C 协议。 

12.1.1. 物理层
(1) 它只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线 (SCL)。 

(2) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问 

(3) 多主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线。 

(4) 具有三种传输模式:标准模式传输速率为 100kbit/s ,快速模式为 400kbit/s ,高速模式下可达 3.4Mbit/s,但目前大多 I 2 C 设备尚不支持高速模式。

(5) 片上的滤波器可以滤去总线数据线上的毛刺波 保证数据完整 。

(6) 连接到相同总线的 IC 数量受到总线的最大电容 400pF 限制 。 

                            图 12-1 常见的 I2C 通讯系统 

12.1.2. 协议层
I 2 C 的协议包括起始和停止条件、数据有效性、响应、仲裁、时钟同步和地址广播等环节,由于我们使用的是 STM32 集成的硬件 I 2 C 接口,并不需要用软件去模拟 SDA 和 SCL 线的时序,所以野火直接以 I 2 C 通讯的流程为大家讲解。

见图 12-2 主机写数据到从机。


 

posted @ 2014-03-10 22:02  小丁^_^  阅读(293)  评论(0编辑  收藏  举报