Battery management system of dual-channel daisy chain and collaborative diagnosis and scheduling method

By adopting a dual-channel daisy-chain battery management system and a collaborative diagnosis and scheduling method, the problem of rapid signal acquisition and network recovery in the event of electric vehicle collisions or anomalies in the battery management system is solved, thereby improving the safety and stability of the system and extending the battery pack life.

CN121536166APending Publication Date: 2026-02-17NINGBO JOYSON NEW ENERGY AUTOMOBILE TECH CO LTD +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202610051840.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-15
Publication Date
2026-02-17

AI Technical Summary

Technical Problem

Existing battery management systems cannot quickly collect battery cell signals when electric vehicles collide or battery cells malfunction, leading to safety hazards. Furthermore, daisy-chain network communication is prone to disconnection, affecting system safety and stability.

Method used

A dual-channel daisy-chain battery management system is adopted, which combines resident monitoring hardware with intelligent status collaborative control software. Through master-slave channel collaborative diagnosis and scheduling, network faults can be quickly identified and recovered, ensuring battery status monitoring and balanced control.

Benefits of technology

It enables the battery management system to perform safety monitoring and fault repair in a very short time, improving the system's safety, reliability and stability, avoiding cell consistency deterioration caused by equalization current interference, and extending battery pack life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121536166A_ABST
    Figure CN121536166A_ABST
Patent Text Reader

Abstract

The invention discloses a dual-channel daisy chain battery management system and a collaborative diagnosis and scheduling method. The system comprises a main control unit, a daisy chain bridging chip, a front-end acquisition chip and a power management chip, wherein the front-end acquisition chip and the power management chip are connected in series to form a network. The daisy chain bridging chip is powered by a vehicle-mounted low-voltage power supply, and the plurality of front-end acquisition chips are directly powered by a managed battery pack, so that continuous and periodic monitoring is ensured when the system is dormant, and hardware wake-up is realized through a fault signal line. According to the method, a state machine is cooperatively switched among multiple modes, network topology diagnosis is carried out based on dual-channel bidirectional ID polling, a dual-channel data acquisition path is dynamically planned according to a diagnosis result, acquisition and equalization control based on periodic rotation are executed in a time-sharing window, and network recovery is tried when a fault occurs. According to the invention, high-safety and high-reliability intelligent battery management is realized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of energy storage battery management, in particular to a battery management system of a double-channel daisy chain and a collaborative diagnosis and scheduling method. BACKGROUND

[0002] With the rapid development of various technologies of domestic electric vehicles, the proportion of new energy vehicles in new vehicles sold by 2025 has exceeded 60%. At the same time, in some traffic accidents in various parts of the country, there are cases of electric vehicles catching fire after collision, endangering lives, which has attracted nationwide attention, and major automakers have also raised vehicle safety to a new level. Among them, battery technology safety is the core technology of new energy vehicles. When the vehicle collides or the battery unit appears abnormal, timely safety measures are taken to make the battery system enter a safe state in a very short time.

[0003] The battery pack of a new energy vehicle is a battery system composed of hundreds of battery units connected in series. The battery management system (BMS) needs to collect the voltage, temperature and other signals of each battery unit in a very short time. When the voltage or temperature of any unit is abnormal, effective measures can be taken in time to ensure the safety of the system. When the voltages of the battery units are inconsistent, passive balancing is needed to discharge the units with excessively high voltage to balance the voltages of the units. However, in order to prevent the balancing current from being too large, the balancing circuits of adjacent battery units cannot be started at the same time. At the same time, the voltage error collected during balancing of the corresponding battery units will also increase. In addition, the battery management system (BMS) also needs to diagnose the entire daisy chain communication network to ensure the normal operation of each device. It also needs to obtain the working status of related devices, such as when the daisy chain network is disconnected, the voltage and temperature signals of related battery units may not be obtained, so the system needs to quickly repair or enable a redundant channel to obtain the signals of the related disconnected devices. If it cannot be repaired, the system will disconnect the high-voltage loop to ensure the safety of the system.

[0004] Therefore, in order to ensure the safety of the battery, the battery management system (BMS) of the new energy vehicle needs to collect the signals of each battery unit in time, ensure normal control of battery balancing, and ensure normal operation of the entire daisy chain network. Therefore, the method for collecting signals of hundreds of battery units by the battery management system (BMS) needs to be continuously explored and innovated in the industry. SUMMARY

[0005] The present application aims at the above-mentioned deficiencies and provides a battery management system of a double-channel daisy chain and a collaborative diagnosis and scheduling method. By combining unique resident monitoring hardware with intelligent state collaborative control software, a high-safety, high-reliability and high-intelligence battery management solution is provided.

[0006] This invention provides the following technical solution: a dual-channel daisy-chain battery management system, comprising: The main control unit is equipped with a first SPI interface and a second SPI interface; The daisy-chain bridging chip communicates with the first SPI interface and the second SPI interface to form a master channel and a slave channel, and has a fault signal output terminal; Multiple front-end acquisition chips are connected in series to form a daisy chain network and communicate with the daisy chain bridging chip to acquire the voltage and temperature signals of individual battery cells. The power management chip is connected to the main control unit to receive its control and to supply power to the main control unit; the wake-up pin of the power management chip is connected to the fault signal output terminal of the daisy-chain bridge chip. The daisy-chain bridging chip is powered by the vehicle's low-voltage power supply, while multiple front-end acquisition chips are directly powered by the managed battery pack. This allows the daisy-chain network to maintain power supply and perform battery status cycle monitoring even when the main control unit and power management chip enter sleep mode.

[0007] A collaborative diagnostic and scheduling method, executed through a dual-channel daisy-chain battery management system as described above, includes: State coordination control steps: Throughout the entire lifecycle of the daisy chain network, maintain and switch between power-on self-test mode, normal acquisition mode, network recovery mode, sleep mode, and pre-sleep self-test mode; the switching decision between modes is based on the collaborative diagnostic results of the master channel and slave channel and the dynamic triggering of system wake-up events, etc. In the power-on self-test mode, bidirectional device data is acquired by using the main channel and the slave channel in a coordinated manner, and a diagnostic result containing network topology status and fault location information is generated. The network topology status includes normal, single-point disconnection or multi-point disconnection, and the fault location information includes the location of the disconnection. In the normal acquisition mode, the data acquisition paths of the main channel and the slave channel are dynamically planned based on the network topology status and fault location information in the diagnostic results. Within a fixed acquisition cycle, the system is divided into successive data acquisition windows and equalization control windows. Within the data acquisition window, the battery data of each front-end acquisition chip is read in time-sharing according to the planned path. Within the equalization control window, the equalization control strategy is executed sequentially and the status diagnostic information of each device is obtained. In network recovery mode, when the diagnostic results indicate that the device ID is corrupted or there is an unrecoverable communication failure, a broadcast command is initiated through the main channel to reassign IDs and reconfigure registers for devices in the daisy chain network in an attempt to repair the network topology. In sleep mode, the daisy-chain bridging chip wakes up the daisy-chain network periodically according to a preset cycle to perform battery status monitoring. If a battery fault signal is detected, a wake-up signal is sent to the power management chip through the fault signal output terminal to trigger a system restart.

[0008] As an improvement, diagnostic results are generated by using the master and slave channels in a coordinated manner to acquire bidirectional device data, specifically including: Main channel detection steps: Through the main channel, in the order from the beginning to the end of the daisy chain network, try to read the preset ID or battery data of each front-end acquisition chip in turn; if all preset IDs or battery data are successfully read, the network topology is determined to be normal and the current round of polling ends; if it fails to read the preset ID or battery data of the Mth device, the Mth device is recorded as the main channel failure point and the secondary channel verification steps are executed. From the channel verification step: After recording the failure point of the main channel in the main channel detection step, try to read the preset ID or battery data of each front-end acquisition chip through the secondary channel in the order from the end of the daisy chain network to the beginning. Collaborative diagnostic decision-making steps: Make decisions based on the failure point of the main channel and the reading results of the slave channel: If the preset ID or battery data of the Mth device can be successfully read from the channel, it is determined to be a single-point chain failure, and the chain failure location is recorded as the distance between the Mth device and the previous device. If the preset ID or battery data of the Mth device cannot be read from the channel, and the preset ID or battery data of the Nth device located after the Mth device cannot be read either, it is determined to be a multi-point disconnection fault, and the disconnection location is recorded as a continuous segment from the Mth device to the Nth device. Where M and N are integers greater than or equal to 1, and N > M.

