00. 目录
文章目录
- 00. 目录
- 01. I2C简介
- 02. I2C外设简介
- 03. I2C框图
- 04. I2C基本结构
- 05. 主机发送
- 06. 主机接收
- 07. 软件/硬件波形对比
- 08. 预留
- 09. 附录
01. I2C简介
I2C(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。
串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s。
I2C是一个多主机的总线,每个设备既可以当主控器或被控器,又可作为发送器或接收器,一条总线上可以有多个主机,但同一时刻只允许一个主机工作。
I2C(芯片间)总线接口连接微控制器和串行I2C总线。它提供多主机功能,控制所有I2C总线特定的时序、协议、仲裁和定时。支持标准和快速两种模式,同时与SMBus 2.0兼容。
I2C模块有多种用途,包括CRC码的生成和校验、SMBus(系统管理总线—System Management Bus)和PMBus(电源管理总线—Power Management Bus)。
根据特定设备的需要,可以使用DMA以减轻CPU的负担。
02. I2C外设简介
•STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担
•支持多主机模型
•支持7位/10位地址模式
•支持不同的通讯速度,标准速度(高达100 kHz),快速(高达400 kHz)
•支持DMA
•兼容SMBus协议
•STM32F103C8T6 硬件I2C资源:I2C1、I2C2
03. I2C框图
04. I2C基本结构
05. 主机发送
06. 主机接收
07. 软件/硬件波形对比
软件I2C波形
硬件I2C波形
08. 预留
09. 附录
参考: 【STM32】江科大STM32学习笔记汇总