ZHCSN95A August 2022 – December 2022 DRV8452
PRODUCTION DATA
將多個器件連接到控制器時,可以使用或不使用菊花鏈。如果要在不使用菊花鏈的情況下將“n”個器件連接到控制器,必須針對 nSCS 引腳利用來自控制器的“n”個 GPIO 資源。然而,如果使用菊花鏈配置,則可利用單條 nSCS 線路來連接多個器件。
圖 7-50 展示了三個器件以菊花鏈形式連接時的拓撲。當多個器件與同一控制器通信時,此配置可節省 GPIO 端口。
鏈中的第一個器件從 MCU 接收數據(如圖 7-51 所示),以便進行三器件配置:2 字節標頭 (HDRx) 后跟 3 字節地址 (Ax) 后跟 3 字節數據 (Dx)。
圖 7-51 帶有三個器件的 SPI 幀通過鏈中傳送數據后,MCU 會按圖 7-52 中所示的格式接收數據字符串,以便進行三器件配置:3 字節狀態 (Sx) 后跟 2 字節標頭后跟 3 字節報告 (Rx)。
圖 7-52 用于三個器件的 SPI 數據序列標頭字節包含鏈中連接的器件數量信息,以及一個全局清除故障命令,該命令將在芯片選擇 (nSCS) 信號的上升沿清除所有器件的故障寄存器。標頭值 N5 到 N0 是 6 位,專用于顯示鏈中的器件數量。每個菊花鏈連接最多可串行連接 63 個器件。
HDR2 寄存器的 5 個 LSB 不用考慮位,MCU 可以使用這些位來確定菊花鏈連接的完整性。對于兩個 MSB,標頭字節必須以 1 和 0 開頭。
圖 7-53 標頭字節狀態字節提供菊花鏈中每個器件的故障狀態寄存器的相關信息,因此 MCU 不必啟動讀取命令即可從任何特定器件讀取故障狀態。這樣可以保留用于 MCU 的其他讀取命令,并使系統更有效地確定器件中標記的故障條件。對于兩個 MSB,狀態字節必須以 1 和 1 開頭。
當數據通過器件時,它通過計算接收到的狀態字節數后跟第一個標頭字節來確定自身在鏈中的位置。例如,在這種三器件配置中,鏈中的器件 2 在接收 HDR1 字節之前先接收兩個狀態字節,然后再接收 HDR2 字節。
根據兩個狀態字節,數據可以確定其位于鏈中的第二個位置。根據 HDR2 字節,數據可以確定鏈中連接了多少個器件。這樣,數據僅將相關的地址和數據字節加載到其緩沖區中,并繞過其他位。該協議允許在不增加系統延遲的情況下為鏈上多達63個器件提供更快的通信。
對于單器件連接,地址和數據字節保持不變。圖 7-51中顯示的報告字節(R1 到 R3)是所訪問的寄存器的內容。
圖 7-55 SPI 事務