[0009] As an improvement, dynamic planning of data acquisition paths, based on the network topology status and link break locations indicated by diagnostic results, allocates the set of devices to be acquired to the main and secondary channels, specifically including: If the network topology is normal, the first set of devices containing all front-end acquisition chips will be allocated to the main channel, and acquisition tasks will not be allocated to the secondary channels. If the network topology is a single-point disconnection and the disconnection location is between the Xth device and its preceding device, then the main channel is allocated a second set of devices from the beginning to the Xth device, and the secondary channel is allocated a third set of devices from the Xth device to the end. If the network topology is in the state of multiple disconnections and the disconnection segment is between the Y-th device and the Z-th device, then the main channel is allocated a fourth set of devices from the beginning to the Y-th device, and the secondary channel is allocated a fifth set of devices from the Z-th device to the end. Where Y and Z are integers greater than or equal to 1, and Z > Y; Within the data acquisition window, each channel reads data from the corresponding front-end acquisition chip in a time-sharing manner according to the set of devices it is assigned to.

[0010] As an improvement, the equilibrium control strategy is a pre-configured strategy based on equilibrium cycle rotation, including: Two different sets of equalization register configuration values ​​are pre-configured for each front-end acquisition chip, namely even-number equalization register values ​​and odd-number equalization register values; Set a total balancing duration and a rotation cycle duration, and start the balancing process; During the continuous execution of the load balancing process, the execution time of the load balancing is monitored, and when it is less than the total load balancing duration, the current load balancing cycle number is determined based on the execution time of the load balancing and the cycle duration. Based on the parity of the rotation cycle number, the corresponding equalization register configuration value is selected for each front-end acquisition chip to configure its equalization control register. If the rotation cycle number is even, the even-numbered equalization register value of the corresponding chip is selected as the equalization configuration value for that chip. If the rotation cycle number is odd, the odd-numbered equalization register value of the corresponding chip is selected as the equalization configuration value for that chip.

[0011] As an improvement, a leveling request optimization step is included before configuring the leveling register configuration group for the front-end acquisition chip: Detect the balancing requests of all current battery channels. If a conflict in the distribution of balancing requests is detected, perform parity-even offset balancing on the conflicting balancing requests in different time periods. Among them, the conflict of equalization request distribution includes: the existence of physically adjacent battery channels being requested to be equalized at the same time, or the total number of channels currently being requested to be equalized exceeds the preset maximum power equalization channel threshold. Among them, the time-segmented odd-even balancing includes: traversing all battery channels that have conflicts and need to be balanced according to a preset channel order, and generating a continuous allocation sequence number for each channel that requests balancing. The device number and device channel number of the corresponding front-end acquisition chip are calculated by the cell channel number. If the allocation sequence number is odd, the corresponding bit of the corresponding device channel number is set to 1 in the odd equalization register value of the corresponding chip device number. If the allocation sequence number is even, the corresponding bit of the corresponding device channel number is set to 1 in the even equalization register value of the corresponding device number. All cell channels requiring balancing requests are allocated according to the above rules, so that the balancing requests for each chip device are divided into two groups of data: even balancing registers and odd balancing registers, based on the parity of the allocation sequence number.

[0012] As an improvement, the method also includes state synchronization and configuration solidification steps performed before the system is powered down: When the main control unit receives a shutdown request, it controls the daisy chain network to switch from normal acquisition mode to sleep pre-test mode. In the pre-sleep self-test mode, re-execute network diagnostics to obtain the current network topology status; If the current network topology is normal or a single point of disconnection, the non-volatile memory update flags of each front-end acquisition chip in the daisy chain network are queried in turn; for devices with the update flag set, an instruction is sent to control them to store the current register configuration into the internal non-volatile memory; after all devices have completed the storage operation, the daisy chain network is controlled to enter sleep mode. If the current network topology is characterized by corrupted device IDs or multiple disconnections, the daisy chain network is switched to network recovery mode to attempt to repair the network configuration before the system is powered off.

[0013] As an improvement, the dynamic triggering mode switching based on system wake-up events specifically includes the steps of identifying the type of wake-up event and mapping it to the initial mode: The system identifies the types of wake-up events, including: the first type of event generated by the power management chip SBC upon its first power-on; the second type of event triggered by the daisy-chain bridging chip through a dedicated hardware fault line; and the third type of event triggered by a non-faulty external signal. The identified wake-up event types are mapped to the initial operating modes of the daisy-chain network: If the event is identified as either a Type I or Type II event, the initial operating mode of the daisy chain network is set to power-on self-test mode. If the event is identified as a third type, the initial operating mode of the daisy chain network is set to normal acquisition mode.

[0014] As an improvement, the fixed acquisition period is 100 milliseconds, and the method also includes a timer-based task scheduling step: Within the acquisition cycle, data acquisition tasks, balance control tasks, and diagnostic reading tasks are sequentially scheduled based on the timing value of a cycle timer. When the timing value indicates the first time period, the data acquisition task is scheduled to be executed. When the timing value indicates that the second time period is in progress and there is a balance control operation to be performed, the balance control task is scheduled to be executed. After the balance control is completed, the diagnostic reading task is scheduled to be executed. When the timing value indicates that the second time period is in progress and there is no equalization control operation to be performed, the diagnostic reading task is directly scheduled and executed. After the diagnostic reading task is completed, in order to speed up the signal data of the front-end battery, the timing value is directly reset and the data acquisition is restarted in the first time period.

[0015] Compared with the prior art, the advantages of the present invention are as follows: This invention combines a unique hardware architecture with advanced control methods to construct a highly efficient and reliable battery management system. The system employs a hardware architecture where the onboard low-voltage power supply directly powers the daisy-chain network, fundamentally resolving the safety hazard of existing systems losing monitoring capabilities during deep vehicle sleep periods. Upon detecting faults such as overvoltage, undervoltage, or overtemperature, the power management chip and main control unit can be immediately awakened via a dedicated hardware fault signal line, enabling the system to quickly enter a fault-safe state. This achieves all-time safety protection for the battery pack, significantly enhancing the system's inherent safety.

[0016] While ensuring secure monitoring, this invention utilizes a master-slave bidirectional communication loop composed of dual SPI channels to achieve hardware redundancy and collaborative diagnostics of the communication path. The system can acquire data from corresponding devices through bidirectional polling of the master and slave channels, accurately identifying network topology status and precisely locating fault points. Based on the diagnostic results, the system possesses adaptive operation management capabilities: in the event of a single-point connection failure, it can automatically plan the allocation of dual-channel tasks to maximize data acquisition recovery; when the network is determined to be experiencing severe faults such as device ID corruption or multi-point connection failures, the system autonomously enters network recovery mode, using broadcast commands to perform global ID reassignment and register reconfiguration for communicable devices, attempting to reconstruct the network logical topology. This complete fault-tolerant mechanism, from detection and location to function maintenance and even self-repair, significantly enhances the system's availability, maintainability, and long-term operational stability under harsh conditions.

[0017] Furthermore, the equalization control strategy of this invention effectively solves the interference and inconsistency problems of traditional passive equalization through deep collaboration between hardware architecture and software algorithms. The system adopts a pre-configuration strategy based on sampling cycle rotation, strictly separating equalization execution and data acquisition in time, avoiding interference of equalization current on sampling accuracy. By introducing an equalization request optimization step, the system can intelligently identify distributed conflicts and schedule conflict requests to different time windows for execution according to preset rules, resulting in a relatively stable overall equalization current of the battery pack. Combined with refined periodic task scheduling, the system effectively suppresses the deterioration of cell consistency caused by uneven equalization power consumption while achieving the equalization goal, which is beneficial to improving the overall lifespan and safety of the battery pack. Attached Figure Description

