Nothing Special   »   [go: up one dir, main page]

WO2021101012A1 - Battery management system and control method thereof - Google Patents

Battery management system and control method thereof Download PDF

Info

Publication number
WO2021101012A1
WO2021101012A1 PCT/KR2020/009469 KR2020009469W WO2021101012A1 WO 2021101012 A1 WO2021101012 A1 WO 2021101012A1 KR 2020009469 W KR2020009469 W KR 2020009469W WO 2021101012 A1 WO2021101012 A1 WO 2021101012A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
priority
battery management
tasks
management system
Prior art date
Application number
PCT/KR2020/009469
Other languages
French (fr)
Korean (ko)
Inventor
권정현
박찬하
Original Assignee
주식회사 엘지에너지솔루션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지에너지솔루션 filed Critical 주식회사 엘지에너지솔루션
Priority to JP2021564916A priority Critical patent/JP7206553B2/en
Priority to US17/616,501 priority patent/US20220237029A1/en
Priority to EP20889720.7A priority patent/EP3961392A4/en
Priority to CN202080039022.2A priority patent/CN113950669A/en
Publication of WO2021101012A1 publication Critical patent/WO2021101012A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01MPROCESSES OR MEANS, e.g. BATTERIES, FOR THE DIRECT CONVERSION OF CHEMICAL ENERGY INTO ELECTRICAL ENERGY
    • H01M10/00Secondary cells; Manufacture thereof
    • H01M10/42Methods or arrangements for servicing or maintenance of secondary cells or secondary half-cells
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01MPROCESSES OR MEANS, e.g. BATTERIES, FOR THE DIRECT CONVERSION OF CHEMICAL ENERGY INTO ELECTRICAL ENERGY
    • H01M10/00Secondary cells; Manufacture thereof
    • H01M10/42Methods or arrangements for servicing or maintenance of secondary cells or secondary half-cells
    • H01M10/4207Methods or arrangements for servicing or maintenance of secondary cells or secondary half-cells for several batteries or cells simultaneously or sequentially
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01MPROCESSES OR MEANS, e.g. BATTERIES, FOR THE DIRECT CONVERSION OF CHEMICAL ENERGY INTO ELECTRICAL ENERGY
    • H01M10/00Secondary cells; Manufacture thereof
    • H01M10/42Methods or arrangements for servicing or maintenance of secondary cells or secondary half-cells
    • H01M10/425Structural combination with electronic components, e.g. electronic circuits integrated to the outside of the casing
    • H01M2010/4271Battery management systems including electronic circuits, e.g. control of current or voltage to keep battery in healthy state, cell balancing
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01MPROCESSES OR MEANS, e.g. BATTERIES, FOR THE DIRECT CONVERSION OF CHEMICAL ENERGY INTO ELECTRICAL ENERGY
    • H01M10/00Secondary cells; Manufacture thereof
    • H01M10/42Methods or arrangements for servicing or maintenance of secondary cells or secondary half-cells
    • H01M10/425Structural combination with electronic components, e.g. electronic circuits integrated to the outside of the casing
    • H01M2010/4278Systems for data transfer from batteries, e.g. transfer of battery parameters to a controller, data transferred between battery controller and main controller

