Battery management system and battery management method

文档序号:1967076 发布日期:2021-12-14 浏览:15次 中文

阅读说明:本技术 电池管理系统和电池管理方法 (Battery management system and battery management method ) 是由 权正炫 朴赞夏 于 2020-04-03 设计创作,主要内容包括:本公开提供一种电池管理系统,包括:接收单元,其被配置为从另一个电池管理系统接收作业的开始信号和完成信号;发送单元,其被配置为通过广播发送作业的开始信号和完成信号;存储单元,其被配置为存储时间表,该时间表包括要执行的多个作业的作业代码、对应作业的优先级、和对应作业的执行时间和周期;同步单元,其被配置为使用作业的所接收的开始信号或所接收的完成信号以及时间表来执行作业执行时间的同步;和作业执行单元,其被配置为使用存储在存储单元中的时间表和由同步单元计算的时间来执行作业。(The present disclosure provides a battery management system, comprising: a receiving unit configured to receive a start signal and a completion signal of a job from another battery management system; a transmission unit configured to transmit a start signal and a completion signal of a job by broadcasting; a storage unit configured to store a schedule including job codes of a plurality of jobs to be executed, priorities of corresponding jobs, and execution times and periods of the corresponding jobs; a synchronization unit configured to perform synchronization of job execution times using the received start signal or the received completion signal of the job and a schedule; and a job execution unit configured to execute the job using the time table stored in the storage unit and the time calculated by the synchronization unit.)

1. A battery management system, comprising:

a receiving unit configured to receive a start signal and a completion signal of a job from another battery management system;

a transmission unit configured to transmit the start signal and the completion signal of a job by broadcasting;

a storage unit configured to store a schedule including job codes of a plurality of jobs to be executed, priorities of corresponding jobs, and execution times and periods of the corresponding jobs;

a synchronization unit configured to perform synchronization of job execution times using the received start signal or the received completion signal of a job and the schedule; and

a job execution unit configured to execute a job using the schedule stored in the storage unit and the time calculated by the synchronization unit.

2. The battery management system according to claim 1, wherein when the job is a first job and the reception unit receives a start signal of the first job, when the first job has a higher priority than a currently executed job as a job executed by the job execution unit based on the schedule stored in the storage unit, the synchronization unit allows the job execution unit to stop the currently executed job and execute the first job, and when the first job has a lower priority than the currently executed job, the synchronization unit calculates a next start time of the first job using a time when a start signal of the first job is received and a completion time of the currently executed job, so that the execution unit executes the first job at the next start time.

3. The battery management system according to claim 2, wherein when the first job has a lower priority than the currently-executed job, a time after a time lapse calculated by dividing a value obtained by subtracting a time when a start signal of the first job is received from a completion time of the currently-executed job by a cycle of the first job is the next start time.

4. The battery management system according to claim 1, wherein when the job is a first job and the reception unit receives a completion signal of the first job:

when the first job has a higher priority than a currently-executed job that is a job executed by the job execution unit based on the schedule stored in the storage unit, the synchronization unit calculates a next start time of the first job using a time when a completion signal of the first job is received, the completion time of the currently-executed job, and an execution time and a cycle of the first job, and allows the execution unit to execute the first job at the next start time; and is

When the first job has a lower priority than the currently executed job, the synchronization unit calculates a start time of the first job using a difference between a time when a completion signal of the first job is received and a completion time of the currently executed job and a cycle of the first job, so that the execution unit executes the first job at the start time of the first job.

5. The battery management system according to claim 4, wherein when the first job has a higher priority than the currently-executed job, a value (c) ((a) - (b)) is determined as a remaining time until the next start time of the first job, the value (c) being a value obtained by subtracting (b) from (a), (b) being a value obtained by subtracting a time when the completion signal of the first job is received from the completion time of the currently-executed job, and (a) being a value obtained by subtracting the execution time of the first job from a period of the first job.

6. The battery management system of claim 4 wherein

When the first job has a lower priority than the currently executing job,

by comparing the period of the first job with (d), (d) being a value obtained by subtracting a time when a completion signal of the first job is received from a completion time of the currently executed job,

when (d) is less than the period of the first job, a value obtained by subtracting (d) from the period of the first job represents a time remaining until a start time of the first job, and