[0018] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments: Figure 1 This is a schematic diagram of the component connections for a dual-channel daisy-chain battery management system. Figure 2 This is a flowchart of a collaborative diagnosis and scheduling method. Detailed Implementation

[0019] like Figures 1-2 As shown, a dual-channel daisy-chain battery management system includes a main control unit, a daisy-chain bridging chip, multiple front-end acquisition chips, and a power management chip. The main control unit is equipped with a first SPI interface and a second SPI interface. The daisy-chain bridging chip communicates with the first and second SPI interfaces to form a master channel and a slave channel, and has a fault signal output terminal. Multiple front-end acquisition chips are connected in series to form a daisy-chain network and communicate with the daisy-chain bridging chip to collect voltage and temperature signals of individual battery cells. The power management chip is connected to the main control unit to receive its control and to supply power to the main control unit. The wake-up pin of the power management chip is connected to the fault signal output terminal of the daisy-chain bridging chip. The daisy-chain bridging chip is powered by the vehicle's low-voltage power supply, and the multiple front-end acquisition chips are directly powered by the managed battery pack. This allows the daisy-chain network to maintain power supply and perform battery state cycle monitoring when the main control unit and the power management chip enter a sleep state.

[0020] A collaborative diagnosis and scheduling method, comprising: State coordination control steps: Throughout the entire lifecycle of the daisy chain network, maintain and switch between power-on self-test mode, normal acquisition mode, network recovery mode, sleep mode, and pre-sleep self-test mode; the switching decision between modes is based on the collaborative diagnostic results of the master channel and slave channel and the dynamic triggering of system wake-up events, etc. In the power-on self-test mode, bidirectional device data is acquired by using the main channel and the slave channel in a coordinated manner, and a diagnostic result containing network topology status and fault location information is generated. The network topology status includes normal, single-point disconnection or multi-point disconnection, and the fault location information includes the location of the disconnection. In the normal acquisition mode, the data acquisition paths of the main channel and the slave channel are dynamically planned based on the network topology status and fault location information in the diagnostic results. Within a fixed acquisition cycle, the system is divided into successive data acquisition windows and equalization control windows. Within the data acquisition window, the battery data of each front-end acquisition chip is read in time-sharing according to the planned path. Within the equalization control window, the equalization control strategy is executed sequentially and the status diagnostic information of each device is obtained. In network recovery mode, when the diagnostic results indicate that the device ID is corrupted or there is an unrecoverable communication failure, a broadcast command is initiated through the main channel to reassign IDs and reconfigure registers for devices in the daisy-chain network in an attempt to repair the network topology.

[0021] In sleep mode, the daisy-chain bridging chip wakes up the daisy-chain network periodically according to a preset cycle to perform battery status monitoring. If a battery fault signal is detected, a wake-up signal is sent to the power management chip through the fault signal output terminal to trigger a system restart.

[0022] Diagnostic results are generated by using both the primary and secondary channels to acquire bidirectional device data, specifically including: Main channel detection steps: Through the main channel, in the order from the beginning to the end of the daisy chain network, try to read the preset ID or battery data of each front-end acquisition chip in turn; if all preset IDs or battery data are successfully read, the network topology is determined to be normal and the current round of polling ends; if it fails to read the preset ID or battery data of the Mth device, the Mth device is recorded as the main channel failure point and the secondary channel verification steps are executed. From the channel verification step: After recording the failure point of the main channel in the main channel detection step, try to read the preset ID or battery data of each front-end acquisition chip through the secondary channel in the order from the end of the daisy chain network to the beginning. Collaborative diagnostic decision-making steps: Make decisions based on the failure point of the main channel and the reading results of the slave channel: If the preset ID or battery data of the Mth device can be successfully read from the channel, it is determined to be a single-point chain failure, and the chain failure location is recorded as the distance between the Mth device and the previous device. If the preset ID or battery data of the Mth device cannot be read from the channel, and the preset ID or battery data of the Nth device located after the Mth device cannot be read either, it is determined to be a multi-point disconnection fault, and the disconnection location is recorded as a continuous segment from the Mth device to the Nth device. Where M and N are integers greater than or equal to 1, and N > M.

[0023] In the power-on self-test mode and the sleep-before self-test mode, the preset ID of each front-end acquisition chip is read. In the normal mode, the battery data of each front-end acquisition chip is read. Dynamically planning data acquisition paths involves allocating the set of devices to be acquired to the main and secondary channels based on the network topology and link break locations indicated by the diagnostic results. Specifically, this includes: If the network topology is normal, the first set of devices containing all front-end acquisition chips will be allocated to the main channel, and acquisition tasks will not be allocated to the secondary channels. If the network topology is a single-point disconnection and the disconnection location is between the Xth device and its preceding device, then the main channel is allocated a second set of devices from the beginning to the Xth device, and the secondary channel is allocated a third set of devices from the Xth device to the end. If the network topology is in the state of multiple disconnections and the disconnection segment is between the Y-th device and the Z-th device, then the main channel is allocated a fourth set of devices from the beginning to the Y-th device, and the secondary channel is allocated a fifth set of devices from the Z-th device to the end. Where Y and Z are integers greater than or equal to 1, and Z > Y; Within the data acquisition window, each channel reads data from the corresponding front-end acquisition chip in a time-sharing manner according to the set of devices it is assigned to.

[0024] The equilibrium control strategy is a pre-configured strategy based on equilibrium cycle rotation, including: Two different sets of equalization register configuration values ​​are pre-configured for each front-end acquisition chip, namely even-number equalization register values ​​and odd-number equalization register values; Set a total balancing duration and a rotation cycle duration, and start the balancing process; During the continuous execution of the load balancing process, the execution time of the load balancing is monitored, and when it is less than the total load balancing duration, the current load balancing cycle number is determined based on the execution time of the load balancing and the cycle duration. Based on the parity of the rotation cycle number, the corresponding equalization register configuration value is selected for each front-end acquisition chip to configure its equalization control register. If the rotation cycle number is even, the even-numbered equalization register value of the corresponding chip is selected as the equalization configuration value for that chip. If the rotation cycle number is odd, the odd-numbered equalization register value of the corresponding chip is selected as the equalization configuration value for that chip.

[0025] Before configuring the equalization register configuration group for the front-end acquisition chip, a equalization request optimization step is also included: Detect the balancing requests of all current battery channels. If a conflict in the distribution of balancing requests is detected, perform parity-even offset balancing on the conflicting balancing requests in different time periods. Among them, the conflict of equalization request distribution includes: the existence of physically adjacent battery channels being requested to be equalized at the same time, or the total number of channels currently being requested to be equalized exceeds the preset maximum power equalization channel threshold. Among them, the time-segmented odd-even balancing includes: traversing all battery channels that have conflicts and need to be balanced according to a preset channel order, and generating a continuous allocation sequence number for each channel that requests balancing. The device number and device channel number of the corresponding front-end acquisition chip are calculated by the cell channel number. If the allocation sequence number is odd, the corresponding bit of the corresponding device channel number is set to 1 in the odd equalization register value of the corresponding chip device number. If the allocation sequence number is even, the corresponding bit of the corresponding device channel number is set to 1 in the even equalization register value of the corresponding device number. All cell channels requiring balancing requests are allocated according to the above rules, so that the balancing requests for each chip device are divided into two groups of data: even balancing registers and odd balancing registers, based on the parity of the allocation sequence number.

[0026] The method also includes state synchronization and configuration persistence steps performed before the system is powered down: When the main control unit receives a shutdown request, it controls the daisy chain network to switch from normal acquisition mode to sleep pre-test mode. In the pre-sleep self-test mode, re-execute network diagnostics to obtain the current network topology status; If the current network topology is normal or a single point of disconnection, the non-volatile memory update flags of each front-end acquisition chip in the daisy chain network are queried in turn; for devices with the update flag set, an instruction is sent to control them to store the current register configuration into the internal non-volatile memory; after all devices have completed the storage operation, the daisy chain network is controlled to enter sleep mode. If the current network topology is characterized by corrupted device IDs or multiple disconnections, the daisy chain network is switched to network recovery mode to attempt to repair the network configuration before the system is powered off.

