ZHCSRX7 june 2023 BQ79616
PRODUCTION DATA
當(dāng) GPIO_CONF1[SPI_EN] = 1 時(shí),GPIO4 至 GPIO7 可配置為 SPI 控制器接口。SPI 控制器包含四個(gè) I/O:
SPI_CONF[CPOL](時(shí)鐘極性)和 [CPHA](時(shí)鐘相位)定義 SPI 時(shí)鐘格式。在 SPI 時(shí)鐘反相或同相時(shí)會(huì)定義 [CPOL]。如果在前(第一個(gè))時(shí)鐘沿或后(第二個(gè))時(shí)鐘沿對(duì) MISO 和 MOSI 進(jìn)行采樣,則定義 [CPHA],無(wú)論該時(shí)鐘沿是上升沿還是下降沿都是如此。SPI_CONF[NUMBIT4:0] 定義該事務(wù)有多少位(1 位至 24 位事務(wù))。
圖 8-40 SPI 控制器 CPOL 和 CPHA
圖 8-41 SPI 控制器時(shí)序圖| 步進(jìn) | 說(shuō)明 |
|---|---|
| 1 | 配置 SPI 時(shí)鐘極性、時(shí)鐘相位、事務(wù)位數(shù): a. 對(duì) SPI_CONF 寄存器進(jìn)行寫(xiě)入來(lái)配置 SPI 通信 |
| 2 | 寫(xiě)入數(shù)據(jù)(1 至 24 位,在 SPI_CONF[NUMBIT4:0] 設(shè)置中指定): a. 將要發(fā)送到 SPI 目標(biāo)的數(shù)據(jù)設(shè)置到 SPI_TX1 至 SPI_TX3 寄存器中 b. SPI_TX1 是 LSByte,SPI_TX3 是 MSByte |
| 3 | 選擇目標(biāo)(假設(shè)低電平有效)并執(zhí)行 SPI 寫(xiě)入操作: a. 發(fā)送 SPI_EXE 寄存器 = 0x01(即 [SS_CTRL] = 0 且 [SPI_GO] = 1) |
| 4 | 等待 SPI 通信完成 |
| 5 | 取消選擇 SS 端口(假設(shè)低電平有效,因此取消選擇意味著將 SS 引腳拉為高電平) a. 發(fā)送 SPI_EXE 寄存器 = 0x02(即 [SS_CTRL] = 1 且 [SPI_GO] = 0) |
| 步進(jìn) | 說(shuō)明 |
|---|---|
| 1 | 配置 SPI 時(shí)鐘極性、時(shí)鐘相位、事務(wù)位數(shù): a. 對(duì) SPI_CONF 寄存器進(jìn)行寫(xiě)入來(lái)配置 SPI 通信 |
| 2 | 選擇目標(biāo)并執(zhí)行 SPI 通信: a. 發(fā)送 SPI_EXE 寄存器 = 0x01(即 [SS_CTRL] = 0 且 [SPI_GO] = 1) |
| 3 | 等待數(shù)據(jù)事務(wù)完成 |
| 4 | 讀取數(shù)據(jù)(1 至 24 位,在 SPI_CONF[NUMBIT4:0] 設(shè)置中指定): a. 從 SPI_RX1 至 SPI_RX3 寄存器中讀取 SPI 目標(biāo)數(shù)據(jù) b. SPI_TX1 是 LSByte,SPI_TX3 是 MSByte |
| 5 | 取消選擇 SS 端口(假設(shè)低電平有效,因此取消選擇意味著將 SS 引腳拉為高電平) a. 發(fā)送 SPI_EXE 寄存器 = 0x02(即 [SS_CTRL] = 1 且 [SPI_GO] = 0) |