Definitions

  • Embodiments of the present invention relate to a battery management system and a control method thereof.
  • lithium-ion batteries in particular have the advantage of having a much higher energy density compared to conventional Ni/Cd batteries and Ni/MH batteries.
  • lithium-ion batteries can be manufactured in a small size and light weight, so they can be used as power sources for mobile devices. do.
  • lithium-ion batteries are attracting attention as a next-generation energy storage medium as the range of use of lithium-ion batteries has been expanded as a power source for electric vehicles.
  • a secondary battery such as a lithium-ion battery is in the form of a battery module including a cell module in which a plurality of battery cells are connected in series and/or parallel, and a battery management system (BMS) that controls the charging and discharging of the cell module.
  • BMS battery management system
  • a plurality of battery modules may be used as a combined battery pack according to an output specification required by an object to which the battery is mounted.
  • a battery management system for managing the entire battery pack may be additionally provided as a master battery management system.
  • a battery system composed of a plurality of battery modules may include a master battery management system and a plurality of slave battery management systems.
  • the master battery management system may control and manage the operation of a plurality of slave battery management systems, and may communicate with an upper system.
  • the master battery management system and the plurality of slave battery management systems wirelessly transmit and receive signals. Therefore, a lot of research is also needed to efficiently and stably perform wireless communication between battery management systems.
  • the present invention has been made in view of such a situation, and an object of the present invention is to provide a method in which each battery management system can efficiently use limited resources in a battery system in which a plurality of battery management systems communicate wirelessly.
  • each of a plurality of battery management systems performs individually set tasks, and the performed task result is transmitted to the master battery management system through wireless communication.
  • a battery management system in a transmitting system a task list performed by each of a plurality of battery management systems, execution time, execution cycle and task priority of each task included in the task list, and between a plurality of battery management systems Task information storage unit including the communication priority of the;
  • a schedule determination unit that determines a work schedule based on data stored in the task information storage unit;
  • a priority change unit that adjusts the work priority of the task based on the work schedule determined by the schedule determination unit, wherein the schedule determination unit provides a battery management system that adjusts the work schedule according to the adjusted work priority.
  • a task list performed by each of a plurality of battery management systems, execution time of each task included in the task list, execution cycle and task priority Storing the priority and communication priority between the plurality of battery management systems; Determining a work schedule based on the stored data; Adjusting the task priority of the task based on the determined task schedule; And adjusting the work schedule according to the adjusted work priority.
  • FIG. 1 is a block diagram schematically showing a battery system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a battery pack including a battery management system according to an embodiment of the present invention.
  • FIG. 3 is a functional block diagram showing the configuration of a battery management system according to an embodiment of the present invention.
  • FIG. 4 is a functional block diagram illustrating a task scheduler in a battery management system according to an embodiment of the present invention.
  • FIG. 5 is a flowchart showing the operation of the battery management system according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a task time table according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a communication priority table according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a task scheduling operation of the battery management system according to an embodiment of the present invention.
  • FIG. 10 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the battery management system according to an embodiment of the present invention.
  • FIG. 11 is a diagram illustrating a task time table according to another embodiment of the present invention.
  • FIG. 12 is a diagram illustrating a communication priority table according to another embodiment of the present invention.
  • FIG. 13 is a timing diagram illustrating an operation sequence of a task according to FIGS. 11 and 12.
  • FIG. 14 is a flowchart illustrating a method of changing a priority according to an embodiment of the present invention.
  • 15 is a flowchart illustrating an example of a method of changing a priority according to an embodiment of the present invention.
  • 16 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 15.
  • 17 is a flowchart illustrating another example of a method of changing a priority according to an embodiment of the present invention.
  • FIG. 18 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 17.
  • 19 is a diagram illustrating a task time table according to another embodiment.
  • FIGS. 19 and 12 are timing diagrams illustrating an operation sequence of a task according to FIGS. 19 and 12.
  • 21 is a flowchart illustrating a method of changing a priority according to another embodiment of the present invention.
  • FIG. 22 is a flowchart illustrating an example of a method of changing the priority order in FIG. 21.
  • FIG. 23 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 22.
  • FIG. 24 is a hardware configuration diagram of a battery management system according to an embodiment of the present invention.
  • first, second, first, or second used in various embodiments may modify various elements regardless of their order and/or importance, and the corresponding elements Not limited.
  • a first component may be referred to as a second component, and similarly, a second component may be renamed to a first component.
  • FIG. 1 is a block diagram schematically showing a battery system according to an embodiment of the present invention.
  • the battery system includes a cell module 12 including a plurality of battery cells, a battery management system (hereinafter referred to as'BMS') 14, and a switching unit 16. It may include a battery module 10 including a and a master BMS 20 for controlling and managing the battery module 10.
  • a battery management system hereinafter referred to as'BMS'
  • a switching unit 16 It may include a battery module 10 including a and a master BMS 20 for controlling and managing the battery module 10.
  • the cell module 12 includes one or more battery cells capable of being charged and discharged.
  • the battery cell may be a lithium ion (Li-ion) battery, a lithium ion polymer (Li-ion polymer) battery, a nickel cadmium (Ni-Cd) battery, a nickel hydrogen (Ni-MH) battery, and the like, but is not limited thereto.
  • the BMS 14 may control the operation of the switching unit 16 to control charging and discharging of the cell module 12.
  • the BMS 14 may monitor the voltage, current, temperature, etc. of each battery cell included in the cell module 12 and/or the cell module 12.
  • a sensor or various measurement modules may be additionally installed at an arbitrary location such as the cell module 12, the charge/discharge path, or the cell module 12.
  • the BMS 14 may calculate a parameter indicating the state of the cell module 12, for example, SOC or SOH, based on measured values such as voltage, current, and temperature monitored.
  • the BMS 14 controls and manages the overall operation of the battery module 10.
  • the BMS 14 may include various configurations such as a microcomputer as a controller that executes a program and controls the overall operation of the BMS 14, an input/output device such as a sensor or a measuring means, and other peripheral circuits.
  • the BMS 14 is capable of wireless communication with the master BMS 20, and can transmit various monitored measured values such as voltage, current, and temperature, or calculated values such as SOC or SOH, to the master BMS 20.
  • the BMS 14 determines a work schedule, which is an execution order of tasks to be performed in consideration of various conditions.
  • various conditions may include priority and execution time of tasks, communication time required to transmit data to the master BMS 20 or other BMS, communication priority between other BMSs, and the like. Determination of the work schedule and its change will be discussed in detail below.
  • the switching unit 16 is a semiconductor switching device for controlling current flow for charging or discharging of the cell module 12, and, for example, at least one MOSFET may be used.
  • the battery module 10 may be provided in the form of a plurality of battery packs 1 according to the specifications of the device to be mounted.
  • the battery pack 1 may include a master BMS 20 that controls and manages the battery module 10.
  • the master BMS 20 may receive various data from the BMS 14 included in each battery module 10.
  • the master BMS 20 may transmit a signal for controlling them to the BMS 14 included in each battery module 10.
  • the master BMS 20 may not have a battery module 10 separately managed.
  • the master BMS 20 may be one of the BMSs 14 included in the plurality of battery modules 10, respectively, serving as a master communication device.
  • the master BMS 20 may be communicatively connected with an external host controller 2. That is, the master BMS 20 of the battery pack 1 transmits various data on the battery pack 1 to the host controller 2, and a control signal related to the operation of the battery pack 1 from the host controller 2 Can be received.
  • the host controller 2 may be a vehicle controller for controlling the operation of the vehicle when the battery pack 1 is mounted on the electric vehicle.
  • FIG. 2 is a block diagram of a battery pack including a battery management system according to an embodiment of the present invention.
  • a plurality of battery modules 10-1 to 10-N where N is an integer greater than or equal to 1, and a master BMS 20 for controlling and managing them are included in the battery pack 1.
  • Each of the plurality of battery modules 10-1 to 10-N includes a corresponding BMS 14-1 to 14-N.
  • the master BMS 20 and each of the BMSs 14-1 to 14-N communicate wirelessly with each other.
  • the master BMS 20 is a battery module controller and may be responsible for communication with the host controller 2. However, in the case of a small system without a host controller, the master BMS 20 may be operated in an independent form without a host controller.
  • the master BMS 20 performs various tasks that the BMS needs to perform by using various information that can be obtained from sensors such as the current voltage, temperature, and humidity of the battery pack 1 or the battery module 10.
  • Various tasks may include an operation of acquiring various types of information from a sensor.
  • BMS(14-1 ⁇ 14-N) is a cell module controller that performs voltage measurement, module voltage measurement, temperature measurement, humidity measurement, resistance measurement, etc. for the cell module 12. It converts the information provided from the sensor by measurement to fit the battery system and transmits it to the master BMS 20, which is an upper control circuit.
  • the BMS 14-1 to 14-N may perform the corresponding operation according to a command for performing various operations such as cell balancing transmitted from the master BMS 20 or the host controller 2.
  • IDLE time occurs in individual nodes due to reasons such as waiting for communication.
  • each node, BMS (14-1 to 14-N) and master BMS (20) cannot efficiently utilize their own resources, and there is a possibility that the work efficiency is lower than when the execution time of tasks is not synchronized. .
  • all tasks that could be processed may not be processed within a predetermined period.
  • the operation method of the microprocessor takes a sequential operation method according to the priority between tasks. If this order is determined at design time, it is not modified in Runtime. And in the final determined work schedule, an idle time occurs. Due to the performance of the microprocessor, when tasks are sequentially performed without synchronization of tasks, all tasks can be performed within a predetermined time. However, when performing tasks by synchronization, there are cases in which all tasks cannot be performed within a predetermined time.
  • Embodiments of the present invention have been made in view of this situation.
  • FIG. 3 is a functional block diagram showing the configuration of a battery management system according to an embodiment of the present invention.
  • the BMS 100 includes a communication unit 110, a storage unit 120, a schedule determination unit 130, a priority change unit 140, a task execution unit 150, and synchronization.
  • a unit 160 and an error calculation unit 170 may be included.
  • the BMS 100 may be a slave node BMS 14 or a master node master BMS 20.
  • both the slave BMS 14 and the master BMS 20 are collectively referred to as the BMS 100.
  • the communication unit 110 transmits and receives data and various signals to and from other BMS 100. That is, the communication unit 110 performs a function for communication with other slave BMS 14 and master BMS 20.
  • the communication unit 110 may use various protocols such as wireless CAN communication, WIFI, Bluetooth, Zigbee, and other slave BMS 14 and master BMS 20.
  • the communication unit 110 transmits the task list to be performed by itself to the other slave BMS 14 and the master BMS 20, the execution time of each task included in the task list, the execution period, and the task priority, and the task time table between them. You can share.
  • the communication unit 110 may share a communication priority table indicating communication priorities between the other slave BMS 14 and the master BMS 20. That is, the communication unit 110 may transmit data related to the task time table and the communication priority table to the other BMS 100. Likewise, the communication unit 110 may receive data on a task time table and a communication priority table from another BMS 100.
  • the communication unit 110 may transmit the result of the task performed by itself to the master BMS 20 or the like. In this case, when the priority of the task and the task schedule according to the task priority change by the priority changer 140 when performing the task, the change may be transmitted to another BMS 100 to share the change. Likewise, the communication unit 110 may receive a change in the priority of the task and the task schedule from the other BMS (100).
  • the communication unit 110 may transmit signals and data in a multicast or broadcast method.
  • the communication unit 110 may transmit the work schedule adjusted by the schedule determination unit 130 to another BMS 100 in a multicast or broadcast manner.
  • the communication unit 110 may perform communication for sharing a task time table and a communication priority table when a certain condition is satisfied. For example, when a system of a device equipped with the battery pack 1 wakes up, communication for sharing a task time table and a communication priority table may be performed. If the device in which the battery pack 1 is mounted is an electric vehicle, the above condition may be the case of starting the engine. Alternatively, the communication unit 110 may periodically perform communication for sharing the task time table and the communication priority table.
  • the communication unit 110 may receive a task execution start signal and a completion signal for synchronization when performing a task with other BMSs 100.
  • the storage unit 120 stores various programs required for the operation of the BMS 100 and various data generated during the operation of the BMS 100.
  • the storage unit 120 stores a task time table including a task list performed by each of the plurality of BMSs 100 in the battery pack 1, an execution time of each task included in the task list, an execution cycle, and a task priority. I can.
  • the storage unit 120 may store a communication priority table indicating communication priorities between a plurality of BMSs 100 in the battery pack 1. Additionally, the storage unit 120 may set tasks to be performed in synchronization with the other BMS 100 in the task list.
  • the storage unit 120 when receiving the adjusted work schedule from the other BMS 100 through the communication unit 110, may update the stored contents such as the task time table and the communication priority table with the adjusted work schedule. . That is, the storage unit 120 functions as a task information storage unit.
  • the schedule determination unit 130 determines a work schedule based on data stored in the storage unit 120. Specifically, the schedule determination unit 130 determines a work schedule based on the contents of the task time table and the communication priority table, which are data stored in the task information storage unit. The schedule determination unit 130 also determines a work schedule in consideration of setting information on tasks to be performed in synchronization with the other BMS 100.
  • the task schedule means that each task is executed in what order, and when each task to be executed starts and when it ends.
  • the schedule determination unit 130 adjusts the work schedule based on the adjusted priority when the priority change occurs in some tasks by the priority change unit 140.
  • the priority change unit 140 adjusts the work priority of the task based on the work schedule determined by the schedule determination unit 130.
  • the priority change unit 140 determines the task priority of the subordinate task immediately before the waiting time.
  • the priority of the task to be performed is adjusted next.
  • the waiting time may mean a period after a specific task is performed and before the result of the corresponding task is transmitted to the other BMS 100.
  • the waiting time may mean a period in which the processor utilization rate of the corresponding BMS 100 is less than or equal to a reference value.
  • the priority change unit 140 compares the length of the waiting time among the work schedules determined by the schedule determination unit 130 with execution times of tasks performed after the waiting time.
  • the priority changer 140 may perform a comparison of the waiting time and the execution time for tasks stored in the task queue 125 to be described later. Alternatively, the priority changer 140 may compare the waiting time and the execution time based on tasks included in the entire determined work schedule.
  • the priority changing unit 140 adjusts the priority so that a task having an execution time shorter than the length of the waiting time as a result of the comparison is executed during the waiting time.
  • the priority changer 140 may adjust the priority of the task having the highest priority among the corresponding tasks.
  • the priority changer 140 may adjust the priority of a task having the longest execution period among the corresponding tasks.
  • the communication unit 110 can transmit the change to another BMS 100 to share the change. have.
  • the task execution unit 150 performs tasks to be performed by itself according to the task schedule determined by the schedule determination unit 130. When a task to be performed in synchronization with another BMS 100 is included, the task execution unit 150 performs the task synchronously. For example, for synchronization, the task execution unit 150 performs each task according to the start time calculated by the synchronization unit 160 in relation to the execution start time of each task. Accordingly, it is possible to synchronize the business execution time with the other BMS 100 performing the same task.
  • the synchronization unit 160 calculates the execution start time of a specific task by using a specific task execution start signal, a completion signal, and a task time table received from the communication unit 110. In addition, the synchronization unit 160 synchronizes the task execution time between each BMS 100 through the calculated execution start time.
  • the error calculation unit 170 calculates an error using a reception time of a start signal or a completion signal of a specific task received from the communication unit 110 and a task time table. For example, an error is calculated by using the difference between the start signal reception time and the completion signal reception time of a specific task and the execution time of a specific task on the task time table, and provides the error to the synchronization unit 160.
  • the synchronization unit 160 may reflect the calculated error.
  • the BMS 100 can efficiently utilize its own resources.
  • FIG. 4 is a functional block diagram illustrating a task scheduler 200 in a battery management system according to an embodiment of the present invention.
  • the task scheduler 200 refers to a function of determining a task schedule and adjusting priorities.
  • the task scheduler 200 may include a task time table 121, a communication priority table 123, a task queue 125, and a priority change unit 140.
  • task time table 121 a list of tasks to be performed by each BMS 100 as a communication node, their order, and execution time and (if necessary) communication time of each task, and execution The cycle is saved.
  • the communication priority table 123 stores communication priorities between the BMSs 100 performing the corresponding task in relation to a task requiring communication.
  • the communication priority may be information allocated by the master BMS 20 when each node first joins the wireless communication network.
  • the task scheduler Based on the task time table 121 and the communication priority table 123, the task scheduler knows in advance a list of tasks to be performed by each BMS 100 as a communication node, their order, and execution timing. At this time, the priority and order of execution of the task are determined, and the execution time is almost constant. In addition, tasks generally have a structure that is repeatedly performed at a specific time (period).
  • the task queue 125 identifies a task to be performed based on the work schedule determined by the schedule determination unit 130 by using information held by the work scheduler. Then, the tasks to be performed are sequentially called and stored in the task queue 125.
  • the priority change unit 140 may adjust the priority of the task according to a predetermined criterion.
  • the priority change unit 140 may adjust the priority itself recorded in the task time table.
  • the priority changer 140 may change the order of tasks in the task queue 125 by adjusting the priority of tasks among tasks included in the task queue 125 based on the determined task schedule. That is, among tasks excluding a task having the highest priority (a task currently being executed) among tasks included in the task queue 125, the priority of a task having an execution time shorter than the waiting time may be changed.
  • the priority change unit 140 may change the priority of the task to the original priority again.
  • FIG. 5 is a flowchart showing the operation of the battery management system according to an embodiment of the present invention.
  • the BMS 100 shares a task time table and a communication priority table with other BMSs (S10). That is, data necessary for creating a task time table and a communication priority table are transmitted and received to another BMS 100 through the communication unit 110.
  • the BMS 100 updates the task time table and the communication priority table by including the task time table and the communication priority table received from another BMS (S11). That is, the BMS 100 generates a final task time table 121 and a communication priority table 123 in consideration of both data of itself and other BMSs. That is, in the storage unit 120 of the BMS 100, a list of tasks performed by each of the plurality of BMSs 100, the execution time of each task included in the task list, execution period and task priority, and a plurality of BMSs ( Communication priorities between 100) may be stored in the form of a task time table 121 and a communication priority table 123.
  • a work schedule is determined based on the updated tables (S12). That is, the work schedule is determined based on the data stored in the storage unit 120.
  • FIG. 6 and 7 illustrate a task time table 121 and a communication priority table 123 according to an embodiment of the present invention stored in the storage unit 120 based on the method described with reference to FIG. 5.
  • a master BMS 20 as a master node and BMS 14-1 to 14-3 as slave nodes are included as communication nodes in a wireless communication network.
  • the task time table 121 may include a task list of each node, a priority among tasks included in the task list, execution time and communication time of each task, and the like.
  • the total execution time which is the sum of the work execution time and the total communication time, and the period of each task may be included.
  • the communication priority table 123 may include, for each task, communication priority between the BMSs 100 performing the corresponding task in relation to a task requiring communication.
  • the master BMS 20 performs tasks A, B, and C
  • BMS#1 14-1 performs tasks A, B, and E
  • BMS#2 (14-2) performs tasks A, B, and D
  • BMS#3 (14-3) performs tasks A, E, and F.
  • FIG. 8 is a flowchart illustrating a task scheduling operation of the battery management system according to an embodiment of the present invention.
  • a task schedule is determined by the schedule determination unit 130. Further, the tasks to be performed are sequentially stored in the task queue 125 based on the determined work schedule (S20).
  • the task priority of the task is adjusted, and the task schedule is adjusted according to the adjusted task priority.
  • 9 is a timing diagram illustrating an operation sequence of a task based on the task time table 121 and the communication priority table 123 according to FIGS. 6 and 7.
  • 9 may be a schematic diagram of a state of a task queue while including a communication time and a waiting period between tasks.
  • a to F indicate a period in which each task is performed.
  • 1 to 3 denote a communication period in which each node transmits data to the master BMS 20, and Chinese character'up' denotes a communication period in which the master BMS 20 transmits data to the host controller 2. Hatching marks indicate waiting time.
  • the master BMS 20 performs task A in synchronization with other nodes for 0 to 30 ms. Thereafter, for 30 to 45 ms, data such as result information for task A are sequentially received from BMS#1 (14-1) to BMS#3. In addition, finally, the master BMS 20 transmits the data for task A to the host controller for 45 to 50 ms. Likewise, the master BMS 20 sequentially performs execution and communication for task B, and is in a standby state for 80 to 100 ms after task C is executed.
  • BMS#1(14-1) performs task A in synchronization with other nodes for 0 ⁇ 30ms. After that, data such as result information for task A is transmitted to the master BMS 20 for 30 to 35 ms. It enters the standby state for 35 ⁇ 50ms, and executes Task B in synchronization for 50 ⁇ 60ms again. After task B is performed, data such as result information for task C is transmitted to the master BMS 20 for 60 to 65 ms. Finally, task E is executed for 65 ⁇ 85ms, and it is in a standby state for the rest of the period.
  • BMS#2(14-2) performs task A in synchronization with other nodes for 0 ⁇ 30ms. After that, it becomes a standby state for 30 ⁇ 35ms, and data such as result information for task A is transmitted to the master BMS 20 for 35 ⁇ 40ms. It becomes the standby state again for 40 ⁇ 50ms, and executes task B synchronously for 50 ⁇ 60ms. After task B is executed, it becomes a standby state for 60 ⁇ 65ms, and data such as result information for task C is transmitted to the master BMS 20 for 65 ⁇ 70ms. Finally, Task D is executed for 70 ⁇ 75ms, and it is in a standby state for the rest of the period.
  • BMS#3(14-3) also performs task A in synchronization with other nodes for 0 ⁇ 30ms. After that, it becomes a standby state for 30 ⁇ 40ms, and data such as result information for task A is transmitted to the master BMS 20 for 40 ⁇ 45ms. Since BMS#3(14-3) does not include task B, it executes task E for 45 ⁇ 65ms, and then executes task F for 65 ⁇ 80ms. Finally, it is in a standby state for the rest of the period, 80 ⁇ 100ms.
  • FIG. 10 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the battery management system according to an embodiment of the present invention.
  • the task D of BMS#2 14-2 does not need to be performed in synchronization with other nodes.
  • BMS#2 (14-2) has a waiting time between 30 and 35 ms, as can be seen in FIG. 9.
  • the priority may be adjusted to precede the priority of task B so that task D can be performed at a waiting time between 30 and 35 ms.
  • the priority of task D in the task queue may be temporarily adjusted to precede the priority of task B, and the priority may be readjusted back to its original state after completion of the tasks.
  • the table itself may be updated so that the priority of task D is prior to the priority of task B in the task time table 121.
  • 11 and 12 are diagrams illustrating a task time table 121 and a communication priority table 123 according to another embodiment of the present invention.
  • all nodes include both task A and task B, and are set to perform them in synchronization.
  • the master BMS 20 performs tasks A, B, and C
  • BMS#1 14-1 performs tasks A, B, F, G, and H
  • BMS#2 (14-2) and BMS#3 (14-3) perform tasks A, B, D, and E, respectively.
  • FIG. 13 is a timing diagram illustrating an operation sequence of a task according to FIGS. 11 and 12.
  • BMS#1 (14-1) and BMS#3 (14-3) do not complete all tasks within a predetermined period (for example, a period of 100 ms). That is, task H and task E exceed 100ms and are terminated. This is a situation in which an error has occurred in the battery system, and conventionally, some tasks have to be removed to solve this problem. Alternatively, in order to solve this problem, the task time table 121 and the communication priority table 123 had to be completely modified.
  • FIG. 14 is a flowchart illustrating a method of changing a priority according to an embodiment of the present invention. This operation corresponds to the detailed operation of the priority change described in S22 of FIG. 8.
  • a waiting time on a determined work schedule is calculated (S100). This may be a portion indicated by hatching in FIG. 13. Then, the waiting time and the execution time of the tasks in the task queue are compared (S101).
  • the task priority of the subordinate task can be adjusted to the next priority of the task executed immediately before the waiting time.
  • 15 is a flowchart illustrating an example of a method of changing a priority according to an embodiment of the present invention. This operation corresponds to the detailed operation of the priority change described in S103 of FIG. 15.
  • 16 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 15.
  • the BMS#1 (14-1) has a shorter execution time than the 15ms long waiting time for tasks F, G, and H for 45 to 60ms. And task F has the highest priority. Therefore, first, adjust the priority so that task F can be executed in the waiting time of 45 ⁇ 50ms. After that, the waiting time of 10ms length for 50 ⁇ 60ms remains, and since task H has 10ms execution time, the priority is adjusted so that task H can be executed during the waiting time.
  • Task G can perform the task for a period of time between 75 and 90 ms with a schedule that is 5 ms ahead of the previous one.
  • task priority is first adjusted so that task D with high priority can be executed during waiting time of 40 ⁇ 50ms, and task E will be executed during waiting time of 70 ⁇ 80ms. Task priorities are adjusted to ensure that.
  • BMS#2 (14-2) can process all tasks within a predetermined time, but can adjust the task priority of task D for efficient operation of the microprocessor. However, in the case of Task E, only the work schedule is adjusted. That is, in the case of task E, the task priority is not adjusted, only the start and end timings are adjusted.
  • the priority of the task can be adjusted.
  • 17 is a flowchart illustrating another example of a method of changing a priority according to an embodiment of the present invention. This operation corresponds to another detailed operation of the priority change described in S103 of FIG. 15.
  • 18 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 17.
  • S300 and S302 are the same as S200 and S202 of FIG. 15.
  • the priority of the task having the longest execution period among the corresponding tasks is adjusted (S201).
  • the BMS#1 (14-1) has an execution time shorter than the 15ms long waiting time for tasks F, G, and H for 45 to 60ms.
  • task G has the longest execution time. Therefore, first, adjust the priority so that task G can be executed in the waiting time of 45 ⁇ 50ms. After that, the waiting time for 80 ⁇ 95ms, which is the time that the original task G executes the task, remains, and the task schedule is adjusted so that the task H can be executed for 80 ⁇ 90ms.
  • Task H task priorities are not adjusted, only start and end timings are adjusted.
  • 19 is a diagram illustrating a task time table according to another embodiment.
  • the master BMS 20 performs tasks A, B, and C
  • BMS#1 14-1 performs tasks A, B, F, and G
  • BMS#2 (14-2) and BMS#3 (14-3) perform tasks A, B, D, and E, respectively.
  • the communication priority is as shown in FIG. 12.
  • FIGS. 19 and 12 are timing diagrams illustrating an operation sequence of a task according to FIGS. 19 and 12.
  • BMS#1 (14-1) and BMS#3 (14-3) do not complete all tasks within a predetermined period (for example, a period of 100 ms). That is, task G and task E exceed 100 ms and are terminated. This is a situation in which an error has occurred in the battery system, and conventionally, some tasks have to be removed to solve this problem. Alternatively, in order to solve this problem, the task time table 121 and the communication priority table 123 had to be completely modified.
  • 21 is a flowchart illustrating a method of changing a priority according to another embodiment of the present invention. This operation corresponds to another detailed operation of the priority change described in S22 of FIG. 8.
  • the operations of S400 to S403 are the same as the operations of S100 to S103 of FIG. 14. That is, if all tasks can be processed within a period, the task is executed according to the determined work schedule. In addition, if all tasks cannot be processed within a period, and if there is a task having an execution time shorter than the waiting time, the priority of the task is adjusted so that all tasks can be processed within the period.
  • FIG. 22 is a flowchart illustrating an example of a method of changing the priority order in FIG. 21.
  • the task is divided into a plurality of subtasks.
  • the execution period of the at least one sub-task is set to be less than or equal to the waiting time (S501).
  • the priority of the divided subtasks is changed to have an execution time less than the waiting time (S502). Therefore, by performing the subtask during the waiting time, all tasks can be processed within a predetermined period.
  • FIG. 23 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 22.
  • the BMS#1 (14-1) is executed after the waiting time, and it is possible to divide the task F among tasks F and G that do not need to be executed synchronously.
  • This task F can be divided into two subtasks f1 and f2.
  • both f1 and f2 have an execution time less than or equal to the waiting time, but only at least one subtask may have an execution time less than or equal to the waiting time.
  • at least one subtask may be divided to have an execution time of the same length as the waiting time.
  • the subtask f1 is divided to have an execution time of 15ms so that it can be executed during 45 ⁇ 60ms, which is the waiting time of BMS#1 (14-1).
  • subtask f2 with an execution time of 5ms is created.
  • the priority of subtask f1 is adjusted so that it can be executed before task B, so the task is executed during the waiting time of 45 ⁇ 60ms.
  • tasks having a length exceeding the predetermined time can be performed during the waiting time, so that all tasks can be performed within the predetermined time.
  • FIG. 24 is a hardware configuration diagram of a battery management system according to an embodiment of the present invention.
  • the BMS 400 may include a controller (MCU) 410, a memory 420, an input/output interface 430, and a communication interface 440.
  • MCU controller
  • the BMS 400 may include a controller (MCU) 410, a memory 420, an input/output interface 430, and a communication interface 440.
  • the MCU 410 controls processing and each configuration of various operations and operations in the BMS 400.
  • the memory 420 stores an operating system program and a program for performing the functions of the BMS 400.
  • the memory 420 may include volatile memory and nonvolatile memory.
  • the memory 420 may be at least one of various storage media such as a semiconductor memory such as RAM, ROM, and flash memory, a magnetic disk, and an optical disk.
  • the input/output interface 430 performs input/output of various input signals and output signals.
  • the MCU 410 may output a control signal for a switching operation of the switching element through the input/output interface 430.
  • the communication interface 440 is a component capable of communicating with the outside through wired and/or wireless.
  • the MCU 410 executes a program stored in the memory 420 so that the schedule determination unit 130, the priority change unit 140, the task execution unit 150, the synchronization unit 160, and the error calculation unit 170 You will be able to implement a module that performs a function.
  • the MCU 410 may perform the function of the communication unit 110 in cooperation with the communication interface 440.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Chemical & Material Sciences (AREA)
  • Electrochemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A battery management system according to the present disclosure corresponds to a system for performing an individually configured task by each of multiple battery management systems, and transmitting a result of the performed task to a master battery management system via wireless communication. The battery management system comprises: a task information storage unit including a list of tasks performed by multiple battery management systems, a performance time of each task included in the list of tasks, a performance period and work priorities, and communication priorities between the multiple battery management systems; a schedule determination unit for determining a work schedule on the basis of data stored in the task information storage unit; and a priority change unit for adjusting work priorities of a task on the basis of the work schedule determined by the schedule determination unit, wherein the schedule determination unit adjusts the work schedule according the adjusted work priorities. The present disclosure enables effective use of limited resources by providing the battery management system.

Description

