Battery management system
The battery management system achieves precise synchronization of battery measurement timings through asynchronous communication and frequency adjustment, addressing synchronization challenges and enhancing impedance and temperature measurement accuracy.
Patent Information
- Application Number
- PCT/JP2025/009910
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-08
- Filing Date
- 2025-03-14
- Publication Date
- 2025-10-16
AI Technical Summary
Battery management systems face challenges in accurately synchronizing battery measurement timings across multiple devices due to discontinuous time information correction, which interferes with precise impedance measurement and temperature characterization.
A battery management system with a controller and devices connected in a ring, daisy chain, or star topology performs asynchronous communication, using a high-precision oscillator to generate time information and adjust oscillator frequency for precise synchronization of battery measurement timings.
The system ensures accurate synchronization of battery measurement timings, enabling precise impedance and temperature measurement by minimizing phase errors and synchronization errors across multiple devices.
Smart Images

Figure JP2025009910_16102025_PF_FP_ABST
Abstract
Description
Battery Management System CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is based on Japanese Application No. 2024-62137, filed on April 8, 2024, the contents of which are incorporated herein by reference.
[0002] The present disclosure relates to a battery management system.
[0003] In recent years, battery management systems (BMS) have been required to measure not only battery voltage and charge / discharge current but also impedance in order to monitor battery status and detect abnormalities. In particular, to measure impedance at frequencies from several to several kHz and accurately obtain the temperature characteristics of the battery, it is sometimes necessary to simultaneously measure battery voltage and current flowing through the battery for periods of several tens of milliseconds to several minutes.
[0004] Meanwhile, in the field of network technology, a technique has long been proposed in which a master (equivalent to a controller in the present application) that operates using a highly accurate clock distributes its own time information to a slave (equivalent to a device in the present application), and the slave corrects the difference directly or indirectly using an oscillator frequency to achieve time synchronization. However, these techniques assume that the time information can be transmitted periodically to correct transmission and reception delays, or that a highly accurate synchronization state is maintained in advance. The battery management system proposed in the present application faces the problem of being unable to synchronize accurately in advance, resulting in discontinuous correction of the time information, making this technique difficult to adopt.
[0005] In the technical field of battery management systems, as exemplified by Patent Document 1, it has been proposed to correct the clock of a monitoring IC by directly receiving the clock of a communication IC. However, to achieve accurate synchronization, it is necessary to continuously send the clock for a long period of time, which interferes with the measurement of battery voltage. Furthermore, although frequency correction is possible, it is not possible to achieve high-precision synchronization that allows accurate measurement of battery impedance values.
[0006] JP 2023-062989 A
[0007] An object of the present disclosure is to provide a battery management system that can synchronize battery measurement timings in multiple devices as accurately as possible.
[0008] One aspect of the present disclosure is directed to a battery management system including a controller and a plurality of devices that receive commands from the controller and monitor a battery. The controller and the plurality of devices are connected in a ring, daisy chain, or star topology and perform asynchronous communication. The controller operates according to a first clock from a high-precision oscillator, generates first time information from the first clock as a reference for each device, and transmits data including the first time information to the devices as a synchronous command that can be used in conjunction with other commands.
[0009] The device includes an oscillator that generates a second clock with a controllable frequency, generates second time information from the second clock generated by the oscillator, and generates battery measurement timing from the second time information. When the device receives a synchronization command from the controller, it compares the received first time information with the second time information and controls the frequency of the oscillator so that the time difference between the two is a constant value based on the difference between the two. As a result, the battery measurement timing of multiple devices can be synchronized as accurately as possible.
[0010] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. 1 is a block diagram of a battery management system according to an embodiment, FIG. 2 is an explanatory diagram of a transmission mode of a synchronization command, FIG. 3 is an electrical diagram of the battery management system, FIG. 4 is an explanatory diagram showing the relationship between the phase error of the excitation current and the measured voltage, FIG. 5 is an explanatory diagram of the contents of the synchronization command, FIG. 6 is an explanatory diagram of the reception timing of the synchronization command, FIG. 7 is a flowchart that generally explains the flow of operation of the system, FIG. 8 is a flowchart that generally explains the processing contents of time synchronization on the controller side, FIG. 9 is a flowchart 1 that generally explains the processing contents of time synchronization on the device side, FIG. 10 is an explanatory diagram of the true time difference and the detectable time difference, FIG. 11 is a time chart showing the changes over time of the first clock and first time information on the controller side and the second clock and second time information on the device side, FIG. 12 is an explanatory diagram that schematically shows the changes over time of the measurement timing of each device, and FIG. 13 is a flowchart that generally explains the processing operations of the communication pass-through function. 14 is a circuit diagram schematically illustrating a hardware configuration related to a communication pass-through function, FIG. 15 is an explanatory diagram of a propagation delay time of a command for each device, FIG. 16 is a first explanatory diagram of the influence of the propagation delay of a pulse signal, FIG. 17 is a second explanatory diagram of the influence of the propagation delay of a pulse signal, FIG. 18 is an explanatory diagram of the operation when a pulse signal is made longer than a predetermined width in advance, FIG. 19 is a first explanatory diagram of the total delay time of the propagation delay, FIG. 20 is a second explanatory diagram of the total delay time of the propagation delay, FIG. 21 is a second flowchart roughly illustrating the processing contents of time synchronization on the device side, FIG. 22 is a time chart schematically illustrating the time difference on the device side and changes in the frequency of the second clock, FIG. 23 is a time chart schematically illustrating the time difference and changes in the frequency of the second clock when a free-running period is provided between feedback control periods, FIG. 24 is a time chart schematically illustrating the time difference and changes in the frequency of the second clock when a free-running period is provided between feedback control periods, and FIG.FIG. 26 is a time chart outlining the operation of the timeout process, FIG. 27 is a diagram showing the electrical configuration for adjusting the frequency in the calibration process.
[0011] An embodiment of a battery management system will be described below with reference to the drawings. As shown in FIGS. 1 and 2 , the battery management system 1 includes a controller 52 and N+1 devices 10...1N (where N is an integer equal to or greater than 1). As shown in FIGS. 2 and 3 , the devices 11...1N in each stage monitor the status of the batteries S1...SM of the battery packs CS1...CSN in the respective stages. The batteries S1...SM are, for example, secondary batteries. In this embodiment, the battery packs CS1...CSN monitored by the devices 11...1N in each stage each incorporate batteries S1...SM. The number of batteries S1...SM incorporated in each battery pack CS1...CSN is a predetermined number, but the number of batteries S1...SM in each stage may be the same or different.
[0012] In this embodiment, when measuring battery impedance, synchronization is performed between the devices 10...1N to synchronize the voltage of the battery S1...SM monitored by each device 11...1N with the AD conversion timing of the excitation current Iexc by the device 10. Figure 3 illustrates hardware functions in a format corresponding to Figures 1 and 2. Note that Figure 2 omits the configuration of the device 10 corresponding to the voltage measurement unit 110 for the excitation current Iexc. The controller 52 is configured with a microcomputer or the like equipped with a memory, and functions as a control unit 52a, a calculation unit 52b, and a communication unit 52c. Each device 10, 11...1N is configured with an IC having, for example, an A / D converter, a digital filter, and a communication circuit, and each device 10, 11...1N is configured with a voltage measurement unit 110, 111...11N.
[0013] When the control unit 52a sends a command for voltage measurement or impedance measurement to the voltage measurement units 111...11N of each device 11...1N, the voltage measurement units 111...11N each have an A / D converter (not shown), and A / D converts and measures the terminal voltage of the corresponding battery S1...SM through an analog filter AF at a predetermined A / D conversion timing.
[0014] A current excitation unit 60 and a current detection resistor Rs are connected in series to each battery pack CS1...CSN, and an excitation current Iexc can be caused to flow through the current excitation unit 60 under the control of the control unit 52a. Although not shown in FIGS. 1 and 2, a voltage measurement unit 110 is also provided as shown in FIG. 3. The voltage measurement unit 110 also includes an A / D converter (not shown), which converts the voltage across the current detection resistor Rs via an analog filter AF at a predetermined A / D conversion timing as detection information of the excitation current Iexc. The A / D conversion timing determines the timing for measuring the voltage and current of the batteries S1...SN, and these timings are generated based on second time information (see below) measured independently by each device 11...1N.
[0015] When the voltage measurement units 110...11N measure the inter-terminal voltages and excitation currents Iexc of the batteries S1...SM, they transmit information about the voltages and excitation currents Iexc to the controller 52. The communication unit 52c receives information about the voltages and excitation currents Iexc of the batteries S1...SM that make up each battery pack CS1...CSN. The calculation unit 52b of the controller 52 measures and calculates the impedances of the batteries S1...SM based on the measured voltages and excitation currents Iexc of the batteries S1...SM.
[0016] When measuring the impedance of batteries S1...SM, even if the frequencies of the voltage V and current I of batteries S1...SM match, the phase difference between voltage V and current I appears as a phase error in impedance Z. If the synchronization time error between voltage V and current I is Tsync_err, then the phase error of impedance Z for a frequency fmeas is Tsync_err x fmeas x 360°. Since the temperature characteristics of batteries S1...SM are estimated using the phase component of the impedance, it is desirable to have a fairly high degree of phase accuracy.
[0017] If the voltages and currents of the batteries S1...SM have a synchronization error with each other, as shown in Figure 4, the measurement data will appear to show a phase difference between the voltages VBN-01, VB1-02, and VBN-1 of each battery S1...SM and the voltage Vexc corresponding to the excitation current Iexc. However, it is not possible to determine from the measurement data whether there is an actual phase difference or a synchronization error. For this reason, it is desirable to synchronize the time information on the side of each voltage measurement unit 110...11N in the configuration of the battery management system 1.
[0018] Returning to FIG. 1 for reference, the description of the configuration will be continued. The controller 52 receives a clock signal from the high-precision oscillator 51, generates commands to instruct each of the devices 10...1N based on the clock signal, and transmits the commands to the devices 10...1N via the isolation elements 53 and 6T. The high-precision oscillator 51 is, for example, a crystal oscillator. Upon receiving a measurement command, the device 10 measures the excitation current Iexc, and upon receiving a measurement command from the controller 52, the devices 11...1N monitor the batteries S1...SM. The controller 52 transmits a synchronization command to synchronize the AD conversion timing during these measurements. This synchronization command may also function as another broadcast command. The controller 52 and the devices 10...1N perform asynchronous communication while connected in a daisy-chain configuration.
[0019] Each of the devices 10...1N includes blocks serving as a communication control unit 21, a receiving unit 22, a transmitting unit 23, a pass-through control unit 24, a reference time register 25, a time difference detection unit 26, a frequency control unit 27, a filter 28, an oscillator 29, a time information generation unit 30, and a calibration unit 31. The receiving unit 22 receives a command from the controller 52 through an insulating element 6T. The receiving unit 22 and the transmitting unit 23 are connected to each other.
[0020] The devices 10...1N each have a pass-through function that passes a received synchronization command to the next device 10...1N in order to minimize delays within the device 10...1N. The devices 10...1N can switch between enabling and disabling the pass-through function. After enabling the pass-through function, the devices 10...1N can receive a synchronization command from the controller 52 and execute the synchronization command.
[0021] Specifically, when the communication control unit 21 receives a synchronization command from the receiving unit 22, it instructs the pass-through control unit 24, and the pass-through control unit 24 determines whether to perform communication pass-through, and if so, controls the communication path from the receiving unit 22 to the transmitting unit 23 to set up the communication pass-through.
[0022] The devices 10...1N then transmit the synchronization command sequentially to the next devices 11...1N through the isolation elements 6R and 6T, and finally return the command to the controller 52 through the isolation element 54. Here, a form of communication in a state where the devices are connected in a daisy chain connection is shown as an example, but the present invention is not limited to this, and the devices may be connected in a ring connection or a star connection, for example.
[0023] The isolation elements 53, 54, 6R, and 6T are each configured by connecting capacitors in series (not shown). This provides DC isolation between the communication lines of the devices 10...1N. While the isolation units are configured using capacitors as an example here, DC isolation may also be achieved using other isolation units such as pulse transformers. The isolation elements 53, 54, 6R, and 6T connected to the controller 52 and each device 10...1N are connected in sequence from the controller 52 to all of the devices 10...1N as shown in FIG. 2, allowing synchronization commands to be transmitted in sequence from the controller 52 to each device 10...1N.
[0024] As shown in Fig. 1, when the controller 52 transmits a synchronization command to each of the devices 10...1N, it transmits the command in a predetermined format as shown in Fig. 5. The synchronization command includes synchronization command identification information, time information of the controller 52 (hereinafter referred to as first time information), a time update interval Ts, and an error detection code such as a CRC (Cyclic Redundancy Check). The synchronization command identification information indicates information for distinguishing the synchronization command from other commands.
[0025] The first time information is time information on the controller 52 side that is generated from the first clock and transmitted from the controller 52 to the devices 10...1N, and indicates a time equivalent to a counter value obtained by counting up or down the rising or falling timing of the first clock. This counter value is obtained up to a certain threshold value. The transmission interval of the synchronization command is determined arbitrarily by the controller 52. The controller 52 sets the interval for the next synchronization command to be transmitted in the setting area for the time update interval Ts and transmits the synchronization command. Therefore, the time update interval Ts shown in FIG. 5 indicates the timing for transmitting the next synchronization command.
[0026] Although the embodiment illustrates an example in which the transmission interval of the synchronization command is arbitrarily determined by the controller 52, the present invention is not limited to this. For example, the transmission interval of the synchronization command may be set in advance in a memory or register provided inside each device 10...1N. Furthermore, the target information for acquiring synchronization may be the first time information as shown in this embodiment, but it may also be a signal itself indicating the timing of measurement of the voltage of each battery S1...SM, i.e., the timing of AD conversion.
[0027] When each of the devices 10...1N receives a synchronization command, it obtains the digital value of the first time information from the synchronization command and stores it in the reference time register 25 shown in Fig. 1. The time difference detection unit 26 can then refer to the first time information stored in the reference time register 25. Meanwhile, the time information generation unit 30 generates second time information independently for each of the devices 10...1N. Each of the devices 10...1N generates the second clock using a variable frequency oscillator that uses a crystal oscillator, a Ceralock oscillator, a MEMS oscillator, or an LC oscillator as the operating oscillator 29.
[0028] The time information generating unit 30 generates second time information based on the second clock of the oscillator 29 and inputs it to the time difference detecting unit 26. The second time information is time information on the device 11...1M side generated from the second clock by the time information generating unit 30, and indicates time equivalent to a counter value obtained by counting up or down the rising or falling timing of the second clock. This counter value is obtained up to a certain threshold value. The time information generating unit 30 outputs the generated second time information to the time difference detecting unit 26.
[0029] The time difference detection unit 26 detects the difference between the first time information and the second time information, and if it determines that the time information needs to be adjusted, it notifies the frequency control unit 27 of the time difference ΔT N The frequency control unit 27 outputs the time difference ΔT N and the time update interval Ts, the frequency fluctuation amount of the oscillator 29 for its own operation is determined, and the time difference ΔT N The second clock frequency Fdev of the oscillator 29 for its own operation is controlled so as to eliminate the time update interval Ts. The time update interval Ts here refers to the time update interval Ts set in the synchronization command.
[0030] The time difference detection unit 26 detects the time difference ΔT NThe frequency control unit 27 is instructed to eliminate the second clock, and the frequency control unit 27 controls the frequency and outputs it to the oscillator 29 via the filter 28, which is a loop filter, so that the oscillator 29 adjusts the phase of the second clock based on the instructed frequency input, thereby locking the frequency. This phase-adjusted second clock is input to the time information generation unit 30. Each of the devices 10...1N measures the current flowing through the batteries S1...SM and the voltage of each of the batteries S1...SM based on the second clock. By correcting the second clock in this way, the second time information can be synchronized between the devices 10...1N.
[0031] 6 illustrates the relationship between the transmission interval of the synchronization command and the frequency of the oscillator 29 on the device 11...1N side. When the device 10...1N receives the synchronization command, it calculates the transmission interval of the synchronization command and the time difference ΔT at the timing of receiving the synchronization command. N 6, the frequency change amounts ΔF1, ΔF2, ΔF3, and ΔF4 at this timing are set according to the synchronization command reception interval Ts. As shown in FIG. 6, the frequency change amounts ΔF1, ΔF2, ΔF3, and ΔF4 are also changed according to whether the synchronization command arrives earlier or later than the transmission interval Ts. Therefore, the devices 11...1N can determine the reception interval of the synchronization command and the time difference ΔT N The controller 52 changes the amount of change in the second time information or the amount of frequency fluctuation of the oscillator 29 depending on the synchronization command update interval. The controller 52 may adjust the amount of change in the second time information by including the update interval of the synchronization command in the synchronization command and transmitting it to the devices 10...1N. The controller 52 may also include information for adjusting the amount of change in the second time information on the device 10...1N side in the synchronization command and transmit it to the devices 10...1N. This allows the second time information on the device 10...1N side and the frequency Fdev of the oscillator 29 to be matched as closely as possible to the first time information and the frequency of the first clock of the controller 52.
[0032] The system main body performs calibration processing at startup, before measuring impedance, or when a certain time period has elapsed since the previous transmission of a synchronization command. For this purpose, each device 10...1N includes a calibration unit 31, as shown in FIG. 1. The calibration unit 31 is configured to receive a command from the communication control unit 21 and calibrate the frequency control unit 27. The calibration unit 31 controls the frequency by commanding the frequency control unit 27 to keep the frequency Fdev of the second clock of the oscillator 29 of its own device 10...1N within a specific range. The calibration method is performed by adjusting the frequency Fdev of the second clock of the oscillator 29 or changing the second time information, but details of this method will be described later.
[0033] The processing operation of the above configuration will be described. As described above, the controller 52 and the devices 10...1N operate on different first and second clocks, respectively, which causes a difference between the first time information and the second time information. In this embodiment, the first time information and the second time information are synchronized, thereby enabling the timing of impedance measurement to be synchronized.
[0034] <Overall Operation Related to Impedance Measurement> The battery management system 1 measures the voltage of one or more of the batteries S1 to SM and the current flowing through the battery packs CS1 to CSN, and measures the impedance based on this information. As shown in Figure 7, when performing impedance measurement, the battery management system 1 first determines in S111 whether calibration should be performed, and if calibration should be performed, performs coarse adjustment by calibration using the calibration unit 31 in S112.
[0035] The battery management system 1 then performs detailed time synchronization in S113, and while performing impedance measurement, performs time synchronization if the time synchronization interval deviates from a predetermined specified value. These processes of S111 to S116 are repeated until the impedance measurement is completed.
[0036] <Regarding Time Synchronization> When the controller 52 and the devices 10...1N perform time synchronization, they execute the processes shown in FIGS. 8 and 9. In S121 of FIG. 8, the controller 52 determines whether to implement the communication pass-through function. If the communication pass-through function is to be implemented, in S122, the controller 52 transmits a communication pass-through command to the devices 10...1N, thereby setting the communication pass-through function to be enabled. The enabling of the communication pass-through function will be described later. Thereafter, in S123, the controller 52 generates a synchronization command, embeds the generated first time information, and transmits it to the devices 10...1N. Each device 10...1N sequentially transmits the synchronization command to the next device 11...1N (see S222 of FIG. 9). The last device 1N returns the synchronization command to the controller 52. In other words, the synchronization command circulates through the devices 10...1N and returns to the controller 52.
[0037] The controller 52 determines whether a communication abnormality has occurred by determining whether a synchronization command has been returned in S124. If there is no communication abnormality in S124, the subroutine is exited. However, if there is a communication abnormality in S124, the controller 52 waits in S125 and then determines whether communication is possible in S126. If the controller 52 confirms that communication is possible in S126, the controller 52 returns to the process in S123 and sends the synchronization command again. If it determines that communication is impossible in S126, the controller 52 performs timeout processing in S127 and terminates abnormally. In this case, the controller 52 stops processing as communication is impossible.
[0038] 9, when the devices 11...1N receive a synchronization command from the controller 52, they transmit the synchronization command to the subsequent stage. Then, in S223, the time difference detection units 26 of the devices 11...1N calculate the time difference ΔT between the first time information of the controller 52 and their own second time information. N The time difference detection unit 26 detects the time difference ΔT N exceeds the difference threshold value ΔTth, the frequency control unit 27 is instructed to increase the frequency Fdev of the second clock in S225, and the frequency control unit 27 increases the frequency Fdev of the second clock of the oscillator 29.
[0039] The time difference detection unit 26 calculates the time difference ΔT N If it is determined that the time difference ΔT is less than the difference threshold value ΔTth, the frequency control unit 27 is instructed to reduce the frequency Fdev of the second clock of the oscillator 29 in S227, and the frequency control unit 27 reduces the frequency Fdev of the second clock of the oscillator 29. N If the value of the COUNT_TIME_TIME is equal to zero, the determination in S224 is NO and the determination in S226 is NO, so the process will exit the processing routine. These processes are performed for all devices 10 to 1N.
[0040] 10 explains the cause of the discrepancy between the first time information of the controller 52 and the second time information of the devices 10...1N. Here, an example is shown in which the controller 52 derives the first time information by counting the first clock from zero to an upper limit n, and the devices 10...1N derive the second time information by counting the second clock from zero to an upper limit m.
[0041] The time difference between the controller 52 that can be detected when the device 10...1N receives a synchronization command can be divided into the following causes: (1) the true time difference of the internal clock, (2) the time difference in the processing time when the synchronization command is generated / interpreted, (3) the time difference due to the transmission / reception delay of the communication path, and (4) the time difference due to the delay of up to one cycle until the rise / fall of the clock of each of the controller 52 and the device 10...1N, and the time difference will be the sum of these four factors.
[0042] The causes of (2) and (3) are correctable because they are fixed times. The cause of (4) is an error that cannot be corrected because the device operates in units of clocks. The cause of (3) changes depending on the distance between the controller 52 and the device 10...1N and the number of devices 10...1N that pass through between them, but it remains almost constant during operation. In this embodiment, the detectable time difference caused by (1) to (3) is determined.
[0043] For example, let Tc0 be the first time information of the controller 52 when the controller 52 transmits the synchronization command, and let Td0 be the second time information of the devices 11...1N when the devices 10...1N receive the synchronization command. Then, let Tad0 be the second time information of the devices 10...1N when they subsequently perform the most recent voltage measurement. Then, it is advisable to control the frequency of the oscillator 29 on the device 10...1N side so that Tad0 - Td0 falls within a certain range. The time difference ΔT between the controller 52 and the devices 10...1N N The frequency Fdev of the second clock of the oscillator 29 of the devices 10...1N is controlled so that the time difference ΔTx after X cycles is ΔT0=(Tc0-Td0)-(Tad0-Td0). This makes it possible to synchronize the first time information of the controller 52 with the second time information of each of the devices 10...1N using a synchronization command, and each of the devices 10...1N can generate an AD conversion timing signal based on its own second time information.
[0044] Fig. 11 shows a schematic diagram of frequency control. The controller 52 generates first time information using a first clock. In the example shown in Fig. 11, the controller 52 changes the first time information by repeatedly counting from zero to an upper limit m each time the first clock is generated. Similarly, on the device 10...1N side, the controller 52 changes the second time information by counting from zero to an upper limit m each time the second clock is generated.
[0045] At this time, these count values differ by a time difference ΔTn1 at a certain timing ta. Because the frequency Fref of the first clock of the controller 52 differs from the frequency Fdev of the second clock of the devices 10...1N, the devices 10...1N change their frequencies for a specific period after receiving the synchronization command. This allows the time difference ΔTnj (<ΔTn1) of the count values to be suppressed. Thereafter, the time difference ΔTnk after the frequency Fdev is returned to be equal to the frequency Fref can also be made smaller than the time difference ΔTn1 before synchronization.
[0046] FIG. 12 shows an example of the change before and after synchronization. The second time information of the devices 10...1N is synchronized with the first time information of the controller 52, and in particular, the second time information between the devices 10...1N can be synchronized as much as possible between the devices 10...1N. There is also a slight time difference ΔT between the first time information of the controller 52 and the second time information of the devices 10...1N. N and the time difference ΔT between the controller 52 and each device 10...1N. N However, by aligning the measurement timings of the second time information of each of the devices 10...1N, the measurement timings of the battery voltages of each of the devices 10...1N can be aligned, so this does not cause a problem.
[0047] The above is a basic explanation, but below, a more desirable synchronization method will be explained element by element. <Regarding the Communication Pass-Through Function> The communication pass-through function will be explained with reference to FIGS. 8 and 13. As described above, when the controller 52 enables the communication pass-through function, it transmits a communication pass-through command to the devices 10...1N in S122 of FIG. 8. On the device 10...1N side, upon receiving the communication pass-through command, it transmits the communication pass-through command to the subsequent device 10...1N or the controller 52 in S212 of FIG. 13. Then, the pass-through control unit 24 of each device 10...1N switches the circuit so that data is passed through from the receiving unit 22 to the transmitting unit 23.
[0048] On the device 10...1N side, after waiting in S214 of FIG. 13 , it determines in S215 whether data is received before a predetermined time has elapsed, and if data continues to be received, it determines in S216 whether the data is a pass-through end command. If the received data is not a pass-through end command, the device 10...1N waits again in S214. If the device 10...1N continues to receive data before the predetermined time has elapsed and receives a pass-through end command in S216, it disables the communication pass-through function in S217, returning to the normal state and terminating. That is, if the device 10...1N receives a pass-through end command in S216 or does not receive data before the predetermined time has elapsed in S215, it disables the communication pass-through function in S217, returning to the normal state and terminating.
[0049] FIG. 14 shows an example of a hardware configuration related to the communication pass-through function. As shown in FIG. 14, the receiving unit 22 is configured with a switch SWR. The transmitting unit 23 is configured with switches SWT1 and SWT2, each of which can be turned on and off by the pass-through control unit 24. When a communication pass-through command is input, the pass-through control unit 24 turns on switches SWR and SWT1, thereby directly connecting the communication path of the receiving unit 22 to the communication path of the transmitting unit 23. This enables the communication pass-through function. Conversely, if the pass-through control unit 24 does not receive a communication pass-through command, it turns off switches SWR and SWT1 and turns on switch SWT2, thereby cutting off the direct connection between the receiving unit 22 and the transmitting unit 23, disabling the communication pass-through function, and allowing only command transmission and reception processing via the communication control unit 21 to be performed. This allows the communication pass-through function to be enabled or disabled.
[0050] 15 shows an explanation of the delay time Δtd_path in each device 10...1N, and FIG. 16 shows a schematic diagram of the delay state of the pulse signal in each device 10...1N. This pulse signal is a signal that constitutes a synchronization command. As shown in FIGS. 15 and 16, it can be seen that the longer the command propagation distance from the controller 52 to the device 10...1N, the longer the cumulative time of the delay time Δtd_path.
[0051] In particular, when the communication control unit 21 of each device 10...1N executes command transmission / reception processing and repeatedly transmits and receives synchronization commands, the delay time Δtd_path increases by the processing time required for each device 10...1N to interpret and generate the command. Therefore, it is desirable for the controller 52 to minimize internal delays by sending a communication pass-through command to each device 10...1N in advance and enabling the communication pass-through function of each device 10...1N. This minimizes the delay time Δtd_path.
[0052] When this pass-through function is enabled, there is a risk that each device 10...1N may shorten the pulse width of the pulse signal that constitutes the synchronization command when passing the synchronization command to the next device 10...1N. This is because, as shown in Fig. 17, a propagation delay occurs in the communication path and the pulse signal waveform is rounded due to stray capacitance that occurs in the communication path.
[0053] For this reason, although not shown in Fig. 14, it is desirable to shape the pulse signal into a rectangular wave by configuring a buffer (not shown) in the receiving unit 22 or the transmitting unit 23 to shape the waveform. Fig. 17 shows an example of a pulse signal shaped into a rectangular wave.
[0054] For example, as shown in Fig. 17, whether the pulse width is high or low, there is a difference in propagation delay between the rising and falling edges of the pulse signal, so the pulse width tends to become shorter as the synchronization command is transmitted to subsequent stages. In the example shown in Fig. 17, whether the pulse is high or low, when it is transmitted to subsequent devices 10...1N, the pulse width of the pulse signal becomes gradually shorter, with tpw0>tpw1>tpw2.
[0055] For this reason, it is desirable that the controller 52 make the pulse signal constituting the synchronization command a pulse signal longer than a predetermined width so that it reaches all of the devices 10...1N, as shown in Fig. 18. By the controller 52 lengthening the pulse width of the pulse signal to be output to the next device 10...1N in advance, it is possible to prevent the pulse signal from disappearing even if the pulse signal received / transmitted by each device 10...1N gradually becomes shorter as it is transmitted to the subsequent stage due to the characteristics of the device 10...1N.
[0056] Furthermore, when each of the devices 10...1N uses a communication pass-through function, the delay time Δtd_path that a command takes to pass through each of the devices 10...1N may be measured in advance, and the measured delay time Δtd_path may be taken into account when adjusting the second time information. Also, even in a normal communication state in which the communication pass-through function is not used, the delay time Δtd_path that the communication control unit 21 takes to decode a synchronization command may be measured in advance, and the delay time Δtd_path may be taken into account when adjusting the second time information.
[0057] For example, the controller 52 may store first time information at the time when it transmits a command to the next device 10, 11, etc., and when the command passes through each device 10...1N and returns to the controller 52, the difference between the stored first time information and the time information at the time of return may be measured in advance, such as during manufacturing inspection, or at timings such as when the system main body is started or when a normal command is transmitted, and the difference may be stored in the memory of the controller 52 as the total delay time Δtd_all. The controller 52 includes a nonvolatile memory and a volatile memory as memory. The controller 52 stores the total delay time Δtd_all in the nonvolatile memory during manufacturing inspection. Furthermore, at other timings such as when the system main body is started or when a normal command is transmitted, the controller 52 stores the total delay time Δtd_all in the volatile memory. When using the total delay time Δtd_all, the controller 52 may use the total delay time Δtd_all stored in the memory to correct internal delays in the communication path and each device 11...1N.
[0058] N+1 devices 10 to 1N are connected to the controller 52, and as shown in Figure 19, the internal delay of each of the devices 10 to 1N is designated as Δtd_path. The total delay time Δtd_all of all paths roughly corresponds to the sum of the internal delays of the N+1 devices 10 to 1N and the delay times of the N+2 communication paths, as shown in Figure 20. For example, by measuring these delay times Δtd_all, it becomes possible to correct the internal delays of the communication paths and each device 10...1N, regardless of whether the communication pass-through function is set or not.
[0059] <Detailed Specific Example of Frequency Feedback Control> A more detailed specific example will be described below. Fig. 21 shows a detailed example of time synchronization that replaces Fig. 9. When the controller 52 generates a synchronization command and transmits the synchronization command together with the first time information to the devices 10...1N as shown in S123 of Fig. 8 and the description thereof, the devices 10...1N receive the synchronization command as shown in S321 of Fig. 21.
[0060] When each of the devices 10 to 1N receives the synchronization command, it sequentially transmits the synchronization command to the subsequent stage. Then, in S323, the time difference detection unit 26 of each of the devices 10 to 1N calculates the time difference ΔT between the first time information of the controller 52 and its own second time information. N Detect.
[0061] <Time difference ΔT N exceeds the difference threshold value ΔTth> In S324, the time difference detection unit 26 N If it is determined that the previous time difference ΔT exceeds the difference threshold value ΔTth, the process proceeds to S325a to S325d. N and the current time difference ΔT N If the time difference detection unit 26 determines that the calculated value is less than zero, it calculates the difference in absolute value of the previous time difference ΔT N The current time difference ΔT NIn this case, the time difference detection unit 26 sets the frequency in S325b so that it is higher than the target frequency value but lower than the previous frequency setting value. At this time, the frequency control unit 27 increases the frequency Fdev of the second clock output by the oscillator 29.
[0062] Conversely, if the time difference detection unit 26 determines in S325a that the calculated value exceeds zero, the previous time difference ΔT N The current time difference ΔT N The time difference detection unit 26 determines that the frequency Fdev of the second clock output from the oscillator 29 is further increased. Then, the time difference detection unit 26 determines NO in S325a and YES in S325c, and instructs the frequency control unit 27 to increase the frequency further than the previous frequency setting value in S325d. At this time, the frequency control unit 27 increases the frequency Fdev of the second clock output from the oscillator 29 further than the previous frequency setting value.
[0063] In other words, on the device 11...1N side, the time difference ΔT between the previous time and the current time N Considering the change in time difference ΔT N is larger than the target value, the frequency setting value is increased above the target value, but the control is performed by selecting whether to make the frequency setting value smaller than the previous frequency setting value but larger than the target value, or to make it even larger than the previous frequency setting value. N and the current time difference ΔT N If the difference in absolute value between the two is equal to zero, the determination in S325a is NO and the determination in S325c is NO, so the process routine is terminated.
[0064] <Time difference ΔT N is less than the difference threshold value ΔTth> On the other hand, when the time difference detection unit 26 detects the time difference ΔT N If it is determined that the previous time difference ΔT is less than the difference threshold value ΔTth, the process proceeds to steps S327a to S327d. N and the current time difference ΔT NIf the time difference detection unit 26 determines that the calculated value is less than zero, it calculates the difference in absolute value of the previous time difference ΔT N The current time difference ΔT N In this case, the time difference detection unit 26 sets the frequency in S327b so that it is smaller than the target frequency value but larger than the previous frequency setting value. At this time, the frequency control unit 27 reduces the frequency Fdev of the second clock output by the oscillator 29.
[0065] Conversely, if the time difference detection unit 26 determines in S327a that the calculated value exceeds zero, the previous time difference ΔT N The current time difference ΔT N has become wider. Then, the time difference detection unit 26 determines NO in S327a and YES in S327c, and instructs the frequency control unit 27 in S327d to make the frequency even smaller than the previous frequency setting value. At this time, the frequency control unit 27 makes the frequency Fdev of the second clock output by the oscillator 29 even smaller than the previous frequency setting value.
[0066] In other words, on the device 10...1N side, the time difference ΔT between the previous time and the current time N Considering the change in time difference ΔT N is smaller than the target value, the frequency setting value is made smaller than the target value, but the control is performed by selecting whether to make the frequency setting value larger than the previous frequency setting value but smaller than the target value, or to make it even smaller than the previous frequency setting value. N matches the difference threshold value ΔTth, or the previous time difference ΔT N and the current time difference ΔT N If the difference in absolute value between the values is equal to zero, the devices 11...1N will make a NO determination in S327a and a NO determination in S327c, and will exit the processing routine.
[0067] The time difference ΔT N22 illustrates the relationship between the change in frequency Fdev of the oscillator 29 on the device 10...1N side and the time difference ΔTN. As shown in Fig. 22, the time difference ΔTN is adjusted each time the device 10...1N receives a synchronization command. As described above, the synchronization command has time update intervals Ts1, Ts2, and Ts3 set as the synchronization interval, and the device 10...1N can determine the timing for inputting the next synchronization command by interpreting the time update interval Ts each time it receives a synchronization command.
[0068] Furthermore, each time a synchronization command is input, the devices 10...1N calculate the time difference ΔT between the first time information and the second time information. N (ΔT1, ΔT2, ΔT3, ΔT4) are calculated. N When Fdev changes, the frequency Fdev of the oscillator 29 of each of the devices 10...1N also changes. Fig. 22 shows the amount of change ΔF in frequency (ΔF1, ΔF2, ΔF3, ΔF4).
[0069] For example, the time difference ΔT N Consider a case where the frequency changes from ΔT1 to ΔT2. At timing t1, the time difference detection unit 26 determines that the time difference ΔT1 exceeds zero. In the example of Fig. 22, the difference threshold value ΔTth is set to zero. The frequency change amount ΔF1 is set to be larger the farther the time difference ΔT1 is from the target value of zero.
[0070] At timing t2, the current time difference ΔT2 is smaller than the previous time difference ΔT1, so the time difference detection unit 26 determines that the time difference ΔT N has decreased, and the frequency change amount ΔF2 is adjusted so that the frequency is set to a value higher than the target value fref of the frequency Fdev but lower than the previous frequency Fdev.
[0071] At timing t3, similar to timing t2, the current time difference ΔT3 is smaller than the previous time difference ΔT2, so the time difference detection unit 26 detects the time difference ΔT N has decreased, and the frequency change amount ΔF3 is adjusted so that the frequency is set to a value higher than the target value fref of the frequency Fdev but lower than the previous frequency Fdev.
[0072] At timing t4, the time difference detection unit 26 determines that the time difference ΔT4 is less than zero. Furthermore, the current time difference ΔT4 is smaller than the previous time difference ΔT3. The time difference detection unit 26 sets the frequency to be smaller than the target frequency value fref and adjusts the change amount ΔF4 of the frequency Fdev so that the frequency is set to be smaller than the previous frequency Fdev.
[0073] In this way, the devices 10...1N can calculate the time difference ΔT N becomes zero and feedback control can be performed so that the frequency Fdev becomes the target value fref. Furthermore, even if the first clock frequency of the controller 52 and the frequency Fdev of the second clock of the oscillator 29 of the device 10...1N differ due to some influence, by repeating the process shown in Fig. 21, the frequency Fdev of the second clock can be matched as closely as possible to the target value fref of the first clock frequency.
[0074] <When a free-running period is provided between feedback control periods> Next, an example in which a free-running period is provided between feedback control periods will be described with reference to Figures 23 and 24. When the device 10...1N receives a synchronization command at timing t11 in Figure 23, it reads the first time information of the controller 52 from the synchronization command and calculates the time difference ΔT from the previous first time information. N The frequency of the first clock of the controller 52 can be calculated based on the above.
[0075] The devices 10...1N control the frequency Fdev of the second clock of the oscillator 29 of the devices 10...1N based on the calculated frequency of the first clock. N is within a certain range ΔT ideal It should be noted that during this feedback control period, the devices 10...1N do not necessarily control the frequency Fdev of the second clock of the oscillator 29 to a frequency close to the target value fref.
[0076] Then, the free-running period begins at timing t12 after the lapse of the period Ts. During the free-running period, the devices 10...1N perform free-running without feedback control. The devices 10...1N adjust the frequency Fdev of the second clock of the oscillator 29 so that it approaches the frequency of the first clock of the controller 52 calculated when the synchronization command was received, but perform free-running control without feedback control.
[0077] The device 10...1N detects the time difference ΔT N and the current time difference TN, after a certain period of time, the time difference ΔT N It is advisable to adjust the frequency Fdev so that the time difference ΔT becomes zero, and then adjust the frequency so that it returns to the target value fref after a certain period of time. N can be aligned.
[0078] 23 illustrates an example in which a slight error remains in the frequency Fdev of the second clock of the oscillator 29 of each of the devices 10...1N after the lapse of the period Ts. Here, the period Ts is set to a time update interval Ts0 that is set based on the time update interval Ts of the synchronization command received from the controller 52. Note that the period Ts may also be set to a specific period (e.g., Ts1) that is set in advance.
[0079] When the time difference when the devices 10...1N receive the synchronization command is ΔT1 and a proportional constant is Fx, the time difference ΔT N When controlling to make the frequency Fdev of the second clock equal to zero, the difference ΔF1a between the previous frequency Fdev and the frequency Fdev of the second clock is calculated using the following equation (1): ΔF1a=ΔT N / Ts・Fx…(1)
[0080] The devices 10...1N control the oscillator 29 at timing t11 to change the frequency Fdev of the oscillator 29 by a large amount ΔF1a in equation (1), and continue feedback control for a period Ts. For example, a preset fixed value or an initial value is used as the target value fref, and the time difference ΔT1 is corrected and calculated when a synchronization command is received.
[0081] After that, when a predetermined period Ts has elapsed, the devices 10...1N reduce the frequency Fdev of the second clock of the oscillator 29 by an amount of change ΔF1b so that the time difference ΔT1 does not increase any further. The time difference ΔT1 corresponds to the integrated value of the frequency error up to the time when the synchronization command was received immediately before. This time difference ΔT1 is mainly determined by the time T freerun If it is assumed that this is the integrated value during the free-running period, it can be calculated using the following formula (2): ΔT1 = ΔF0b × T freerun …(2)
[0082] The devices 10...1N set the next change amount ΔF1b according to the following equation (3): ΔF1b=ΔT1 / T freerun ...(3) Then, as shown at timings t12 to t13, the frequency of the first clock of the controller 52 can be brought closer to the reference value fref. Similarly, during the subsequent feedback control period t13 to t14 and the free-run period t14 to t15, the amounts of change ΔF2a and ΔF2b in the frequency Fdev of the second clock of the devices 11...1N can be calculated and controlled in the same way.
[0083] <Case 2> In FIG. 24, during a free-running period t22 to t23 following a feedback control period t21 to t22, a time difference ΔT occurs due to the influence of temperature drift of the oscillator 29 on the device 10...1N side. N In such a case, the same effect can be achieved by controlling in the same way as the method described above.
[0084] The example shown in FIG. 24 differs from the time change in FIG. 23 in that the time difference ΔT N As the frequency Fdev decreases, the frequency Fdev increases. However, since the time difference ΔTk is calculated after the synchronization command is received at timing t23, the effect of this drift can be corrected at this timing t23. Similar control continues in the subsequent feedback control period t23 to t24 and free-run period t24 to t25. This achieves the same effect as the flow in FIG. 23.
[0085] <Regarding Timeout> When the controller 52 transmits a synchronization command with an error detection code such as a CRC attached, the devices 10...1N detect the error by detecting the error detection code from the synchronization command. If an error is detected in the synchronization command received from the controller 52 due to noise being mixed in the communication path or the like, and the synchronization command cannot be completed within a certain predetermined period of time, each of the devices 10...1N executes a timeout process.
[0086] As shown in Fig. 25, the devices 10...1N receive synchronization commands at timings t31 and t32, each after the time update interval Ts. However, if noise is mixed in due to some influence, the devices 10...1N detect an error in the command at timings t33 and t34, and are unable to interpret the synchronization command. In this case, if the devices 10...1N are unable to interpret the synchronization command a predetermined number of times, for example, twice in this case, they execute a timeout process at timing t35. In the timeout process, the time difference ΔT is reduced by returning the frequency Fdev to the initial target value fref. N As a result, even if noise is mixed in during communication, the time difference ΔT is prevented from continuing to deviate while discarding the synchronization command. N This can prevent significant deviations.
[0087] Here, the example shows a case where the timeout process is executed on the condition that an error is detected on the device 10...1N side and the execution of the synchronization command processing is not completed, but the present invention is not limited to this. The timeout process may also be executed on the condition that the execution of the synchronization command processing is not completed due to some influence on the device 10...1N side.
[0088] Alternatively, each device 10...1N may perform a timeout process if it does not receive a synchronization command within a certain period of time after receiving a communication pass-through setting. In such a case, the device 10...1N may store an expected reception interval of the synchronization command in the reference time register 25. If this reception interval deviates beyond a certain threshold, the device 10...1N may return the frequency Fdev of the second clock to the target value fref, thereby reducing the time difference ΔT N This can prevent the alignment error from continuing.
[0089] <Regarding Calibration> Next, calibration by the system will be described with reference to Figures 26 and 27. The main body of the battery management system 1 performs calibration upon startup or before measuring impedance. Furthermore, the devices 10...1N are configured to perform calibration so that the frequency Fdev of the second clock of the oscillator 29 of each of the devices 10...1N falls within a specific range when a certain time or more has elapsed since the previous transmission of a synchronization command.
[0090] At this time, the controller 52 transmits a calibration command to the devices 10...1N at timing t41 in Fig. 26. As also shown in S111 and S112 in Fig. 7, the devices 10...1N roughly adjust the frequency Fdev of the second clock related to the calibration before measuring the impedance.
[0091] When performing calibration, the controller 52 transmits the first clock for a predetermined period or a predetermined number of pulses. The devices 10...1N detect the frequency difference between the first clock and the second clock based on the received first clock and adjust the frequency Fdev of the second clock.
[0092] For example, during the calibration period t41 to t42, the communication control unit 21 causes the calibration unit 31 to input the first clock signal itself transmitted from the controller 52 to the time difference detection unit 26.
[0093] 27, the time difference detection unit 26 includes a phase detector 26a, and the time information generation unit 30 includes a frequency divider 30a. As a result, when performing calibration processing, a PLL loop can be formed by the phase detector 26a of the time difference detection unit 26, the frequency control unit 27, the filter 28, the oscillator 29, and the frequency divider 30a of the time information generation unit 30. The phase detector 26a of the time difference detection unit 26 detects the phase difference between the signal with the frequency Fdev of its own oscillator 29 and the signal with the clock frequency transmitted from the controller 52, and can perform frequency control via the PLL loop so that the phase difference is eliminated.
[0094] As a result, the devices 10...1N forcibly synchronize the second time information with the first time information so that there is no time difference between timing t41 when the calibration command is received and timing t42 when the calibration ends. If the devices 10...1N receive a measurement command during this period t41 to t42 or before that, they may perform AD conversion on the measurement data of the voltage and current of the batteries S1...SM, but since the time information does not match between the controller 52 and the devices 10...1N, it is advisable to discard the measurement data.
[0095] In the above description, the devices 10...1N perform calibration using the first clock transmitted from the controller 52 as a reference signal. However, this is not limiting. For example, the controller 52 may transmit digital data of first time information based on the first clock, and the devices 10...1N may synchronize their second time information to this digital data. In this case, the controller 52 may include the data of the first time information in the calibration command, and the devices 10...1N may forcibly synchronize their second time information to the first time information. As a result, discontinuity between the controller 52 and the devices 10...1N can be tolerated, and the time information can be forcibly synchronized.
[0096] Summary of the Present Embodiment As described above, the battery management system 1 of the present embodiment operates as follows. The controller 52 operates using the first clock of the high-precision oscillator 51, generates first time information from the first clock as a reference for each of the devices 10...1N, and transmits data including the first time information to the devices 10...1N as a synchronization command that can be used in conjunction with other commands. Meanwhile, the devices 10...1N each include an oscillator 29 that generates a second clock whose frequency Fdev is controllable, generates second time information from the second clock generated by the oscillator 29, and generates measurement timing from the second time information.
[0097] When the devices 10...1N receive a synchronization command from the controller 52, they compare the received first time information with the second time information and control the frequency Fdev of the oscillator 29 so that the time difference becomes a constant value based on the difference between the two. This allows the devices 10...1N to control the frequency Fdev of the second clock of the oscillator 29 so that the frequency of the first clock of the controller 52 approaches the target value fref, aligning the second time information generated from the second clock with the first time information generated from the first clock, and enabling synchronization of measurement timings among the multiple devices 11...1N to be performed as accurately as possible.
[0098] (Other Embodiments) The present disclosure is not limited to the above-described embodiments, and can be modified or expanded as follows, for example: In the above-described embodiments, a case where current and voltage are measured at the same timing by different devices 10...1N is illustrated, but the present disclosure is not limited to this, and can also be applied to a case where voltage and current are measured with a certain time difference by voltage measurement units 110...11N, and the time difference in measurement time is corrected when calculating impedance.
[0099] The present disclosure includes the following in addition to what is recited in the claims: [1] A battery management system including a controller and a plurality of devices that receive commands from the controller and monitor a battery, wherein the controller and the plurality of devices perform asynchronous communication while connected in any one of a ring connection, a daisy chain connection, and a star connection, the controller operates according to a first clock of a high-precision oscillator, generates first time information from the first clock as a reference for each device, and transmits data including the first time information to the devices as a synchronization command that can be used in conjunction with other commands, the devices each include an oscillator that generates a second clock whose frequency is controllable, generates second time information from the second clock generated by the oscillator, and generates measurement timing for the battery from the second time information, and upon receiving the synchronization command from the controller, compares the received first time information with the second time information, and controls the frequency of the oscillator based on the difference obtained by the comparison so that the time difference becomes a constant value.
[0100] [2] The battery management system according to [1], wherein the communication lines between the devices are DC-insulated by insulating parts such as pulse transformers, capacitors, and relays.
[0101] [3] The battery management system of [1] or [2], wherein when the synchronization command is transmitted by sequentially transmitting pulse signals from the controller to the downstream device using the connection configuration, the device has a pass-through function that passes the received synchronization command to the next device in order to minimize internal delays in the device, and receives and executes the synchronization command from the controller after enabling the pass-through function.
[0102] [4] When the pass-through function is enabled, each of the devices shortens the pulse width of the pulse signal that constitutes the synchronization command when passing it to the next device, and the controller outputs a pulse signal that is longer than a predetermined width so that the pulse signal reaches all of the devices. [3] The battery management system of [4]
[0103] [5] A battery management system according to any one of [1] to [4], wherein the controller is configured to attach an error detection code to the synchronization command and transmit it, and the device detects an error, and each device executes a timeout process if an error is detected in the command received from the controller and the synchronization command cannot be completed within a certain predetermined period.
[0104] [6] A battery management system according to any one of [1] to [5], wherein the system main body is configured to perform calibration so that the frequency of the second clock of each device falls within a specific range when the system main body is started up or before measuring impedance, or when a certain time has passed since the previous transmission of the synchronization command, the controller transmits the first clock for a predetermined period or a predetermined number of pulses, or transmits data of the first time information based on the first clock, and the device detects a frequency difference based on the received data of the first clock or the first time information and forcibly adjusts the frequency of the second clock.
[0105] [7] A battery management system according to any one of [1] to [6], wherein each device performs a timeout process if it does not receive the synchronization command for a certain period of time after receiving the communication pass-through setting, or if it is unable to complete execution of the synchronization command, stores an expected reception interval for the synchronization command, and returns the frequency of the second clock to a target value if the reception interval deviates by more than a certain threshold.
[0106] [8] A battery management system according to any one of [1] to [7], in which each device measures the delay time passing through each device in advance during communication pass-through or normal communication, and takes that delay time into account when adjusting time information.
[0107] [9] The battery management system according to any one of [1] to [8], wherein the device changes the amount of change in the second time information depending on the reception interval of the synchronization command and the time difference between the first time information and the second time information.
[0108]
[10] The battery management system according to any one of [1] to [9], wherein the controller includes information for adjusting the update interval of the synchronization command stored in each device or the amount of change in the second time information in the synchronization command and transmits the information to the device.
[0109]
[11] The battery management system of any one of [1] to
[10] , wherein the device adjusts the frequency according to the difference between the previous time difference and the current time difference so that the time difference becomes zero after a certain period of time, and adjusts the frequency so that the frequency returns to a target value after the certain period of time.
[0110]
[12] A battery management system according to any one of [1] to
[11] , wherein when measuring the impedance of a battery, each device is synchronized to match the timing of AD conversion of the voltage and current of the battery.
[0111] The techniques described in this disclosure may be implemented by a special purpose computer configured with a processor and memory programmed to perform one or more functions embodied in a computer program. Alternatively, the techniques described in this disclosure may be implemented by a special purpose computer configured with a processor comprising one or more dedicated hardware logic circuits. Alternatively, the techniques described in this disclosure may be implemented by one or more special purpose computers configured with a processor comprising one or more hardware logic circuits in combination with a processor and memory programmed to perform one or more functions. Furthermore, a computer program may be stored as instructions executed by a computer on a computer-readable non-transitory storage medium.
[0112] Although the present disclosure has been described based on the above-described embodiment, it is understood that the present disclosure is not limited to the embodiment or the structure described in the embodiment. The present disclosure also encompasses various modifications and modifications within the equivalent range. In addition, various combinations and forms, as well as other combinations and forms including only one element, more than one element, or less than one element, are also within the scope and spirit of the present disclosure.
Claims
1. A battery management system comprising a controller (52) and a plurality of devices (10, 11... 1N) that receive commands from the controller and monitor a battery, wherein the controller and the plurality of devices are connected in any one of a ring connection, a daisy chain connection, or a star connection and perform asynchronous communication, the controller operates using a first clock from a high-precision oscillator, generates first time information from the first clock as a reference for each device, and transmits data including the first time information to the device as a synchronization command that can be used in conjunction with other commands, the device has an oscillator that generates a second clock whose frequency is controllable, generates second time information from the second clock generated by the oscillator, and generates measurement timing for the battery from the second time information, and when it receives the synchronization command from the controller, compares the received first time information with the second time information, and controls the frequency of the oscillator based on the difference obtained by the comparison so that the time difference becomes a constant value.
2. A battery management system according to claim 1, wherein the communication lines between the devices are DC-insulated by insulating parts such as pulse transformers, capacitors, and relays.
3. A battery management system as described in claim 1, wherein when the controller transmits pulse signals to the downstream device in the connection configuration to transmit the synchronization command, the device has a pass-through function that passes the received synchronization command to the next device in order to minimize internal delays within the device, and receives and executes the synchronization command from the controller after enabling the pass-through function.
4. A battery management system as described in claim 3, wherein when the pass-through function is enabled, the controller outputs a pulse signal with a width longer than a predetermined width so that the pulse signal reaches all of the devices.
5. A battery management system as described in claim 1, wherein the controller is configured to attach an error detection code to the synchronization command and transmit it, causing the devices to detect errors, and each device executes a timeout process if an error is detected in the command received from the controller and the synchronization command cannot be completed within a certain predetermined period of time.
6. The battery management system of claim 1, wherein the system main body is configured to perform calibration so that the frequency of the second clock of each device falls within a specific range when the system is started up or before measuring impedance, or when a certain time has passed since the previous transmission of the synchronization command, the controller transmits the first clock for a predetermined period or a predetermined number of pulses, or transmits the first time information data based on the first clock, and the device detects a frequency difference based on the received first clock or first time information data and forcibly adjusts the frequency of the second clock.
7. A battery management system as described in claim 1, wherein each device performs a timeout process if it does not receive the synchronization command for a certain period of time after receiving the communication pass-through setting, or if it is unable to complete execution of the synchronization command, stores the expected reception interval of the synchronization command, and returns the frequency of the second clock to the target value if the reception interval deviates by more than a certain threshold value.
8. A battery management system as described in claim 1, wherein each device measures the delay time passing through each device in advance during communication pass-through or normal communication, and takes that delay time into account when adjusting time information.
9. A battery management system as described in claim 1, wherein the device changes the amount of change in the second time information depending on the reception interval of the synchronization command and the time difference between the first time information and the second time information.
10. A battery management system as described in claim 1, wherein the controller includes information for adjusting the update interval of the synchronization command stored in each device or the amount of change in the second time information in the synchronization command and transmits the information to the device.
11. A battery management system as described in claim 1, wherein the device adjusts the frequency so that the time difference becomes zero after a certain period of time depending on the difference between the previous time difference and the current time difference, and adjusts the frequency so that it returns to a target value after the certain period of time.
12. A battery management system according to claim 1, wherein when measuring the impedance of a battery, each device is synchronized to match the timing of AD conversion of the voltage and current of the battery.
Citation Information
Patent Citations
Communication method, communication system, communication terminal and repeater
JP2000332802A
Video synchronization
JP2004304809A
Battery monitoring system
JP2023062989A