Skip to content
Thinh Le edited this page May 6, 2018 · 2 revisions

Welcome to the BMS wiki!

BMS notes from 6811 datasheet:

/**
 * Under/Over Voltage Monitor
 * parameters : C inputs
 * return : • compare to under/overvoltage thresholds 
 *              - stored in Config Register Group
 *          • flags set if condition true 
 *              - stored in Status Register Group B
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * ADAX Commands
 * parameters : • GPIO1-5 input 
 *                  - All 5 at once or 1
 *              • ADC mode
 *              • 2nd ref
 * return : • read external temperatures from sensor to GPIO
 *          • 2nd reference (powers sensor) for ratiometric
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * ADAXD Commands
 * Same as ADAX but has digital redundancy
 * return : • Mismatch sends 0xFF0X to result register 
 *          • Outside clamping range of ADC, host indicates fault
 *          • Last 4 bits indicate Mismatch
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * ADCVAX Command 
 * parameters : • 12 cell measurements
 *              • 2 GPIO measurements (GPIO1 and GPIO2)
 * return : sync battery cell voltage and current measurements  
 *              - When current sensor connected to GPIO 1 or 2
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * DAQ
 * parameters : • Muxes
 *              • ADC
 *              • 1st reference 
 *              • Digital filters
 *              • Memory 
 * return : Circuit verification
 *          • Sum of all Cells (SC)
 *          • Internal Die Temperature (ITMP)
 *          • Analog Power Supply (VA)
 *          • Digital Power Supply (VD)
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Discharge
 * • Thermal shutdown
 *  - Die detects above 150 C 
 *  - Shutdown circuit resets Config Reg Group and S Control Reg to default states
 * • Watchdog (WDT) 
 *  - Timer is 2 seconds and expires if no valid command 
 *  - SCR is reset by watchdog timer if discharge timer disabled
 *  - WDT elapsed, WDT pin is pulled high by external PU 
 *  - DT keep discharge switches ON for time duration
 *  - If DT used, switches not turned OFF when WDT activated
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * S Pin PWM for Cell Balancing
 * • After WDT expires, PWM begins 
 *  - Continues until remainder of discharge time or wake-up event
 * • DCC bits must be set to 1
 * • May cause S pins to periodically de-asset for duty cycle (30 seconds)
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * I2C and SPI Master
 * • I/O ports GPIO3,4,5 for I2C or SPI Slave
 * • I2C    
 *  - GPIO4 and 5 form SDA and SCL
 * • SPI
 *  - GPIO3 is CSBM
 *  - GPIO4 is SDIOM
 *  - GPIO5 is SCKM
 * • GPIO are open drain 
 *  - Require external PU 
 *  - Set GPIO bits to 1 in Config Reg so no pulled low internally
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * COMM Register
 * • Stores all data and control bits required for I2C or SPI communication
 * • Dn[7:0] to be sent/receive from slave 
 * • ICOMn[3:0] controls before transceiving data   
 *  - ICOMn[3] = 1, SPI 
 *  - ICOMn[3] = 0, I2C
 * • FCOMn[3:0] control after transceiving data 
 *  - ACK or NACK, CSBM high or low 
 * • WRCOMM 
 *  - Writes 6 bytes of data to COMM, PEC(Packet Error Code) at the end 
 * • STCOMM 
 *  - initiates I2C/SPI on GPIO ports 
 *  - 3 bytes of data to slave 
 * • RDCOMM
 *  - Reads 6 bytes of data followed by PEC 
 */
Clone this wiki locally