[0027] Based on the dynamic triggering mode switching of system wake-up events, the specific steps include type identification and initial mode mapping of wake-up events: The system identifies the types of wake-up events, including: the first type of event generated by the power management chip SBC upon its first power-on; the second type of event triggered by the daisy-chain bridging chip through a dedicated hardware fault line; and the third type of event triggered by a non-faulty external signal. The identified wake-up event types are mapped to the initial operating modes of the daisy-chain network: If the event is identified as either a Type I or Type II event, the initial operating mode of the daisy chain network is set to power-on self-test mode. If the event is identified as a third type, the initial operating mode of the daisy chain network is set to normal acquisition mode.

[0028] The fixed acquisition period is 100 milliseconds, and the method also includes a timer-based task scheduling step: Within the acquisition cycle, data acquisition tasks, balance control tasks, and diagnostic reading tasks are sequentially scheduled based on the timing value of a cycle timer. When the timing value indicates the first time period, the data acquisition task is scheduled to be executed. When the timing value indicates that the second time period is in progress and there is a balance control operation to be performed, the balance control task is scheduled to be executed. After the balance control is completed, the diagnostic reading task is scheduled to be executed. When the timing value indicates that the second time period is in progress and there is no equalization control operation to be performed, the diagnostic reading task is directly scheduled and executed. After the diagnostic reading task is completed, in order to speed up the signal data of the front-end battery, the timing value is directly reset and the data acquisition is restarted in the first time period.

[0029] Example The battery management system uses two SPI communication channels to connect to the L9965T daisy-chain communication chip. SPI1 is set as the master channel, acquiring daisy-chain network data clockwise, and SPI2 is set as the slave channel, acquiring daisy-chain network data counterclockwise. The L9965A is the battery signal acquisition chip. Each L9965A device can acquire voltage data from up to 18 battery cells and temperature data from multiple channels. Six L9965A devices (L9965A-1, L9965A-2, L9965A-3, L9965A-4, L9965A-5, and L9965A-6) can acquire voltage data from a total of 108 battery cells. ISO P / M refers to two signal lines: ISO P and ISO M. ISO P is the positive terminal for daisy-chain communication, and ISO M is the negative terminal. The L9965T communicates with L9965A-1 through L9965A-6 via ISO P and ISO M. The M signal lines form a closed-loop daisy-chain communication network. The signal originates from L9965T, passes sequentially through L9965A-1 to L9965A-5, reaches L9965A-6, and finally loops back to L9965T from L9965A-6. The SBC is a power supply chip, primarily powering the MCU (main control chip). The SBC chip is powered by the vehicle's 12V power supply. When the vehicle is in sleep mode, the MCU requests the SBC to enter sleep mode via SPI3 communication. After the SBC enters sleep mode, the MCU will power down to reduce power consumption. For battery safety, L9965T is powered by the vehicle's low-voltage power supply, while L9965A is directly powered by the managed battery pack. This allows the daisy-chain network to periodically wake up and check battery-related signals when the vehicle is in sleep mode. If an abnormal battery signal is detected, L9965T will wake up the SBC power chip, enabling the system to start normally and handle the relevant fault.

[0030] The specific steps of the battery management method are as follows: To ensure that the Battery Management System (BMS) can correctly acquire the voltage and temperature signals of each battery cell, guarantee normal battery balancing control, and ensure the normal operation of the entire daisy-chain network, this invention proposes a dual-channel daisy-chain battery management system and a collaborative diagnosis and scheduling method. Specific solutions can be found by referring to... Figure 1The system consists of several components: the MCU (Microcontroller Unit) is the main control chip, connected to the L9965T daisy-chain communication chip via two SPI communication channels; SPI1 is set as the master channel for clockwise data acquisition of the daisy-chain network, and SPI2 is set as the slave channel for counter-clockwise data acquisition; the L9965A is the battery signal acquisition chip, each capable of acquiring voltage data from up to 18 battery cells and temperature data from multiple channels; six L9965A devices can acquire voltage data from a total of 108 battery cells; and the SBC (Signal Controller Unit) is the power supply chip, primarily supplying power to the MCU. The SBC is powered by the vehicle's 12V power supply. When the vehicle is in sleep mode, the MCU requests the SBC to enter sleep mode via SPI3. After the SBC enters sleep mode, the MCU will power down to reduce power consumption. For battery safety, the L9965T is powered by the vehicle's low-voltage power supply, while the L9965A is directly powered by the managed battery pack. This allows the daisy-chain network to be periodically woken up when the vehicle is in sleep mode to check whether battery-related signals are normal. If a battery signal is abnormal, the L9965T will wake up the SBC power chip, enabling the system to start normally and handle the relevant abnormal faults.

[0031] The specific steps of the method are as follows: (1) When the SBC power chip is woken up or powered on again, it will turn on the relevant power supply, so that the MCU powers on and starts up to initialize the system. The specific steps are as follows: (a1) First, the MCU initializes the relevant memory, clears the relevant variables to 0, and configures the SPI peripherals. The daisy-chain network operating mode is set to initialization mode by default. Then, it obtains the SBC's wake-up source (Wake1 and Wake2, plus power-on start) through the SPI3 interface. If it is Wake1, it means that the SBC is woken up by a vehicle-related signal; if it is Wake2, it means that the daisy-chain network detected an anomaly and woke up the SBC by two fault signals from the L9965T; if it is power-on start, it means that the BMS system's 12V power supply has been restored. Proceed to step (a2). (a2) The system sets the daisy chain network to 1 and the daisy chain network working mode to sleep mode. Proceed to step (2); (2) Entering sleep mode mainly ensures that the daisy chain network is in an awake state. The specific steps are as follows: (b1) If the enable state is 1, the MCU master controller sends a wake-up frame through the main channel SPI1 to wake up the daisy chain network. It waits for the network to wake up. Once woken up, each device automatically downloads relevant configuration data from its internal NVM module and updates it to its corresponding register, including device ID, configuration parameters, etc. If it is confirmed that all network devices are woken up, proceed to step (b2). (b2) If it is confirmed that the system has been powered on, or that the daisy chain network has woken up the system, or that the Fault1 / 2 port is at a high level, then set the daisy chain network working mode to power-on self-test mode and proceed to step (3). Otherwise, set the daisy chain network working mode to normal mode and proceed to step (4).

[0032] (3) In the power-on self-test mode, a self-test of the daisy-chain network is required to ensure that the network devices are functioning properly. The specific steps are as follows: (c1) The main control MCU accesses the corresponding device according to the pre-configured ID. It reads the ID of each device clockwise through the SPI1 interface. If the correct IDs of all six L9965A devices can be read, it indicates that the network communication is normal, and proceeds to step (c3). If the ID of any device cannot be read, but the ID of the device following this device can be read, it indicates that the device ID is corrupted, and proceeds to step (c4). If the ID of any device cannot be read, it continues to read the IDs of the devices following this device. If it still cannot be read, proceeds to step (c2). (c2) The main control MCU reads the remaining device IDs counterclockwise via the SPI2 interface. If the remaining device IDs can be read, it indicates a single point of failure in the daisy-chain network. Record the location of the single point of failure, referring to the BMS device block diagram. For example, if the ID of device 2 cannot be read via SPI1 but can be read via SPI2, the single point of failure is at position 2, and proceed to step (c3). If the ID of any device cannot be read, but the IDs of the preceding devices can be read, it indicates that the ID of this device is corrupted, and proceed to step (c4). If the ID of any device cannot be read, continue reading the IDs of the preceding devices. If it still cannot be read, it indicates a multi-point failure, and record the locations of the multi-point failures. For example, if the ID of device 5 can be read, but the ID of device 4 cannot be read, the locations of the multi-point failures are positions 2 and 5, and proceed to step (c4). (c3) If communication is normal or a single point of failure occurs, set the daisy chain network working mode to normal mode and proceed to step (4). (c4) If the device ID is corrupted or multiple disconnection failures occur, set the daisy chain network working mode to recovery mode and proceed to step (5).

