NXP MC33774 I2C 配置流程

一、 概述

? ? ? ?BMS,?即電池管理系統,?其主要功能之一就是監控和管理電池的狀態。?此外,?BMS 還需要存儲歷史數據,?以便進行數據分析,?優化電池使用策略,?提高電池效率和安全性。?

? ? ? ?MC33774A 是一款鋰離子電池控制 IC,可應用於汽車和工業應用,支持 4~18 串電池監測,具有 9 路通用 GPIO,其中,GPIO4 和 GPIO5 可復用作為 I2C 主機,與其他組件進行通訊,例如外部 EEPROM,用於存儲 BMS 相關數據。

? ? ? ?MC33774A I2C 總線支持 100KHz、400KHz 以及 1MHz 速率,可自主執行 I2C 總線通信,正在進行的通信對其他功能模塊沒有影響,可以與 MC33774A 的任何其他功能模塊並行執行。

二、 MC33774A EEPROM 讀寫操作流程

  1. 在操作 MC33774A 通過 I2C 對 EEPROM 進行讀寫前,應先將要發送的數據寫入 MC33774A 的 I2C_DATA0 - I2C_DATA17 寄存器,如圖 1 所示。

MC33774A I2C 數據寄存器
圖 1 MC33774A I2C 數據寄存器

  1. 配置 MC33774A I2C_CFG 寄存器,通過 CLKSEL 位配置 I2C 速率,配置 EN 位使能 GPIO4 和 GPIO5 作為 I2C 主機,如圖 2 所示。

MC33774A I2C_CFG 寄存器
圖 2 MC33774A I2C_CFG 寄存器

  1. 配置 MC33774A I2C_CTRL 寄存器,START 位配置所要發送的字節數,STPAFTER 位配置是否在最後一個字節數據後發送停止命令,RDAFTER 位配置多少個字節後重新發起起始命令,如圖 3 所示。

MC33774A I2C_CTRL 寄存器
圖 3 MC33774A I2C_CTRL 寄存器

三、 EEPROM 讀寫實例

? ? ? ?以 CMU 板上所使用的 EEPROM CAT24C512 為例,其讀寫指令時序如圖 4 和圖 5 所示。

CAT24C512 讀指令時序


圖 4 CAT24C512 讀指令時序

CAT24C512 寫指令時序
圖 5 CAT24C512 寫指令時序

? ? ? ?A7-A15 為頁地址,A0-A6 為字節地址,其從地址如下,因 A0-A2 均接地,故其從地址為 1010 000 R/W。

CAT24C512 設備地址
圖 6 CAT24C512 設備地址

  1. 對於寫命令,應先往 MC33774 的 I2C_DATA 寄存器依次寫入 SLAVE ADDRESS、BYTE ADDRESS 和要發送的數據;接著配置 I2C_CTRL RDAFTER 為 0,STPAFTER 為 1,START 為 3 + 要寫入的字節數,即可進行數據寫入,寫時序如圖 7 所示。


圖 7 EEPROM 寫時序

  1. 對於讀命令,應先往 MC33774A 的 I2C_DATA 寄存器依次寫入 SLAVE ADDRESS、BYTE ADDRESS 和 SLAVE ADDRESS,共 4 字節;接著配置 I2C_CTRL 的 RDAFTER 為 3,STPAFTER 為 1,START 為 4 + 要讀取的字節數,即可進行數據讀取,讀取後的數據存放於空的 I2C_DATA 寄存器,讀時序如圖 8 所示。


圖 8 EEPROM 讀時序

四、 總結

? ? ? ?本文介紹了 MC33774A 通過 I2C 對 EEPROM 進行讀寫操作的流程,實現對 BMS 相關數據的存儲,以便對歷史數據進行分析,更好地優化 BMS 的管理策略。

五、 參考文獻

  1. ds743220 - MC33774A Data sheet (2.0).pdf
  2. ON-CAT24C512.pdf

★博文內容均由個人提供,與平臺無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論