ZHCSQH8 September 2025 TCAN5102-Q1
ADVANCE INFORMATION
接收 FIFO 為只讀。
RX 緩沖區中每個幀的大小由消息的數據長度決定。緩沖區中 RX 幀的總長度為以下各項之和
當從 FIFO 元素中讀取了所有數據字節后,對 RX FIFO 的讀取被視為完成且該 FIFO 元素被釋放。當讀取數據時,若讀取的字節數超過剩余可讀取字節數,超出部分的無效字節將返回 0x00。
從 RX FIFO 中對一幀數據進行部分讀取后,下一次對 SPI FIFO 的讀取會自動延續該幀的剩余部分,此時 CONT 位會被置位以標識這種延續狀態,同時 NUM_BYTES_REMAINING 會顯示該消息中尚待讀取的數據字節數。
從空的 RX 緩沖區讀取時,通道 0 的 NUM_BYTES_REMAINING 返回 0。幀的讀取順序始終與接收順序一致。
通過向 SPI 清除 RX FIFO 位 (SPI_FIFO_CTRL[1]) 寫入 1,可以清空 RX 緩沖區(丟棄所有幀)。
| 字節 | 位 | 字段 | 類型 | 復位 | 說明 |
|---|---|---|---|---|---|
| 0 | 7 | CONT | R | 0 | 用于指示是消息的第一部分還是延續部分的標志(用于讀取拆分為多個 CAN 讀取的消息) 0 = 新消息的第一部分 1 = 前一次消息讀取的延續 |
| 6:3 | RSVD | R | 0 | 保留 | |
| 2:0 | CHAN | R | 0x0 | 用于該消息的 SPI 通道 有效值 0-3 0 = SPI 通道 0 1 = SPI 通道 1 2 = SPI 通道 2 3 = SPI 通道 3 4 = SPI 通道 4 5 = SPI 通道 5 6 = SPI 通道 6 7 = SPI 通道 7 注: 一個 SPI 通道對應一個特定的 GPIO,且要求該 GPIO 被分配為特殊功能 | |
| 1 | 7:0 | NUM_BYTES_REMAINING | R | 0x0 | 此消息中剩余待讀取的數據字節數(包括當前幀中傳輸的數據字節)。這不包括報頭字節。這使處理器知道當前 CAN 幀中有多少字節是有效的,以及是否需要再次讀取以從 FIFO 中獲取該消息的更多數據。 |