[0033] (4) In normal mode, not only is it necessary to collect data from the battery cells in a timely manner, but also to consider equalization control. During the equalization control of the current device, it is necessary to consider that there may be errors in the equalization channel voltage, so that the data of the current device cannot be collected during the equalization period. In addition, the status of each device also needs to be monitored in real time. The task cycle allocated by the system is generally 5 milliseconds. The industry requires that data acquisition, equalization control and status monitoring be completed within 100 milliseconds. In order to reduce the impact of communication on the load, the communication baud rate is set to 6M. The specific process is as follows: (d1) First, determine if there is a power-off request. If there is a power-off request, set the daisy chain network working mode to sleep pre-test mode and proceed to step (6). Otherwise, start a 100-millisecond timer and send a broadcast write request device data conversion command through the SPI1 interface. If there is a disconnection fault, send a broadcast write request device data conversion command through the SPI2 interface, wait for one task cycle, and proceed to step (d2). (d2) Set the initial primary channel sampling device serial number FirstSapDevIdx to 1. If there is no link breakage, set the primary channel sampling device maximum serial number FirstSapDevMaxIdx to 6, set the initial secondary channel sampling device serial number SecondSapDevIdx to 0, and set the secondary channel sampling device maximum serial number SecondSapDevMaxIdx to 0. If there is a single point of link breakage, set the primary channel sampling device maximum serial number FirstSapDevMaxIdx to the single point of link breakage, set the initial secondary channel sampling device serial number SecondSapDevIdx to the single point of link breakage, and set the secondary channel sampling device maximum serial number SecondSapDevMaxIdx to 6. If there are multiple link breakages, set the maximum sequence number of the main channel sampling device, FirstSapDevMaxIdx, to the start position of the multiple link breakages; set the initial sequence number of the secondary channel sampling device, SecondSapDevIdx, to the end position of the multiple link breakages; and set the maximum sequence number of the secondary channel sampling device, SecondSapDevMaxIdx, to 6. Proceed to step (d3). (d3) Determine whether the main channel sampling device serial number FirstSapDevIdx is less than or equal to the main channel sampling device maximum serial number FirstSapDevMaxIdx. If it is, proceed to step (d4). Otherwise, proceed to step (d6). (d4) Obtain the corresponding configured device ID according to the main channel sampling device serial number FirstSapDevIdx, and use the corresponding device ID to send a data reading command to the corresponding device through the SPI1 interface, and proceed to step (d5). (d5) If the data collected by the corresponding device is read, set the communication flag of the corresponding device on the main channel to 1, set the retransmission counter to 0, and proceed to step (d3). If the corresponding data is not read and the retransmission counter is less than 2, increment the retransmission counter by 1 and proceed to step (d4). Otherwise, proceed to step (d3). (d6) If the sampling device number SecondSapDevIdx from the channel is equal to 0, and the sampling device maximum number SecondSapDevMaxIdx from the channel is equal to 0, then proceed to step (d11). Otherwise, proceed to step (d7). (d7) Determine whether the sampling device number SecondSapDevIdx is less than or equal to the sampling device maximum number SecondSapDevMaxIdx. If so, proceed to step (d8). Otherwise, proceed to step (d10). (d8) Obtain the corresponding configured device ID based on the channel sampling device serial number SecondSapDevIdx, and use the corresponding device ID to send a data reading command to the corresponding device through the SPI2 interface, and proceed to step (d9). (d9) If the data collected by the corresponding device is read, set the communication flag of the corresponding device on the channel to 1, set the retransmission counter to 0, and proceed to step (d7). If the corresponding data is not read and the retransmission counter is less than 2, increment the retransmission counter by 1 and proceed to step (d8). Otherwise, proceed to step (d7). (d10) If there is no chain breakage, proceed to step (d11). If there is a single-point chain breakage, proceed to step (d12). If there are multiple-point chain breakages, proceed to step (d13). (d11) Query the communication flags of the devices corresponding to the main channel. From the initial main channel sampling device sequence number FirstSapDevIdx of 1 to the maximum main channel sampling device sequence number FirstSapDevMaxIdx of 6, if the communication flags of the devices from a certain device to the maximum device sequence number are all 0, including only the device corresponding to the maximum device sequence number having a communication flag of 0, then set the link break fault to a single-point link break fault. The single-point link break position is the sequence number where the communication flag of the device corresponding to the initial main channel is 0. Proceed to step (d14). (d12) If all assigned primary channel devices have a communication flag of 1, and all assigned secondary channel devices have a communication flag of 1, then set the link break fault status to 0 and the single-point link break fault location to 0. If only the primary channel sampling device with the single-point link break location has a communication flag of 0, then the fault status remains unchanged. If, starting from the single-point link break location, multiple consecutive primary channel devices have a communication flag of 0, then set the link break fault to a multi-point link break fault, with the starting link break location equal to the smallest sequence number of primary channel devices with a communication flag of 0, and the ending location being the single-point link break location. If, starting from the single-point link break location, multiple consecutive secondary channel devices have a communication flag of 0, then set the ending link break location to the largest sequence number of secondary channel devices with a communication flag of 0. For example: if the single-point link break location is 3, and the primary channel device with the current location 2 has a communication flag of 0, then set the link break fault to a multi-point link break fault, with the starting location being 2 and the ending location being 3. If the communication flag of the device corresponding to channel 4 is 0, then set the fault to multi-point link failure, with the last position being 4. Proceed to step (d14); (d13) If all main channel sampling device serial numbers include the start break position serial number, and all main channel corresponding device communication flags are 1, it means the device at the start break position has read data. Therefore, set the start break position to the current break position plus 1. If all slave channel sampling device serial numbers include the end break position serial number, and all slave channel corresponding device communication flags are 1, it means the device at the end break position has read data. Therefore, set the end break position to the current break position minus 1. Then, determine if the start break position is greater than or equal to the end break position. If so, set the break fault to a single-point break fault and set the single-point break fault position to the new start break position. For example, if the multi-point break start position is 2 and the end position is 3, the main channel can read data at position 2, so the start position becomes 3. The slave channel can also read data at the end position 3, so the end position becomes 2. Therefore, the break fault becomes a single-point fault, and the position is 3. If, starting from the initial break point and searching backwards, multiple consecutive primary channel devices have communication flags all set to 0, then the initial break point is set to the smallest sequence number of primary channel devices with communication flags set to 0. If, starting from the final break point and searching backwards, multiple consecutive secondary channel devices have communication flags all set to 0, then the final break point is set to the largest sequence number of secondary channel devices with communication flags set to 0. Proceed to step (d14). (d14) Determine if there is a load balancing request. If there is no load balancing request, proceed to step (d17). If there is a load balancing request, proceed to step (d15). (d15) Determine the 100-millisecond timer duration. If it reaches 40 milliseconds, equalization control needs to be enabled, which means that voltage and temperature data cannot be collected for the remaining 60 milliseconds. Proceed to step (d16). If it is between 40 and 100 milliseconds, proceed to step (d17). If it reaches 100 milliseconds, it means the 100-millisecond window has ended. Send a broadcast write request to disable equalization command via the SPI1 interface, causing all devices to stop equalization control. The process can then restart. Proceed to step (d1). (d16) Send equalization control commands to each of the six devices. Divide the total equalization time currently executed by the equalization rotation cycle duration, and assign the result to the rotation cycle number. If the rotation cycle number is even, select the even-numbered equalization register value of the corresponding chip as the equalization configuration value for that chip; if the rotation cycle number is odd, select the odd-numbered equalization register value of the corresponding chip as the equalization configuration value for that chip. Simultaneously, increment the total equalization time currently executed by 1 (the increment time represents the cycle time of one task, which is 5 milliseconds in this case). For example, if the maximum balancing time is set to 1 hour, the balancing rotation cycle length is set to 15 seconds, and the current total balancing time is set to 60 seconds, then 60 seconds divided by 15 seconds equals 4, which is an even number. Therefore, the even-numbered balancing register value of the corresponding chip is selected as the balancing configuration value for that chip. This continues until the current total balancing time reaches 75 seconds. Then, 75 seconds divided by 15 seconds equals 5, which is an odd number. In other words, from 60 seconds to 75 seconds (inclusive but excluding 75 seconds), the rotation cycle number is always an even number. Proceed to step (d17). After the balancing control command is sent, it is necessary to continue reading the diagnostic-related registers. (d17) In each cycle task, only the diagnostic register value of one device is read. This is done sequentially for all eight devices, from device 0 to device 7, and the value is stored in the corresponding diagnostic register status variable. To reduce load, the diagnostic register value of each device is read only once within a 100-millisecond cycle. Proceed to step (d18). (d18) Wait for the task cycle to arrive, then proceed to step (d15).

