青岛建网站的公司,管理网络的网站,网页制作素材ps文件,录入客户信息的软件STM32——I2C 宗旨#xff1a;技术的学习是有限的#xff0c;分享的精神是无限的。 一、I2C协议 I 2 C #xff08;Inter-Integrated Circuit#xff09;协议是由 Philips 公司开发的#xff0c;由于它具备引脚少、硬件实现简单、可扩展性强、不需要如 USART、CAN 的外部…STM32——I2C 宗旨技术的学习是有限的分享的精神是无限的。 一、I2C协议 I 2 C Inter-Integrated Circuit协议是由 Philips 公司开发的由于它具备引脚少、硬件实现简单、可扩展性强、不需要如 USART、CAN 的外部收发设备等特点现在被广泛地使用在系统内多个集成电路IC间的通信。
1、物理层
1它只使用两条总线线路 一条双向串行数据线SDA 一条串行时钟线 SCL。
2每个连接到总线的设备都有一个独立的地址主机可以利用这个地址进行不同设备之间的访问。
3多主机同时使用总线时为了防止数据冲突会利用仲裁方式决定由哪个设备占用总线。
4具有三种传输模式 标准模式的传 输速率为 100 Kbit/s 快速模式为 400 Kbit/s高速模式下可达 3.4 Mbit/s但目前大多 I 2 C 设备尚不支持高速模式。
5片上的滤波器可以滤去总线数据线上的毛刺波以保证数据完整。
6连接到相同总线的 IC 数量受到总线的最大电容 400 pF。 2、协议层 I 2 C 的协议包括起始和停止条件、数据有效性、响应、仲裁、时钟同步和地址广播等环节由于我们使用的是 STM32 集成的硬件 I 2 C 接口并不需要用软件去模拟 SDA 和SCL 线的时序。 S传输开始信号
SLAVE_ADDRESS从机地址
R/W 传输方向选择位1 为读0 为写
A/A—— 应答或非应答信号
P停止传输信号 二、STM32的I2C架构
1、I2C接口特性
1STM32 的中等容量和大容量型号的芯片均有多达两个的 I 2 C 总线接口。
2能够工作于多主模式或从模式分别为主接收器、主发送器、从接收器及从发送器。
3支持标准模式 100 Kbit/s 和快 速模式 400 Kbit/s不支持高速模式。
4支持 7 位或 10 位寻址。
5内置了硬件 CRC 发生器 / 校验器。
6I 2 C 的接收和发送都可以使用 DMA 操作。
7支持系统管理总线SMBus2.0 版。
2、I2C结构 I 2 C 的所有硬件架构就是根据 SCL 线和 SDA 线展开的其中 SMBALERT 线用于 SMBus。 SCL 线的时序即为 I 2 C 协议中的时钟信号它由 I 2 C 接口根据时钟控制寄存器CCR控制控制的参数主要为时钟频率。 SDA 线的信号则通过一系列数据控制架构在将要发送的数据的基础上根据协议添加各种起始信号、应答信号、地址信号实现以 I 2 C 协议的方式发送出去。读取数据时则从 SDA 线上的信号中取出接收到的数据值。发送和接收的数据都被保存在数据寄存器DR上。