When (d) is greater than the period of the first job:

after obtaining a minimum value of n such that { the cycle of the first job-the execution time of the currently-executed job + (n-1) × the cycle of the currently-executed job } is greater than (d) (n is a natural number),

a value obtained by subtracting (d) from { the cycle of the first job-the execution time of the currently-executed job + (n-1) × the cycle of the currently-executed job } represents a time remaining until the start time of the first job.

7. The battery management system of any of claims 1-6, further comprising an error calculation unit configured to: calculating a reception error of the start signal of the job by comparing a difference between a time when the start signal is received and a time when the completion signal is received with the execution time stored in the schedule after the reception unit receives both the start signal and the completion signal of the job,

wherein the synchronization unit reflects the reception error in synchronization.

8. A battery management method, comprising:

receiving a start signal and a completion signal of a job;

Performing synchronization of job execution times based on the received start signal or the received completion signal of the job and a schedule stored in a storage unit, the schedule including job codes of a plurality of jobs to be executed, priorities of corresponding jobs, and execution times and periods of corresponding jobs; and

executing a job using the schedule and the job execution time synchronously calculated from job execution.

9. The battery management method of claim 8 wherein

When the job is a first job and the start signal of the first job is received,

the synchronized execution of the job execution times includes:

stopping the currently executed job and executing the first job when the first job has a higher priority than the currently executed job as the job currently being executed based on the schedule, and

when the first job has a lower priority than the currently executed job based on the schedule, calculating a next start time of the first job by using a time when a start signal of the first job is received and a completion time of the currently executed job to execute the first job at the next start time.

10. The battery management method according to claim 9, wherein when the first job has a lower priority than the currently-executed job, a time after a time lapse calculated by dividing a value obtained by subtracting a time when a start signal of the first job is received from a completion time of the currently-executed job by a cycle of the first job is the next start time.

11. The battery management method according to claim 8, wherein, when the job is a first job and a completion signal of the first job is received, the synchronized execution of the job execution times includes:

calculating a next start time of the first job using a time when a completion signal of the first job is received, a completion time of the currently executed job, and an execution time and a cycle of the first job to execute the first job at the next start time when the first job has a higher priority than a currently executed job which is a job currently being executed based on the schedule; and is

When the first job has a lower priority than the currently executed job, calculating a start time of the first job using a difference between a time when a completion signal of the first job is received and a completion time of the currently executed job and a cycle of the first job to execute the first job at the start time of the first job.

12. The battery management method according to claim 11, wherein when the first job has a higher priority than the currently-executed job, a value (c) ((a) - (b)) is determined as a remaining time until the next start time of the first job, the value (c) being a value obtained by subtracting (b) from (a), (b) being a value obtained by subtracting a time when the completion signal of the first job is received from the completion time of the currently-executed job, and (a) being a value obtained by subtracting the execution time of the first job from a period of the first job.

13. The battery management method of claim 11 wherein

When the first job has a lower priority than the currently executing job,

by comparing the period of the first job with (d), (d) being a value obtained by subtracting a time when a completion signal of the first job is received from a completion time of the currently executed job,

when (d) is less than the period of the first job, a value obtained by subtracting (d) from the period of the first job represents a time remaining until a start time of the first job, and

When (d) is greater than the period of the first job:

after obtaining a minimum value of n such that { the cycle of the first job-the execution time of the currently-executed job + (n-1) × the cycle of the currently-executed job } is greater than (d) (n is a natural number),

a value obtained by subtracting (d) from { the cycle of the first job-the execution time of the currently-executed job + (n-1) × the cycle of the currently-executed job } represents a time remaining until the start time of the first job.

14. The battery management method according to any one of claims 8 to 13, further comprising: to be reflected in the synchronized execution of the job execution times, after both of a start signal and a completion signal of the job are received, a reception error of the start signal of the job is calculated by comparing a difference between a time when the start signal is received and a time when the completion signal is received with the execution times stored in the schedule table.

Technical Field

The invention relates to a battery management system and a management method for efficient job scheduling.

Background