[0034] (5) In recovery mode, the daisy-chain network devices need to be reconfigured, including the device IDs. The L9965T device has a dual-channel redundancy design, with two devices inside the chip, plus six L9965As, for a total of eight devices. Device 0 is the master channel communication device, and device 7 is the slave channel communication device. The entire daisy-chain network supports a maximum of 58 devices. The specific process is as follows: (e1) First, a broadcast reset command (broadcast device ID is 0) is sent through the SPI1 interface to request all devices to reset. After a period of time, once all devices have completed their resets, the relevant registers are in their default configurations, with the device transmit enable state being disabled. Proceed to step (e2); (e2) Assign a unique and fixed device ID to each device. The device IDs for the six L9965A devices are 1, 2, 3, 4, 5, and 6, respectively. The device ID for the L9965T main channel communication device is 51, and the device ID for the slave channel communication device is 56. Set the device serial number DevIdx to 0 and the maximum device serial number DevMaxIdx to 8, then proceed to step (e3). (e3) Determine if the device serial number DevIdx is less than the maximum device serial number DevMaxIdx. If it is, proceed to step (e4). Otherwise, proceed to step (e6). (e4) Send a broadcast command to write the device ID via the SPI1 interface (the broadcast device ID is 0, and once written, it cannot be modified later), writing the corresponding ID to the ID register of the current device corresponding to the device serial number DevIdx. Then, send a command to enable the transmit register using the configured device ID, configuring the transmit enable register to be enabled (so that the next device can receive the new broadcast command). If this data communication frame is sent correctly, it means that the corresponding device ID is configured successfully, and proceed to step (e5). If communication fails, and the device ID is incorrect (meaning that this device ID does not exist), it means that a multi-point fault exists, and the device ID addressing ends, proceeding to step (e7). If the CRC frame is incorrect, retransmit, but retransmit a maximum of 3 times. If it fails 3 times, set a communication fault, and proceed to step (e7). (e5) Send the configuration information of the current device through the SPI1 interface, configure the relevant registers of the device, and after successful configuration, set the corresponding device NVM data update flag to 1, increment the device serial number DevIdx by 1, and proceed to step (e3). (e6) Device addressing and configuration are successful. Set the daisy chain network working mode to normal mode and clear the chain failure information. Proceed to step (4). (e7) If the current device serial number DevIdx is 0 or 1, and multiple broken links are detected in the power-on self-test mode, with the positions being the start position 1 and the end position 7, then wait 5 seconds before proceeding to step (e1). Otherwise, set the daisy chain network working mode to normal mode and proceed to step (4).

[0035] (6) If the daisy chain network is faulty, a self-test needs to be performed again in the sleep pre-test mode. The specific process is as follows: (f1) Determine if there is a fault in the daisy-chain network. If there is a single point of failure or multiple point of failure, send a broadcast reset command to request all devices to reset. Wait 50 milliseconds, then request to download the NVM data stored in the internal memory of each device to the local machine, update the local registers, including the device ID number, and increment the daisy-chain network reset count by 1. Proceed to step (f2); (f2) The main control MCU accesses the corresponding device according to the pre-configured ID. It reads the ID of each device clockwise through the SPI1 interface. If the correct IDs of all six L9965A devices can be read, it indicates that the network communication is normal, and proceeds to step (f4). If the ID of any device cannot be read, but the ID of the device following this device can be read, it indicates that the device ID is corrupted, and proceeds to step (f4). If the ID of any device cannot be read, it continues to read the IDs of the devices following this device. If it still cannot be read, proceeds to step (f3). (f3) The main control MCU reads the remaining device IDs counterclockwise via the SPI2 interface. If the remaining device IDs can be read, it indicates a single point of failure in the daisy-chain network. Record the location of the single point of failure, referring to the BMS device block diagram. For example, if the ID of device 2 cannot be read via SPI1 but can be read via SPI2, the single point of failure is at position 2. If the ID of any device cannot be read, but the IDs of devices following this device can be read, it indicates that the device ID is corrupted. If the ID of any device cannot be read, continue reading the IDs of devices following this device. If it still cannot be read, it indicates a multi-point failure. Record the locations of the multi-point failures. For example, if the ID of device 5 can be read, but the ID of device 4 cannot be read, the locations of the multi-point failures are positions 2 and 5. Proceed to step (f4). (f4) If communication is normal or a single point of failure occurs, proceed to step (f5). If the device ID is corrupted or a multi-point failure occurs, and the number of daisy chain network resets is less than the maximum number of resets, set the daisy chain network working mode to recovery mode and proceed to step (5). (f5) From device 0 to device 7, query each of the eight devices in turn to confirm whether each device needs to update NVM data. If NVM data needs to be updated, send the corresponding device to update NVM data command. Once all devices have updated their data, set the daisy chain network working mode to sleep mode and proceed to step (2).