배터리 관리 시스템 및 그 제어방법Battery management system and control method thereof
관련출원과의 상호인용Mutual citation with related applications
본 발명은 2019.11.19.에 출원된 한국 특허 출원 제10-2019-0148979호에 기초한 우선권의 이익을 주장하며, 해당 한국 특허 출원의 문헌에 개시된 모든 내용을 본 명세서의 일부로서 포함한다.The present invention claims the benefit of priority based on Korean Patent Application No. 10-2019-0148979 filed on November 19, 2019, and includes all the contents disclosed in the documents of the Korean patent application as part of this specification.
기술분야Technical field
본 발명의 실시예들은 배터리 관리 시스템 및 그 제어방법에 관한 것이다.Embodiments of the present invention relate to a battery management system and a control method thereof.
스마트폰, 태블릿 등과 같은 휴대용 전자기기의 범용화와 함께, 전기 자동차 및 에너지 저장 장치의 보급에 수반하여 충방전이 가능한 이차 전지에 대한 연구 개발이 활발히 이루어지고 있다. 이차 전지 중 특히 리튬이온 전지는 종래의 Ni/Cd 전지, Ni/MH 전지 등에 비하여 에너지 밀도가 훨씬 높다는 장점이 있다, 또한, 리튬이온 전지는 소형, 경량으로 제작할 수 있어서, 이동 기기의 전원으로 사용된다. 또한, 리튬이온 전지는 전기 자동차의 전원으로 사용 범위가 확장되어 차세대 에너지 저장 매체로 주목을 받고 있다.Along with the generalization of portable electronic devices such as smartphones and tablets, research and development on secondary batteries capable of charging and discharging are being actively conducted with the spread of electric vehicles and energy storage devices. Among secondary batteries, lithium-ion batteries in particular have the advantage of having a much higher energy density compared to conventional Ni/Cd batteries and Ni/MH batteries.In addition, lithium-ion batteries can be manufactured in a small size and light weight, so they can be used as power sources for mobile devices. do. In addition, lithium-ion batteries are attracting attention as a next-generation energy storage medium as the range of use of lithium-ion batteries has been expanded as a power source for electric vehicles.
리튬이온 전지와 같은 이차 전지는 복수의 배터리 셀들이 직렬 및/또는 병렬로 연결된 셀 모듈과, 이러한 셀 모듈의 충방전을 제어하는 배터리 관리 시스템(BMS, Battery Management System)을 포함하는 배터리 모듈 형태로 이용된다. 또한, 배터리가 장착되는 대상이 요구하는 출력 사양에 따라서 복수의 배터리 모듈이 결합된 배터리 팩으로서 이용될 수 있다. 그리고 배터리 팩 전체를 관리하기 위한 배터리 관리 시스템이 마스터 배터리 관리 시스템으로서 추가로 구비되기도 한다.A secondary battery such as a lithium-ion battery is in the form of a battery module including a cell module in which a plurality of battery cells are connected in series and/or parallel, and a battery management system (BMS) that controls the charging and discharging of the cell module. Is used. In addition, a plurality of battery modules may be used as a combined battery pack according to an output specification required by an object to which the battery is mounted. In addition, a battery management system for managing the entire battery pack may be additionally provided as a master battery management system.
복수 개의 배터리 모듈들로 구성되는 배터리 시스템에는 마스터 배터리 관리 시스템과 복수 개의 슬레이브 배터리 관리 시스템을 포함할 수 있다. 마스터 배터리 관리 시스템은 복수 개의 슬레이브 배터리 관리 시스템들의 동작을 제어 및 관리할 수 있으며, 상위 시스템과 통신할 수 있다. 이러한 마스터 배터리 관리 시스템과 복수 개의 슬레이브 배터리 관리 시스템은 무선으로 신호를 송수신한다. 따라서 배터리 관리 시스템 간의 무선 통신을 효율적이면서도 안정적으로 수행하기 위한 많은 연구도 필요한 실정이다.A battery system composed of a plurality of battery modules may include a master battery management system and a plurality of slave battery management systems. The master battery management system may control and manage the operation of a plurality of slave battery management systems, and may communicate with an upper system. The master battery management system and the plurality of slave battery management systems wirelessly transmit and receive signals. Therefore, a lot of research is also needed to efficiently and stably perform wireless communication between battery management systems.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 복수의 배터리 관리 시스템이 무선 통신하는 배터리 시스템에서 각 배터리 관리 시스템이 한정된 자원을 효율적으로 사용할 수 있는 방법을 제공하는 것을 목적으로 한다.The present invention has been made in view of such a situation, and an object of the present invention is to provide a method in which each battery management system can efficiently use limited resources in a battery system in which a plurality of battery management systems communicate wirelessly.
상기와 같은 기술적 과제를 해결하기 위하여, 본 개시의 실시예들의 일 측면에 의하면, 복수의 배터리 관리 시스템들 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 배터리 관리 시스템에 송신하는 시스템에 있어서의 배터리 관리 시스템으로서, 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 포함하는 태스크 정보 저장부; 태스크 정보 저장부에 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 스케쥴 결정부; 및 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 우선순위 변경부;를 포함하고, 스케쥴 결정부는 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 배터리 관리 시스템을 제공한다.In order to solve the above technical problem, according to an aspect of the embodiments of the present disclosure, each of a plurality of battery management systems performs individually set tasks, and the performed task result is transmitted to the master battery management system through wireless communication. As a battery management system in a transmitting system, a task list performed by each of a plurality of battery management systems, execution time, execution cycle and task priority of each task included in the task list, and between a plurality of battery management systems Task information storage unit including the communication priority of the; A schedule determination unit that determines a work schedule based on data stored in the task information storage unit; And a priority change unit that adjusts the work priority of the task based on the work schedule determined by the schedule determination unit, wherein the schedule determination unit provides a battery management system that adjusts the work schedule according to the adjusted work priority. .
상기와 같은 기술적 과제를 해결하기 위하여, 본 개시의 실시예들의 다른 측면에 의하면, 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 저장하는 단계; 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 단계; 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 단계; 및 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 단계;를 포함하는 배터리 관리 시스템의 제어방법을 제공한다.In order to solve the above technical problem, according to another aspect of the embodiments of the present disclosure, a task list performed by each of a plurality of battery management systems, execution time of each task included in the task list, execution cycle and task priority Storing the priority and communication priority between the plurality of battery management systems; Determining a work schedule based on the stored data; Adjusting the task priority of the task based on the determined task schedule; And adjusting the work schedule according to the adjusted work priority.
이상과 같은 배터리 관리 시스템 및 그 제어방법에 따르면 한정된 자원을 효율적으로 사용할 수 있게 된다. 또한, 마이컴 등의 하드웨어 변경 없이도, 기존에는 수행하지 못한 태스크를 수행할 수 있게 된다.According to the battery management system and a control method thereof as described above, it is possible to efficiently use limited resources. In addition, tasks that have not been previously performed can be performed without changing hardware such as a microcomputer.
도 1은 본 발명의 일 실시예에 따른 배터리 시스템을 개략적으로 나타낸 구성도이다.1 is a block diagram schematically showing a battery system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 배터리 관리 시스템이 포함된 배터리 팩의 구성도이다.2 is a block diagram of a battery pack including a battery management system according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 구성을 나타내는 기능 블록도이다.3 is a functional block diagram showing the configuration of a battery management system according to an embodiment of the present invention.
도 4는 본 발명이 일 실시예에 따른 배터리 관리 시스템 중 업무 스케쥴러를 나타내는 기능 블록도이다.4 is a functional block diagram illustrating a task scheduler in a battery management system according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 동작을 나타내는 흐름도이다.5 is a flowchart showing the operation of the battery management system according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.6 is a diagram illustrating a task time table according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 통신 우선순위 테이블을 나타내는 도면이다.7 is a diagram illustrating a communication priority table according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 업무 스케쥴링 동작을 나타내는 흐름도이다.8 is a flowchart illustrating a task scheduling operation of the battery management system according to an embodiment of the present invention.
도 9는 도 6 및 도 7에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.9 is a timing diagram illustrating an operation sequence of a task according to FIGS. 6 and 7.
도 10은 본 발명의 일 실시예에 따른 배터리 관리 시스템에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.10 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the battery management system according to an embodiment of the present invention.
도 11은 본 발명의 다른 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.11 is a diagram illustrating a task time table according to another embodiment of the present invention.
도 12는 본 발명의 다른 실시예에 따른 통신 우선순위 테이블을 나타내는 도면이다.12 is a diagram illustrating a communication priority table according to another embodiment of the present invention.
도 13은 도 11 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.13 is a timing diagram illustrating an operation sequence of a task according to FIGS. 11 and 12.
도 14는 본 발명의 일 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다.14 is a flowchart illustrating a method of changing a priority according to an embodiment of the present invention.
도 15는 본 발명의 일 실시예에 따른 우선순위 변경 방법의 일 예를 나타내는 흐름도이다.15 is a flowchart illustrating an example of a method of changing a priority according to an embodiment of the present invention.
도 16은 도 15에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.16 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 15.
도 17은 본 발명의 일 실시예에 따른 우선순위 변경 방법의 다른 예를 나타내는 흐름도이다.17 is a flowchart illustrating another example of a method of changing a priority according to an embodiment of the present invention.
도 18은 도 17에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.18 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 17.
도 19는 또 다른 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.19 is a diagram illustrating a task time table according to another embodiment.
도 20은 도 19 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.20 is a timing diagram illustrating an operation sequence of a task according to FIGS. 19 and 12.
도 21은 본 발명의 다른 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다.21 is a flowchart illustrating a method of changing a priority according to another embodiment of the present invention.
도 22는 도 21에 있어서 우선순위 변경 방법의 예를 나타내는 흐름도이다.22 is a flowchart illustrating an example of a method of changing the priority order in FIG. 21.
도 23은 도 22에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.FIG. 23 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 22.
도 24는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 하드웨어 구성도이다.24 is a hardware configuration diagram of a battery management system according to an embodiment of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 다양한 실시 예들에 대해 상세히 설명하고자 한다. 본 문서에서 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this document, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
본 문서에 개시되어 있는 본 발명의 다양한 실시 예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 다양한 실시 예들은 여러 가지 형태로 실시될 수 있으며 본 문서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.For the various embodiments of the present invention disclosed in this document, specific structural or functional descriptions have been exemplified only for the purpose of describing the embodiments of the present invention, and various embodiments of the present invention may be implemented in various forms. And should not be construed as being limited to the embodiments described in this document.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성 요소들을 한정하지 않는다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성 요소로 바꾸어 명명될 수 있다.Expressions such as "first", "second", "first", or "second" used in various embodiments may modify various elements regardless of their order and/or importance, and the corresponding elements Not limited. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may be renamed to a first component.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.Terms used in this document are only used to describe a specific embodiment, and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly indicates otherwise.
도 1은 본 발명의 일 실시예에 따른 배터리 시스템을 개략적으로 나타낸 구성도이다.1 is a block diagram schematically showing a battery system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 배터리 시스템은 복수의 배터리 셀을 포함하는 셀 모듈(12), 배터리 관리 시스템(Battery Management System, 이하 'BMS'라고 함)(14), 스위칭부(16)를 포함하는 배터리 모듈(10)과 배터리 모듈(10)을 제어 및 관리하는 마스터 BMS(20)를 포함할 수 있다.Referring to FIG. 1, the battery system according to the present invention includes a cell module 12 including a plurality of battery cells, a battery management system (hereinafter referred to as'BMS') 14, and a switching unit 16. It may include a battery module 10 including a and a master BMS 20 for controlling and managing the battery module 10.
셀 모듈(12)은 충방전 가능한 하나 이상의 배터리 셀을 포함한다. 배터리 셀은 리튬 이온(Li-ion) 전지, 리튬 이온 폴리머(Li-ion polymer) 전지, 니켈 카드뮴(Ni-Cd) 전지, 니켈 수소(Ni-MH) 전지 등일 수 있으며, 이에 한정되지 않는다.The cell module 12 includes one or more battery cells capable of being charged and discharged. The battery cell may be a lithium ion (Li-ion) battery, a lithium ion polymer (Li-ion polymer) battery, a nickel cadmium (Ni-Cd) battery, a nickel hydrogen (Ni-MH) battery, and the like, but is not limited thereto.
BMS(14)는, 셀 모듈(12)의 충방전을 제어하기 위하여 스위칭부(16)의 동작을 제어할 수 있다. 또한, BMS(14)는 셀 모듈(12) 및/또는 셀 모듈(12)에 포함된 각 배터리 셀의 전압, 전류, 온도 등을 모니터링 할 수 있다. 그리고 BMS(14)에 의한 모니터링을 위해 도시하지 않은 센서나 각종 측정 모듈이 셀 모듈(12)이나 충방전 경로, 또는 셀 모듈(12) 등의 임의의 위치에 추가로 설치될 수 있다. BMS(14)는 모니터링 한 전압, 전류, 온도 등의 측정값에 기초하여 셀 모듈(12)의 상태를 나타내는 파라미터, 예를 들어 SOC나 SOH 등을 산출할 수 있다.The BMS 14 may control the operation of the switching unit 16 to control charging and discharging of the cell module 12. In addition, the BMS 14 may monitor the voltage, current, temperature, etc. of each battery cell included in the cell module 12 and/or the cell module 12. In addition, for monitoring by the BMS 14, a sensor or various measurement modules, not shown, may be additionally installed at an arbitrary location such as the cell module 12, the charge/discharge path, or the cell module 12. The BMS 14 may calculate a parameter indicating the state of the cell module 12, for example, SOC or SOH, based on measured values such as voltage, current, and temperature monitored.
BMS(14)는 배터리 모듈(10)의 전반적인 동작을 제어 및 관리한다. 이를 위하여 BMS(14)는 프로그램을 실행시키고 BMS(14)의 전체 동작을 제어하는 컨트롤러로서의 마이컴과, 센서나 측정 수단 등의 입출력 장치, 기타 주변 회로 등 다양한 구성을 포함할 수 있다.The BMS 14 controls and manages the overall operation of the battery module 10. To this end, the BMS 14 may include various configurations such as a microcomputer as a controller that executes a program and controls the overall operation of the BMS 14, an input/output device such as a sensor or a measuring means, and other peripheral circuits.
BMS(14)는 마스터 BMS(20)와 무선으로 통신 가능하며, 전압, 전류, 온도 등의 각종 모니터링한 측정값, 또는 SOC나 SOH 등의 산출값을 마스터 BMS(20)로 송신할 수 있다. 특히 본 발명에 따른 BMS(14)는 다양한 조건들을 고려하여 수행해야 하는 태스크들의 수행 순서인 업무 스케쥴을 결정한다. 이때, 다양한 조건에는 태스크들의 우선순위 및 수행 시간, 마스터 BMS(20)나 다른 BMS로 데이터를 송신하는데 필요로 하는 통신 시간, 다른 BMS와의 사이에서의 통신 우선순위 등을 포함할 수 있다. 업무 스케쥴의 결정 및 이의 변경에 대해서는 아래에서 자세히 살펴보도록 한다.The BMS 14 is capable of wireless communication with the master BMS 20, and can transmit various monitored measured values such as voltage, current, and temperature, or calculated values such as SOC or SOH, to the master BMS 20. In particular, the BMS 14 according to the present invention determines a work schedule, which is an execution order of tasks to be performed in consideration of various conditions. In this case, various conditions may include priority and execution time of tasks, communication time required to transmit data to the master BMS 20 or other BMS, communication priority between other BMSs, and the like. Determination of the work schedule and its change will be discussed in detail below.
스위칭부(16)는 셀 모듈(12)의 충전 또는 방전에 대한 전류 흐름을 제어하기 위한 반도체 스위칭 소자로서, 예를 들면, 적어도 하나의 MOSFET이 이용될 수 있다.The switching unit 16 is a semiconductor switching device for controlling current flow for charging or discharging of the cell module 12, and, for example, at least one MOSFET may be used.
배터리 모듈(10)은 장착되는 기기의 사양에 따라서 복수 개 포함된 배터리 팩(1)의 형태로 제공될 수 있다. 그리고 배터리 팩(1)에는 배터리 모듈(10)을 제어 및 관리하는 마스터 BMS(20)를 포함할 수 있다. 마스터 BMS(20)는 각각의 배터리 모듈(10)에 포함된 BMS(14)로부터 각종 데이터를 수신할 수 있다. 마스터 BMS(20)는 각각의 배터리 모듈(10)에 포함된 BMS(14)에 이들을 제어하기 위한 신호를 송신할 수 있다.The battery module 10 may be provided in the form of a plurality of battery packs 1 according to the specifications of the device to be mounted. In addition, the battery pack 1 may include a master BMS 20 that controls and manages the battery module 10. The master BMS 20 may receive various data from the BMS 14 included in each battery module 10. The master BMS 20 may transmit a signal for controlling them to the BMS 14 included in each battery module 10.
또한, 마스터 BMS(20)는 별도로 관리하는 배터리 모듈(10)이 없는 것일 수 있다. 또는, 마스터 BMS(20)는 복수의 배터리 모듈(10)에 각각 포함된 BMS(14) 중 어느 하나가 마스터 통신 기기로서의 역할을 수행하는 것일 수도 있다.In addition, the master BMS 20 may not have a battery module 10 separately managed. Alternatively, the master BMS 20 may be one of the BMSs 14 included in the plurality of battery modules 10, respectively, serving as a master communication device.
한편, 마스터 BMS(20)는 외부의 상위 제어기(2)와 통신 가능하게 연결될 수 있다. 즉, 배터리 팩(1)의 마스터 BMS(20)는 상위 제어기(2)로 배터리 팩(1)에 대한 각종 데이터를 송신하고, 상위 제어기(2)로부터 배터리 팩(1)의 동작에 관한 제어신호를 수신할 수 있다. 상위 제어기(2)는 배터리 팩(1)이 전기 자동차에 탑재된 경우 차량의 운행을 제어하기 위한 차량 제어기일 수 있다.Meanwhile, the master BMS 20 may be communicatively connected with an external host controller 2. That is, the master BMS 20 of the battery pack 1 transmits various data on the battery pack 1 to the host controller 2, and a control signal related to the operation of the battery pack 1 from the host controller 2 Can be received. The host controller 2 may be a vehicle controller for controlling the operation of the vehicle when the battery pack 1 is mounted on the electric vehicle.
도 2는 본 발명의 일 실시예에 따른 배터리 관리 시스템이 포함된 배터리 팩의 구성도이다.2 is a block diagram of a battery pack including a battery management system according to an embodiment of the present invention.
도 2를 참조하면, 배터리 팩(1) 내에 복수의 배터리 모듈(10-1~10-N, N은 1 이상의 정수)과 이들을 제어 및 관리하는 마스터 BMS(20)가 포함된다. 복수의 배터리 모듈(10-1~10-N) 각각은 대응하는 BMS(14-1~14-N)를 포함한다.Referring to FIG. 2, a plurality of battery modules 10-1 to 10-N, where N is an integer greater than or equal to 1, and a master BMS 20 for controlling and managing them are included in the battery pack 1. Each of the plurality of battery modules 10-1 to 10-N includes a corresponding BMS 14-1 to 14-N.
마스터 BMS(20)와 각각의 BMS(14-1~14-N)는 서로 무선으로 통신한다.The master BMS 20 and each of the BMSs 14-1 to 14-N communicate wirelessly with each other.
마스터 BMS(20)는 배터리 모듈의 제어회로(Battery Module Controller)로서, 상위 제어기(2)와의 통신을 담당할 수 있다. 다만, 상위 제어기가 없는 작은 시스템일 경우에는 상위 제어기 없이 마스터 BMS(20)가 독립된 형태로 운영될 수 있다.The master BMS 20 is a battery module controller and may be responsible for communication with the host controller 2. However, in the case of a small system without a host controller, the master BMS 20 may be operated in an independent form without a host controller.
마스터 BMS(20)는 배터리 팩(1) 또는 배터리 모듈(10)의 현재 전압, 온도, 습도 등 센서로부터 취득할 수 있는 다양한 정보를 이용하여 BMS가 수행해야 하는 각종 태스크를 수행한다. 각종 태스크에는 센서로부터 각종 정보를 취득하는 동작이 포함될 수도 있을 것이다.The master BMS 20 performs various tasks that the BMS needs to perform by using various information that can be obtained from sensors such as the current voltage, temperature, and humidity of the battery pack 1 or the battery module 10. Various tasks may include an operation of acquiring various types of information from a sensor.
BMS(14-1~14-N)는 셀 모듈 제어회로(Cell Module Controller)로서, 셀 모듈(12)에 대한 전압 측정, 모듈 전압 측정, 온도 측정, 습도 측정, 저항 측정 등을 수행하고, 각종 측정에 의해 센서에서 제공되는 정보를 배터리 시스템에 맞게 변환하여 상위 제어회로인 마스터 BMS(20)로 전송하는 역할을 수행한다.BMS(14-1~14-N) is a cell module controller that performs voltage measurement, module voltage measurement, temperature measurement, humidity measurement, resistance measurement, etc. for the cell module 12. It converts the information provided from the sensor by measurement to fit the battery system and transmits it to the master BMS 20, which is an upper control circuit.
또한 BMS(14-1~14-N)는 마스터 BMS(20)나 상위 제어기(2)로부터 송신된 셀 밸런싱 등의 다양한 동작의 수행 명령에 따라서 해당 동작을 수행할 수 있다.In addition, the BMS 14-1 to 14-N may perform the corresponding operation according to a command for performing various operations such as cell balancing transmitted from the master BMS 20 or the host controller 2.
이와 같이 시스템 내에서 무선으로 연결되어 있는 통신 노드인 BMS(14-1~14-N) 및 마스터 BMS(20)는 서로 태스크 테이블을 공유하고, 일부 태스크는 시간을 동기화시켜 수행하기도 한다. 그러나 이와 같이 태스크를 동기화시켜 수행하는 경우, 개별 노드에서는 통신 대기 등의 사유로 IDLE 타임이 발생한다. 결국, 각 노드인 BMS(14-1~14-N) 및 마스터 BMS(20)는 자신들이 가진 자원을 효율적으로 활용하지 못하고, 업무 효율성이 태스크들의 수행 시간을 동기화하지 않았을 때보다 떨어질 가능성이 있다. 또한, 태스크들의 수행 시간을 동기화하지 않았을 경우에는 모두 처리할 수 있었던 태스크들을 정해진 기간 내에 다 처리하지 못하게 될 수도 있다.As described above, the communication nodes 14-1 to 14-N and the master BMS 20, which are communication nodes wirelessly connected in the system, share a task table with each other, and some tasks may be performed by synchronizing time. However, when the task is synchronized and executed in this way, IDLE time occurs in individual nodes due to reasons such as waiting for communication. Eventually, each node, BMS (14-1 to 14-N) and master BMS (20), cannot efficiently utilize their own resources, and there is a possibility that the work efficiency is lower than when the execution time of tasks is not synchronized. . In addition, if the execution times of the tasks are not synchronized, all tasks that could be processed may not be processed within a predetermined period.
이하에서는 위와 같은 문제점을 해결하기 위하여 BMS(14-1~14-N) 및 마스터 BMS(20)에 업무 스케쥴러를 추가함으로써 업무 효율성을 재고할 수 있는 본 발명의 실시예들에 대하여 설명한다. 구체적으로는, 복수의 BMS(14-1~14-N) 및 마스터 BMS(20) 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 BMS(20)에 송신하는 시스템에 있어서의 BMS(14-1~14-N) 및 마스터 BMS(20)의 구성 및 동작에 대해서 설명한다.Hereinafter, embodiments of the present invention capable of reconsidering work efficiency by adding a work scheduler to the BMS 14-1 to 14-N and the master BMS 20 will be described in order to solve the above problems. Specifically, a plurality of BMSs (14-1 to 14-N) and each of the master BMS 20 perform individually set tasks, and transmit the result of the performed task to the master BMS 20 through wireless communication. The configuration and operation of the BMS 14-1 to 14-N and the master BMS 20 will be described.
무선 네트워크 프로토콜을 설계할 때에는, 해당 프로토콜을 사용하는 시스템의 태스크들이 이미 정해져 있다. 또한, 임베디드 시스템의 특성상, 정해져 있는 모든 태스크들은 정해진 시간 안에 수행되어야 하며, 정해진 최대 시간을 넘지 않아야 한다.When designing a wireless network protocol, the tasks of a system using that protocol are already defined. In addition, due to the nature of the embedded system, all tasks that are set must be performed within a set time and must not exceed the set maximum time.
또한, 마이크로 프로세서(MCU 등)의 동작 방식은 태스크들 간의 우선순위에 따른 순차 동작 방식을 취하게 된다. 이러한 순서는 설계 시에 결정되면 Runtime에는 수정되지 않는다. 그리고 최종 결정된 업무 스케쥴에서는 대기 시간(idle time)이 발생하게 된다. 마이크로 프로세서의 성능상 태스크의 동기화 없이 태스크들을 순차 수행하였을 경우에는 정해진 시간 내에 태스크들을 모두 수행 가능하였으나, 동기화하여 태스크를 수행하는 경우에는 정해진 시간 내에 태스크들을 모두 수행하지 못하게 되는 경우도 발생하게 된다.In addition, the operation method of the microprocessor (MCU, etc.) takes a sequential operation method according to the priority between tasks. If this order is determined at design time, it is not modified in Runtime. And in the final determined work schedule, an idle time occurs. Due to the performance of the microprocessor, when tasks are sequentially performed without synchronization of tasks, all tasks can be performed within a predetermined time. However, when performing tasks by synchronization, there are cases in which all tasks cannot be performed within a predetermined time.
본 발명의 실시예들은 이러한 상황을 감안하여 이루어진 것이다.Embodiments of the present invention have been made in view of this situation.
도 3은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 구성을 나타내는 기능 블록도이다.3 is a functional block diagram showing the configuration of a battery management system according to an embodiment of the present invention.
도 3을 참조하면, 본 실시예에 따른 BMS(100)는 통신부(110), 저장부(120), 스케쥴 결정부(130), 우선순위 변경부(140), 업무 수행부(150), 동기화부(160) 및 오차 산출부(170)를 포함할 수 있다. 여기서의 BMS(100)는 슬레이브 노드인 BMS(14) 또는 마스터 노드인 마스터 BMS(20)일 수 있다. 이하에서는 슬레이브인 BMS(14) 및 마스터 BMS(20)를 모두 총괄하여 BMS(100)라고 지칭하기도 한다.3, the BMS 100 according to this embodiment includes a communication unit 110, a storage unit 120, a schedule determination unit 130, a priority change unit 140, a task execution unit 150, and synchronization. A unit 160 and an error calculation unit 170 may be included. Here, the BMS 100 may be a slave node BMS 14 or a master node master BMS 20. Hereinafter, both the slave BMS 14 and the master BMS 20 are collectively referred to as the BMS 100.
통신부(110)는 다른 BMS(100)와 데이터 및 각종 신호를 송수신한다. 즉, 통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)와 통신을 위한 기능을 수행한다. 통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)와 무선 CAN 통신, WIFI, 블루투스, Zigbee 등 각종 프로토콜이 사용될 수 있을 것이다.The communication unit 110 transmits and receives data and various signals to and from other BMS 100. That is, the communication unit 110 performs a function for communication with other slave BMS 14 and master BMS 20. The communication unit 110 may use various protocols such as wireless CAN communication, WIFI, Bluetooth, Zigbee, and other slave BMS 14 and master BMS 20.
통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)에 자신이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기, 업무 우선순위를 송신하여 서로간에 태스크 타임 테이블을 공유할 수 있다. 또한, 통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)에 서로 간의 통신 우선순위를 나타내는 통신 우선순위 테이블을 공유할 수 있다. 즉, 통신부(110)는 다른 BMS(100)로 태스크 타임 테이블 및 통신 우선순위 테이블에 관한 데이터를 송신할 수 있다. 마찬가지로, 통신부(110)는 다른 BMS(100)로부터 태스크 타임 테이블 및 통신 우선순위 테이블에 관한 데이터를 수신할 수 있다.The communication unit 110 transmits the task list to be performed by itself to the other slave BMS 14 and the master BMS 20, the execution time of each task included in the task list, the execution period, and the task priority, and the task time table between them. You can share. In addition, the communication unit 110 may share a communication priority table indicating communication priorities between the other slave BMS 14 and the master BMS 20. That is, the communication unit 110 may transmit data related to the task time table and the communication priority table to the other BMS 100. Likewise, the communication unit 110 may receive data on a task time table and a communication priority table from another BMS 100.
또한, 통신부(110)는 자신이 수행한 태스크의 결과를 마스터 BMS(20) 등으로 송신할 수 있다. 이때, 태스크 수행 시 우선순위 변경부(140)에 의하여 업무의 우선순위 및 이에 따른 업무 스케쥴이 변경된 경우에는 해당 변경 사항을 다른 BMS(100)에 송신하여 변경 사항을 공유할 수도 있다. 마찬가지로 통신부(110)는 다른 BMS(100)로부터 업무의 우선순위 및 업무 스케쥴이 변경된 사항을 수신할 수 있다.In addition, the communication unit 110 may transmit the result of the task performed by itself to the master BMS 20 or the like. In this case, when the priority of the task and the task schedule according to the task priority change by the priority changer 140 when performing the task, the change may be transmitted to another BMS 100 to share the change. Likewise, the communication unit 110 may receive a change in the priority of the task and the task schedule from the other BMS (100).
통신부(110)는 멀티캐스트 또는 브로드캐스트 방식으로 신호 및 데이터를 송신할 수 있다. 예를 들어, 통신부(110)는 스케쥴 결정부(130)에 의하여 조정된 업무 스케쥴을 다른 BMS(100)로 멀티캐스트 또는 브로드캐스트 방식으로 송신할 수 있다.The communication unit 110 may transmit signals and data in a multicast or broadcast method. For example, the communication unit 110 may transmit the work schedule adjusted by the schedule determination unit 130 to another BMS 100 in a multicast or broadcast manner.
통신부(110)는 일정 조건을 만족하는 경우에 태스크 타임 테이블 및 통신 우선순위 테이블의 공유를 위한 통신을 수행할 수 있다. 예를 들어, 배터리 팩(1)이 장착된 기기의 시스템이 웨이크업 될 때 태스크 타임 테이블 및 통신 우선순위 테이블의 공유를 위한 통신을 수행할 수 있다. 배터리 팩(1)이 장착된 기기가 전기 자동차인 경우라면, 상기 조건은 시동을 키는 경우일 수 있다. 또는 통신부(110)는 주기적으로 태스크 타임 테이블 및 통신 우선순위 테이블의 공유를 위한 통신을 수행할 수 있다.The communication unit 110 may perform communication for sharing a task time table and a communication priority table when a certain condition is satisfied. For example, when a system of a device equipped with the battery pack 1 wakes up, communication for sharing a task time table and a communication priority table may be performed. If the device in which the battery pack 1 is mounted is an electric vehicle, the above condition may be the case of starting the engine. Alternatively, the communication unit 110 may periodically perform communication for sharing the task time table and the communication priority table.
추가로, 통신부(110)는 다른 BMS(100)들과의 태스크 수행시의 동기화를 위하여 태스크의 수행 시작 신호, 완료 신호들을 수신할 수 있다.Additionally, the communication unit 110 may receive a task execution start signal and a completion signal for synchronization when performing a task with other BMSs 100.
저장부(120)는 BMS(100)의 동작에 필요한 각종 프로그램 및 BMS(100)의 동작시 발생하는 각종 데이터가 저장된다. 저장부(120)는 배터리 팩(1) 내의 복수의 BMS(100) 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위를 포함하는 태스크 타임 테이블을 저장할 수 있다. 저장부(120)는 배터리 팩(1) 내의 복수의 BMS(100)들 사이의 통신 우선순위를 나타내는 통신 우선순위 테이블을 저장할 수 있다. 추가적으로, 저장부(120)는 태스크 리스트 중 다른 BMS(100)와 동기하여 수행되어야 하는 태스크들이 설정되어 있을 수 있다. 또한 저장부(120)는 통신부(110)를 통하여 다른 BMS(100)로부터 조정된 업무 스케쥴을 수신한 경우, 조정된 업무 스케쥴로 태스크 타임 테이블 및 통신 우선순위 테이블 등의 저장 내용을 업데이트할 수 있다. 즉, 저장부(120)는 태스크 정보 저장부로서의 기능을 수행한다.The storage unit 120 stores various programs required for the operation of the BMS 100 and various data generated during the operation of the BMS 100. The storage unit 120 stores a task time table including a task list performed by each of the plurality of BMSs 100 in the battery pack 1, an execution time of each task included in the task list, an execution cycle, and a task priority. I can. The storage unit 120 may store a communication priority table indicating communication priorities between a plurality of BMSs 100 in the battery pack 1. Additionally, the storage unit 120 may set tasks to be performed in synchronization with the other BMS 100 in the task list. In addition, the storage unit 120, when receiving the adjusted work schedule from the other BMS 100 through the communication unit 110, may update the stored contents such as the task time table and the communication priority table with the adjusted work schedule. . That is, the storage unit 120 functions as a task information storage unit.
스케쥴 결정부(130)는 저장부(120)에 저장된 데이터에 기초하여 업무 스케쥴을 결정한다. 구체적으로는, 스케쥴 결정부(130)는 태스크 정보 저장부에 저장된 데이터인 태스크 타임 테이블 및 통신 우선순위 테이블의 내용에 기초하여 업무 스케쥴을 결정한다. 스케쥴 결정부(130)는 또한 다른 BMS(100)와 동기하여 수행되어야 하는 태스크들에 대한 설정 정보를 고려하여 업무 스케쥴을 결정한다.The schedule determination unit 130 determines a work schedule based on data stored in the storage unit 120. Specifically, the schedule determination unit 130 determines a work schedule based on the contents of the task time table and the communication priority table, which are data stored in the task information storage unit. The schedule determination unit 130 also determines a work schedule in consideration of setting information on tasks to be performed in synchronization with the other BMS 100.
업무 스케쥴이란 각 태스크를 어떤 순서로 수행하며, 수행하는 각 태스크를 언제 시작하여 언제 종료하는지 등을 정한 것을 의미한다.The task schedule means that each task is executed in what order, and when each task to be executed starts and when it ends.
스케쥴 결정부(130)는 우선순위 변경부(140)에 의하여 일부 태스크에 우선순위의 변경이 발생한 경우, 조정된 우선순위에 기초하여 업무 스케쥴을 조정한다.The schedule determination unit 130 adjusts the work schedule based on the adjusted priority when the priority change occurs in some tasks by the priority change unit 140.
우선순위 변경부(140)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정한다.The priority change unit 140 adjusts the work priority of the task based on the work schedule determined by the schedule determination unit 130.
일 예로서, 우선순위 변경부(140)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 해당 후순위 태스크의 업무 우선순위를 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정한다. 대기 시간은 특정 태스크의 수행 후, 해당 태스크의 결과를 다른 BMS(100)로 송신하기 전까지의 기간을 의미하는 것일 수 있다. 대기 시간은 해당 BMS(100)의 프로세서 사용률이 기준치 이하인 기간을 의미하는 것이 수 있다.As an example, if there is a subordinate task that can be performed during the waiting time among the work schedule determined by the schedule determination unit 130, the priority change unit 140 determines the task priority of the subordinate task immediately before the waiting time. The priority of the task to be performed is adjusted next. The waiting time may mean a period after a specific task is performed and before the result of the corresponding task is transmitted to the other BMS 100. The waiting time may mean a period in which the processor utilization rate of the corresponding BMS 100 is less than or equal to a reference value.
우선순위 변경부(140)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴 중 대기 시간의 길이를 대기 시간 이후에 수행되는 태스크들의 수행 시간 각각과 비교한다. 우선순위 변경부(140)는 대기 시간과 수행 시간의 비교를 후술하는 태스크 대기열(125)에 저장되어 있는 태스크들을 대상으로 수행할 수 있다. 혹은 우선순위 변경부(140)는 결정된 업무 스케쥴 전체에 포함된 태스크에 기초하여 대기 시간과 수행 시간의 비교를 수행할 수도 있다.The priority change unit 140 compares the length of the waiting time among the work schedules determined by the schedule determination unit 130 with execution times of tasks performed after the waiting time. The priority changer 140 may perform a comparison of the waiting time and the execution time for tasks stored in the task queue 125 to be described later. Alternatively, the priority changer 140 may compare the waiting time and the execution time based on tasks included in the entire determined work schedule.
그리고 우선순위 변경부(140)는 비교 결과 대기 시간의 길이보다 짧은 수행 시간을 갖는 태스크가 대기 시간 동안 수행되도록 우선순위를 조정한다. 이때, 일 예로서, 우선순위 변경부(140)는 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정하도록 할 수 있다. 혹은 다른 예로서, 우선순위 변경부(140)는 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정하도록 할 수 있다.In addition, the priority changing unit 140 adjusts the priority so that a task having an execution time shorter than the length of the waiting time as a result of the comparison is executed during the waiting time. At this time, as an example, when there are a plurality of tasks having an execution period shorter than the length of the waiting time, the priority changer 140 may adjust the priority of the task having the highest priority among the corresponding tasks. . Alternatively, as another example, when there are a plurality of tasks having an execution period shorter than the length of the waiting time, the priority changer 140 may adjust the priority of a task having the longest execution period among the corresponding tasks.
이와 같이 우선순위 변경부(140)에 의하여 업무의 우선순위 및 이에 따른 업무 스케쥴이 조정된 경우에는 통신부(110)로 하여금 해당 변경 사항을 다른 BMS(100)에 송신하여 변경 사항을 공유하도록 할 수 있다.In this way, when the priority of the task and the task schedule are adjusted by the priority change unit 140, the communication unit 110 can transmit the change to another BMS 100 to share the change. have.
업무 수행부(150)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴에 따라 자신이 수행해야 할 태스크들을 수행한다. 업무 수행부(150)는 다른 BMS(100)와 동기하여 수행해야 할 태스크가 포함되어 있는 경우에는 동기하여 태스크를 수행한다. 예를 들어, 동기화를 위하여 업무 수행부(150)는 각각의 태스크의 수행 시작 시간과 관련하여, 동기화부(160)에서 산출된 시작 시간에 따라 각각의 태스크를 수행한다. 이로써 동일한 태스크를 수행하는 다른 BMS(100)와의 업무 수행 시간을 동기화할 수 있다.The task execution unit 150 performs tasks to be performed by itself according to the task schedule determined by the schedule determination unit 130. When a task to be performed in synchronization with another BMS 100 is included, the task execution unit 150 performs the task synchronously. For example, for synchronization, the task execution unit 150 performs each task according to the start time calculated by the synchronization unit 160 in relation to the execution start time of each task. Accordingly, it is possible to synchronize the business execution time with the other BMS 100 performing the same task.
동기화부(160)는 통신부(110)에서 수신하는 특정 태스크의 수행 시작 신호, 완료 신호, 태스크 타임 테이블 등을 이용하여 특정 태스크의 수행 시작 시간을 산출한다. 그리고 동기화부(160)는 산출한 수행 시작 시간을 통하여 각각의 BMS(100) 간의 해당 태스크 수행 시간을 동기화한다. The synchronization unit 160 calculates the execution start time of a specific task by using a specific task execution start signal, a completion signal, and a task time table received from the communication unit 110. In addition, the synchronization unit 160 synchronizes the task execution time between each BMS 100 through the calculated execution start time.
오차 산출부(170)는 통신부(110)에서 수신한 특정 태스크의 시작 신호 또는 완료 신호의 수신 시간과 태스크 타임 테이블을 이용하여 오차를 산출한다. 예를 들어, 특정 태스크의 시작 신호 수신 시간과 완료 신호 수신 시간의 차이와, 태스크 타임 테이블 상에서의 특정 태스크의 수행 시간의 차이를 이용하여 오차를 산출하여 동기화부(160)에 제공한다. 동기화부(160)는 첫 번째 태스크의 수행 시간을 산출할 때, 산출된 오차를 반영할 수 있다.The error calculation unit 170 calculates an error using a reception time of a start signal or a completion signal of a specific task received from the communication unit 110 and a task time table. For example, an error is calculated by using the difference between the start signal reception time and the completion signal reception time of a specific task and the execution time of a specific task on the task time table, and provides the error to the synchronization unit 160. When calculating the execution time of the first task, the synchronization unit 160 may reflect the calculated error.
이상과 같은 구성으로 업무 스케쥴을 결정하고, 결정된 업무 스케쥴 상에서 태스크의 우선순위를 변경하는 동작을 수행함으로써, BMS(100)는 자신의 자원을 효율적으로 활용할 수 있게 된다.By determining a task schedule with the above configuration and performing an operation of changing the priority of a task on the determined task schedule, the BMS 100 can efficiently utilize its own resources.
이하에서는, 업무 스케쥴을 결졍하고 우선순위를 조정하는 기능에 대해서 좀 더 구체적으로 설명한다.Hereinafter, a function of determining a work schedule and adjusting priorities will be described in more detail.
도 4는 본 발명이 일 실시예에 따른 배터리 관리 시스템 중 업무 스케쥴러(200)를 나타내는 기능 블록도이다.4 is a functional block diagram illustrating a task scheduler 200 in a battery management system according to an embodiment of the present invention.
업무 스케쥴러(200)는 업무 스케쥴을 결정하고 우선순위를 조정하는 기능을 의미한다. 업무 스케쥴러(200)에는 태스크 타임 테이블(121), 통신 우선순위 테이블(123), 태스크 대기열(125) 및 우선순위 변경부(140)가 포함될 수 있다.The task scheduler 200 refers to a function of determining a task schedule and adjusting priorities. The task scheduler 200 may include a task time table 121, a communication priority table 123, a task queue 125, and a priority change unit 140.
태스크 타임 테이블(121)에는, 상술한 바와 같이, 통신 노드인 각각의 BMS(100)가 수행해야 할 태스크의 리스트와, 그 순서, 그리고 각 태스크의 수행 시간 및 (필요한 경우) 통신 시간, 그리고 수행 주기가 저장된다.In the task time table 121, as described above, a list of tasks to be performed by each BMS 100 as a communication node, their order, and execution time and (if necessary) communication time of each task, and execution The cycle is saved.
통신 우선순위 테이블(123)에는 통신이 필요한 태스크와 관련하여 해당 태스크를 수행하는 BMS(100)들 사이의 통신 우선순위가 저장된다. 통신 우선순위는 각 노드가 처음 무선통신 네트워크에 가입하게 될 대, 마스터 BMS(20)에 의하여 할당되는 정보일 수 있다.The communication priority table 123 stores communication priorities between the BMSs 100 performing the corresponding task in relation to a task requiring communication. The communication priority may be information allocated by the master BMS 20 when each node first joins the wireless communication network.
업무 스케쥴러는 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에 기초하여 통신 노드인 각각의 BMS(100)가 수행해야 할 태스크의 리스트와, 그 순서, 그리고 수행 타이밍을 미리 알고 있게 된다. 이때, 태스크를 수행하는 우선순위 및 수행 순서는 정해져 있으며, 수행 시간은 거의 일정하다. 또한, 태스크들은 일반적으로 특정 시간(주기)로 반복해서 수행되는 구조를 가지게 된다.Based on the task time table 121 and the communication priority table 123, the task scheduler knows in advance a list of tasks to be performed by each BMS 100 as a communication node, their order, and execution timing. At this time, the priority and order of execution of the task are determined, and the execution time is almost constant. In addition, tasks generally have a structure that is repeatedly performed at a specific time (period).
태스크 대기열(125)는 업무 스케쥴러가 가지고 있는 정보를 이용하여, 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴에 기초하여 수행할 태스크를 파악한다. 그리고 수행해야 할 태스크를 순차적으로 호출하여 태스크 대기열(125)에 저장한다.The task queue 125 identifies a task to be performed based on the work schedule determined by the schedule determination unit 130 by using information held by the work scheduler. Then, the tasks to be performed are sequentially called and stored in the task queue 125.
우선순위 변경부(140)는, 상술한 바와 같이, 태스크의 우선순위를 소정의 기준에 따라서 조정할 수 있다. 우선순위 변경부(140)는 태스크 타임 테이블에 기록된 우선순위 자체를 조정할 수 있다. 혹은 우선순위 변경부(140)는 결정된 업무 스케쥴에 기초하여 태스크 대기열(125)에 포함되어 있는 태스크들 중에서 업무의 우선순위를 조정하여 태스크 대기열(125)에서의 순서를 변경하는 것일 수도 있다. 즉, 태스크 대기열(125)에 포함된 태스크들 중 가장 우선순위가 높은 태스크(현재 수행 중인 태스크)를 제외한 태스크들 중에서, 대기 시간보다 짧은 수행 시간을 갖는 태스크의 우선순위를 변경할 수 있다. 우선순위 변경부(140)는 우선순위가 변경된 태스크의 수행이 완료되면 해당 태스크의 우선순위를 원래의 우선순위로 재변경할 수 있다.As described above, the priority change unit 140 may adjust the priority of the task according to a predetermined criterion. The priority change unit 140 may adjust the priority itself recorded in the task time table. Alternatively, the priority changer 140 may change the order of tasks in the task queue 125 by adjusting the priority of tasks among tasks included in the task queue 125 based on the determined task schedule. That is, among tasks excluding a task having the highest priority (a task currently being executed) among tasks included in the task queue 125, the priority of a task having an execution time shorter than the waiting time may be changed. When the execution of the task whose priority has been changed is completed, the priority change unit 140 may change the priority of the task to the original priority again.
도 5는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 동작을 나타내는 흐름도이다.5 is a flowchart showing the operation of the battery management system according to an embodiment of the present invention.
도 5를 참조하면, 우선 BMS(100)는 태스크 타임 테이블 및 통신 우선순위 테이블을 다른 BMS와 공유한다(S10). 즉, 통신부(110)를 통하여 다른 BMS(100)로 태스크 타임 테이블 및 통신 우선순위 테이블의 작성에 필요한 데이터들을 송신 및 수신한다.Referring to FIG. 5, first, the BMS 100 shares a task time table and a communication priority table with other BMSs (S10). That is, data necessary for creating a task time table and a communication priority table are transmitted and received to another BMS 100 through the communication unit 110.
BMS(100)는 다른 BMS로부터 수신된 태스크 타임 테이블 및 통신 우선순위 테이블을 포함시켜서 태스크 타임 테이블 및 통신 우선순위 테이블을 갱신한다(S11). 즉, BMS(100)가 자신 및 다른 BMS의 데이터를 모두 고려하여 최종적인 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 생성한다. 즉, BMS(100)의 저장부(120)에 복수의 BMS(100)들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 BMS(100)들 사이의 통신 우선순위를 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123) 형태로 저장할 수 있다.The BMS 100 updates the task time table and the communication priority table by including the task time table and the communication priority table received from another BMS (S11). That is, the BMS 100 generates a final task time table 121 and a communication priority table 123 in consideration of both data of itself and other BMSs. That is, in the storage unit 120 of the BMS 100, a list of tasks performed by each of the plurality of BMSs 100, the execution time of each task included in the task list, execution period and task priority, and a plurality of BMSs ( Communication priorities between 100) may be stored in the form of a task time table 121 and a communication priority table 123.
그리고 갱신된 테이블들에 기초하여 업무 스케쥴을 결정한다(S12). 즉, 저장부(120)에 저장된 데이터에 기초하여 업무 스케쥴을 결정한다.Then, a work schedule is determined based on the updated tables (S12). That is, the work schedule is determined based on the data stored in the storage unit 120.
도 6 및 도 7은 도 5에서 설명한 방법에 기초하여 저장부(120)에 저장된, 본 발명의 일 실시예에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 나타낸다.6 and 7 illustrate a task time table 121 and a communication priority table 123 according to an embodiment of the present invention stored in the storage unit 120 based on the method described with reference to FIG. 5.
본 예시에서는, 무선통신 네트워크 내에 통신 노드로서 마스터 노드인 마스터 BMS(20) 및 슬레이브 노드인 BMS(14-1~14-3)가 포함되어 있다. 그리고 태스크 타임 테이블(121)은 각 노드의 태스크 리스트, 태스크 리스트에 포함된 태스크들 사이의 우선순위, 각 태스크의 수행 시간 및 통신 시간 등을 포함할 수 있다. 또한, 추가적으로 업무 수행 시간과 이에 대한 총 통신시간의 합인 총 수행시간, 그리고 각 태스크의 주기 등이 포함될 수도 있다. 통신 우선순위 테이블(123)은 통신이 필요한 태스크와 관련하여 해당 태스크를 수행하는 BMS(100)들 사이의 통신 우선순위를 각 태스크 별로 포함할 수 있다.In this example, a master BMS 20 as a master node and BMS 14-1 to 14-3 as slave nodes are included as communication nodes in a wireless communication network. In addition, the task time table 121 may include a task list of each node, a priority among tasks included in the task list, execution time and communication time of each task, and the like. In addition, the total execution time, which is the sum of the work execution time and the total communication time, and the period of each task may be included. The communication priority table 123 may include, for each task, communication priority between the BMSs 100 performing the corresponding task in relation to a task requiring communication.
도 6에 따르면, 마스터 BMS(20)는 태스크 A, B 및 C를 수행하며, BMS#1(14-1)은 태스크 A, B 및 E를 수행한다. BMS#2(14-2)는 태스크 A, B 및 D를 수행하며, BMS#3(14-3)은 태스크 A, E 및 F를 수행한다.6, the master BMS 20 performs tasks A, B, and C, and BMS#1 14-1 performs tasks A, B, and E. BMS#2 (14-2) performs tasks A, B, and D, and BMS#3 (14-3) performs tasks A, E, and F.
그리고 도 7에 따르면, 태스크 A에 대해서는 BMS#1 -> BMS#2 -> BMS#3 -> 마스터 BMS 순서로 통신 우선순위를 갖는다. 태스크 B에 대해서는 BMS#1 -> BMS#2 -> 마스터 BMS 순서로 통신 우선순위를 갖는다.And according to FIG. 7, for task A, communication priority is given in the order of BMS#1 -> BMS#2 -> BMS#3 -> master BMS. For task B, communication priority is given in the order of BMS#1 -> BMS#2 -> Master BMS.
도 8은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 업무 스케쥴링 동작을 나타내는 흐름도이다.8 is a flowchart illustrating a task scheduling operation of the battery management system according to an embodiment of the present invention.
도 8을 참조하면, 도 5에서 설명한 바와 같이 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)이 생성되어 저장되면, 스케쥴 결정부(130)에 의하여 업무 스케쥴이 결정된다. 그리고 결정된 업무 스케쥴에 기초하여 태스크 대기열(125)에 수행해야 할 태스크들을 순차적으로 저장한다(S20).Referring to FIG. 8, when the task time table 121 and the communication priority table 123 are generated and stored as described in FIG. 5, a task schedule is determined by the schedule determination unit 130. Further, the tasks to be performed are sequentially stored in the task queue 125 based on the determined work schedule (S20).
그 후, 태스크 대기열(125)에 저장된 태스크들이 미리 정해진 시간, 즉 주기 내에 모두 처리 가능한지를 판단한다(S21). 미리 정해진 시간 내에 모든 태스크를 처리할 수 있다면(S21의 Yes), 태스크 대기열 순서대로 태스크를 처리한다(S23). 즉, 결정된 업무 스케쥴에 따라서, 우선순위의 변경 없이, 태스크들을 처리한다.After that, it is determined whether all the tasks stored in the task queue 125 can be processed within a predetermined time, that is, a period (S21). If all tasks can be processed within a predetermined time (Yes in S21), the tasks are processed in the order of the task queue (S23). That is, according to the determined work schedule, tasks are processed without changing the priority.
반면, 미리 정해진 시간 내에 모든 태스크를 처리할 수는 없다면(S21의 No), 우선순위를 변경(S22)한다. 그 후에 변경된 우선순위에 기초하여 태스크 대기열의 순서가 변경되며, 변경된 태스크 대기열의 순서에 따라서 순서대로 태스크를 처리한다(S23).On the other hand, if all tasks cannot be processed within a predetermined time (No in S21), the priority is changed (S22). After that, the order of the task queue is changed based on the changed priority, and the tasks are processed in order according to the order of the changed task queue (S23).
즉, 결정된 업무 스케쥴에 기초하여 태스크들이 소정의 조건을 만족하면 태스크의 업무 우선순위를 조정하고, 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정한다.That is, if tasks satisfy a predetermined condition based on the determined work schedule, the task priority of the task is adjusted, and the task schedule is adjusted according to the adjusted task priority.
도 9는 도 6 및 도 7에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에 기초한 태스크의 동작 순서를 나타내는 타이밍도이다. 도 9는 태스크들 사이의 통신 시간 및 대기 기간 등을 포함시키면서 태스크 대기열의 상태를 도식화한 것일 수 있다. 9 is a timing diagram illustrating an operation sequence of a task based on the task time table 121 and the communication priority table 123 according to FIGS. 6 and 7. 9 may be a schematic diagram of a state of a task queue while including a communication time and a waiting period between tasks.
도 9를 참조하면, A~F는 각 태스크가 수행되는 기간을 나타낸다. 1~3은 각 노드가 마스터 BMS(20)에 데이터를 송신하는 통신 기간을 나타내고, 한자 '上'은 마스터 BMS(20)가 상위 제어기(2)로 데이터를 송신하는 통신 기간을 나타낸다. 해칭 표시는 대기 시간을 나타낸다.Referring to FIG. 9, A to F indicate a period in which each task is performed. 1 to 3 denote a communication period in which each node transmits data to the master BMS 20, and Chinese character'up' denotes a communication period in which the master BMS 20 transmits data to the host controller 2. Hatching marks indicate waiting time.
마스터 BMS(20)는 태스크 A를 0~30ms 동안 다른 노드와 동기하여 수행한다. 그 후 30~45ms 동안, BMS#1(14-1) 내지 BMS#3으로부터 태스크 A에 대한 결과 정보 등의 데이터를 순차적으로 수신한다. 또한, 마지막으로 마스터 BMS(20)는 45~50ms 동안 상위 제어기로 태스크 A에 대한 데이터를 송신한다. 마찬가지로 마스터 BMS(20)는 태스크 B에 대한 수행 및 통신을 순차적으로 수행하며, 태스크 C의 수행 후 80~100ms 동안 대기 상태가 된다.The master BMS 20 performs task A in synchronization with other nodes for 0 to 30 ms. Thereafter, for 30 to 45 ms, data such as result information for task A are sequentially received from BMS#1 (14-1) to BMS#3. In addition, finally, the master BMS 20 transmits the data for task A to the host controller for 45 to 50 ms. Likewise, the master BMS 20 sequentially performs execution and communication for task B, and is in a standby state for 80 to 100 ms after task C is executed.
BMS#1(14-1)은 태스크 A를 0~30ms 동안 다른 노드와 동기하여 수행한다. 그 후 30~35ms 동안 태스크 A에 대한 결과 정보 등의 데이터를 마스터 BMS(20)에 송신한다. 35~50ms 동안 대기 상태가 되며, 다시 50~60ms 동안 태스크 B를 동기하여 수행한다. 태스크 B의 수행 이후, 60~65ms 동안 태스크 C에 대한 결과 정보 등의 데이터를 마스터 BMS(20)에 송신한다. 마지막으로 태스크 E를 65~85ms 동안 수행하고 나머지 기간 동안 대기 상태가 된다.BMS#1(14-1) performs task A in synchronization with other nodes for 0~30ms. After that, data such as result information for task A is transmitted to the master BMS 20 for 30 to 35 ms. It enters the standby state for 35~50ms, and executes Task B in synchronization for 50~60ms again. After task B is performed, data such as result information for task C is transmitted to the master BMS 20 for 60 to 65 ms. Finally, task E is executed for 65~85ms, and it is in a standby state for the rest of the period.
BMS#2(14-2)는 태스크 A를 0~30ms 동안 다른 노드와 동기하여 수행한다. 그 후 30~35ms 동안 대기 상태가 되며, 35~40ms 동안 태스크 A에 대한 결과 정보 등의 데이터를 마스터 BMS(20)에 송신한다. 40~50ms 동안 다시 대기 상태가 되며, 50~60ms 동안 태스크 B를 동기하여 수행한다. 태스크 B의 수행 이후, 60~65ms 동안 대기 상태가 되며, 65~70ms 동안 태스크 C에 대한 결과 정보 등의 데이터를 마스터 BMS(20)에 송신한다. 마지막으로 태스크 D를 70~75ms 동안 수행하고 나머지 기간 동안 대기 상태가 된다.BMS#2(14-2) performs task A in synchronization with other nodes for 0~30ms. After that, it becomes a standby state for 30~35ms, and data such as result information for task A is transmitted to the master BMS 20 for 35~40ms. It becomes the standby state again for 40~50ms, and executes task B synchronously for 50~60ms. After task B is executed, it becomes a standby state for 60~65ms, and data such as result information for task C is transmitted to the master BMS 20 for 65~70ms. Finally, Task D is executed for 70~75ms, and it is in a standby state for the rest of the period.
마지막으로 BMS#3(14-3) 또한 태스크 A를 0~30ms 동안 다른 노드와 동기하여 수행한다. 그 후 30~40ms 동안 대기 상태가 되며, 40~45ms 동안 태스크 A에 대한 결과 정보 등의 데이터를 마스터 BMS(20)에 송신한다. BMS#3(14-3)은 태스크 B를 포함하지 않으므로, 45~65ms 동안 태스크 E를 수행하고, 그 다음에 65~80ms 동안 태스크 F를 수행한다. 마지막으로 나머지 기간인 80~100ms 동안 대기 상태가 된다.Finally, BMS#3(14-3) also performs task A in synchronization with other nodes for 0~30ms. After that, it becomes a standby state for 30~40ms, and data such as result information for task A is transmitted to the master BMS 20 for 40~45ms. Since BMS#3(14-3) does not include task B, it executes task E for 45~65ms, and then executes task F for 65~80ms. Finally, it is in a standby state for the rest of the period, 80~100ms.
도 9에서 확인할 수 있듯이, 도 6 및 도 7에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에 기초한 업무 스케쥴의 경우, 정해진 기간인 100ms의 주기 내에 모든 스케쥴을 수행하는데 문제가 없다.As can be seen in FIG. 9, in the case of the task schedule based on the task time table 121 and the communication priority table 123 according to FIGS. 6 and 7, there is no problem in performing all schedules within a period of 100 ms, which is a predetermined period. .
다만, 필요에 따라서는 마이크로 프로세서 등의 효율적인 운용을 위하여 태스크들의 우선순위를 변경하는 것이 바람직할 수도 있다. 도 10은 본 발명의 일 실시예에 따른 배터리 관리 시스템에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.However, if necessary, it may be desirable to change the priority of tasks for efficient operation of a microprocessor or the like. 10 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the battery management system according to an embodiment of the present invention.
도 6 및 도 7의 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에서 확인할 수 있듯이, BMS#2(14-2)의 태스크 D는 다른 노드와 동기하여 수행될 필요가 없다. 또한, BMS#2(14-2)는 도 9에서 확인할 수 있듯이, 30~35ms 사이에 대기 시간을 갖는다. 따라서, 도 10의 BMS#2(14-2)의 타이밍도에서 확인할 수 있듯이, 태스크 D가 30~35ms 사이의 대기 시간에 수행될 수 있도록 우선순위가 태스크 B의 우선순위보다 앞서도록 조정될 수 있다. 이를 위해 태스크 대기열에서 태스크 D의 우선순위가 태스크 B의 우선순위보다 앞서도록 일시적으로 조정되고, 태스크들의 수행을 완료한 후에 우선순위가 다시 원래대로 재조정될 수 있다. 혹은 태스크 타임 테이블(121)에서 태스크 D의 우선순위가 태스크 B의 우선순위보다 앞서도록 테이블 자체를 갱신할 수도 있을 것이다.As can be seen from the task time table 121 and the communication priority table 123 of FIGS. 6 and 7, the task D of BMS#2 14-2 does not need to be performed in synchronization with other nodes. In addition, BMS#2 (14-2) has a waiting time between 30 and 35 ms, as can be seen in FIG. 9. Accordingly, as can be seen from the timing diagram of BMS#2 14-2 of FIG. 10, the priority may be adjusted to precede the priority of task B so that task D can be performed at a waiting time between 30 and 35 ms. . To this end, the priority of task D in the task queue may be temporarily adjusted to precede the priority of task B, and the priority may be readjusted back to its original state after completion of the tasks. Alternatively, the table itself may be updated so that the priority of task D is prior to the priority of task B in the task time table 121.
도 11 및 도 12는 본 발명의 다른 실시예에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 나타내는 도면이다. 본 실시예에서는 모든 노드가 태스크 A 및 태스크 B를 모두 포함하고 있으며, 이들을 동기하여 수행하도록 설정되어 있다.11 and 12 are diagrams illustrating a task time table 121 and a communication priority table 123 according to another embodiment of the present invention. In this embodiment, all nodes include both task A and task B, and are set to perform them in synchronization.
도 11에 따르면, 마스터 BMS(20)는 태스크 A, B 및 C를 수행하며, BMS#1(14-1)은 태스크 A, B, F, G 및 H를 수행한다. BMS#2(14-2) 및 BMS#3(14-3)은 태스크 A, B, D 및 E를 각각 수행한다.11, the master BMS 20 performs tasks A, B, and C, and BMS#1 14-1 performs tasks A, B, F, G, and H. BMS#2 (14-2) and BMS#3 (14-3) perform tasks A, B, D, and E, respectively.
그리고 도 12에 따르면, 태스크 A, B 모두에 대해서 BMS#1 -> BMS#2 -> BMS#3 -> 마스터 BMS 순서로 통신 우선순위를 갖는다.And, according to FIG. 12, for both tasks A and B, communication priority is given in the order of BMS#1 -> BMS#2 -> BMS#3 -> master BMS.
이하에서는 도 11 및 도 12의 테이블들에 기초하여 업무 우선순위 및 업무 스케쥴을 조정하는 방법에 대해서 설명한다.Hereinafter, a method of adjusting a task priority and a task schedule based on the tables of FIGS. 11 and 12 will be described.
도 13은 도 11 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.13 is a timing diagram illustrating an operation sequence of a task according to FIGS. 11 and 12.
도 13을 참조하면, BMS#1(14-1)과 BMS#3(14-3)이 미리 정해진 기간(예를 들어 주기인 100ms) 내에 태스크를 모두 완료하지 못하는 것을 확인할 수 있다. 즉, 태스크 H 및 태스크 E가 100ms를 초과하여 종료하게 된다. 이는 배터리 시스템에 에러가 발생한 상황이며, 종래에는 이를 해결하기 위해서는 일부 태스크를 제거하여야 했다. 혹은, 이러한 문제를 해결하기 위해서 직접 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 전면적으로 수정하여야만 하였다.Referring to FIG. 13, it can be seen that BMS#1 (14-1) and BMS#3 (14-3) do not complete all tasks within a predetermined period (for example, a period of 100 ms). That is, task H and task E exceed 100ms and are terminated. This is a situation in which an error has occurred in the battery system, and conventionally, some tasks have to be removed to solve this problem. Alternatively, in order to solve this problem, the task time table 121 and the communication priority table 123 had to be completely modified.
그러나 본 발명의 실시예들에서는 아래와 같은 방식으로 위 문제를 해결할 수 있다.However, in the embodiments of the present invention, the above problem can be solved in the following manner.
도 14는 본 발명의 일 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다. 본 동작은 도 8의 S22에서 설명한 우선순위 변경의 상세 동작에 해당한다.14 is a flowchart illustrating a method of changing a priority according to an embodiment of the present invention. This operation corresponds to the detailed operation of the priority change described in S22 of FIG. 8.
도 14를 참조하면, 우선 결정된 업무 스케쥴 상의 대기 시간을 산출한다(S100). 이는 도 13에서 해칭으로 나타낸 부분일 수 있다. 그리고 대기 시간과 태스크 대기열의 태스크들의 수행 시간을 비교한다(S101).Referring to FIG. 14, first, a waiting time on a determined work schedule is calculated (S100). This may be a portion indicated by hatching in FIG. 13. Then, the waiting time and the execution time of the tasks in the task queue are compared (S101).
예를 들어, 도 13에서 확인할 수 있는 바와 같이, BMS#1(14-1)의 경우 대기 시간인 35~50ms 동안의 기간인 15ms와, 대기 시간 이후의 태스크들 중 동기하여 수행할 필요가 없는 태스크 F, G 및 H의 수행 시간을 비교한다. BMS#3(14-3)의 경우 대기 시간인 40~50ms 사이의 10ms, 55~60ms 사이의 5ms, 70~80ms 사이의 10ms와 대기 시간 이후의 태스크들 중 동기하여 수행할 필요가 없는 태스크 D 및 E의 수행 시간을 비교한다.For example, as can be seen in FIG. 13, in the case of BMS#1(14-1), there is no need to perform synchronously among tasks that are 15ms, which is a waiting time of 35 to 50ms, and tasks after the waiting time. Compare the execution times of tasks F, G and H. In the case of BMS#3(14-3), a task D that does not need to be executed synchronously among the waiting time of 10ms between 40~50ms, 5ms between 55~60ms, 10ms between 70~80ms and tasks after the waiting time. And the running times of E are compared.
비교한 태스크의 수행 시간 중 대기 시간 이하인 태스크가 있는지 판단하고(S102), 만약 대기 시간 이하인 태스크가 있다고 판단하면 해당 태스크의 우선 순위를 변경한다(S103).Among the compared task execution times, it is determined whether there is a task less than the waiting time (S102), and if it is determined that there is a task less than the waiting time, the priority of the corresponding task is changed (S103).
즉, 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 해당 후순위 태스크의 업무 우선순위를 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정할 수 있다.That is, if there is a subordinate task that can be executed during the waiting time among the determined work schedule, the task priority of the subordinate task can be adjusted to the next priority of the task executed immediately before the waiting time.
반면, 대기 시간 이하인 태스크가 없다고 판단하면 에러의 복구가 불가능하다고 판단하여 상위 제어기(2) 등에 에러를 통지한다(S104).On the other hand, if it is determined that there is no task less than the waiting time, it is determined that recovery of the error is impossible, and an error is notified to the host controller 2 or the like (S104).
도 15는 본 발명의 일 실시예에 따른 우선순위 변경 방법의 일 예를 나타내는 흐름도이다. 본 동작은 도 15의 S103에서 설명한 우선순위 변경의 상세 동작에 해당한다. 도 16은 도 15에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.15 is a flowchart illustrating an example of a method of changing a priority according to an embodiment of the present invention. This operation corresponds to the detailed operation of the priority change described in S103 of FIG. 15. 16 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 15.
도 15를 참조하면, 우선, 대기 시간의 길이보다 짧은 수행 시간을 갖는 태스크가 복수 개 있는지를 판단한다(S200). 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우(S200의 Yes), 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정한다.Referring to FIG. 15, first, it is determined whether there are a plurality of tasks having an execution time shorter than the length of the waiting time (S200). If there are a plurality of tasks having an execution period shorter than the length of the waiting time (Yes in S200), the priority of the task with the highest priority among the tasks is adjusted.
도 16에서 나타나듯이, BMS#1(14-1)은 태스크 F, G 및 H가 45~60ms 동안의 15ms 길이의 대기 시간보다 짧은 수행 시간을 갖는다. 그리고 태스크 F가 가장 높은 우선순위를 갖는다. 따라서 먼저 태스크 F를 45~50ms 동안의 대기 시간에 수행될 수 있도록 우선순위를 조정한다. 그 후에도 50~60ms 동안의 10ms 길이의 대기 시간이 잔존하게 되며, 태스크 H가 10ms의 수행 시간을 가지므로, 해당 대기 시간에 태스크 H가 수행될 수 있도록 우선순위를 조정한다. 그리고 이러한 업무 우선순위의 조정에 수반하여 태스크 G는 기존보다 5ms 앞당겨진 스케쥴로 75~90ms 사이의 시간 동안 태스크를 수행할 수 있다.As shown in FIG. 16, the BMS#1 (14-1) has a shorter execution time than the 15ms long waiting time for tasks F, G, and H for 45 to 60ms. And task F has the highest priority. Therefore, first, adjust the priority so that task F can be executed in the waiting time of 45~50ms. After that, the waiting time of 10ms length for 50~60ms remains, and since task H has 10ms execution time, the priority is adjusted so that task H can be executed during the waiting time. In addition, with the adjustment of the task priorities, Task G can perform the task for a period of time between 75 and 90 ms with a schedule that is 5 ms ahead of the previous one.
BMS#3(14-3)도 마찬가지로 우선순위가 높은 태스크 D가 40~50ms 동안의 대기 시간에 수행될 수 있도록 업무 우선순위가 먼저 조정되며, 태스크 E가 70~80ms 동안의 대기 시간에 수행될 수 있도록 업무 우선순위가 조정된다.Likewise, in BMS#3(14-3), task priority is first adjusted so that task D with high priority can be executed during waiting time of 40~50ms, and task E will be executed during waiting time of 70~80ms. Task priorities are adjusted to ensure that.
또한, BMS#2(14-2)는 미리 정해진 시간 내에 모든 태스크를 처리할 수 있으나 마이크로 프로세서의 효율적인 운용을 위하여 태스크 D의 업무 우선순위를 조정할 수 있다. 다만, 태스크 E의 경우 업무 스케쥴만을 조정한다. 즉, 태스크 E의 경우 업무 우선순위가 조정되는 것은 아니고, 시작 및 종료 타이밍이 조정될 뿐이다.In addition, BMS#2 (14-2) can process all tasks within a predetermined time, but can adjust the task priority of task D for efficient operation of the microprocessor. However, in the case of Task E, only the work schedule is adjusted. That is, in the case of task E, the task priority is not adjusted, only the start and end timings are adjusted.
한편, 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 하나인 경우(S200의 No), 해당 태스크의 우선순위를 조정하면 된다.On the other hand, if there is one task with an execution period shorter than the length of the waiting time (No in S200), the priority of the task can be adjusted.
도 17은 본 발명의 일 실시예에 따른 우선순위 변경 방법의 다른 예를 나타내는 흐름도이다. 본 동작은 도 15의 S103에서 설명한 우선순위 변경의 다른 상세 동작에 해당한다. 도 18은 도 17에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.17 is a flowchart illustrating another example of a method of changing a priority according to an embodiment of the present invention. This operation corresponds to another detailed operation of the priority change described in S103 of FIG. 15. 18 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 17.
도 17을 참조하면, S300 및 S302는 도 15의 S200 및 S202와 동일하다.Referring to FIG. 17, S300 and S302 are the same as S200 and S202 of FIG. 15.
반면, 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 본 실시예에서는 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정한다(S201).On the other hand, when there are a plurality of tasks having an execution period shorter than the length of the waiting time, in the present embodiment, the priority of the task having the longest execution period among the corresponding tasks is adjusted (S201).
도 18에서 나타나듯이, BMS#1(14-1)은 태스크 F, G 및 H가 45~60ms 동안의 15ms 길이의 대기 시간보다 짧은 수행 시간을 갖는다. 그리고 태스크 G가 가장 긴 수행 시간을 갖는다. 따라서 먼저 태스크 G를 45~50ms 동안의 대기 시간에 수행될 수 있도록 우선순위를 조정한다. 그 후, 원래 태스크 G가 태스크를 수행하는 시간인 80~95ms 동안의 대기 시간이 잔존하게 되며, 태스크 H가 80~90ms 동안 수행될 수 있도록 업무 스케쥴을 조정한다. 단, 태스크 H의 경우 업무 우선순위가 조정되는 것은 아니고, 시작 및 종료 타이밍이 조정될 뿐이다.As shown in FIG. 18, the BMS#1 (14-1) has an execution time shorter than the 15ms long waiting time for tasks F, G, and H for 45 to 60ms. And task G has the longest execution time. Therefore, first, adjust the priority so that task G can be executed in the waiting time of 45~50ms. After that, the waiting time for 80~95ms, which is the time that the original task G executes the task, remains, and the task schedule is adjusted so that the task H can be executed for 80~90ms. However, in the case of Task H, task priorities are not adjusted, only start and end timings are adjusted.
BMS#2(14-2) 및 BMS#3(14-3)의 경우 대기 시간 이후의 태스크 D 및 태스크 E의 수행 시간이 동일하므로 도 15 및 도 16의 예에서와 마찬가지로 업무 우선순위 및 스케쥴이 조정된다.In the case of BMS#2 (14-2) and BMS#3 (14-3), task D and task E after the waiting time have the same execution time, so the task priority and schedule are Is adjusted.
이상과 같이, 대기 시간 동안 그 이후에 수행되는 태스크들 중 우선순위를 임의로 조정할 수 있게 함으로써, 종래에는 미리 정해진 기간 내에 모두 처리할 수 없었던 태스크들을 처리할 수 있게 되며, 따라서 효율적인 하드웨어 운용이 가능하게 된다.As described above, by making it possible to arbitrarily adjust the priority among tasks performed after that during the waiting time, it is possible to process tasks that were not possible to process all of the tasks within a predetermined period in the past, thus enabling efficient hardware operation. do.
도 19는 또 다른 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.19 is a diagram illustrating a task time table according to another embodiment.
도 19에 따르면, 마스터 BMS(20)는 태스크 A, B 및 C를 수행하며, BMS#1(14-1)은 태스크 A, B, F 및 G를 수행한다. BMS#2(14-2) 및 BMS#3(14-3)은 태스크 A, B, D 및 E를 각각 수행한다. 본 실시예에서 통신 우선순위는 도 12와 같다.19, the master BMS 20 performs tasks A, B, and C, and BMS#1 14-1 performs tasks A, B, F, and G. BMS#2 (14-2) and BMS#3 (14-3) perform tasks A, B, D, and E, respectively. In this embodiment, the communication priority is as shown in FIG. 12.
도 20은 도 19 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.20 is a timing diagram illustrating an operation sequence of a task according to FIGS. 19 and 12.
도 20을 참조하면, BMS#1(14-1)과 BMS#3(14-3)이 미리 정해진 기간(예를 들어 주기인 100ms) 내에 태스크를 모두 완료하지 못하는 것을 확인할 수 있다. 즉, 태스크 G 및 태스크 E가 100ms를 초과하여 종료하게 된다. 이는 배터리 시스템에 에러가 발생한 상황이며, 종래에는 이를 해결하기 위해서는 일부 태스크를 제거하여야 했다. 혹은, 이러한 문제를 해결하기 위해서 직접 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 전면적으로 수정하여야만 하였다.Referring to FIG. 20, it can be seen that BMS#1 (14-1) and BMS#3 (14-3) do not complete all tasks within a predetermined period (for example, a period of 100 ms). That is, task G and task E exceed 100 ms and are terminated. This is a situation in which an error has occurred in the battery system, and conventionally, some tasks have to be removed to solve this problem. Alternatively, in order to solve this problem, the task time table 121 and the communication priority table 123 had to be completely modified.
그러나 본 발명의 실시예들에서는 아래와 같이, 앞서 설명한 방식과는 다른 방식으로 위 문제를 해결할 수 있다.However, in the embodiments of the present invention, the above problem can be solved in a manner different from the method described above, as follows.
도 21은 본 발명의 다른 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다. 본 동작은 도 8의 S22에서 설명한 우선순위 변경의 다른 상세 동작에 해당한다.21 is a flowchart illustrating a method of changing a priority according to another embodiment of the present invention. This operation corresponds to another detailed operation of the priority change described in S22 of FIG. 8.
도 21을 참조하면, S400 내지 S403의 동작은 도 14의 S100 내지 S103의 동작과 동일하다. 즉, 주기 내에 모든 태스크들을 처리 가능하면 결정된 업무 스케쥴에 따라서 태스크를 수행한다. 또한, 주기 내에 모든 태스크를 처리할 수 없는 경우로서, 대기 시간보다 짧은 수행 시간을 갖는 태스크가 있으면 해당 태스크의 우선순위를 조정하여 주기 내에 모든 태스크를 처리할 수 있게 한다.Referring to FIG. 21, the operations of S400 to S403 are the same as the operations of S100 to S103 of FIG. 14. That is, if all tasks can be processed within a period, the task is executed according to the determined work schedule. In addition, if all tasks cannot be processed within a period, and if there is a task having an execution time shorter than the waiting time, the priority of the task is adjusted so that all tasks can be processed within the period.
반면, 대기 시간보다 짧은 수행 시간을 갖는 태스크가 없는 경우(S402의 No), 태스크를 분할 가능한지 여부를 판단한다(S404),On the other hand, if there is no task having an execution time shorter than the waiting time (No in S402), it is determined whether the task can be divided (S404),
도 22는 도 21에 있어서 우선순위 변경 방법의 예를 나타내는 흐름도이다.22 is a flowchart illustrating an example of a method of changing the priority order in FIG. 21.
도 22를 참조하면, 대기 시간보다 짧은 수행 시간을 갖는 태스크가 태스크 대기열에 포함되어 있지 않기 때문에 주기 내에 태스크들을 처리하기 위하여 다른 방법을 강구하여야 한다. 이를 위하여 태스크 대기열에 포함된 태스크들 중에서 분할하여 수행하는 것이 가능한 태스크가 존재하는지를 판단한다(S500).Referring to FIG. 22, since a task having an execution time shorter than the waiting time is not included in the task queue, another method must be devised to process the tasks within a period. To this end, it is determined whether there is a task that can be divided and executed among the tasks included in the task queue (S500).
분할하여 수행하는 것이 가능한 태스크가 존재하는 경우(S500의 Yes), 해당 태스크를 복수의 서브 태스크로 분할한다. 이때, 적어도 하나의 서브 태스크의 수행 기간이 대기 시간 이하가 되도록 한다(S501).If there is a task that can be divided and executed (Yes in S500), the task is divided into a plurality of subtasks. In this case, the execution period of the at least one sub-task is set to be less than or equal to the waiting time (S501).
그 후, 대기 시간 이하의 수행 시간을 갖도록 분할된 서브 태스크의 우선순위를 변경한다(S502). 따라서 대기 시간에 서브 태스크를 수행하도록 함으로써 미리 정해진 기간 내에 모든 태스크를 처리 가능하게 된다.After that, the priority of the divided subtasks is changed to have an execution time less than the waiting time (S502). Therefore, by performing the subtask during the waiting time, all tasks can be processed within a predetermined period.
한편, 태스크 대기열에 포함된 태스크들 중에서 분할하여 수행하는 것이 가능한 태스크가 존재하지 않는 경우에는 미리 정해진 시간 내에 모든 태스크를 처리할 수 없으므로 상위 제어기(2) 등에 에러를 통지한다(S503).On the other hand, if there are no tasks that can be divided and executed among the tasks included in the task queue, all tasks cannot be processed within a predetermined time, and an error is notified to the host controller 2 or the like (S503).
도 23은 도 22에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.FIG. 23 is a timing diagram illustrating an operation sequence of a task whose priority has been changed by the priority change method according to FIG. 22.
도 23에서 나타나듯이, BMS#1(14-1)은 대기 시간 이후에 수행되며, 동기하여 수행될 필요가 없는 태스크 F 및 G 중에서 태스크 F를 분할하는 것이 가능하다. 이 태스크 F는 두 개의 서브 태스크 f1 및 f2로 분할될 수 있다. 본 실시예에서는 f1 및 f2가 모두 대기 시간 이하의 수행 시간을 갖게 되나, 적어도 하나의 서브 태스크만 대기 시간 이하의 수행 시간을 가져도 된다. 이때, 적어도 하나의 서브 태스크는 대기 시간과 동일한 길이의 수행 시간을 갖도록 분할되어도 된다. 즉, 서브 태스크 f1은 BMS#1(14-1)의 대기 시간인 45~60ms 동안에 수행될 수 있도록 15ms의 수행 시간을 갖도록 분할된다. 그리고 그 나머지에 대하여 5ms의 수행 시간을 갖는 서브 태스크 f2가 생성된다. 서브 태스크 f1은 우선순위가 조정되어 태스크 B 보다 먼저 수행될 수 있도록 하며, 따라서 대기 시간인 45~60ms 동안에 태스크가 수행된다. 결과적으로 미리 정해진 시간을 초과하는 길이만큼의 태스크가 대기 시간에 수행될 수 있어 모든 태스크를 미리 정해진 시간 내에 수행할 수 있게 된다.As shown in Fig. 23, the BMS#1 (14-1) is executed after the waiting time, and it is possible to divide the task F among tasks F and G that do not need to be executed synchronously. This task F can be divided into two subtasks f1 and f2. In the present embodiment, both f1 and f2 have an execution time less than or equal to the waiting time, but only at least one subtask may have an execution time less than or equal to the waiting time. In this case, at least one subtask may be divided to have an execution time of the same length as the waiting time. In other words, the subtask f1 is divided to have an execution time of 15ms so that it can be executed during 45~60ms, which is the waiting time of BMS#1 (14-1). And for the remainder, a subtask f2 with an execution time of 5ms is created. The priority of subtask f1 is adjusted so that it can be executed before task B, so the task is executed during the waiting time of 45~60ms. As a result, tasks having a length exceeding the predetermined time can be performed during the waiting time, so that all tasks can be performed within the predetermined time.
도 24는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 하드웨어 구성도이다.24 is a hardware configuration diagram of a battery management system according to an embodiment of the present invention.
도 24를 참조하면, BMS(400)는 컨트롤러(MCU)(410), 메모리(420), 입출력 인터페이스(430) 및 통신 인터페이스(440)를 포함할 수 있다.Referring to FIG. 24, the BMS 400 may include a controller (MCU) 410, a memory 420, an input/output interface 430, and a communication interface 440.
MCU(410)는 BMS(400) 내의 각종 동작 및 연산의 처리와 각 구성을 제어한다.The MCU 410 controls processing and each configuration of various operations and operations in the BMS 400.
메모리(420)는 운영체제 프로그램 및 BMS(400)의 기능을 수행하기 위한 프로그램이 기록된다. 메모리(420)은 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있다. 예를 들어, 메모리(420)는 RAM, ROM, 플래시 메모리 등의 반도체 메모리, 자기 디스크, 광 디스크 등 각종 저장매체 중 적어도 어느 하나가 사용될 수 있다.The memory 420 stores an operating system program and a program for performing the functions of the BMS 400. The memory 420 may include volatile memory and nonvolatile memory. For example, the memory 420 may be at least one of various storage media such as a semiconductor memory such as RAM, ROM, and flash memory, a magnetic disk, and an optical disk.
입출력 인터페이스(430)는 각종 입력신호 및 출력신호의 입출력을 수행한다. 예를 들어, MCU(410)는 입출력 인터페이스(430)를 통하여 스위칭 소자의 스위칭 동작을 위한 제어신호를 출력할 수 있다.The input/output interface 430 performs input/output of various input signals and output signals. For example, the MCU 410 may output a control signal for a switching operation of the switching element through the input/output interface 430.
통신 인터페이스(440)는 외부와 유선 및/또는 무선으로 통신 가능한 구성이다.The communication interface 440 is a component capable of communicating with the outside through wired and/or wireless.
MCU(410)는 메모리(420)에 저장된 프로그램을 실행함으로써 스케쥴 결정부(130), 우선순위 변경부(140), 업무 수행부(150), 동기화부(160) 및 오차 산출부(170)의 기능을 수행하는 모듈을 구현할 수 있을 것이다.The MCU 410 executes a program stored in the memory 420 so that the schedule determination unit 130, the priority change unit 140, the task execution unit 150, the synchronization unit 160, and the error calculation unit 170 You will be able to implement a module that performs a function.
또한 MCU(410)는 통신 인터페이스(440)와 협동하여 통신부(110)의 기능을 수행할 수 있을 것이다.In addition, the MCU 410 may perform the function of the communication unit 110 in cooperation with the communication interface 440.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었으나, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, it has been described that all components constituting an embodiment of the present invention are combined into one or operated in combination, but the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all the constituent elements may be selectively combined and operated in one or more.
또한, 이상에서 기재된 "포함하다", "구성하다", 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지는 것으로 해석될 수 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, terms such as "include", "consist of", or "have" described above mean that the corresponding component may be present unless otherwise stated, excluding other components. It should not be construed as being able to include other components. All terms including technical or scientific terms may be interpreted as having the same meaning as commonly understood by one of ordinary skill in the art, unless otherwise defined. Terms generally used, such as terms defined in the dictionary, should be interpreted as being consistent with the meaning of the context of the related technology, and are not interpreted as ideal or excessively formal meanings unless explicitly defined in the present invention.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