Recently, research and development of secondary batteries have been actively conducted. Here, the secondary battery is a battery capable of being charged and discharged, and includes a conventional Ni/Cd battery and a Ni/MH battery, and recently a lithium ion battery. Among the secondary batteries, the lithium ion battery has an advantage of having a much higher energy density than conventional Ni/Cd batteries and Ni/MH batteries. In addition, a lithium ion battery can be manufactured with a tendency to be small in size and light in weight, so that it is used as a power source for mobile devices. In addition, the range of use of lithium ion batteries is extended as a power source for electric vehicles, and lithium ion batteries are attracting attention as a next-generation energy storage medium.

In addition, the secondary battery is generally used as a battery pack including a battery module in which a plurality of battery cells are connected in series and/or parallel. The state and operation of such a battery pack are managed and controlled by a Battery Management System (BMS).

The battery management system constituted by a plurality of battery packs may include a master battery management system and a plurality of slave battery management systems. The master battery management system communicates with the upper level system to control the operation of the plurality of slave battery management systems.

In recent years, such a master battery management system and a plurality of slave battery management systems wirelessly transmit and receive signals. However, with regard to wireless communication between the master battery management system and the slave battery management system in the vehicle battery management system, in order to perform accurate operations between remote systems, there is a problem in that each system must synchronize work execution time for each job.

Conventionally, in order to synchronize the execution times of the same job on each system, this problem is solved by using a Network Time Protocol (NTP) server, but in some cases, the NTP server cannot be introduced due to an embedded feature.

Disclosure of Invention

Technical problem

An object of the present invention is to perform synchronization of the same job between respective battery management systems without additional configuration.

Technical solution

In order to solve the above technical problem, according to an aspect of an embodiment of the present invention, there is provided a battery management system including: a receiving unit configured to receive a start signal and a completion signal of a job from another battery management system; a transmission unit configured to transmit a start signal and a completion signal of a job by broadcasting; a storage unit configured to store a schedule including job codes of a plurality of jobs to be executed, priorities of corresponding jobs, and execution times and periods of the corresponding jobs; a synchronization unit configured to perform synchronization of job execution times using the received start signal or the received completion signal of the job and a schedule; and a job execution unit configured to execute the job using the time table stored in the storage unit and the time calculated by the synchronization unit.

According to still further features of these embodiments, when the job is a first job and the reception unit receives a start signal of the first job, the synchronization unit allows the job execution unit to stop the currently executed job and execute the first job when the first job has a higher priority than the currently executed job as the job executed by the job execution unit based on the schedule stored in the storage unit, and when the first job has a lower priority than the currently executed job, the synchronization unit calculates a next start time of the first job using a time when the start signal of the first job is received and a completion time of the currently executed job so that the execution unit executes the first job at the next start time.

According to still further features in the embodiments, when the first job has a lower priority than the currently executed job, a time after a lapse of time calculated by dividing a value obtained by subtracting a time when the start signal of the first job is received from a completion time of the currently executed job by a period of the first job is a next start time.

According to still further features of these embodiments, when the specific job is a first job and the receiving unit receives the completion signal, the synchronizing unit calculates a next start time of the first job using a time when the completion signal of the first job is received, a completion time of the currently executed job, and an execution time and a cycle of the first job, and allows the executing unit to execute the first job at the next start time, when the first job has a higher priority than the currently executed job based on the schedule stored in the storage unit, and when the first job has a lower priority than the currently executed job, the synchronizing unit calculates the start time of the first job using a difference between the time when the completion signal of the first job is received and the completion time of the currently executed job and the cycle of the first job, so that the execution unit executes the first job at the start time of the first job.

According to still further features of these embodiments, when the first job has a higher priority than the currently executed job, a value (c) ((a) - (b)) is determined as a remaining time until a next start time of the first job, the value (c) being a value obtained by subtracting (b) from (a), (b) being a value obtained by subtracting a time when the completion signal of the first job is received from a completion time of the currently executed job, and (a) being a value obtained by subtracting an execution time of the first job from a cycle of the first job.