[0036] In this solution, there are a total of 6 front-end battery signal acquisition chips L9965A. Each chip can be connected to a maximum of 18 single cells, and a total of 108 cells can be connected. Use 4 data arrays of UINT32 type to store the status of the balancing control. Each bit represents a channel, and each device uses 18 bits, which are stored in sequence according to the device number order. Device 1 occupies the first 18 bits. For example, the balancing control bit of the first channel is represented by bit0 of the first data. When the application layer requests balancing, it will find the corresponding byte and bit according to the channel for setting. Provide an interface for the application layer to set the balancing status of each channel, with two parameters. Parameter 1 is the channel number, and parameter 2 is the balancing status. 0 indicates disabling balancing, and 1 indicates enabling balancing. Define the balancing control data array: BalanceCtrArray[4], define the channel number: ChanId, define the balancing status: BalanceStatus, define an array sequence number: ArrayId, define a status bit sequence number: StatusBitId, define the balancing status update flag BalanceStatusUpdataFlag, define a counter for the cells that need to be balanced: NeedBalanceCnt, define a counter for continuous channel balancing: ContinueChanBalanceCnt, define an adjacent channel balancing flag ContinueChanBalanceFlag, define the device sequence number DevId, define the device channel number DevChanId, and define the balancing counter BalanceCnt. The specific process is as follows: (g1) When the application layer calls the corresponding balancing control request interface, confirm the array sequence number and the status bit sequence number according to the channel number input by the interface. The specific algorithm is as follows: The array sequence number ArrayId = (the integer part of the input channel number divided by 32) = ChanId / 32, The status bit sequence number StatusBitId = (the remainder of the channel number divided by 32) = ChanId % 32. If the input balancing status BalanceStatus is 1 (indicating enabling balancing), then set the balancing control status of the corresponding channel: BalanceCtrArray[ArrayId] |= (uint32)(1 << StatusBitId); if the input balancing status BalanceStatus is 0 (indicating disabling balancing), then set the balancing control status of the corresponding channel: BalanceCtrArray[ArrayId] &= (uint32)(~((1 << StatusBitId))); Set the balancing status update flag BalanceStatusUpdataFlag to 1 and enter step (g2); (g2) In the periodic task, query whether the equalization status update flag is 1. If it is 1, the initial channel number ChanId is equal to 0, the counter NeedBalanceCnt for the required equalization is initialized to 0, and the counter ContinueChanBalanceCnt for continuous channel equalization is initialized to 0, then proceed to step (g3). Otherwise, proceed to step (g10); (g3) Determine whether the channel number ChanId is less than 108. If it is satisfied, proceed to step (g4). Otherwise, proceed to step (g5); (g4) Calculate the equalization control data array sequence number and the status bit sequence number. The calculation formulas are as follows: The array sequence number ArrayId = (the integer of the channel number divided by 32) = ChanId / 32, The status bit sequence number StatusBitId = (the remainder of the channel number divided by 32) = ChanId % 32, Take the result of shifting 1 to the left (the number of left shifts is the status bit sequence number StatusBitId), and perform an AND operation with the equalization control data BalanceCtrArray[ArrayId] corresponding to the array sequence number, that is, judge the result of the formula (1 << StatusBitId) & BalanceCtrArray[ArrayId]. If the result is 1, it means that the current channel needs to enable equalization control, and the counter for the required equalization is incremented by 1, that is: NeedBalanceCnt = NeedBalanceCnt + 1. At the same time, the counter for continuous channel equalization is incremented by 1, that is: ContinueChanBalanceCnt = ContinueChanBalanceCnt + 1. If the counter for continuous channel equalization is greater than or equal to 2, set the adjacent channel equalization flag ContinueChanBalanceFlag to 1. If it is not 1, it means that the current channel prohibits equalization control, and set the counter for continuous channel equalization ContinueChanBalanceCnt to 0. Increment the channel number ChanId by 1 and proceed to step (g3); (g5) If the adjacent channel equalization flag is 1, or the counter for the required equalization is greater than or equal to the maximum number of channels for simultaneous equalization (the maximum number of channels for simultaneous equalization is configurable, with a default value of 56), then proceed to step (g6). Otherwise, it means that all the currently required channels for equalization can be equalized simultaneously, and proceed to step (g9); (g6) The initial channel number ChanId is equal to 0, the device sequence number DevId is initialized to 0, the device channel number DevChanId is initialized to 0, and the equalization counter BalanceCnt is initialized to = 0, then proceed to step (g7); (g7) Determine whether the channel number ChanId is less than 108. If it is satisfied, go to step (g8). Otherwise, go to step (g10); (g8) Calculate the sequence numbers of the equalization control data array and the status bit, and the calculation formula is as follows: The sequence number of the array ArrayId = (the integer part of the channel number divided by 32) = ChanId / 32, The sequence number of the status bit StatusBitId = (the remainder of the channel number divided by 32) = ChanId % 32, Calculate the device sequence numbers and acquisition channel numbers of 6 AFE front-end acquisition chip devices, and the calculation formula is as follows: The device sequence number DevId = (the integer part of the channel number divided by 18) = ChanId / 18, The device channel number DevChanId = (the remainder of the channel number divided by 18) = ChanId % 18, Take the result of shifting 1 to the left (the number of left shifts is the status bit sequence number StatusBitId), and perform an AND operation with the equalization control data BalanceCtrArray[ArrayId] corresponding to the array sequence number, that is, judge the result of the formula (1 << StatusBitId) & BalanceCtrArray[ArrayId]. If the result is 1, it means that the current channel needs equalization control. Then judge whether the equalization counter is odd or even. If it is even, set the channel bit corresponding to the device channel number in the even equalization register value corresponding to the current device sequence number to 1. If it is odd, set the channel bit corresponding to the device channel number in the odd equalization register value corresponding to the current device sequence number to 1, and then increment the equalization counter by 1, that is: BalanceCnt = BalanceCnt + 1. If it is 0, do not process. Increment the channel number ChanId by 1. For example: when the channel number is 19, the array sequence number is 0, the status sequence number is 19, the device sequence number is 1, and the device channel number is 1. If (1 << 19) & BalanceCtrArray[0] is 1 and the equalization counter is even, set the channel bit corresponding to the device channel number 1 in the even equalization register value corresponding to the current device sequence number to 1. Go to step (g7); (g9) Set the equalizer register values ​​for the six devices. To unify the two methods, assign the same value to both the even and odd equalizer register values. The even equalizer register value for device 1 is the first 18 bits of the equalizer control data array BalanceCtrArray[4]. The odd equalizer register value for device 1 is equal to the even equalizer register value for device 1. The even equalizer register value for device 2 is the second 18 bits of the equalizer control data array BalanceCtrArray[4]. The odd equalizer register value for device 2 is equal to the even equalizer register value for device 2. The even equalizer register value for device 3 is the third 18 bits of the equalizer control data array BalanceCtrArray[4]. The odd-numbered equalizer register value of device 3 is equal to the even-numbered equalizer register value of device 3. The even-numbered equalizer register value of device 4 is the 4th 18-bit value of the equalizer control data array BalanceCtrArray[4]. The odd-numbered equalizer register value of device 4 is equal to the even-numbered equalizer register value of device 4. The even-numbered equalizer register value of device 5 is the 5th 18-bit value of the equalizer control data array BalanceCtrArray[4]. The odd-numbered equalizer register value of device 5 is equal to the even-numbered equalizer register value of device 5. The even-numbered equalizer register value of device 6 is the 6th 18-bit value of the equalizer control data array BalanceCtrArray[4]. The odd-numbered equalizer register value of device 6 is equal to the even-numbered equalizer register value of device 5. Proceed to step (g10). (g10) End.

[0037] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0038] The units described in some embodiments of this disclosure can be implemented in software or in hardware. The described units can also be located in a processor, and the functions described above can be performed at least in part by one or more hardware logic components.

[0039] The above description only illustrates the preferred embodiments of the present invention and should not be construed as limiting the scope of the claims. The present invention is not limited to the above embodiments, and variations in its specific structure are permitted. All modifications made within the scope of the independent claims of this invention are also within the scope of protection of this invention.

Claims

1. A dual-channel daisy-chain battery management system, characterized in that, include: The main control unit is equipped with a first SPI interface and a second SPI interface; The daisy-chain bridging chip communicates with the first SPI interface and the second SPI interface to form a master channel and a slave channel, and has a fault signal output terminal; Multiple front-end acquisition chips are connected in series to form a daisy chain network and are communicatively connected to the daisy chain bridging chip to acquire voltage and temperature signals of individual battery cells. A power management chip is connected to the main control unit to receive its control and to supply power to the main control unit; the wake-up pin of the power management chip is connected to the fault signal output terminal of the daisy-chain bridge chip. The daisy-chain bridging chip is powered by the vehicle's low-voltage power supply, and the multiple front-end acquisition chips are directly powered by the managed battery pack. This allows the daisy-chain network to maintain power supply and perform battery status cycle monitoring when the main control unit and power management chip enter a sleep state.

2. A collaborative diagnosis and scheduling method, characterized in that, The method is executed by a dual-channel daisy-chain battery management system as described in claim 1, comprising: State coordination control steps: Throughout the entire lifecycle of the daisy-chain network, maintain and switch between power-on self-test mode, normal acquisition mode, network recovery mode, sleep mode, and pre-sleep self-test mode; the switching decision between modes is based on the collaborative diagnostic results of the master channel and slave channel and the dynamic triggering of system wake-up events; In the power-on self-test mode, the main channel and the slave channel are used in concert to acquire bidirectional device data and generate a diagnostic result containing network topology status and fault location information. The network topology status includes normal, single-point disconnection or multi-point disconnection, and the fault location information includes the location of the disconnection. In the normal acquisition mode, the data acquisition paths of the main channel and the slave channel are dynamically planned based on the network topology status and fault location information in the diagnostic results. Within a fixed acquisition cycle, the data acquisition window and the equalization control window are divided into successive data acquisition windows and equalization control windows. Within the data acquisition window, the battery data of each front-end acquisition chip is read in time-sharing according to the planned path. Within the equalization control window, the equalization control strategy is executed sequentially and the status diagnostic information of each device is obtained. In the network recovery mode, when the diagnostic results indicate that the device ID is corrupted or there is an unrecoverable communication failure, a broadcast command is initiated through the main channel to reassign IDs and reconfigure registers for devices in the daisy-chain network in an attempt to repair the network topology. In the sleep mode, the daisy-chain bridging chip wakes up the daisy-chain network at preset intervals to perform battery status monitoring; if a battery fault signal is detected, a wake-up signal is sent to the power management chip through the fault signal output terminal to trigger a system restart.

