21.1 RT1052 的 LPI2C 特性及架构
直接控制 RT1052 的两个 GPIO 引脚,分别用作 SCL 及 SDA,按照上述信号的时序要求,就可以实现 I 2 C 通讯。
由于直接控制 GPIO 引脚电平产生通讯时序时,需要由 CPU 控制每个时刻的引脚状态,所以称之为“软件模拟协议”方式。
硬件协议方式:
RT1052 的 LPI2C(Low power I2C,低功耗 I2C)片上外设专门负责实现 I 2 C 通讯协议
- 只要配置好该外设,它就会自动根据协议要求产生通讯信号,收发数据并缓存起来
- CPU 只要检测该外设的状态和访问数据寄存器,就能完成数据收发。
21.1.1 RT1052 的 LPI2C 外设简介
RT1052 的 I 2 C 外设可用作通讯的主机及从机
- 支持标准模式 100Kbit/s、快速模式 400Kbit/s、高速模式 3.4Mbit/s 以及超高速模式 5Mbit/s 的传输速率
- 支持 7 位、10 位设备地址
- 支持 DMA 数据传输
- 具有数据校验功能
- 支持 SMBus2.0 协议
- SMBus 协议与 I 2 C 类似,主要应用于笔记本电脑的电池管理中
21.1.2 RT0152 的 LPI2C 架构剖析
21.1.2.1 通讯引脚
I 2 C 的所有硬件架构都是根据图中右侧 SCL 线和 SDA 线展开的。
- RT1052 芯片有多个 I 2 C 外设,使用时必须配置到这些指定的引脚
在标准 I2C 协议之外,LPI2C 还增加了 HREQ、SCLS 及 SDAS 这三个引脚
- HREQ:用于外部设备向 LPI2C 主机申请发起通讯的请求。
- LPI2C 工作于主机模式时,可使能检测 HREQ 用于接收外部的电平信号,接收到有效的电平信号后且 I2C 总线空闲,那么 LPI2C 会发起 I2C 通讯。
- SCLS 和 SDAS:这两个被称为第二时钟和第二数据线,具有两种功能
- (1) 当 LPI2C 被配置为主、从机独立引脚的模式时,SCL 和 SDA 线用于主机模式,而 SCLS 和SDAS 线则用于从机模式,互不干扰。
- (2) LPI2C 支持 4 线工作模式以减少噪声、增强系统的鲁棒性。这种模式下 SDA 和 SCL 线用于输入,而 SDAS 和 SCLS 线则用于信号输出,同时还要在外部增加一些电阻、二极管和三极管构成的电路