According to still further features in these embodiments, when the first job has a lower priority than the currently executed job, by comparing (d) with a value obtained by subtracting a time when the completion signal of the first job is received from a completion time of the currently executed job, when (d) is smaller than the period of the first job, the value obtained by subtracting (d) from the period of the first job represents a time remaining until a start time of the first job, and when (d) is larger than the period of the first job: after obtaining a minimum value of n (n is a natural number) such that { cycle of first job-execution time of currently-executed job + (n-1) × cycle of currently-executed job } is greater than (d), a value obtained by subtracting (d) from { cycle of first job-execution time of currently-executed job + (n-1) × cycle of currently-executed job } represents a time remaining until start time of first job.

According to still further features in the embodiments, the battery management system further includes an error calculation unit configured to calculate a reception error of the start signal of the job by comparing a difference between a time when the start signal is received and a time when the completion signal is received with the execution time stored in the schedule after the reception unit receives both the start signal and the completion signal of the job, wherein the synchronization unit reflects the reception error in synchronization.

In order to solve the above technical problem, according to another aspect of an embodiment of the present invention, there is provided a battery management method including: receiving a start signal and a completion signal of a job; performing synchronization of job execution times based on the received start signal or the received completion signal of the job and a schedule stored in the storage unit, the schedule including job codes of a plurality of jobs to be executed, priorities of corresponding jobs, and execution times and periods of corresponding jobs; and executing the job using the schedule and the job execution time synchronously calculated from the job execution.

According to still further features in the embodiments, the synchronized execution of the job execution times when the job is a first job and a start signal of the first job is received comprises: when the first job has a higher priority than a currently executed job which is a job currently being executed based on the schedule, the currently executed job is stopped and the first job is executed, and when the first job has a lower priority than the currently executed job based on the schedule, a next start time of the first job is calculated by using a time when a start signal of the first job is received and a completion time of the currently executed job to execute the first job at the next start time.

According to still further features in the embodiments, when the first job has a lower priority than the currently executed job, a time after a lapse of time calculated by dividing a value obtained by subtracting a time when the start signal of the first job is received from a completion time of the currently executed job by a period of the first job is a next start time.

According to still further features in these embodiments, when the job is a first job and the completion signal of the first job is received, the synchronized execution of the job execution times includes, when the first job has a higher priority than a currently-executed job which is a job currently being executed based on the schedule, calculating a next start time of the first job using a time when the completion signal of the first job is received, the completion time of the currently-executed job, and the execution time and the cycle of the first job to execute the first job at the next start time, and executing the first job at the next start time

When the first job has a lower priority than the currently executed job, a start time of the first job is calculated using a difference between a time when a completion signal of the first job is received and a completion time of the currently executed job and a cycle of the first job to execute the first job at the start time of the first job.

According to still further features of these embodiments, when the first job has a higher priority than the currently executed job, a value (c) ((a) - (b)) is determined as a remaining time until a next start time of the first job, the value (c) being a value obtained by subtracting (b) from (a), (b) being a value obtained by subtracting a time when the completion signal of the first job is received from a completion time of the currently executed job, and (a) being a value obtained by subtracting an execution time of the first job from a cycle of the first job.

According to still further features in these embodiments, when the first job has a lower priority than the currently executed job, by comparing (d) with a value obtained by subtracting a time when the completion signal of the first job is received from a completion time of the currently executed job, when (d) is smaller than the period of the first job, the value obtained by subtracting (d) from the period of the first job represents a time remaining until a start time of the first job, and when (d) is larger than the period of the first job: after a minimum value n is obtained such that { cycle of first job-execution time of currently-executing job + (n-1) × cycle of currently-executing job } is greater than (d), (n being a natural number), a value obtained by subtracting (d) from { cycle of first job-execution time of currently-executing job + (n-1) × cycle of currently-executing job } represents a time remaining until start time of first job.

According to still further features in the embodiments, the battery management method further includes calculating a reception error of the start signal of the job by comparing a difference between a time when the start signal is received and a time when the completion signal is received with the execution times stored in the schedule table after both of the start signal and the completion signal of the job are received in order to be reflected in the synchronized execution of the job execution times.

Advantageous effects

The present invention can perform the same job synchronization between each battery management system without an additional configuration.

Drawings

Fig. 1 is a configuration diagram of a battery pack including a battery management system according to an embodiment of the present invention.

Fig. 2 is a configuration diagram of a battery management system according to an embodiment of the present invention.

Fig. 3 shows an example of a schedule of each battery management system according to an embodiment of the present invention.