Claims (20)

  1. 복수의 배터리 관리 시스템들 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 배터리 관리 시스템에 송신하는 시스템에 있어서의 상기 배터리 관리 시스템으로서,As the battery management system in a system in which each of a plurality of battery management systems performs individually set tasks and transmits a result of the performed task to a master battery management system through wireless communication,
    상기 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 상기 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 상기 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 포함하는 태스크 정보 저장부;A task including a list of tasks performed by each of the plurality of battery management systems, execution time, execution cycle and task priority of each task included in the task list, and communication priority between the plurality of battery management systems An information storage unit;
    상기 태스크 정보 저장부에 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 스케쥴 결정부; 및A schedule determination unit that determines a work schedule based on data stored in the task information storage unit; And
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 우선순위 변경부;를 포함하고,Including; a priority change unit for adjusting the work priority of the task based on the work schedule determined by the schedule determination unit,
    상기 스케쥴 결정부는 상기 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 배터리 관리 시스템.The schedule determination unit is a battery management system that adjusts a work schedule according to the adjusted work priority.
  2. 청구항 1에 있어서,The method according to claim 1,
    상기 우선순위 변경부는,The priority change unit,
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 상기 후순위 태스크의 업무 우선순위를 상기 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정하는 배터리 관리 시스템.A battery management system that adjusts the task priority of the subordinate task to the next priority of the task executed immediately before the waiting time when there is a subordinate task that can be executed during the waiting time among the work schedule determined by the schedule determination unit .
  3. 청구항 2에 있어서,The method according to claim 2,
    상기 우선순위 변경부는,The priority change unit,
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴 중 대기 시간의 길이를 상기 대기 시간 이후에 수행되는 태스크들의 수행 시간 각각과 비교하는 배터리 관리 시스템.A battery management system that compares the length of a waiting time among the work schedules determined by the schedule determination unit with execution times of tasks performed after the waiting time.
  4. 청구항 3에 있어서,The method of claim 3,
    상기 우선순위 변경부는,The priority change unit,
    상기 비교 결과 상기 대기 시간의 길이보다 짧은 수행 시간을 갖는 태스크가 상기 대기 시간 동안 수행되도록 우선순위를 조정하는 배터리 관리 시스템.As a result of the comparison, a battery management system for adjusting a priority so that a task having an execution time shorter than the length of the waiting time is executed during the waiting time.
  5. 청구항 4에 있어서,The method of claim 4,
    상기 우선순위 변경부는,The priority change unit,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정하는 배터리 관리 시스템.When there are a plurality of tasks having an execution period shorter than the length of the waiting time, the battery management system adjusts the priority of the task having the highest priority among the corresponding tasks.
  6. 청구항 4에 있어서,The method of claim 4,
    상기 우선순위 변경부는,The priority change unit,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정하는 배터리 관리 시스템.When there are a plurality of tasks having an execution period shorter than the length of the waiting time, the battery management system adjusts the priority of a task having the longest execution period among the corresponding tasks.
  7. 청구항 1에 있어서,The method according to claim 1,
    상기 태스크 정보 저장부는 상기 태스크 리스트 중 다른 배터리 관리 시스템과 동기하여 수행되어야 하는 태스크들이 설정되어 있는 배터리 관리 시스템.The task information storage unit is a battery management system in which tasks to be performed in synchronization with another battery management system in the task list are set.
  8. 청구항 7에 있어서,The method of claim 7,
    상기 스케쥴 결정부는 상기 동기하여 수행되어야 하는 태스크들을 고려하여 상기 업무 스케쥴을 결정하는 배터리 관리 시스템.The schedule determination unit determines the work schedule in consideration of the tasks to be performed synchronously.
  9. 청구항 7에 있어서,The method of claim 7,
    상기 태스크 리스트 중 복수의 배터리 관리 시스템들에서 공통으로 수행하는 태스크는 동기하여 수행하는 배터리 관리 시스템.A battery management system that synchronously performs tasks commonly performed by a plurality of battery management systems among the task list.
  10. 청구항 2에 있어서,The method according to claim 2,
    상기 대기 시간은 특정 태스크의 수행 후, 상기 태스크의 결과를 다른 배터리 관리 시스템으로 송신하기 전까지의 기간인 것을 특징으로 하는 배터리 관리 시스템.The waiting time is a period after the specific task is performed and before transmitting the result of the task to another battery management system.
  11. 청구항 1에 있어서,The method according to claim 1,
    상기 마스터 배터리 관리 시스템 또는 다른 배터리 관리 시스템과 통신 가능한 통신부를 더 포함하는 배터리 관리 시스템.A battery management system further comprising a communication unit capable of communicating with the master battery management system or another battery management system.
  12. 청구항 11에 있어서,The method of claim 11,
    상기 우선순위 변경부에 의하여 태스크의 우선순위가 조정된 경우,When the priority of the task is adjusted by the priority change unit,
    상기 통신부를 통하여 상기 스케쥴 결정부에 의하여 조정된 업무 스케쥴을 다른 배터리 관리 시스템으로 송신하는 배터리 관리 시스템.A battery management system for transmitting the work schedule adjusted by the schedule determination unit to another battery management system through the communication unit.
  13. 청구항 11에 있어서,The method of claim 11,
    상기 통신부를 통하여 상기 마스터 배터리 관리 시스템 또는 상기 다른 배터리 관리 시스템으로부터 조정된 업무 스케쥴을 수신한 경우,When receiving the adjusted work schedule from the master battery management system or the other battery management system through the communication unit,
    상기 조정된 업무 스케쥴로 상기 태스크 정보 저장부의 저장 내용을 업데이트하는 배터리 관리 시스템.A battery management system for updating storage contents of the task information storage unit according to the adjusted work schedule.
  14. 청구항 11에 있어서,The method of claim 11,
    상기 통신부는 멀티캐스트 또는 브로드캐스트 방식으로 상기 스케쥴 결정부에 의하여 조정된 업무 스케쥴을 다른 배터리 관리 시스템으로 송신하는 배터리 관리 시스템.The communication unit transmits the work schedule adjusted by the schedule determination unit in a multicast or broadcast method to another battery management system.
  15. 청구항 1에 있어서,The method according to claim 1,
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 호출된 태스트들을 저장하는 태스크 대기열을 더 포함하고,Further comprising a task queue for storing the called tasks based on the work schedule determined by the schedule determination unit,
    상기 우선순위 변경부는 상기 태스크 대기열에 포함된 태스크들 중 가장 우선순위가 높은 태스크를 제외한 태스크들 중에서, 대기 시간보다 짧은 수행 시간을 갖는 태스크의 우선순위를 변경하는 배터리 관리 시스템.The priority change unit changes the priority of a task having an execution time shorter than a waiting time, among tasks excluding a task having a highest priority among tasks included in the task queue.
  16. 청구항 15에 있어서,The method of claim 15,
    상기 우선순위 변경부는 상기 우선순위가 변경된 태스크의 수행이 완료되면 해당 태스크의 우선순위를 원래의 우선순위로 재변경하는 배터리 관리 시스템.The priority change unit changes the priority of the task to the original priority when the task whose priority has been changed is completed.
  17. 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 상기 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 상기 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 저장하는 단계;Storing a list of tasks performed by each of the plurality of battery management systems, an execution time, execution period, and task priority of each task included in the task list, and a communication priority between the plurality of battery management systems;
    상기 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 단계;Determining a work schedule based on the stored data;
    상기 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 단계; 및Adjusting a task priority of a task based on the determined task schedule; And
    상기 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 단계;를 포함하는 배터리 관리 시스템의 제어방법.The control method of a battery management system comprising; adjusting a work schedule according to the adjusted work priority.
  18. 청구항 17에 있어서,The method of claim 17,
    상기 태스크의 업무 우선순위를 조정하는 단계는,Adjusting the task priority of the task,
    상기 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 상기 후순위 태스크의 업무 우선순위를 상기 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정하는 것을 특징으로 하는 배터리 관리 시스템의 제어방법.If there is a lower priority task that can be executed during the waiting time among the determined work schedule, the task priority of the lower priority task is adjusted to be next to the priority of the task executed immediately before the waiting time. Control method.
  19. 청구항 18에 있어서,The method of claim 18,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정하는 것을 특징으로 하는 배터리 관리 시스템의 제어방법.When there are a plurality of tasks having an execution period shorter than the length of the waiting time, the priority of the task having the highest priority among the corresponding tasks is adjusted.
  20. 청구항 18에 있어서,The method of claim 18,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정하는 것을 특징으로 하는 배터리 관리 시스템의 제어방법.When there are a plurality of tasks having an execution period shorter than the length of the waiting time, the priority of a task having the longest execution period among the corresponding tasks is adjusted.
