Developing a BMS firmware, programming BQ79616 & BQ79600 IC
Established a daisy chain communication system with 12 stack of BQ79616 cell balancing IC via BQ79600 ISOSPI bridge, programmed the STM32H Microcontroller
using hardware abstraction layer to communicate with BQ79600 bridge using UART
Wrote top layer functions to monitor cell voltages, temperatures, open links, and other faults,
allowing proper trigger of BMS fault and the shutdown circuit
Implemented manual passive cell balancing algorithm along with a cell balancing finite state machine based on charging state or driving state