FIG. 4 is a flow diagram of a method for synchronizing job start times according to an embodiment of the present invention.

FIG. 5 is a flow diagram of a method for synchronizing job start times according to another embodiment of the present invention.

Fig. 6 is a flow chart of synchronization error correction according to an embodiment of the present invention.

Fig. 7 is a block diagram illustrating a hardware configuration of a battery management system according to an embodiment of the present invention.

Detailed Description

In the following, various embodiments of the invention are disclosed with reference to the accompanying drawings. However, it is not intended to limit the invention to the particular embodiments, and it should be understood that the invention includes various modifications, equivalents, and/or alternatives. With respect to the description of the figures, like reference numerals refer to like elements.

The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to limit the scope of other embodiments. Terms in the singular may include the plural unless they have a distinctly different meaning in the context. Unless otherwise indicated herein, all terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the art. Generally, terms defined in dictionaries should be interpreted as having a meaning that is consistent with their contextual meaning in the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. In any case, even the terms defined in the present specification should not be construed as excluding the embodiments of the present invention.

In addition, in describing the components of the embodiments of the present invention, terms such as first, second, A, B, (a) and (b) may be used. These terms are only used to distinguish one element from another element, and the nature, order, or sequence of the elements is not limited by these terms. In addition, when a member is described as being "connected to," "coupled to," or "linked to" another member, the members may be directly connected or linked to each other, but it is understood that the other member may be "connected," "coupled," or "linked" between each member.

Fig. 1 is a configuration diagram of a battery pack including a battery management system according to an embodiment of the present invention.

A plurality of battery cells 2, 4, and 6 are connected in series or in parallel to the battery pack 1. Slave battery management systems 12, 14 and 16 are arranged in the battery cells 2, 4 and 6, respectively. Each of the plurality of battery cells 2, 4, and 6 is monitored by measuring a temperature, a voltage, or a current of each of the battery management systems 12, 14, and 16, transmits monitored information to an upper level system, and receives a control command of the battery cell from the upper level system to control the connected battery cell.

The plurality of battery cells 2, 4, and 6 are connected in series or in parallel to form the battery pack 1. The battery pack 1 is provided with a main battery management system 10. The main battery management system 10 measures and monitors the temperature, voltage, or current of the battery pack 1. In addition, the master battery management system 10 receives monitoring information of each battery cell from the slave battery management systems 12, 14, and 16 arranged in the battery cells and transmits it to the upper level system, and receives a specific job execution command from the upper level system and transmits it to the corresponding slave battery management systems 12, 14, and 16.

At this time, signals between the battery management systems are wirelessly transmitted and received, and when the master battery management system 10 receives a specific job execution command from an upper level system and transmits it to a corresponding slave battery management system, the signals may be delayed due to an over-the-air loss. At this time, it is necessary to perform synchronization while the same specific job is executed in each corresponding slave battery management system. When designing a wireless network protocol, the job of a system using the wireless network protocol is preset. In addition, due to the nature of embedding, all functions must be performed within a fixed time and should not exceed the fixed time. Under this premise, the job execution time of the job can be synchronized between the systems. When each job that each battery management system needs to execute is divided into functional units and each function is referred to as a job, the jobs are determined during an embedded design phase of the battery management system and each job has an average execution time and a maximum execution time depending on the performance of the selected IC. Each system has jobs to be executed by each other and an ID for each system, and the maximum execution time and the average execution time of the jobs have a schedule for system job execution times. Each of the battery management systems transmits a signal for starting or completing a job in a broadcast (or multicast) to a system that needs to synchronize the start or completion time of the job.

The system receiving the start or completion signal of the job by broadcasting may calculate the start time of the job receiving the start or completion signal using the job currently executed by the system and the job receiving the start or completion signal by broadcasting, and the stored schedule.

Therefore, all the battery management systems can calculate the job execution timing of each system and simultaneously execute the same job within the minimum error within the allowable range by synchronizing the timing of each job execution without an additional configuration or a separate control signal.

This will be described in more detail later.

Fig. 2 is a configuration diagram of a battery management system according to an embodiment of the present invention.

The battery management system may be a slave battery management system or a master battery management system. With respect to this drawing, the slave battery management system 12 will be described as an example.

