I2C端口,即内部集成电路接口,I2C总线接口用作微控制器和I2C串行总线之间的接口,提供多主模式功能,可以控制所有I2C总线特定的序列、协议、仲裁和时序。它支持标准和快速模式。
I2C可用于多种用途,包括CRC生成和验证、SMBus(系统管理总线)以及PMBus(电源管理总线)。
I2C主要特性
并行总线/I2C协议转换器
多主模式功能:同一接口既可用作主模式也可用作从模式
I2C主模式特性:
1. 时钟生成
2. 起始位和停止位生成
I2C从模式特性:
1. 可编程I2C地址检测
2. 双寻址模式,可对2个从地址应答
3. 停止位检测
7位/10位寻址以及广播呼叫的生成和检测
支持不同的通信速度:
1. 标准速度(高达100KHz)
2. 快速速度(高达400KHz)
适用于STM32F42xxx和STM32F43xxx的可编程数字噪声滤波器
状态标识:
1. 发送/接收模式标志
2. 字节传输结束标志
3. I2C忙碌标志
错误标志:
1. 主模式下的仲裁丢失情况
2. 地址/数据传输完成后的应答失败
3. 检测误放的起始位和停止位
4. 禁止时钟延长后出现的上溢/下溢
2个中断向量:
1. 一个中断由成功的地址/数据字节传输事件触发
2. 一个中断由错误状态触发
注意:上述某些特性可能不适用于某些产品。用户应参照产品数据手册来确定I2C接口实现所支持的特定特性。
I2C功能说明
除了接收和发送数据之外,此接口还可以从串行格式转换为并行格式,反之亦然。中断由软件使能或禁止。该接口通过数据引脚和时钟引脚连接到I2C总线。它可以连接到标准或快速I2C总线。
模式选择:
该接口在工作时可选用四种模式,分别为从发送器、从接收器、主发送器和主接收器。
默认情况下,它以从模式工作。接口在生成起始位后会自动由从模式切换为主模式,并在出现仲裁丢失或生成停止位时从主模式切换为从模式,从而实现多主模式功能。
STM32F40x/41x的I2C框图