PCT/KR2020/009469 2019-11-19 2020-07-17 Battery management system and control method thereof WO2021101012A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021564916A JP7206553B2 (en) 2019-11-19 2020-07-17 Battery management system and its control method
US17/616,501 US20220237029A1 (en) 2019-11-19 2020-07-17 Battery management system and controlling method thereof
EP20889720.7A EP3961392A4 (en) 2019-11-19 2020-07-17 Battery management system and control method thereof
CN202080039022.2A CN113950669A (en) 2019-11-19 2020-07-17 Battery management system and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0148979 2019-11-19
KR1020190148979A KR20210061138A (en) 2019-11-19 2019-11-19 Battery management system and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2021101012A1 true WO2021101012A1 (en) 2021-05-27

Family

ID=75980641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/009469 WO2021101012A1 (en) 2019-11-19 2020-07-17 Battery management system and control method thereof

Country Status (6)

Country Link
US (1) US20220237029A1 (en)
EP (1) EP3961392A4 (en)
JP (1) JP7206553B2 (en)
KR (1) KR20210061138A (en)
CN (1) CN113950669A (en)
WO (1) WO2021101012A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023102733A1 (en) * 2021-12-07 2023-06-15 宁德时代新能源科技股份有限公司 Battery management system and update method therefor, and master node, slave node and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497258B1 (en) * 2020-12-16 2023-02-06 현대오토에버 주식회사 Task execution system and mehtod of operating system for vehicle
WO2023195521A1 (en) * 2022-04-08 2023-10-12 Freet株式会社 Distributed processing system
CN118018354A (en) * 2024-02-28 2024-05-10 双一力(宁波)电池有限公司 Communication method and system of battery management system and battery device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816410A (en) * 1994-06-29 1996-01-19 Natl Aerospace Lab Unit and method for schedule control
JP2001249821A (en) * 2000-03-07 2001-09-14 Hitachi Ltd Job scheduling method
JP2001350639A (en) * 2000-06-06 2001-12-21 Atr Adaptive Communications Res Lab Scheduling method in soft real-time
US9063780B2 (en) * 2010-02-22 2015-06-23 Telefonaktiebolaget L M Ericsson (Publ) Technique of scheduling tasks in a system
JP2017182627A (en) * 2016-03-31 2017-10-05 株式会社デンソー Microcomputer

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6388758B2 (en) * 1997-11-17 2002-05-14 Canon Kabushiki Kaisha System for scheduling an event in a device based on elapsed time or device event
US20040224684A1 (en) * 2003-05-07 2004-11-11 Dorsey Donald A. Method for a radiotelephone to search for higher priority networks
BR0303076A (en) * 2003-08-12 2005-03-29 Itautec Philco Sa Control, monitoring and management system applied to self-service banking terminals
US7460543B2 (en) * 2003-08-13 2008-12-02 Panasonic Corporation Method and system for scheduling traffic in a wireless network
JP4460411B2 (en) * 2004-10-01 2010-05-12 本田技研工業株式会社 Robot controller
JP4367856B2 (en) * 2005-07-07 2009-11-18 レノボ シンガポール プライヴェート リミテッド Process control system and control method thereof
JP4277230B2 (en) * 2006-08-07 2009-06-10 コニカミノルタビジネステクノロジーズ株式会社 Output management server and data output system
JP2008293130A (en) * 2007-05-22 2008-12-04 Auto Network Gijutsu Kenkyusho:Kk Processing execution method, processing execution device and computer program
WO2008155834A1 (en) * 2007-06-20 2008-12-24 Fujitsu Limited Processing device
KR101622168B1 (en) * 2008-12-18 2016-05-18 삼성전자주식회사 Realtime scheduling method and central processing unit based on the same
US20110196692A1 (en) * 2010-02-09 2011-08-11 Chavez Jr Lloyd G Apparatus, system and method for grid storage
KR101686010B1 (en) * 2010-12-21 2016-12-13 삼성전자주식회사 Apparatus for fair scheduling of synchronization in realtime multi-core systems and method of the same
ES2685910T3 (en) * 2012-09-28 2018-10-15 Enrichment Technology Company Ltd. Energy storage system
JP5717266B2 (en) * 2012-10-19 2015-05-13 エルジー・ケム・リミテッド Method for assigning unique identifier and battery management system using the same
US9609594B2 (en) * 2013-03-15 2017-03-28 Oneevent Technologies, Inc. Networked evacuation system
US9588804B2 (en) * 2014-01-21 2017-03-07 Qualcomm Incorporated System and method for synchronous task dispatch in a portable device
US9630324B2 (en) * 2014-03-28 2017-04-25 SKUR, Inc. Enhanced system and method for control of robotic devices
JP6364880B2 (en) * 2014-03-31 2018-08-01 富士通株式会社 Parallel computer system, control program for job management apparatus, and control method for parallel computer system
US9811132B2 (en) * 2014-08-26 2017-11-07 International Business Machines Corporation Power management for battery-powered devices
US9442760B2 (en) * 2014-10-03 2016-09-13 Microsoft Technology Licensing, Llc Job scheduling using expected server performance information
JP6515708B2 (en) * 2015-07-06 2019-05-22 富士通株式会社 Information processing apparatus, parallel computer system, job schedule setting program, and job schedule setting method
US10013214B2 (en) * 2015-12-29 2018-07-03 International Business Machines Corporation Adaptive caching and dynamic delay scheduling for in-memory data analytics
CN106371903B (en) * 2016-08-23 2019-05-24 西安电子科技大学 The method for scheduling task of aircraft airborne credible calculating platform
CN110162399B (en) * 2019-05-08 2023-05-09 哈尔滨工业大学 Time deterministic method for multi-core real-time system
KR102194962B1 (en) * 2020-05-20 2020-12-24 주식회사 네이처모빌리티 System for providing bigdata based artificial intelligence automatic allocation matching service using assignmanet problem and simulated annealing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816410A (en) * 1994-06-29 1996-01-19 Natl Aerospace Lab Unit and method for schedule control
JP2001249821A (en) * 2000-03-07 2001-09-14 Hitachi Ltd Job scheduling method
JP2001350639A (en) * 2000-06-06 2001-12-21 Atr Adaptive Communications Res Lab Scheduling method in soft real-time
US9063780B2 (en) * 2010-02-22 2015-06-23 Telefonaktiebolaget L M Ericsson (Publ) Technique of scheduling tasks in a system
JP2017182627A (en) * 2016-03-31 2017-10-05 株式会社デンソー Microcomputer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3961392A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023102733A1 (en) * 2021-12-07 2023-06-15 宁德时代新能源科技股份有限公司 Battery management system and update method therefor, and master node, slave node and storage medium

