ZHCSRX7 june 2023 BQ79616
PRODUCTION DATA
当 GPIO_CONF1[SPI_EN] = 1 时,GPIO4 至 GPIO7 可配置为 SPI 控制器接口。SPI 控制器包含四个 I/O:
SPI_CONF[CPOL](时钟极性)和 [CPHA](时钟相位)定义 SPI 时钟格式。在 SPI 时钟反相或同相时会定义 [CPOL]。如果在前(第一个)时钟沿或后(第二个)时钟沿对 MISO 和 MOSI 进行采样,则定义 [CPHA],无论该时钟沿是上升沿还是下降沿都是如此。SPI_CONF[NUMBIT4:0] 定义该事务有多少位(1 位至 24 位事务)。
步进 | 说明 |
---|---|
1 | 配置 SPI 时钟极性、时钟相位、事务位数: a. 对 SPI_CONF 寄存器进行写入来配置 SPI 通信 |
2 | 写入数据(1 至 24 位,在 SPI_CONF[NUMBIT4:0] 设置中指定): a. 将要发送到 SPI 目标的数据设置到 SPI_TX1 至 SPI_TX3 寄存器中 b. SPI_TX1 是 LSByte,SPI_TX3 是 MSByte |
3 | 选择目标(假设低电平有效)并执行 SPI 写入操作: a. 发送 SPI_EXE 寄存器 = 0x01(即 [SS_CTRL] = 0 且 [SPI_GO] = 1) |
4 | 等待 SPI 通信完成 |
5 | 取消选择 SS 端口(假设低电平有效,因此取消选择意味着将 SS 引脚拉为高电平) a. 发送 SPI_EXE 寄存器 = 0x02(即 [SS_CTRL] = 1 且 [SPI_GO] = 0) |
步进 | 说明 |
---|---|
1 | 配置 SPI 时钟极性、时钟相位、事务位数: a. 对 SPI_CONF 寄存器进行写入来配置 SPI 通信 |
2 | 选择目标并执行 SPI 通信: a. 发送 SPI_EXE 寄存器 = 0x01(即 [SS_CTRL] = 0 且 [SPI_GO] = 1) |
3 | 等待数据事务完成 |
4 | 读取数据(1 至 24 位,在 SPI_CONF[NUMBIT4:0] 设置中指定): a. 从 SPI_RX1 至 SPI_RX3 寄存器中读取 SPI 目标数据 b. SPI_TX1 是 LSByte,SPI_TX3 是 MSByte |
5 | 取消选择 SS 端口(假设低电平有效,因此取消选择意味着将 SS 引脚拉为高电平) a. 发送 SPI_EXE 寄存器 = 0x02(即 [SS_CTRL] = 1 且 [SPI_GO] = 0) |