The slave battery management system 12 includes a receiving unit 200, a transmitting unit 202, a storage unit 204, a synchronizing unit 206, a job executing unit 208, and an error calculating unit 210.

The receiving unit 200 receives a specific job execution command from an upper level system. The upper level system can be a master battery management system. In addition, the receiving unit 200 receives an execution start signal or a completion signal of a specific job from another slave battery management system or a master battery management system. The reception unit 200 receives, for example, an execution start signal or a completion signal of a specific job transmitted by broadcasting or multicasting.

When a specific job starts or completes in the job execution unit 208, the transmission unit 202 transmits a specific job start signal or completion signal in broadcast or multicast.

The storage unit 204 stores a schedule including the corresponding execution job code from the battery management system 12, the execution priority of each execution job, the execution time of each execution job, and the cycle of each execution job.

The synchronization unit 206 calculates an execution start time of the specific job using the execution start signal, the completion signal, and the schedule of the specific job received from the reception unit 200, and synchronizes the corresponding job execution time between each system.

For example, when the receiving unit 200 receives an execution start signal of a first job, the synchronization unit 206 determines whether the corresponding first job is included in the execution jobs on the schedule. When the first job is included in the execution jobs on the schedule, the slave battery management system 12 compares the priority with the currently executed job. When the priority of the first job is higher than that of the currently executed job, the currently executed job is stopped from the battery management system and the first job is executed first.

On the other hand, when the priority of the first job is lower than the priority of the currently executed job, the currently executed job is continuously executed from the battery management system and the execution start time of the first job is calculated. The execution start time of the first job is calculated as follows:

(a) a reception time of a start signal of the first job;

(b) time when the current execution job is complete;

(c) the time remaining until the execution of the first job starts ((b) - (a))/the cycle of the first job;

that is, the execution start time of the first job can be calculated by using the time (c) to know how much time has elapsed since the start of the first job, and based on this, the first job execution start time with other battery management systems can be synchronized.

In addition, when the reception unit 200 receives the execution completion signal of the first job, the synchronization unit 206 determines whether the corresponding first job is included in the execution jobs on the schedule. When the first job is included in the execution jobs on the schedule, the slave battery management system 12 compares the priority with the currently executed job. When the priority of the first job is higher than the priority of the currently executed job, the first job execution start time is calculated as follows:

(d) A completion signal reception time of the first job;

(e) time when the current execution job is complete;

(f) a time obtained by subtracting the execution time from the first job cycle;

(g) the time remaining until the execution of the first job starts (f) - ((e) - (d));

that is, the first job starts to be executed after the time (g), and must start after a corresponding time to synchronize the first job execution start time with other battery management systems.

When the priority of the first job is lower than that of the currently executed job, the currently executed job is continuously executed from the battery management system and the execution start time of the first job is calculated. The execution start time of the first job is calculated as follows:

(h) a completion signal reception time of the first job;

(i) time when the current execution job is complete;

(j) a value obtained by subtracting a completion signal reception time of the first job from a time when the currently executed job is completed is (i) - (h);

(k) when the period of the first job is less than (j),

a period- (j) of the first job is a time remaining until execution of the first job starts;

(l) When the period of the first job is greater than (j),

find the minimum n value such that the cycle of the first job-the execution time of the currently executed job + (n-1) × (cycle of the first job) is greater than (j), and use the obtained n value,

[ period of the first job-execution time of the currently executed job + (n-1) × (period of the first job) ] - (j) — time remaining until execution of the first job starts;

the first job starts to be executed after time k or time l, and must start after a corresponding time to synchronize the first job execution start time with other battery management systems.

The job execution unit 208 executes a plurality of jobs included in the schedule stored in the storage unit 204 according to the priority. However, for the execution start time of each job, each job is executed according to the start time calculated by the synchronization unit 206. As a result, the job execution times of other battery management systems that execute the same job can be synchronized.

The error calculation unit 210 calculates an error using a start signal or a completion signal reception time and a schedule of a specific job received at the reception unit. For example, an error is calculated using a difference between the start signal reception time and the completion signal reception time and a difference in the execution time of a specific job on the schedule, and the error is transmitted to the synchronization unit 206. When calculating the execution time of the first job, the synchronization unit 206 can calculate it by reflecting the calculated error.