Also Published As

Publication number Publication date
JP2022532516A (en) 2022-07-15
JP7206553B2 (en) 2023-01-18
CN113950669A (en) 2022-01-18
KR20210061138A (en) 2021-05-27
US20220237029A1 (en) 2022-07-28
EP3961392A4 (en) 2022-08-03
EP3961392A1 (en) 2022-03-02

Similar Documents

Publication Publication Date Title
WO2021101012A1 (en) Battery management system and control method thereof
WO2019017595A1 (en) Wireless battery management system and battery pack including same
WO2021045387A1 (en) Battery management device, battery management method, battery pack, and electric vehicle
WO2019017596A1 (en) Wireless battery management system and battery pack including same
WO2018030704A1 (en) Temperature monitoring apparatus and method for battery pack
WO2017082705A1 (en) System for controlling output parameters of secondary battery, and method therefor
WO2019009531A1 (en) Wireless battery management system and battery pack including same
WO2013035953A1 (en) Communication method, communication system, and energy storage system including the same
WO2019009530A1 (en) Apparatus and method for estimating capacity retention ratio of secondary battery
WO2020055046A1 (en) Wireless battery management system for vehicle
WO2018056505A1 (en) Control method and control system for energy storage system having demand control and uninterrupted power supply functions
WO2021096250A1 (en) Wireless battery management system, wireless battery management method and electric vehicle
WO2019188888A1 (en) Electricity storage system, sensor module, and control method for electricity storage system
WO2021034066A1 (en) Power charging and discharging apparatus having uninterruptible power supply function, and energy storage system including same
WO2013032147A1 (en) Data transmitting method, data transmitting apparatus, and energy storage system including the same
KR20210048318A (en) Battery management system and id assigning method thereof
WO2020256258A1 (en) Battery management system and management method
WO2021256722A1 (en) Slave bms for diagnosing error of battery module and battery pack including slave bms
WO2022059957A1 (en) Battery pack and control method for battery pack
WO2021125475A1 (en) Device and method for updating current pattern for rapid charging, and computer program, stored in storage medium, for performing same
WO2023080650A1 (en) Power storage source management apparatus and control method therefor
WO2020130576A1 (en) Bms recognition system and method
WO2024071662A1 (en) Battery management apparatus and operating method thereof
WO2023059077A1 (en) System of estimating residual capacity of energy storage system (ess) and method thereof
WO2024106668A1 (en) Battery charging control apparatus and method, and battery system comprising same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20889720

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021564916

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020889720

Country of ref document: EP

Effective date: 20211125

NENP Non-entry into the national phase

Ref country code: DE