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 位事務)。
圖 8-40 SPI 控制器 CPOL 和 CPHA
圖 8-41 SPI 控制器時序圖| 步進 | 說明 |
|---|---|
| 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) |