Fig. 3 shows an example of a schedule of each battery management system according to an embodiment of the present invention. The jobs performed by each battery management system are exemplarily described using a Battery Module Controller (BMC) and a Cell Module Controller (CMC). (each of the BMC and CMC is referred to as a node).

In the design phase of the embedded system, as shown in the schedule of FIG. 3, the priority, execution time, and period for each job are determined. When all control units receiving the corresponding signal have to execute the job simultaneously due to the characteristics, the BMC indicates that the signal of the batch job is wirelessly transmitted, and there is a possibility that the signal is lost over the air. Therefore, when all BMCs or CMCs executing the same job are notified of the start of a specific job by broadcasting, a node executing another job receives a corresponding signal due to some error and executes a job having a higher priority according to the priority, thereby increasing the stability of the system. In addition, since a start time point of executing a specific job can be known, an error of time synchronization that may occur between nodes can be minimized.

For example, when node CMC3 receives a signal from node CMC2 to start job a while job E is currently being executed, it executes job a after stopping currently executed job E.

Also, for example, in the case where the node CMC2 is currently executing job a and receives a signal that job B starts, when a value q obtained by subtracting the time o at which job B is received from the time p when job B is completed is divided by the cycle of job B, it is possible to know how much time has elapsed since the execution cycle of job B. Based on this, the next start time of job B can be calculated.

Meanwhile, when each node receives a completion signal of a specific job, it can be used to calculate the execution start time of the job.

For example, when the node CMC3 receives a signal of job a execution completion from another node while job E is currently executing, a value t obtained by subtracting the reception time s of the execution completion signal of job a from the execution completion time r of the currently executing job E is calculated. Subsequently, by subtracting t from a value u obtained by subtracting the execution time from the job a cycle, the start time of the next cycle of the job a can be calculated. Since job a can be executed after time v, all nodes can synchronize the execution time of job a.

In addition, for example, when the node CMC2 receives a signal of job B completion from another node while job a is currently executing, a value y obtained by subtracting the reception time x of the completion signal of job B from the job a completion time w.

When y is smaller than the cycle of job B, the time corresponding to the value obtained by subtracting y from the cycle may be calculated as the next start time of job B.

When y is greater than the cycle of job B, a minimum value of n is calculated such that the cycle of job B, execution time of job A + (n-1) × the cycle of job B is greater than y,

calculating the time: the cycle of job B — execution time of job a + (n-1) × the cycle of job B- (y) ═ z.

Job B is executed after waiting time z. Each node synchronizes the execution start time of job B by calculating time z.

Further, the received start signal and completion signal of the specific job can be used to correct the error.

For example, when the node CMC1 receives the execution start signal and the completion signal of job C, an error can be obtained by comparing the difference value with the execution time of the preset job C on the schedule. When the execution start time of job C is calculated, the calculated error can be referred to. In this way, errors in synchronization can be minimized.

FIG. 4 is a flow diagram of a method for synchronizing job start times according to an embodiment of the present invention.

The receiving unit 200 receives an execution start signal of the first job from another slave battery management system or master battery management system (S400). The reception unit 200 receives an execution start signal or a completion signal of a specific job transmitted by, for example, broadcasting or multicasting.

The synchronization unit 206 determines whether the first job is listed in the stored schedule (S402). When the first job is listed on the execution job on the schedule, it is determined whether the priority of the first job on the schedule is high or the priority of the currently executed job is high (S404). When the priority of the first job is higher than that of the currently executed job, the currently executed job is stopped from the battery management system and the first job is executed first (S406).

On the other hand, when the priority of the first job is lower than the priority of the currently executed job, the currently executed job is continuously executed from the battery management system and the execution start time of the first job is calculated (S408).

The execution start time of the first job is calculated as follows:

(a) a reception time of a start signal of the first job;

(b) time when the currently executed job is completed;

(c) the time remaining until the execution of the first job starts ((b) - (a))/the cycle of the first job;

that is, the execution start time of the first job can be calculated by using the time (c) to know how much time has elapsed since the start of the first job, and based on this, the first job execution start times of the other battery management systems can be synchronized.

