一、概述
NXP 的 MC33772C 是一顆支持 3~6S BMS 的 AFE。它的通訊接口有隔離的菊花鏈和直連的 SPI 兩種接口。對於只有 3~6 串電池的電池包中,主控沒有必要採用菊花鏈級聯,只需要通過 SPI 接口與 MC33772C 通訊。下面就向大家介紹 MC33772C 的 SPI 通訊的硬體和軟體是怎樣實現的。
二、MC33772C 的 SPI 硬體
圖 1. MC33772C SPI 硬體設置
MC33772C 與 MCU 的 SPI 通訊的硬體設置如圖 1 所示。
- 給 MC33772C 的 VPWR 提供 5~30V 電源之後,VPRE 會輸出 5V。
- SPI_COM_EN(pin23)接個 10K 電阻到 VPRE,即設置 MC33772C 為 SPI 接口方式通訊。如果 SPI_COM_EN 接個 10K 電阻到 GND,則設置 MC33772C 為菊花鏈的通訊方式。
- SPI 接口定義為:SCLK -> SCLK/RDTX_IN-(pin33)
MOSI -> SI/RDTX_IN+ (pin34)
MISO -> SO (pin27)
CS -> CSB (pin29)
- 根據 MCU 的 IO 電平,來給 VDDIO(pin28)提供電壓,可以是 3V 或者 5V。
- RDTX_OUT+(pin35)和 RDTX_OUT-(pin32)要與 GND 連接。
以上的 MC33772C 的管腳設置是 SPI 通訊方式的特殊處理,在這裡沒有提到的其它管腳電路和菊花鏈通訊方式的電路一致。
三、MC33772C 的 SPI 幀格式
MC33772C 的 SPI 是一個標準的四線 SPI 接口。兩條數據線(SO/SI)遵循先入先出的原則,採用大端(MSB)的字節序。SCLK 時鐘空閒時為高電平, SI 在 SCLK 的下降沿採樣數據,SO 在 SCLK 的上升沿改變狀態,MCU 可以在 SCLK 的下降沿讀取 SO 線上的電平。
MC33772C 的 SPI 通訊協議也是採用 TPL2 協議,但是與菊花鏈的 TPL2 通訊協議稍有不同。圖 2 和圖 3 顯示了 SPI 的 TPL2 協議的幀格式。TPL2 協議包含 5 種命令:NOP、Local Write、Global Write、Read Request、Read Respond。圖 3 顯示了 Read Request 命令的幀格式,圖 2 顯示了其它命令的幀格式。
圖 2. SPI 的 TPL2 協議(NOP/Write/Response)
圖 3. SPI 的 TPL2 協議( Read Request)
下面對幀格式中的各種數據類型作解釋。
① CRC[7:0] :CRC 校驗
② CMD[1:0]:00b=NOP 命令;
01b=Read 命令(如果 MS=0 表示 Read Request;MS=1 表示 Read Response);
10b=Local Write 命令;
11b=Global Write 命令。
③ MSGCNT[3:0]:表示當前幀的計數,從 0 計數到 15,然後再重新計數。這個值只對 Response 幀有效。
④ DADD[5:0]:設備地址,是MC33772C 的Cluster ID。
⑤ RADD[6:0]:寄存器地址。
⑥ MS:0b 表示是 Request 幀,1b 表示是 Response 幀。
⑦ NUMREG[6:0]:Read 的寄存器個數。
⑧ DATA[15:0]:16-bit 數據。
四、總結
在 3~6 串 BMS 系統中,MC33772C 可以直接通過 SPI 的方式與 MCU 通訊。其硬體設計比較簡單。其軟體還是 TPL2 幀協議,與菊花鏈的 TPL2 協議有所不同的是:SPI 幀中沒有MADD 和 CADD 兩種數據類型。SPI 幀相對來說更加簡單易行。如果想了解更多,可以在下方評論區留言,或者發郵件給我們:atu.sh@wpi-group.com。
五、參考資料
- NXP MC33772 datasheet: ds633730-MC33772C Datasheet(3.0).pdf。
如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:May Xu / 徐美霞
更多資訊,請掃碼關注我們!
評論