3. The collaborative diagnosis and scheduling method according to claim 2, characterized in that, The process of acquiring bidirectional device data and generating diagnostic results through the coordinated use of the main and slave channels specifically includes: Main channel detection steps: Through the main channel, in order from the first end to the last end of the daisy chain network, attempt to read the preset ID or battery data of each front-end acquisition chip in sequence; if all preset IDs or battery data are successfully read, the network topology is determined to be normal and the current round of polling ends; if it fails to read the preset ID or battery data of the Mth device, the Mth device is recorded as the main channel failure point, and the secondary channel verification steps are executed. From the channel verification step: After the main channel failure point is recorded in the main channel detection step, the preset ID or battery data of each front-end acquisition chip is attempted to be read through the slave channel in the order from the end to the beginning of the daisy chain network. Collaborative diagnostic decision-making steps: Decisions are made based on the failure point of the main channel and the reading results of the slave channel. If the preset ID or battery data of the Mth device can be successfully read through the channel, it is determined to be a single-point chain failure, and the chain failure position is recorded as the distance between the Mth device and its predecessor. If the preset ID or battery data of the Mth device cannot be read through the channel, and the preset ID or battery data of the Nth device located after the Mth device cannot be read either, then it is determined to be a multi-point disconnection fault, and the disconnection location is recorded as a continuous segment from the Mth device to the Nth device. Where M and N are integers greater than or equal to 1, and N > M.

4. The collaborative diagnosis and scheduling method according to claim 2, characterized in that, Dynamically planning the data acquisition path involves allocating a set of devices to be acquired to the main channel and the secondary channel based on the network topology status and link break locations indicated by the diagnostic results. Specifically, this includes: If the network topology is normal, a first set of devices containing all front-end acquisition chips is allocated to the main channel, but acquisition tasks are not allocated to the secondary channels. If the network topology is a single-point disconnection and the disconnection location is between the Xth device and its preceding device, then the main channel is allocated a second set of devices from the beginning to the Xth device, and the secondary channel is allocated a third set of devices from the Xth device to the end. If the network topology is in a state of multiple disconnections and the disconnection segment is between the Y-th device and the Z-th device, then the main channel is allocated a fourth set of devices from the beginning to the Y-th device, and the secondary channel is allocated a fifth set of devices from the Z-th device to the end. Where Y and Z are integers greater than or equal to 1, and Z > Y; Within the data acquisition window, each channel reads data from the corresponding front-end acquisition chip in a time-sharing manner according to the set of devices to which it is assigned.

5. The collaborative diagnosis and scheduling method according to claim 2, characterized in that, The equilibrium control strategy is a pre-configured strategy based on equilibrium cycle rotation, including: Two different sets of equalization register configuration values ​​are pre-configured for each front-end acquisition chip, namely even-number equalization register values ​​and odd-number equalization register values; Set a total balancing duration and a rotation cycle duration, and start the balancing process; During the continuous execution of the balance operation, the execution time of the balance operation is monitored, and when it is less than the total balance operation time, the current rotation cycle number is determined based on the execution time of the balance operation and the rotation cycle duration. Based on the parity of the rotation cycle number, a corresponding equalization register configuration value is selected for each front-end acquisition chip to configure its equalization control register. If the rotation cycle number is even, the even-numbered equalization register value of the corresponding chip is selected as the equalization configuration value for that chip. If the rotation cycle number is odd, the odd-numbered equalization register value of the corresponding chip is selected as the equalization configuration value for that chip.

6. The collaborative diagnosis and scheduling method according to claim 5, characterized in that, Before configuring the equalization register configuration group for the front-end acquisition chip, a equalization request optimization step is also included: Detect the balancing requests of all current battery channels. If a conflict in the distribution of balancing requests is detected, perform parity-even balancing in different time periods for the conflicting balancing requests. The equalization request distribution conflict includes: the existence of physically adjacent battery channels being requested to be equalized at the same time, or the total number of channels currently being requested to be equalized exceeds the preset maximum power equalization channel threshold. The time-segmented parity balancing includes: traversing all conflicting battery channels that need balancing according to a preset channel order, and generating a continuous allocation sequence number for each channel requesting balancing. The rules for setting even-numbered and odd-numbered equalization register values ​​for each battery cell channel requesting equalization are as follows: Calculate the device number and device channel number of the corresponding front-end acquisition chip based on the battery cell channel number. If the allocation sequence number is odd, select the odd-numbered equalization register value of the corresponding chip device number and set the corresponding bit of the corresponding device channel number to 1. If the allocation sequence number is even, select the even-numbered equalization register value of the corresponding device number and set the corresponding bit of the corresponding device channel number to 1. All cell channels requiring balancing requests are allocated according to the above rules, so that the balancing requests for each chip device are divided into two groups of data: even balancing registers and odd balancing registers, based on the parity of the allocation sequence number.

7. The collaborative diagnosis and scheduling method according to claim 2, characterized in that, The method also includes state synchronization and configuration solidification steps performed before the system is powered down: When the main control unit receives a shutdown request, it controls the daisy chain network to switch from normal acquisition mode to sleep pre-test mode. In the pre-sleep self-test mode, network diagnostics are re-executed to obtain the current network topology status; If the current network topology is normal or a single point of disconnection, then query the non-volatile memory update flag of each front-end acquisition chip in the daisy chain network in turn; for devices with the update flag set, send an instruction to control them to store the current register configuration into the internal non-volatile memory; Once all storage operations on all devices are complete, control the daisy-chain network to enter the sleep mode; If the current network topology is characterized by corrupted device IDs or multiple disconnections, the daisy-chain network is switched to network recovery mode to attempt to repair the network configuration before the system is powered off.

8. The collaborative diagnosis and scheduling method according to claim 2, characterized in that, Based on the dynamic triggering mode switching of system wake-up events, the specific steps include type identification and initial mode mapping of wake-up events: Identify the type of system wake-up event, which includes: a first type of event generated by the power management chip SBC upon first power-on, a second type of event triggered by the daisy-chain bridging chip through a dedicated hardware fault line, and a third type of event triggered by a non-faulty external signal; The identified wake-up event types are mapped to the initial operating modes of the daisy-chain network: If the event is identified as either the first type or the second type, the initial operating mode of the daisy chain network is set to power-on self-test mode. If the event is identified as the third type, the initial operating mode of the daisy chain network is set to normal acquisition mode.

9. The collaborative diagnosis and scheduling method according to claim 2, characterized in that, The fixed acquisition period is 100 milliseconds, and the method further includes a timer-based task scheduling step: Within the acquisition cycle, data acquisition tasks, balance control tasks, and diagnostic reading tasks are sequentially scheduled according to the timing value of a cycle timer. When the timing value indicates that the data acquisition task is in the first time period, the data acquisition task is scheduled to be executed. When the timing value indicates that the second time period is in progress and there is a balance control operation to be performed, the balance control task is scheduled to be executed. After the balance control is completed, the diagnostic reading task is scheduled to be executed. When the timing value indicates that the second time period is in progress and there is no equalization control operation to be performed, the diagnostic reading task is directly scheduled and executed. After the diagnostic reading task is completed, in order to speed up the signal data of the front-end battery, the timing value is directly reset and the data acquisition is restarted in the first time period.

Citation Information

Patent Citations

  • Battery cell fault monitoring system and method

    CN113910980A

  • Power battery monitoring system and vehicle

    CN114714909A

  • Battery data processing method and system and vehicle

    CN114755585A

  • Battery cell balancing method and vehicle

    CN117841776A

  • Battery equalization circuit

    CN119070426A