After the calculated time, the execution of the first job is started (S410).

FIG. 5 is a flow diagram of a method for synchronizing job start times according to another embodiment of the present invention.

The receiving unit 200 receives an execution completion signal of the first job (S500). The reception unit 200 receives a first job execution completion signal received through broadcasting.

When the reception unit 200 receives the execution completion signal of the first job, the synchronization unit 206 determines whether the first job is listed in the execution jobs on the schedule (S502).

When the first job is listed on the schedule as an execution job, the slave battery management system 12 compares the priority with the currently executed job (S504).

When the priority of the first job is higher than that of the currently executed job, the first job execution start time is calculated according to the first algorithm as follows (S506):

(a) a completion signal reception time of the first job;

(b) time when the current execution job is complete;

(c) a time obtained by subtracting the execution time from the cycle of the first job;

(d) the time remaining until the execution of the first job starts (f) - ((e) - (d));

that is, the first job starts after time (g), and must start after a corresponding time to synchronize the first job execution start time with the other battery management systems.

Subsequently, according to the calculated time, execution of the first job is started (S510).

On the other hand, when the priority of the first job is lower than the currently executed job, the currently executed job is continuously executed from the battery management system, and the execution start time of the first job is calculated according to the second algorithm (S508). The execution start time of the first job according to the second algorithm is calculated as follows:

(a) a completion signal reception time of the first job;

(b) time when the current execution job is complete;

(c) a value obtained by subtracting a completion signal reception time of the first job from a time when the currently executed job is completed is (i) - (h);

(d) when the period of the first job is less than (j),

a period- (j) of the first job is a time remaining until execution of the first job starts;

(e) when the period of the first job is greater than (j),

find the minimum n value such that the cycle of the first job-the execution time of the currently executed job + (n-1) × (cycle of the first job) is greater than (j), and use the obtained n value,

[ period of the first job-execution time of the currently executed job + (n-1) × (period of the first job) ] - (j) — time remaining until execution of the first job starts;

The first job starts to be executed after time k or time l, and must start after a corresponding time to synchronize the first job execution start time with the other battery management systems.

Subsequently, according to the calculated time, execution of the first job is started (S510).

Fig. 6 is a flow chart of synchronization error correction according to an embodiment of the present invention.

The receiving unit 200 receives a start signal and a completion signal of a specific job (S600).

The difference between the start signal reception time and the completion signal reception time of the job is compared with the execution time of the job on the schedule (S602). The error calculation unit 210 calculates an error using the schedule of the specific job received at the reception unit and the start signal or completion signal reception time. For example, an error is calculated using a difference between the start signal reception time and the completion signal reception time and the execution time of a specific job on the schedule, and the error is transmitted to the synchronization unit 206.

The synchronization unit 206 that has received the error value reflects the error value in the execution time synchronization of the specific job (S604).

Fig. 7 is a block diagram illustrating a hardware configuration of a battery management system according to an embodiment of the present invention.

The battery management system 700 may include a Micro Controller Unit (MCU)710 for controlling various processes and components, a memory 720 in which an operating system program and various programs (e.g., a battery pack abnormality diagnosis program or a battery pack temperature estimation program) are recorded, an input/output interface 730 providing an input interface and an output interface between the battery cell modules and/or the semiconductor switching elements, and a communication interface 740 capable of communicating with the outside through a wired/wireless communication network. As described above, the computer program according to the present invention may be recorded in the memory 720 and processed by the microcontroller 710 to be implemented as a module for executing the respective functional blocks shown in fig. 2.

Reference herein to "one embodiment" of the present principles and various modifications of such expression are intended to mean that a particular feature, structure, characteristic, etc. is included in at least one embodiment of the present principles with respect to that embodiment. Thus, the expression "in one embodiment" and any other modifications disclosed throughout this specification do not necessarily refer to the same embodiment.

All embodiments and conditional examples disclosed in this specification are described to assist those skilled in the art in understanding the principles and concepts of the invention, and thus, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the invention. Accordingly, the disclosed embodiments are to be considered in a descriptive sense only and not in a limiting sense. The scope of the present invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the scope will be construed as being included in the present invention.

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:磁片堆栈、用于制造磁片堆栈的方法和电机

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!