A data transmission method, apparatus, device and medium
By setting a data transmission threshold and using a lossless compression algorithm in the energy storage system, the problems of low data transmission efficiency and reliability in large-scale energy storage systems are solved, achieving efficient and reliable data transmission.
Patent Information
- Application Number
- CN202411418044.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2026-03-17
- Estimated Expiration
- 2044-10-11
AI Technical Summary
In existing technologies, data transmission efficiency in energy storage systems is low. This is especially true in large-scale energy storage systems where the amount of data to be transmitted is large, making it crucial to improve transmission efficiency. Furthermore, existing compression algorithms, such as differential strategies and Huffman coding, have reliability issues, particularly when historical data is lost and cannot be parsed or has insufficient compression ratio.
The battery cluster management unit determines the data transmission threshold based on the current state of charge and current value of the battery cluster, sets transmission conditions, and only transmits battery data when the conditions are met. It also uses lossless compression algorithms such as Zigzag and LZSS for compression encoding to avoid invalid data transmission and loss of historical data.
It improves data transmission efficiency, reduces transmission bandwidth, ensures data transmission reliability, avoids unreliability caused by the loss of historical data, and the lossless compression algorithm avoids data loss.
Smart Images

Figure CN119311616B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of energy storage technology, and in particular to a data transmission method, apparatus, equipment and medium. Background Technology
[0002] With the development of energy storage applications, the scale of energy storage systems is increasing, leading to a trend of increasing cluster numbers. The central controller of an energy storage system is generally used for system decision-making, while the master controller is used for information collection. The central controller needs to read detailed battery data from each master controller in real time, including detailed cell data, detailed temperature, cell SOC (State of Charge), and cell internal resistance. Currently, energy storage mainly uses a three-tier architecture. The BCU (Battery Cluster Management Unit) and BAU (Battery Array Unit) use the J1939 protocol based on CAN2.0B to transmit data. When a BAU manages a large number of BCUs, this results in a significant amount of data transmission. Therefore, improving transmission efficiency becomes particularly important as the amount of transmitted data increases. To reduce data transmission time and bandwidth, it is necessary to compress the data during transmission. Therefore, selecting a suitable compression algorithm becomes a crucial technical issue in data compression.
[0003] Currently used compression algorithms typically involve differential strategies and Huffman coding. Differential strategies require differential processing of previous historical data; however, relying on previous data reduces transmission reliability, for example, if some historical data is lost, the data cannot be parsed. Furthermore, Huffman coding requires generating a Huffman tree, and when the transmitted data is less than 2KB, there is a significant lack of compression ratio.
[0004] In summary, improving data transmission efficiency, avoiding the transmission of invalid data, and preventing unreliability caused by the loss of historical data are problems that need to be solved. Summary of the Invention
[0005] In view of this, the purpose of this invention is to provide a data transmission method, apparatus, device, and medium that can improve data transmission efficiency, avoid the transmission of invalid data, and avoid unreliability caused by the loss of historical data. The specific solution is as follows:
[0006] In a first aspect, this application discloses a data transmission method applied to a battery cluster management unit, comprising:
[0007] Respond to the data read request from the battery array management unit and determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster;
[0008] Determine whether the current battery data of each individual battery in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold.
[0009] If the conditions are met, the battery data between adjacent individual cells are preprocessed in the initial sequence based on the current battery data to obtain the processed sequence.
[0010] The processed sequence is compressed using a preset lossless compression algorithm to obtain compressed data, and the compressed data is transmitted to the battery array management unit.
[0011] Optionally, the battery cluster management unit is equipped with a voltage transmission threshold table and a temperature transmission threshold table;
[0012] Accordingly, determining the data transmission threshold corresponding to the current state of charge and current value of the battery cluster includes:
[0013] The corresponding current voltage transmission threshold is looked up from the voltage transmission threshold table based on the current state of charge and current value of the battery cluster.
[0014] Obtain the current temperature transmission threshold from the temperature transmission threshold table.
[0015] Optionally, the voltage transfer threshold table includes a first voltage transfer threshold table and a second voltage transfer threshold table; the first voltage transfer threshold table records the correspondence between different states of charge and different voltage transfer thresholds, and the second voltage transfer threshold table records the correspondence between different current values and different voltage transfer thresholds.
[0016] Accordingly, the step of looking up the corresponding current voltage transfer threshold from the voltage transfer threshold table based on the current state of charge and current value of the battery cluster includes:
[0017] The first target voltage transmission threshold is looked up from the first voltage transmission threshold table based on the current state of charge of the battery cluster.
[0018] The corresponding second target voltage transmission threshold is looked up from the second voltage transmission threshold table based on the current current value of the battery cluster.
[0019] The smaller of the first target voltage transmission threshold and the second target voltage transmission threshold is determined as the current voltage transmission threshold.
[0020] Optionally, the current battery data is the current individual cell voltage data of each cell in the battery cluster;
[0021] Accordingly, determining whether the current battery data of each individual cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold includes:
[0022] The current maximum and minimum cell voltages are determined from the current cell voltage data of each individual cell, and the historical maximum and minimum cell voltages last transmitted to the battery array management unit are obtained from the preset historical data storage area.
[0023] If the difference between the current maximum single-cell voltage and the historical maximum single-cell voltage is greater than the current voltage transmission threshold, or if the difference between the current minimum single-cell voltage and the historical minimum single-cell voltage is greater than the current voltage transmission threshold, then it is determined that the voltage data transmission condition set based on the current voltage transmission threshold is currently met.
[0024] Accordingly, the step of preprocessing the battery data between adjacent individual cells in the initial sequence based on the current battery data to obtain the processed sequence includes:
[0025] The processed sequence is obtained by preprocessing the individual cell voltage data between adjacent cells in the initial sequence based on the current individual cell voltage data.
[0026] Optionally, the current battery data is the current temperature data of each individual cell in the battery cluster;
[0027] Accordingly, determining whether the current battery data of each individual cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold includes:
[0028] The current highest and lowest temperatures are determined from the current temperature data of each individual battery cell, and the historical highest and lowest temperatures last transmitted to the battery array management unit are obtained from the preset historical data storage area.
[0029] If the difference between the current highest temperature and the historical highest temperature is greater than the current temperature transmission threshold, or if the difference between the current lowest temperature and the historical lowest temperature is greater than the current temperature transmission threshold, then it is determined that the temperature data transmission conditions set based on the current temperature transmission threshold are met.
[0030] Accordingly, the step of preprocessing the battery data between adjacent individual cells in the initial sequence based on the current battery data to obtain the processed sequence includes:
[0031] The temperature data between adjacent individual cells are preprocessed in the initial sequence based on the current temperature data to obtain the processed sequence.
[0032] Optionally, after determining whether the current battery data of each individual cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold, the method further includes:
[0033] If the transmission conditions are not met, the transmission of current battery data of each individual cell in the battery cluster to the battery array management unit is prohibited. Instead, target information indicating that the battery data has not changed is sent to the battery array management unit so that the battery array management unit can still use the historical battery data from the previous transmission to perform preset management operations.
[0034] Optionally, the step of compressing and encoding the processed sequence using a preset lossless compression algorithm to obtain compressed data includes:
[0035] The processed sequence is encoded using the Zigzag encoding algorithm to obtain the encoded sequence.
[0036] The encoded sequence is compressed using a dictionary-based target compression algorithm to obtain compressed data; wherein the target compression algorithm is either LZSS or LZ77.
[0037] Optionally, the step of preprocessing the battery data between adjacent individual cells in the initial sequence based on the current battery data to obtain the processed sequence includes:
[0038] An initial sequence of data is constructed from the current battery data collected via a daisy-chain method;
[0039] For each item in the initial sequence, the original battery data of each item is compared with the battery data of the previous item, and the result of the difference operation is used to replace the original battery data to obtain the processed sequence.
[0040] Secondly, this application discloses a data transmission device applied to a battery cluster management unit, comprising:
[0041] The threshold determination module is used to respond to the data read request sent by the battery array management unit and determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster.
[0042] The judgment module is used to determine whether the current battery data of each individual battery in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold.
[0043] The preprocessing module is used to, if satisfied, preprocess the battery data between adjacent individual cells in the initial sequence based on the current battery data to obtain the processed sequence.
[0044] The transmission module is used to compress and encode the processed sequence using a preset lossless compression algorithm to obtain compressed data, and transmit the compressed data to the battery array management unit.
[0045] Thirdly, this application discloses an electronic device, including:
[0046] Memory, used to store computer programs;
[0047] A processor is configured to execute the computer program to implement the steps of the aforementioned disclosed data transmission method.
[0048] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the steps of the aforementioned disclosed data transmission method.
[0049] As can be seen, the battery cluster management unit in this application responds to the data read request sent by the battery array management unit and determines the data transmission threshold corresponding to the current state of charge and current value of the battery cluster; it determines whether the current battery data of each individual cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold; if they meet the conditions, the battery data between adjacent individual cells are preprocessed in the initial sequence based on the current battery data to obtain a processed sequence; the processed sequence is compressed and encoded using a preset lossless compression algorithm to obtain compressed data, and the compressed data is transmitted to the battery array management unit.
[0050] Beneficial Effects: After receiving a data read request from the battery array management unit, the battery cluster management unit in this application first needs to determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster. That is, considering the characteristics of the voltage variation of individual cells under different states of charge and the influence of current on voltage variation, the data transmission threshold is determined based on the current state of charge and current value of the battery cluster. After determining the data transmission threshold, corresponding transmission conditions are set, and it is determined whether the current battery data of each individual cell in the battery cluster meets the transmission conditions compared to the historical battery data previously transmitted to the battery array management unit. Only when the transmission conditions are met is the current battery data transmitted. In this way, by setting transmission conditions, truly valuable battery data can be transmitted, avoiding the transmission of invalid data and effectively reducing transmission bandwidth. Furthermore, when the transmission conditions are met, the battery data between adjacent individual cells in the initial sequence composed of the current battery data is preprocessed to obtain a processed sequence. Then, a preset lossless compression algorithm is used to compress and encode the processed sequence to obtain compressed data, which is then transmitted to the battery array management unit. In other words, the above encoding and compression process only relies on the current state of the data and is unrelated to the historical state. This effectively prevents the data from becoming unparseable due to the loss of historical data during data transmission, resulting in better reliability. Furthermore, this application uses a lossless compression algorithm for compression, which does not involve precision conversion and will not cause data loss during transmission, further improving data transmission efficiency. Attached Figure Description
[0051] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0052] Figure 1 This is a flowchart of a data transmission method disclosed in this application;
[0053] Figure 2 This is a flowchart of a specific data transmission method disclosed in this application;
[0054] Figure 3 This is a schematic diagram of an LZSS encoding algorithm disclosed in this application;
[0055] Figure 4 This is a schematic diagram of the structure of a data transmission device disclosed in this application;
[0056] Figure 5This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation
[0057] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.
[0058] Data transmission between the battery cluster management unit and the battery array management unit uses the J1939 protocol based on CAN2.0B. When the battery array management unit manages a large number of battery cluster management units, the amount of data transmitted becomes substantial. Therefore, improving transmission efficiency becomes crucial as the amount of data transmitted increases. Currently used compression algorithms typically involve differential strategies and Huffman coding. Differential strategies require differential processing of historical data; however, relying on previous data reduces transmission reliability. For example, if some historical data is lost, the data cannot be parsed. Furthermore, Huffman coding requires generating a Huffman tree, and when the transmitted data is less than 2KB, the compression ratio becomes significantly insufficient.
[0059] Therefore, embodiments of this application disclose a data transmission method, apparatus, device, and medium that can improve data transmission efficiency, avoid the transmission of invalid data, and avoid unreliability caused by the loss of historical data.
[0060] See Figure 1 As shown in the figure, this application discloses a data transmission method applied to a battery cluster management unit, the method comprising:
[0061] Step S11: Respond to the data read request sent by the battery array management unit and determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster.
[0062] First and foremost, it's important to note that the Battery Array Management Unit (BAM), as the core of the battery array's management, needs a comprehensive understanding of the entire battery system's status. By acquiring battery data from the Battery Cluster Management Unit (BCN), the BAM can accurately grasp the operating status of each battery cluster within the array, thereby assessing and analyzing the battery's health. The BAM can also perform battery balancing management. When the voltage of certain individual cells or battery clusters differs from other parts of the battery pack, the BAM can adjust the charge distribution among the batteries through balancing circuitry, improving the overall performance and lifespan of the battery pack. Therefore, when the BAM sends a data read request to the BCN, the BCN needs to send the locally collected battery data back to the BAM.
[0063] In this embodiment, after receiving a data read request from the battery array management unit, the battery cluster management unit first needs to determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster. That is, considering the characteristics of the individual cell voltage changes under different states of charge and the influence of current on voltage changes, this application determines the data transmission threshold based on the current state of charge and current value of the battery cluster.
[0064] Step S12: Determine whether the current battery data of each individual battery in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold.
[0065] In this embodiment, after determining the data transmission threshold, corresponding transmission conditions are set, and it is determined whether the current battery data of each individual cell in the battery cluster meets the transmission conditions compared to the historical battery data previously transmitted to the battery array management unit. Only if the transmission conditions are met is the current battery data transmitted. In this way, by setting transmission conditions, truly valuable battery data can be transmitted, avoiding the transmission of invalid data and effectively reducing transmission bandwidth.
[0066] Step S13: If satisfied, the battery data between adjacent individual cells is preprocessed in the initial sequence based on the current battery data to obtain the processed sequence.
[0067] In this embodiment, assuming the transmission conditions are met, the battery data between adjacent individual cells needs to be preprocessed in the initial sequence based on the current battery data to obtain the processed sequence. That is, in the data preprocessing stage, the processing only depends on the current state of the data and is independent of historical states, thereby preventing data from becoming unparseable due to the loss of historical data during transmission, resulting in better reliability.
[0068] In addition, after determining whether the current battery data of each individual cell in the battery cluster meets the transmission conditions set based on the data transmission threshold, the method further includes: if the transmission conditions are not met, prohibiting the transmission of the current battery data of each individual cell in the battery cluster to the battery array management unit, and sending target information to the battery array management unit to indicate that the battery data has not changed, so that the battery array management unit can still use the previously transmitted historical battery data to perform preset management operations.
[0069] In other words, if the transmission conditions are not met, it means that although there are information differences between the current battery data and the historical battery data previously transmitted to the battery array management unit, the range of change is not large. Therefore, transmitting the current battery data of each individual cell in the battery cluster to the battery array management unit is prohibited, thus avoiding the impact of a large amount of invalid detailed data on the transmission of other data. Therefore, target information indicating that the battery data has not changed is sent to the battery array management unit, so that the battery array management unit can still use the previously transmitted historical battery data to perform preset management operations. It should be noted that data changes significantly at the end of battery charging and discharging, but the actual battery capacity does not change much. Therefore, the data transmission threshold can be set to a larger value to avoid the transmission of invalid data.
[0070] Step S14: Compress and encode the processed sequence using a preset lossless compression algorithm to obtain compressed data, and transmit the compressed data to the battery array management unit.
[0071] In this embodiment, the processed sequence is compressed using a preset lossless compression algorithm to obtain compressed data, which is then transmitted to the battery array management unit. By using a lossless compression algorithm, there is no precision conversion and no data loss during transmission, further improving data transmission efficiency.
[0072] As can be seen, the battery cluster management unit in this application responds to the data read request sent by the battery array management unit and determines the data transmission threshold corresponding to the current state of charge and current value of the battery cluster; it determines whether the current battery data of each individual cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold; if they meet the conditions, the battery data between adjacent individual cells are preprocessed in the initial sequence based on the current battery data to obtain a processed sequence; the processed sequence is compressed and encoded using a preset lossless compression algorithm to obtain compressed data, and the compressed data is transmitted to the battery array management unit.
[0073] Beneficial Effects: After receiving a data read request from the battery array management unit, the battery cluster management unit in this application first needs to determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster. That is, considering the characteristics of the voltage variation of individual cells under different states of charge and the influence of current on voltage variation, the data transmission threshold is determined based on the current state of charge and current value of the battery cluster. After determining the data transmission threshold, corresponding transmission conditions are set, and it is determined whether the current battery data of each individual cell in the battery cluster meets the transmission conditions compared to the historical battery data previously transmitted to the battery array management unit. Only when the transmission conditions are met is the current battery data transmitted. In this way, by setting transmission conditions, truly valuable battery data can be transmitted, avoiding the transmission of invalid data and effectively reducing transmission bandwidth. Furthermore, when the transmission conditions are met, the battery data between adjacent individual cells in the initial sequence composed of the current battery data is preprocessed to obtain a processed sequence. Then, a preset lossless compression algorithm is used to compress and encode the processed sequence to obtain compressed data, which is then transmitted to the battery array management unit. In other words, the above encoding and compression process only relies on the current state of the data and is unrelated to the historical state. This effectively prevents the data from becoming unparseable due to the loss of historical data during data transmission, resulting in better reliability. Furthermore, this application uses a lossless compression algorithm for compression, which does not involve precision conversion and will not cause data loss during transmission, further improving data transmission efficiency.
[0074] See Figure 2 As shown, this application discloses a specific data transmission method. Compared to the previous embodiment, this embodiment further explains and optimizes the technical solution. Specifically, it includes:
[0075] Step S21: Respond to the data read request sent by the battery array management unit, and look up the corresponding current voltage transmission threshold from the voltage transmission threshold table based on the current state of charge and current value of the battery cluster, and obtain the current temperature transmission threshold from the temperature transmission threshold table.
[0076] In this embodiment, the battery cluster management unit has a pre-set voltage transmission threshold table and a temperature transmission threshold table. Therefore, when determining the data transmission threshold corresponding to the current state of charge and current value of the battery cluster, the corresponding current voltage transmission threshold is specifically looked up from the voltage transmission threshold table based on the current state of charge and current value of the battery cluster, and the current temperature transmission threshold is obtained from the temperature transmission threshold table. For example, a correspondence between the state of charge, current value, and voltage transmission threshold can be established in the tables to find the corresponding current voltage transmission threshold. In addition, the temperature transmission threshold table can store pre-written values, or it can refer to the influence of temperature on the state of charge and current to establish a correlation between the three.
[0077] In a specific implementation, the voltage transfer threshold table includes a first voltage transfer threshold table and a second voltage transfer threshold table; the first voltage transfer threshold table records the correspondence between different states of charge and different voltage transfer thresholds, and the second voltage transfer threshold table records the correspondence between different current values and different voltage transfer thresholds.
[0078] In other words, the battery cluster management unit sets up a {SOC segment, voltage transmission threshold} table and a {current, voltage transmission threshold} table. At different SOC stages, the battery cluster management unit will have different judgment criteria for the voltage data to be transmitted and set different voltage transmission thresholds. In addition, since the magnitude of the current also affects the voltage change and the operating state of the battery, different current values also correspond to different voltage transmission thresholds.
[0079] Accordingly, the step of looking up the corresponding current voltage transmission threshold from the voltage transmission threshold table based on the current state of charge and current current value of the battery cluster includes: looking up the corresponding first target voltage transmission threshold from the first voltage transmission threshold table based on the current state of charge of the battery cluster; looking up the corresponding second target voltage transmission threshold from the second voltage transmission threshold table based on the current current value of the battery cluster; and determining the smaller of the first target voltage transmission threshold and the second target voltage transmission threshold as the current voltage transmission threshold. That is, because this application sets two voltage transmission threshold tables, it can look up the corresponding first target voltage transmission threshold from the first voltage transmission threshold table based on the current state of charge of the battery cluster, and look up the corresponding second target voltage transmission threshold from the second voltage transmission threshold table based on the current current value of the battery cluster. The final current voltage transmission threshold can be the smaller of the first target voltage transmission threshold and the second target voltage transmission threshold.
[0080] Step S22: Determine whether the current battery data of each individual battery in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold.
[0081] In this embodiment, the data transmitted between the battery cluster management unit and the battery array management unit mainly includes the voltage and temperature data of individual cells. The individual cell voltage data reflects the charge and discharge state of each individual cell in the battery cluster, while the temperature data is used to monitor the battery temperature and ensure that the battery operates within a safe temperature range.
[0082] In one specific implementation, the current battery data is the current individual cell voltage data of each cell in the battery cluster; correspondingly, determining whether the current battery data of each cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold includes: determining the current maximum cell voltage and the current minimum cell voltage from the current individual cell voltage data of each cell, and obtaining the historical maximum cell voltage and the historical minimum cell voltage previously transmitted to the battery array management unit from a preset historical data storage area; if the difference between the current maximum cell voltage and the historical maximum cell voltage is greater than the current voltage transmission threshold, or if the difference between the current minimum cell voltage and the historical minimum cell voltage is greater than the current voltage transmission threshold, then it is determined that the voltage data transmission conditions set based on the current voltage transmission threshold are currently met.
[0083] It is understandable that the battery cluster management unit has a preset historical data storage area, which records the historical maximum and minimum cell voltages last transmitted to the battery array management unit. Therefore, if the difference between the current maximum cell voltage and the historical maximum cell voltage in the current cell voltage data is greater than the current voltage transmission threshold, or if the difference between the current minimum cell voltage and the historical minimum cell voltage in the current cell voltage data is greater than the current voltage transmission threshold, then it is determined that the voltage data transmission conditions set based on the current voltage transmission threshold are met, that is, the compressed transmission process of cell voltage data is initiated. The specific expression is as follows:
[0084] Current maximum cell voltage - historical maximum cell voltage > current voltage transmission threshold;
[0085] Alternatively, the current minimum cell voltage minus the historical minimum cell voltage > the current voltage transmission threshold.
[0086] Accordingly, the battery data between adjacent individual cells is preprocessed in the initial sequence based on the current battery data to obtain the processed sequence. Specifically, this includes preprocessing the individual cell voltage data between adjacent individual cells in the initial sequence based on the current individual cell voltage data to obtain the processed sequence.
[0087] In another specific implementation, the current battery data is the current temperature data of each individual cell in the battery cluster; correspondingly, determining whether the current battery data of each individual cell in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold includes: determining the current highest temperature and the current lowest temperature from the current temperature data of each individual cell, and obtaining the historical highest temperature and historical lowest temperature previously transmitted to the battery array management unit from a preset historical data storage area; if the difference between the current highest temperature and the historical highest temperature is greater than the current temperature transmission threshold, or if the difference between the current lowest temperature and the historical lowest temperature is greater than the current temperature transmission threshold, then it is determined that the current temperature data transmission conditions set based on the current temperature transmission threshold are met.
[0088] Similarly, the battery cluster management unit has a preset historical data storage area, which records the historical highest and lowest temperatures last transmitted to the battery array management unit. Therefore, if the difference between the current highest temperature and the historical highest temperature in the current temperature data is greater than the current temperature transmission threshold, or if the difference between the current lowest temperature and the historical lowest temperature in the current temperature data is greater than the current temperature transmission threshold, then it is determined that the temperature data transmission conditions set based on the current temperature transmission threshold are met, that is, the temperature data compression transmission process is initiated. The specific expression is as follows:
[0089] Current highest temperature - historical highest temperature > current temperature transmission threshold;
[0090] Alternatively, the current lowest temperature - the historical lowest temperature > the current temperature transmission threshold.
[0091] Accordingly, the battery data between adjacent individual cells is preprocessed in the initial sequence based on the current battery data to obtain the processed sequence. Specifically, this includes preprocessing the temperature data between adjacent individual cells in the initial sequence based on the current temperature data to obtain the processed sequence.
[0092] Step S23: If satisfied, construct an initial sequence of data from the current battery data collected via a daisy chain.
[0093] In this embodiment, the battery cluster management unit collects the current battery data of each individual battery cell via a daisy-chain method. It is understood that in a battery system, the voltage detection modules of each individual battery cell are connected sequentially via specific communication lines, forming a chain structure. The battery cluster management unit is connected to one end of the daisy chain and reads the voltage data of each individual battery cell one by one through this chain structure. Compared to configuring a separate communication line for each individual battery cell to connect to the battery cluster management unit, the daisy-chain connection reduces the number of communication lines and lowers system costs; furthermore, the daisy-chain connection method simplifies the wiring of the battery system, reducing the complexity and clutter of the wiring, which is beneficial for system installation and maintenance; in addition, the daisy-chain structure is relatively easy to expand, allowing for convenient addition or reduction of the number of individual batteries without requiring large-scale modifications to the hardware and software of the battery cluster management unit. Therefore, this application constructs an initial sequence A based on the current battery data collected via the daisy-chain method according to the collection order: A = {b0, b1, b2, ..., b...} n-1 b n ), where b represents the current battery data of a single cell, and 0 to n represent the serial number of the single cell.
[0094] Step S24: For each item in the initial sequence, perform a difference operation on the original battery data of each item and the battery data of the previous item, and replace the original battery data with the result of the difference operation to obtain the processed sequence.
[0095] In this embodiment, for each item in the initial sequence, the original battery data of each item is subjected to a difference operation (denoted as Delt operation) with the battery data of the previous item, and the original battery data is replaced with the result of the difference operation to obtain the processed sequence. That is, based on the characteristic that the difference between adjacent data acquisitions is small during actual battery data acquisition, the acquisition data between adjacent cells are differentially encoded to obtain the processed sequence B: B={b0, b1-b0, b2-b1, ..., b n-1 -b n-2 b n -b n-1}
[0096] This scheme uses adjacent data samples for interpolation. The entire data decompression depends only on the current state and is independent of historical states, resulting in better reliability and effectively preventing the loss of previous frames due to historical data loss during CAN transmission or other reasons. Furthermore, adjacent data samples have higher similarity, and the interpolation results are more beneficial for subsequent encoding and compression.
[0097] Step S25: Encode the processed sequence using the Zigzag encoding algorithm to obtain an encoded sequence, compress the encoded sequence using a dictionary-based target compression algorithm to obtain compressed data, and transmit the compressed data to the battery array management unit; wherein, the target compression algorithm is either LZSS or LZ77.
[0098] In this embodiment, the processed sequence B is first transformed using the Zigzag encoding algorithm. It is understood that there are many data compression algorithms, but most of them work by using some encoding method to exclude 0 bits from the data. Therefore, the more 0 bits there are, the better the data compression effect. Zigzag encoding is one such encoding method that adds 0 bits.
[0099] ZigZag encoding uses different methods for positive and negative numbers. The following explanation uses the positive number 11 and the negative number -11 as examples:
[0100] (1) Assuming the data type is short, the positive number 11 has the following binary representation: 00000000 00001011. Shifting the data left by one bit gives 000000000 00010110. Placing the sign bit (0 for a positive number) at the last bit gives 00000000 00010110.
[0101] (2) Assuming the data type is the negative number -11 of byte, its binary representation in the computer is done using two's complement. The calculation process is as follows:
[0102] Positive number original code: 00000000 0001011;
[0103] Inverse code: 11111111 11110100;
[0104] Two's complement (one's complement plus 1): 11111111 11110101.
[0105] The processing procedure is as follows:
[0106] a. Shift left by one bit: 11111111 11101010;
[0107] b. Place the sign bit at the last position: 11111111 11101011;
[0108] c. Invert all except the last digit: 00000000 00010101.
[0109] Encoding sequence B using the Zigzag encoding algorithm yields the encoded sequence denoted as C: = {C0, C1, C2, C3, C4, ..., C...} m}
[0110] Furthermore, the encoded sequence is compressed using a dictionary-based target compression algorithm to obtain compressed data; the target compression algorithm is either LZSS or LZ77.
[0111] This embodiment uses LZSS as an example for specific explanation:
[0112] LZSS is a lossless data compression algorithm. Its core principle is to replace repeated parts with strings that have already appeared. The encoder's output is simply a pointer to previously encountered strings. LZSS, also known as "sliding window compression," uses a virtual window that slides along with the compression process as a dictionary. If a string to be compressed appears in this window, its position and length are output; otherwise, the string is output as is.
[0113] See Figure 3 As shown, Figure 3 This is a schematic diagram of an LZSS encoding algorithm disclosed in this application, and its specific execution steps are as follows:
[0114] 1. Place the encoding position at the beginning of the input data stream;
[0115] 2. Find the longest matching string in the sliding window within the forward buffer; the sliding window stores recently processed data, and the forward buffer stores data to be processed.
[0116] ①Pointer := Match string pointer.
[0117] ②Length :=Length of the matched string.
[0118] 3. Determine if the length of the matched string (Length) is greater than or equal to the minimum length of the matched string (MIN_LENGTH);
[0119] If "yes": output pointer, then move the encoding position forward by Length characters;
[0120] If "No": Output the first character in the forward buffer, then move the encoding position forward by one character;
[0121] 4. If the forward buffer is not empty, return to step 2.
[0122] The compressed sequence (compressed data) formed after LZSS compression;
[0123] R={R0, R1, R2, R3, R4,…, R k}
[0124] Finally, this application transmits the compressed data R to the battery array management unit. Specifically, the R sequence is placed in J1939 and transmitted using the CAN (Controller Area Network) bus.
[0125] After receiving the compressed data, the battery array management unit first decompresses it using the LZSS decompression algorithm, then restores it using the Zigzag encoding method, and finally restores the transmitted sequence using Delt. Since the above three encoding and compression algorithms are all lossless compression and have no precision conversion, there will be no loss of transmitted data.
[0126] As can be seen, this application embodiment sets corresponding voltage and temperature transmission thresholds based on the characteristics of the current battery, the differences in the impact of voltage at different SOC stages, and the impact of different currents. This ensures that valuable data is transmitted only when necessary, effectively reducing the actual bandwidth. Furthermore, this method uses Delt, Zigzag, and LZSS compression encoding. The compression and decompression process is simple, the algorithm complexity is low, and it is more in line with the efficiency of embedded systems. Compared with other algorithms, this compression algorithm has a higher compression ratio for data smaller than 2KB, while other algorithms using Huffman coding trees require more redundant information.
[0127] See Figure 4 As shown in the figure, this application discloses a data transmission device applied to a battery cluster management unit, the device comprising:
[0128] The threshold determination module 11 is used to respond to the data reading request sent by the battery array management unit and determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster.
[0129] The judgment module 12 is used to determine whether the current battery data of each individual battery in the battery cluster and the historical battery data previously transmitted to the battery array management unit meet the transmission conditions set based on the data transmission threshold.
[0130] Preprocessing module 13 is used to preprocess the battery data between adjacent individual cells in the initial sequence based on the current battery data to obtain the processed sequence if the conditions are met.
[0131] Transmission module 14 is used to compress and encode the processed sequence using a preset lossless compression algorithm to obtain compressed data, and transmit the compressed data to the battery array management unit.
[0132] Beneficial Effects: After receiving a data read request from the battery array management unit, the battery cluster management unit in this application first needs to determine the data transmission threshold corresponding to the current state of charge and current value of the battery cluster. That is, considering the characteristics of the voltage variation of individual cells under different states of charge and the influence of current on voltage variation, the data transmission threshold is determined based on the current state of charge and current value of the battery cluster. After determining the data transmission threshold, corresponding transmission conditions are set, and it is determined whether the current battery data of each individual cell in the battery cluster meets the transmission conditions compared to the historical battery data previously transmitted to the battery array management unit. Only when the transmission conditions are met is the current battery data transmitted. In this way, by setting transmission conditions, truly valuable battery data can be transmitted, avoiding the transmission of invalid data and effectively reducing transmission bandwidth. Furthermore, when the transmission conditions are met, the battery data between adjacent individual cells in the initial sequence composed of the current battery data is preprocessed to obtain a processed sequence. Then, a preset lossless compression algorithm is used to compress and encode the processed sequence to obtain compressed data, which is then transmitted to the battery array management unit. In other words, the above encoding and compression process only relies on the current state of the data and is unrelated to the historical state. This effectively prevents the data from becoming unparseable due to the loss of historical data during data transmission, resulting in better reliability. Furthermore, this application uses a lossless compression algorithm for compression, which does not involve precision conversion and will not cause data loss during transmission, further improving data transmission efficiency.
[0133] Since the embodiments of the apparatus and the method correspond to each other, the embodiments of the apparatus are described in the method section and will not be repeated here. Furthermore, it has the same beneficial effects as the data transmission method mentioned above.
[0134] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Specifically, it may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the data transmission method performed by the electronic device disclosed in any of the foregoing embodiments.
[0135] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0136] The processor 21 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 21 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 21 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 21 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0137] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored on it include operating system 221, computer program 222 and data 223, etc., and the storage method can be temporary storage or permanent storage.
[0138] The operating system 221 manages and controls the various hardware devices and computer programs 222 on the electronic device 20 to enable the processor 21 to perform calculations and processing on the massive amounts of data 223 in the memory 22. The operating system 221 can be Windows, Unix, Linux, etc. The computer program 222, in addition to including computer programs capable of performing the data transmission methods executed by the electronic device 20 as disclosed in any of the foregoing embodiments, may further include computer programs capable of performing other specific tasks. The data 223 may include data received by the electronic device from external devices, as well as data collected by its own input / output interface 25.
[0139] Furthermore, embodiments of this application also disclose a computer-readable storage medium storing a computer program, which, when loaded and executed by a processor, implements the data transmission method steps disclosed in any of the foregoing embodiments.
[0140] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0141] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0142] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art.
[0143] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0144] The present invention has provided a detailed description of a data transmission method, apparatus, device, and storage medium. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A data transmission method, characterized by, The application is applied to a battery cluster management unit, comprising: in response to a data read request sent by a battery array management unit, and determining a data transmission threshold corresponding to a current state of charge and a current current value of a battery cluster; determining whether the current battery data of each single battery in the battery cluster and the historical battery data transmitted to the battery array management unit last time meet a transmission condition set based on the data transmission threshold; if so, preprocessing the battery data between adjacent single batteries in an initial sequence formed based on each current battery data to obtain a processed sequence; using a preset lossless compression algorithm to compress and encode the processed sequence to obtain compressed data, and transmitting the compressed data to the battery array management unit; wherein the battery cluster management unit is provided with a voltage transmission threshold table, and the voltage transmission threshold table includes a first voltage transmission threshold table and a second voltage transmission threshold table; the first voltage transmission threshold table records the corresponding relationship between different states of charge and different voltage transmission thresholds, and the second voltage transmission threshold table records the corresponding relationship between different current values and different voltage transmission thresholds; correspondingly, the determination of the data transmission threshold corresponding to the current state of charge and the current current value of the battery cluster comprises: finding a corresponding first target voltage transmission threshold from the first voltage transmission threshold table based on the current state of charge of the battery cluster; finding a corresponding second target voltage transmission threshold from the second voltage transmission threshold table based on the current current value of the battery cluster; determining the smaller value of the first target voltage transmission threshold and the second target voltage transmission threshold as the current voltage transmission threshold.
2. The data transmission method of claim 1, wherein, The battery cluster management unit is also provided with a temperature transmission threshold table; correspondingly, the method comprises: obtaining a current temperature transmission threshold from the temperature transmission threshold table.
3. The data transmission method of claim 1, wherein, The current battery data is the current single battery voltage data of each single battery in the battery cluster; correspondingly, the determination of whether the current battery data of each single battery in the battery cluster and the historical battery data transmitted to the battery array management unit last time meet the transmission condition set based on the data transmission threshold comprises: determining a current maximum single battery voltage and a current minimum single battery voltage from the current single battery voltage data of each single battery, and obtaining a historical maximum single battery voltage and a historical minimum single battery voltage transmitted to the battery array management unit last time from a preset historical data storage area; if the difference between the current maximum single battery voltage and the historical maximum single battery voltage is greater than the current voltage transmission threshold, or if the difference between the current minimum single battery voltage and the historical minimum single battery voltage is greater than the current voltage transmission threshold, it is determined that the voltage data transmission condition set based on the current voltage transmission threshold is met; correspondingly, the preprocessing of the battery data between adjacent single batteries in the initial sequence formed based on each current battery data to obtain the processed sequence comprises: preprocessing the single battery voltage data between adjacent single batteries in the initial sequence formed based on each current single battery voltage data to obtain the processed sequence.
4. The data transmission method of claim 2, wherein, The current battery data is current temperature data of each single battery in the battery cluster; Correspondingly, the judging whether the current battery data of each single battery in the battery cluster and the historical battery data transmitted to the battery array management unit last time meets the transmission condition set based on the data transmission threshold value comprises: The current highest temperature and the current lowest temperature are determined from the current temperature data of each single battery, and the historical highest temperature and the historical lowest temperature transmitted to the battery array management unit last time are obtained from the preset historical data storage area; If the difference between the current highest temperature and the historical highest temperature is greater than the current temperature transmission threshold value, or if the difference between the current lowest temperature and the historical lowest temperature is greater than the current temperature transmission threshold value, it is determined that the temperature data transmission condition set based on the current temperature transmission threshold value is met at present; Correspondingly, the preprocessing the battery data between adjacent single batteries in the initial sequence formed based on each current battery data to obtain a processed sequence comprises: The temperature data between adjacent single batteries in the initial sequence formed based on each current temperature data is preprocessed to obtain a processed sequence.
5. The data transmission method of claim 1, wherein, After the judging whether the current battery data of each single battery in the battery cluster and the historical battery data transmitted to the battery array management unit last time meets the transmission condition set based on the data transmission threshold value, the method further comprises: If the transmission condition is not met, the current battery data of each single battery in the battery cluster is prohibited from being transmitted to the battery array management unit, and target information representing that the battery data has not changed is sent to the battery array management unit, so that the battery array management unit still uses the historical battery data transmitted last time to perform a preset management operation.
6. The data transmission method of claim 1, wherein, The compressed data is obtained by using a preset lossless compression algorithm to compress and encode the processed sequence, comprising: The processed sequence is encoded by using a Zigzag encoding algorithm to obtain an encoded sequence; The compressed data is obtained by using a target compression algorithm based on dictionary encoding to compress and encode the encoded sequence; wherein the target compression algorithm is any one of LZSS and LZ77.
7. The data transmission method according to any one of claims 1 to 6, characterized in that, The preprocessing the battery data between adjacent single batteries in the initial sequence formed based on each current battery data to obtain a processed sequence comprises: The initial sequence is constructed from the current battery data collected by the daisy chain mode; For each item in the initial sequence, the original battery data of the item is subjected to difference operation with the battery data of the previous item, and the difference operation result is used to replace the original battery data to obtain a processed sequence.
8. A data transmission apparatus, characterized by comprising: The application is applied to a battery cluster management unit, comprising: A threshold value determination module is configured to respond to a data reading request sent by a battery array management unit and determine a data transmission threshold value corresponding to a current state of charge and a current current value of a battery cluster; A judging module is configured to judge whether current battery data of each single battery in the battery cluster and historical battery data transmitted to the battery array management unit last time meets a transmission condition set based on the data transmission threshold value. The preprocessing module is configured to, if the condition is satisfied, preprocess the cell data between adjacent single cells in an initial sequence formed based on the current cell data to obtain a processed sequence; The transmission module is configured to compress and encode the processed sequence by using a preset lossless compression algorithm to obtain compressed data, and transmit the compressed data to the battery array management unit; The battery cluster management unit is provided with a voltage transmission threshold table, and the voltage transmission threshold table includes a first voltage transmission threshold table and a second voltage transmission threshold table; the first voltage transmission threshold table records the corresponding relationship between different states of charge and different voltage transmission thresholds, and the second voltage transmission threshold table records the corresponding relationship between different current values and different voltage transmission thresholds; Correspondingly, the threshold determination module is specifically configured to find a corresponding first target voltage transmission threshold from the first voltage transmission threshold table based on the current state of charge of the battery cluster, find a corresponding second target voltage transmission threshold from the second voltage transmission threshold table based on the current current value of the battery cluster, and determine the smaller one of the first target voltage transmission threshold and the second target voltage transmission threshold as the current voltage transmission threshold.
9. An electronic device, comprising: Comprise: A memory for saving a computer program; A processor for executing the computer program to implement the steps of the data transmission method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, For storing computer programs; wherein the computer program is executed by the processor to realize the steps of the data transmission method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Early warning method and device for battery energy storage system, electronic equipment and storage medium
CN114839555A
Compression method and storage method of battery data and battery management system
CN115913249A
Battery data transmission and storage method, device and equipment and storage medium
CN116819376A