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