你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32 I2C详解

[复制链接]
STMCU小助手 发布时间:2022-3-28 22:00
01. I2C简介
I2C(内部集成电路)总线接口用作微控制器和 I2C 串行总线之间的接口。它提供多主模式功能,可以控制所有I2C总线特定的序列、协议、仲裁和时序。它支持标准和快速模式。它还与 SMBus 2.0 兼容。

它可以用于多种用途,包括 CRC 生成和验证、SMBus(系统管理总线)以及 PMBus(电源管理总线)。

根据器件的不同,可利用 DMA 功能来减轻 CPU 的工作量。

02. I2C主要特性
并行总线/I 2 C 协议转换器
● 多主模式功能:同一接口既可用作主模式也可用作从模式
● I 2 C 主模式特性:
— 时钟生成
— 起始位和停止位生成
● I 2 C 从模式特性:
— 可编程 I 2 C 地址检测
— 双寻址模式,可对 2 个从地址应答
— 停止位检测
● 7 位/10 位寻址以及广播呼叫的生成和检测
● 支持不同的通信速度:
— 标准速度(高达 100 kHz)
— 快速速度(高达 400 kHz)
● 适用于 STM32F42xxx 和 STM32F43xxx 的可编程数字噪声滤波器
● 状态标志:
— 发送/接收模式标志
— 字节传输结束标志
— I 2 C 忙碌标志
● 错误标志:
— 主模式下的仲裁丢失情况
— 地址/数据传输完成后的应答失败
— 检测误放的起始位和停止位
— 禁止时钟延长后出现的上溢/下溢
● 2 个中断向量:
— 一个中断由成功的地址/数据字节传输事件触发
— 一个中断由错误状态触发
● 可选的时钟延长

● 带 DMA 功能的 1 字节缓冲
● 可配置的 PEC(数据包错误校验)生成或验证:
— 在 Tx 模式下,可将 PEC 值作为最后一个字节进行传送
— 针对最后接收字节的 PEC 错误校验
● SMBus 2.0 兼容性:
— 25 ms 时钟低电平超时延迟
— 10 ms 主器件累计时钟低电平延长时间
— 25 ms 从器件累计时钟低电平延长时间
— 具有 ACK 控制的硬件 PEC 生成/验证
— 支持地址解析协议 (ARP)
● PMBus 兼容性

03. I2C功能说明
除了接收和发送数据之外,此接口还可以从串行格式转换为并行格式,反之亦然。中断由软件使能或禁止。该接口通过数据引脚 (SDA) 和时钟引脚 (SCL) 连接到 I 2 C 总线。它可以连接到标准(高达 100 kHz)或快速(高达 400 kHz)I 2 C 总线。

模式选择
该接口在工作时可选用以下四种模式之一:
● 从发送器
● 从接收器
● 主发送器
● 主接收器
默认情况下,它以从模式工作。接口在生成起始位后会自动由从模式切换为主模式,并在出现仲裁丢失或生成停止位时从主模式切换为从模式,从而实现多主模式功能。

IIC框图

20201012175518670.png

04. I2C中断

20201012175527217.png

05. I2C相关寄存器
5.1 I2C 控制寄存器 1 (I2C_CR1)
I2C Control register 1
偏移地址:0x00
复位值:0x0000

20201012175536663.png

5.2 I2C 控制寄存器 2 (I2C_CR2)
I2C Control register 2
偏移地址:0x04
复位值:0x0000

20201012175543433.png

5.3 I2C 自有地址寄存器 1 (I2C_OAR1)
I2C Own address register 1
偏移地址:0x08
复位值:0x0000

20201012175552613.png

5.4 I2C 自有地址寄存器 2 (I2C_OAR2)
I2C Own address register 2
偏移地址:0x0C
复位值:0x0000

20201012175559433.png

5.5 I2C 数据寄存器 (I2C_DR)
I2C Data register
偏移地址:0x10
复位值:0x0000

20201012175606547.png

5.6 I2C 状态寄存器 1 (I2C_SR1)
I2C Status register 1
偏移地址:0x14
复位值:0x0000

20201012175613925.png

5.7 I2C 状态寄存器 2 (I2C_SR2)
I2C Status register 2
偏移地址:0x18
复位值:0x0000

2020101217562154.png

5.8 I2C 时钟控制寄存器 (I2C_CCR)
I2C Clock control register
偏移地址:0x1C
复位值:0x0000
20201012175628717.png





收藏 评论0 发布时间:2022-3-28 22:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版