KR20230064967A - Apparatus and method for processing bms data - Google Patents

Apparatus and method for processing bms data Download PDF

Info

Publication number
KR20230064967A
KR20230064967A KR1020210150660A KR20210150660A KR20230064967A KR 20230064967 A KR20230064967 A KR 20230064967A KR 1020210150660 A KR1020210150660 A KR 1020210150660A KR 20210150660 A KR20210150660 A KR 20210150660A KR 20230064967 A KR20230064967 A KR 20230064967A
Authority
KR
South Korea
Prior art keywords
bms
data
task
reception buffer
buffer
Prior art date
Application number
KR1020210150660A
Other languages
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 KR1020210150660A priority Critical patent/KR20230064967A/en
Publication of KR20230064967A publication Critical patent/KR20230064967A/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
    • 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/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

본 발명의 실시예에 따른 BMS 데이터 처리 장치는, 주기적으로 수신되는 데이터를 저장하는 수신 버퍼를 포함하는 통신 모듈; 및 상기 수신 버퍼에 저장된 데이터 중 적어도 일부를 획득하며, 하나 이상의 BMS(Battery Management System) 관련 태스크를 수행하는 컨트롤러를 포함하고, 상기 컨트롤러는 동작 중인 태스크가 있더라도, 상기 수신 버퍼에 저장된 데이터가 임계치에 이른 경우 동작 중이던 태스크를 일시 중단하고 상기 수신 퍼버에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행하여 상기 수신 퍼버를 갱신할 수 있다. A BMS data processing apparatus according to an embodiment of the present invention includes a communication module including a reception buffer for storing periodically received data; and a controller that acquires at least some of the data stored in the reception buffer and performs one or more tasks related to a battery management system (BMS), wherein the controller determines that the data stored in the reception buffer exceeds a threshold even if there is a task in operation. In the early case, the receiving buffer may be updated by temporarily stopping the running task and performing a data acquisition operation on at least some data stored in the receiving buffer.

Figure P1020210150660
Figure P1020210150660

Description

BMS 데이터 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING BMS DATA}BMS data processing device and method {APPARATUS AND METHOD FOR PROCESSING BMS DATA}

본 발명은 BMS 데이터 처리 장치 및 방법에 관한 것으로, 보다 구체적으로는 배터리 시스템을 관리하는 BMS(Battery Management System) 관련 데이터를 처리하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for processing BMS data, and more particularly, to an apparatus and method for processing BMS (Battery Management System) related data for managing a battery system.

사용 후 충전하여 재사용이 가능한 전지인 2차 전지는 디바이스가 요구하는 출력 용량에 따라 다수 개의 배터리 셀들을 직렬 연결하여 이루어진 배터리 모듈 또는 배터리 팩으로 제작되어, 각종 디바이스의 전원 공급원으로서 사용된다. 이와 같은 배터리는 스마트 폰 등의 소형 첨단 전자기기 분야뿐만 아니라 전기 자전거, 전기 자동차, 에너지저장시스템(ESS)에 이르기까지 다양한 분야에 사용되고 있다.A secondary battery, which is a battery that can be recharged after use and reused, is manufactured as a battery module or battery pack made by connecting a plurality of battery cells in series according to the output capacity required by the device, and is used as a power source for various devices. Such a battery is used in various fields ranging from electric bicycles, electric vehicles, and energy storage systems (ESS) as well as small high-tech electronic devices such as smart phones.

배터리 모듈 또는 배터리 팩은 다수 개의 배터리 셀들이 조합된 구조체로서, 일부 배터리 셀에서 과전압, 과전류, 과발열 등이 되는 경우에는 배터리 모듈 또는 배터리 팩의 안전성과 작동 효율에 문제가 발생하므로, 이들을 검출하기 위한 수단이 필수적이다. 따라서, 배터리 모듈 또는 배터리 팩에는 각 배터리 셀들의 전압 값을 측정하고, 측정된 값을 바탕으로 배터리 셀들의 전압 상태를 모니터링하며 제어하는 BMS(Battery Management System)가 장착되어 있다.A battery module or battery pack is a structure in which a plurality of battery cells are combined, and in the case of overvoltage, overcurrent, or overheating in some battery cells, problems occur in the safety and operational efficiency of the battery module or battery pack. means are essential. Accordingly, a battery management system (BMS) that measures voltage values of each battery cell and monitors and controls voltage states of the battery cells based on the measured values is installed in the battery module or battery pack.

BMS는 필요에 따라 해당 배터리 시스템이 포함된 장치 내 다른 모듈 또는 시스템과 통신한다. 이때, 빠른 주기를 갖는 모듈 또는 시스템과 통신하는 경우 BMS에서의 데이터 수신 속도 및 프로세싱 속도 간 불균형으로 인해 시스템 제어에 문제가 발행할 수 있다.The BMS communicates with other modules or systems within the device containing the battery system as needed. At this time, when communicating with a module or system having a fast cycle, a problem may occur in system control due to an imbalance between a data reception speed and a processing speed in the BMS.

WO2018-056264호WO2018-056264

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 BMS 데이터 처리 장치를 제공하는 데 있다.An object of the present invention to solve the above problems is to provide a BMS data processing device.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 배터리 시스템을 관리하는 BMS(Battery Management System)에 의한 데이터 처리 방법을 제공하는 데 있다.Another object of the present invention to solve the above problems is to provide a data processing method by a battery management system (BMS) for managing a battery system.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 BMS 데이터 처리 장치는, 주기적으로 수신되는 데이터를 저장하는 수신 버퍼를 포함하는 통신 모듈; 및 상기 수신 버퍼에 저장된 데이터 중 적어도 일부를 획득하며, 하나 이상의 BMS(Battery Management System) 관련 태스크를 수행하는 컨트롤러를 포함하고, 상기 컨트롤러는 동작 중인 태스크가 있더라도, 상기 수신 버퍼에 저장된 데이터가 임계치에 이른 경우 동작 중이던 태스크를 일시 중단하고 상기 수신 퍼버에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행하여 상기 수신 퍼버를 갱신할 수 있다. BMS data processing apparatus according to an embodiment of the present invention for achieving the above object, a communication module including a reception buffer for storing data received periodically; and a controller that acquires at least some of the data stored in the reception buffer and performs one or more tasks related to a battery management system (BMS), wherein the controller determines that the data stored in the reception buffer exceeds a threshold even if there is a task in operation. In the early case, the receiving buffer may be updated by temporarily stopping the running task and performing a data acquisition operation on at least some data stored in the receiving buffer.

상기 컨트롤러는, 동작 중인 태스크가 없는 시간 구간에서 상기 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행할 수 있다.The controller may perform a data acquisition operation on at least some data stored in the reception buffer in a time interval in which there is no task in operation.

상기 통신 모듈은 CAN(Controller Area Network) 방식을 이용해 배터리 시스템이 포함된 장치 내 다른 시스템 또는 모듈과 통신할 수 있다.The communication module may communicate with other systems or modules in a device including a battery system using a controller area network (CAN) method.

상기 컨트롤러는, 상기 수신 버퍼를 갱신한 이후 중단된 태스크를 재동작시킬 수 있다.The controller may restart the suspended task after updating the reception buffer.

상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 BMS 데이터 처리 방법은, 배터리 시스템을 관리하는 BMS(Battery Management System)가 데이터를 처리하는 방법으로서, 주기적으로 수신되는 데이터를 수신 버퍼에 저장하는 단계; 상기 BMS에 의해 수행중인 태스크의 유무를 판단하는 단계; 수행중인 태스크가 있는 경우, 상기 수신 버퍼에 저장된 데이터가 임계치 이상인지 판단하는 단계; 상기 수신 버퍼에 저장된 데이터가 임계치 이상인 경우 상기 수행중인 태스크를 일시 중단시키는 단계; 상기 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터를 획득하여 상기 수신 버퍼를 갱신하는 단계를 포함할 수 있다.BMS data processing method according to an embodiment of the present invention for achieving the other object is a method for processing data by a battery management system (BMS) that manages a battery system, and stores periodically received data in a reception buffer. doing; determining whether there is a task being performed by the BMS; determining whether data stored in the reception buffer is greater than or equal to a threshold value when there is a task being performed; suspending the task being performed when the data stored in the reception buffer is equal to or greater than a threshold value; The method may include obtaining data for at least some data stored in the reception buffer and updating the reception buffer.

상기 BMS 데이터 처리 방법은, 상기 BMS에 의해 수행중인 태스크의 유무를 판단 결과 수행 중인 태스크가 없는 경우, 상기 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터를 획득하여 상기 수신 버퍼를 갱신하는 단계를 더 포함할 수 있다.The method for processing BMS data further includes obtaining data for at least some data stored in the reception buffer and updating the reception buffer when there is no task being performed as a result of determining whether there is a task being performed by the BMS. can do.

상기 BMS는 CAN(Controller Area Network) 방식을 이용해 상기 배터리 시스템이 포함된 장치 내 다른 시스템 또는 모듈과 통신할 수 있다.The BMS may communicate with other systems or modules in a device including the battery system using a controller area network (CAN) method.

상기 BMS 데이터 처리 방법은, 상기 수신 버퍼를 갱신한 이후 중단된 태스크를 재동작시키는 단계를 더 포함할 수 있다. The BMS data processing method may further include restarting a suspended task after updating the receive buffer.

상기와 같은 본 발명의 실시예에 따르면, BMS가 빠른 주기로 데이터를 수신하는 경우에도 수신 버퍼가 용량 한계에 도달하는 문제를 최소화할 수 있다. According to the embodiment of the present invention as described above, even when the BMS receives data in a fast cycle, it is possible to minimize the problem of the receiving buffer reaching its capacity limit.

그에 따라, 버퍼용량 초과로 인한 데이터 유실을 방지할 수 있으며, 실시간 처리가 필요한 경우에도 원활한 시스템 운영이 가능하다. Accordingly, data loss due to excess buffer capacity can be prevented, and smooth system operation is possible even when real-time processing is required.

도 1은 본 발명이 적용될 수 있는 배터리 시스템의 구조를 나타낸다.
도 2는 본 발명의 실시예에 따른 배터리 관리 장치의 블록 구성도이다.
도 3은 빠른 주기를 갖는 시스템과 통신하는 BMS에서 발생하는 데이터 수신 에러를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 데이터 처리 방법에 따른 컨트롤러의 동작 및 수신 버퍼의 상태를 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 데이터 처리 방법의 순서도이다.
1 shows the structure of a battery system to which the present invention can be applied.
2 is a block diagram of a battery management device according to an embodiment of the present invention.
3 is a diagram for explaining a data reception error occurring in a BMS communicating with a system having a fast cycle.
4 is a diagram for explaining an operation of a controller and a state of a receive buffer according to a data processing method according to an embodiment of the present invention.
5 is a flowchart of a data processing method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Like reference numbers have been used for like elements throughout the description of each figure.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The term “and/or” includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명이 적용될 수 있는 배터리 시스템의 구조를 나타낸다.1 shows the structure of a battery system to which the present invention can be applied.

도 1에서 배터리 팩 또는 배터리 모듈(Battery Module)은 직렬 연결된 복수의 배터리 셀을 포함하여 구성될 수 있다. 배터리 셀 또는 모듈은 양극 단자 및 음극 단자를 통해부하와 연결되어 충/방전 동작할 수 있다. 가장 일반적으로 사용되는 배터리 셀은 리튬 이온(Li-Ion) 배터리 셀이다. In FIG. 1 , a battery pack or battery module may include a plurality of battery cells connected in series. A battery cell or module may be charged/discharged by being connected to a load through a positive terminal and a negative terminal. The most commonly used battery cell is a lithium-ion (Li-Ion) battery cell.

이러한 배터리 모듈 또는 배터리 팩에는 배터리 관리 시스템(Battery Management System; BMS)(100)이 설치될 수 있다. BMS는 자신이 관장하는 각 배터리 팩의 전류, 전압 및 온도를 모니터링하고, 모니터링 결과에 근거하여 SOC(Status Of Charge)를 산출하고 충방전을 제어한다. 여기서, SOC(State of Charge; 충전율)은 배터리의 현재 충전된 상태를 비율[%]로 표현한 것이고, SOH(State of Health; 배터리 수명 상태)은 배터리의 현재 퇴화 상태를 비율[%]로 표현한 것이다. A battery management system (BMS) 100 may be installed in such a battery module or battery pack. The BMS monitors the current, voltage, and temperature of each battery pack it manages, calculates SOC (Status Of Charge) based on the monitoring result, and controls charging and discharging. Here, State of Charge (SOC) is the current charged state of the battery expressed in percentage [%], and SOH (State of Health; State of Battery Life) is the current state of deterioration of the battery expressed in percentage [%]. .

이처럼 BMS는 배터리 셀들을 모니터링하며 셀 전압을 읽고 배터리와 연결된 다른 시스템에 전달한다. BMS는 또한, 배터리 시스템의 수명을 연장하기 위해 배터리 셀의 전하를 균등하게 밸런싱한다. As such, the BMS monitors the battery cells, reads the cell voltage, and transmits it to other systems connected to the battery. The BMS also balances the charge of the battery cells equally to prolong the life of the battery system.

도 2는 본 발명의 실시예에 따른 배터리 관리 장치의 블록 구성도이다. 2 is a block diagram of a battery management device according to an embodiment of the present invention.

앞서 살펴본 바와 같은 동작을 수행하기 위해 BMS(100)는 퓨즈, 전류센싱 소자, 써미스터, 스위치, 밸런서 등 다양한 구성요소들을 포함할 수 있는데, 이들과 연동하고 제어하기 위한 MCU(Micro Controller Unit)(110) 또는 BMIC(Battery Monitoring Integrated Chip)를 추가로 포함하는 경우가 대부분이다. 여기서, BMIC는 BMS 내부에 위치하며 배터리 셀/모듈의 전압, 온도, 전류 등의 정보를 측정하는 IC 형태의 부품일 수 있다.In order to perform the operation described above, the BMS 100 may include various components such as a fuse, a current sensing element, a thermistor, a switch, and a balancer. ) or BMIC (Battery Monitoring Integrated Chip) in most cases. Here, the BMIC may be an IC type component that is located inside the BMS and measures information such as voltage, temperature, and current of the battery cell/module.

BMS는 또한, 배터리 셀들을 모니터링하며 셀 전압을 읽고 배터리와 연결된 다른 시스템에 전달한다. 이를 위해 BMS는, 배터리 시스템이 포함된 장치 내의 다른 시스템과 통신하기 위한 통신 모듈(120)을 포함한다. BMS의 통신 모듈은CAN(Controller Area Network)을 이용해 장치 내 다른 시스템과 통신할 수 있다. 이 경우 BMS 내 부품, 모듈 또는 시스템들은 CAN 버스를 통해 서로 연결된다.The BMS also monitors the battery cells and reads the cell voltage and forwards it to other systems connected to the battery. To this end, the BMS includes a communication module 120 for communicating with other systems in the device including the battery system. The communication module of the BMS can communicate with other systems in the device using CAN (Controller Area Network). In this case, parts, modules or systems within the BMS are connected to each other via the CAN bus.

CAN 통신(Controller Area Network)은 차량 내에서 호스트 컴퓨터 없이 마이크로컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. CAN 통신은 각 제어기들 간의 통신을 위해 주로 사용되는 non-host 버스 방식의 메시지 기반 네트워크 프로토콜로서, 차량에 주로 사용된다. CAN communication (Controller Area Network) is a standard communication specification designed to allow microcontrollers or devices to communicate with each other without a host computer in a vehicle. CAN communication is a non-host bus type message-based network protocol mainly used for communication between controllers, and is mainly used in vehicles.

통신 모듈(120)은 다른 모듈 또는 시스템으로부터 수신한 데이터를 일시 저장하는 버퍼(121)를 포함할 수 있다. 도 2의 실시예에서는 버퍼(121)가 통신 모듈(120) 내에 위치하는 것으로 도시되어 있으나, 통신 모듈 외부에 위치할 수도 있다.The communication module 120 may include a buffer 121 that temporarily stores data received from other modules or systems. In the embodiment of FIG. 2 , the buffer 121 is shown as being located within the communication module 120, but may be located outside the communication module.

도 3은 빠른 주기를 갖는 시스템과 통신하는 BMS에서 발생하는 데이터 수신 에러를 설명하기 위한 도면이다. 3 is a diagram for explaining a data reception error occurring in a BMS communicating with a system having a fast cycle.

BMS에는, CAN 통신을 통해 다른 시스템으로부터 BMS로 수신되는 데이터(31)가 주기적으로 발생하고 있다. 이때 수신되는 데이터는 일시적으로 수신 버퍼(33)에 저장된다. 버퍼는 일정한 용량을 가진다. 따라서, 버퍼가 풀인 경우 버퍼로 수신되는 데이터는 버퍼에 저장되지 못한다.In the BMS, data 31 received by the BMS from another system through CAN communication is periodically generated. At this time, the received data is temporarily stored in the receive buffer 33. A buffer has a certain capacity. Therefore, when the buffer is full, data received into the buffer cannot be stored in the buffer.

도 3의 예는 BMS에 의해 태스크 1(task 1) 및 태스크 2(task 2)가 동시에 수행중인 경우를 나타낸다. 각각의 태스크는 도 3에 도시된 바와 같이 동작중(Run)인 시간 구간과 휴면중(Idle)인 시간 구간을 포함할 수 있다. 일반적인 BMS의 MCU는 태스크 1 및 태스크 2가 모두 휴면 상태인 경우, 즉 MCU가 휴면중인 경우에만 버퍼에 저장된 데이터를 획득하는 작업(32)을 수행한다.The example of FIG. 3 shows a case in which task 1 and task 2 are simultaneously performed by the BMS. As shown in FIG. 3 , each task may include a running time section and an idle time section. The MCU of a typical BMS performs operation 32 of obtaining data stored in the buffer only when both task 1 and task 2 are in a dormant state, that is, when the MCU is in a dormant state.

따라서, 컨트롤러가 버퍼에 저장되어 있던 데이터를 가져오기 전에 버퍼가 풀인 상태가 되면 CAN 버스를 통해 수신된 데이터는 버퍼에 저장되지 못하고 유실되는 결과를 초래할 수 있다. 이러한 현상은 특히, 빠른 동작 주기를 갖는 시스템과 통신하는 BMS에서 자주 발생할 수 있다. 즉, MCU의 처리 속도가 CAN 수신 속도보다 느릴 경우, 데이터를 수신 처리하는 과정에서 버퍼 풀로 인해 데이터 획득이 적시에 이루어지지 못하게 된다. 따라서, 이때 수신된 주요 데이터 및 통신의 신뢰성을 담보할 수 없게 된다. 이는 긴밀한 제어가 필요한 경우(예를 들어, RTOS(Real Time Operation System)이 경우) 시스템 중단이라는 매우 심각한 상황으로 이어질 수 있다.Therefore, if the buffer is in a full state before the controller retrieves the data stored in the buffer, data received through the CAN bus may not be stored in the buffer and may be lost. This phenomenon can occur particularly frequently in BMSs communicating with systems with fast operating cycles. That is, when the processing speed of the MCU is slower than the CAN reception speed, data acquisition cannot be performed in a timely manner due to the buffer pool in the process of receiving and processing data. Therefore, reliability of the main data and communication received at this time cannot be guaranteed. This can lead to a very serious situation where close control is required (for example, in the case of a real time operating system (RTOS)), system downtime.

본 발명은 이러한 문제점을 해결하기 위해, 수신되는 데이터를 놓치지 않도록 컨트롤러가 버퍼의 상태를 고려하여 버퍼 내 저장된 데이터를 읽어오도록 하는 데이터 처리 방법을 제안한다. In order to solve this problem, the present invention proposes a data processing method in which a controller reads data stored in a buffer in consideration of a state of the buffer so as not to miss received data.

도 4는 본 발명의 실시예에 따른 데이터 처리 방법에 따른 컨트롤러의 동작 및 수신 버퍼의 상태를 설명하기 위한 도면이다. 4 is a diagram for explaining an operation of a controller and a state of a receive buffer according to a data processing method according to an embodiment of the present invention.

본 발명에 따른 BMS에서는 다른 시스템으로부터 주기적으로 수신되는 데이터(1)가 발생한다. 도 4의 실시예 또한, BMS에 의해 태스크 1(task 1) 및 태스크 2(task 2)가 동시에 수행중인 경우를 나타낸다. 각각의 태스크는 도 4에 도시된 바와 같이 동작중(Run)인 시간 구간과 휴면중(Idle)인 시간 구간을 포함할 수 있다. In the BMS according to the present invention, data 1 periodically received from other systems occurs. The embodiment of FIG. 4 also shows a case in which task 1 and task 2 are simultaneously performed by the BMS. As shown in FIG. 4 , each task may include a running time section and an idle time section.

본 발명의 실시예에 따르면, 컨트롤러는 동작 중인 태스크가 있더라도, 상기 수신 버퍼가 데이터 저장 임계치에 이른 경우 동작 중이던 태스크를 일시 중단하고 상기 수신 퍼버에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작(2)을 수행한다. According to an embodiment of the present invention, even if there is a task in operation, when the receiving buffer reaches the data storage threshold, the controller temporarily suspends the task in operation and performs the data acquisition operation 2 for at least some data stored in the receiving buffer. carry out

컨트롤러는 데이터 수신 속도보다 느려지는 부분, 즉, 통신 처리 루틴보다 빠른 기능을 수행하는 루틴에서 수신 버퍼 갱신 동작을 적용할 수 있다.The controller may apply the receive buffer update operation to a part that is slower than the data reception speed, that is, a routine that performs a function faster than the communication processing routine.

따라서, 도 4에 도시된 바와 같이 본 발명에 따른 데이터 수신 버퍼(3)는 풀 상태에 이르지 않고 그에 따라 데이터 유실 또한 발생하지 않게 된다. Therefore, as shown in FIG. 4, the data reception buffer 3 according to the present invention does not reach a full state and thus data loss does not occur.

도 5는 본 발명의 실시예에 따른 데이터 처리 방법의 순서도이다. 5 is a flowchart of a data processing method according to an embodiment of the present invention.

본 발명의 실시예에 따른 데이터 처리 방버은 BMS 내 컨트롤러, 즉 MCU에 의해 수행될 수 있으나, 본 발명에 따른 방법의 동작 주체가 이에 한정되는 것은 아니다.The data processing method according to an embodiment of the present invention may be performed by a controller in the BMS, that is, an MCU, but the operation subject of the method according to the present invention is not limited thereto.

컨트롤러는, 주기적으로 수신되는 데이터를 수신 버퍼에 저장한다(S510).The controller stores periodically received data in a reception buffer (S510).

컨트롤러는 동작 중인 태스크가 없는지 체크하고(S520), 동작 중인 태스크가 없는 경우 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행함으로써 수신 버퍼를 갱신한다(S521). 이때 컨트롤러는 수신 버퍼에 저장된 모든 데이터를 가져올 수도 있다. The controller checks whether there is no task in operation (S520), and if there is no task in operation, updates the reception buffer by performing a data acquisition operation on at least some data stored in the reception buffer (S521). At this time, the controller may bring all data stored in the receive buffer.

한편, 컨트롤러는 휴면 상태가 아닌 경우, 즉 동작 중인 태스크가 있더라도, 수신 버퍼에 저장된 데이터가 임계치 이상인지 체크한다(S530). 수신 버퍼에 저장된 데이터가 임계치에 이른 경우에는 동작 중이던 태스크를 일시 중단시키고(S540), 수신 퍼버에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행하여 수신 퍼버를 갱신한다(S550). 컨트롤러는 수신 버퍼를 갱신한 이후 중단된 태스크를 재동작시킨다(S550).On the other hand, the controller checks whether the data stored in the reception buffer is equal to or greater than the threshold when not in a dormant state, that is, even if there is a task in operation (S530). When the data stored in the reception buffer reaches the critical value, the currently operating task is temporarily suspended (S540), and a data acquisition operation is performed on at least some data stored in the reception buffer to update the reception buffer (S550). The controller restarts the suspended task after updating the reception buffer (S550).

본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다. The operation of the method according to the embodiment of the present invention can be implemented as a computer readable program or code on a computer readable recording medium. A computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. In addition, computer-readable recording media may be distributed to computer systems connected through a network to store and execute computer-readable programs or codes in a distributed manner.

본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다. Although some aspects of the present invention have been described in the context of an apparatus, it may also represent a description according to a corresponding method, where a block or apparatus corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method may also be represented by a corresponding block or item or a corresponding feature of a device. Some or all of the method steps may be performed by (or using) a hardware device such as, for example, a microprocessor, programmable computer, or electronic circuitry. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention without departing from the spirit and scope of the present invention described in the claims below. You will understand that you can.

100: BMS 120: 통신 모듈
121: 수신 버퍼
100: BMS 120: communication module
121: receive buffer

Claims (8)

주기적으로 수신되는 데이터를 저장하는 수신 버퍼를 포함하는 통신 모듈; 및
상기 수신 버퍼에 저장된 데이터 중 적어도 일부를 획득하며, 하나 이상의 BMS(Battery Management System) 관련 태스크를 수행하는 컨트롤러를 포함하고,
상기 컨트롤러는 동작 중인 태스크가 있더라도, 상기 수신 버퍼에 저장된 데이터가 임계치에 이른 경우 동작 중이던 태스크를 일시 중단하고 상기 수신 퍼버에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행하여 상기 수신 퍼버를 갱신하는, BMS 데이터 처리 장치.
a communication module including a reception buffer for storing periodically received data; and
A controller that acquires at least some of the data stored in the reception buffer and performs one or more BMS (Battery Management System) related tasks;
Even if there is a task in operation, the controller suspends the task in operation when the data stored in the reception buffer reaches a threshold value and performs a data acquisition operation on at least some data stored in the reception buffer to update the reception buffer. BMS data processing unit.
청구항 1에 있어서,
상기 컨트롤러는,
동작 중인 태스크가 없는 시간 구간에서 상기 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터 획득 동작을 수행하는, BMS 데이터 처리 장치.
The method of claim 1,
The controller,
A BMS data processing device that performs a data acquisition operation for at least some data stored in the reception buffer in a time interval in which there is no task in operation.
청구항 1에 있어서,
상기 통신 모듈은 CAN(Controller Area Network) 방식을 이용해 배터리 시스템이 포함된 장치 내 다른 시스템 또는 모듈과 통신하는, BMS 데이터 처리 장치.
The method of claim 1,
The communication module communicates with other systems or modules in a device including a battery system using a controller area network (CAN) method.
청구항 1에 있어서,
상기 컨트롤러는,
상기 수신 버퍼를 갱신한 이후 중단된 태스크를 재동작시키는, BMS 데이터 처리 장치.
The method of claim 1,
The controller,
Restarting the suspended task after updating the receive buffer, the BMS data processing device.
배터리 시스템을 관리하는 BMS(Battery Management System)가 데이터를 처리하는 방법으로서,
주기적으로 수신되는 데이터를 수신 버퍼에 저장하는 단계;
상기 BMS에 의해 수행중인 태스크의 유무를 판단하는 단계;
수행중인 태스크가 있는 경우, 상기 수신 버퍼에 저장된 데이터가 임계치 이상인지 판단하는 단계;
상기 수신 버퍼에 저장된 데이터가 임계치 이상인 경우 상기 수행중인 태스크를 일시 중단시키는 단계;
상기 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터를 획득하여 상기 수신 버퍼를 갱신하는 단계를 포함하는, BMS 데이터 처리 방법.
As a method for processing data by a BMS (Battery Management System) that manages a battery system,
Storing periodically received data in a reception buffer;
determining whether there is a task being performed by the BMS;
determining whether data stored in the reception buffer is greater than or equal to a threshold value when there is a task being performed;
suspending the task being performed when the data stored in the reception buffer is equal to or greater than a threshold value;
and obtaining data for at least some data stored in the reception buffer and updating the reception buffer.
청구항 5에 있어서,
상기 BMS에 의해 수행중인 태스크의 유무를 판단 결과 수행 중인 태스크가 없는 경우,
상기 수신 버퍼에 저장된 적어도 일부 데이터에 대한 데이터를 획득하여 상기 수신 버퍼를 갱신하는 단계를 더 포함하는, BMS 데이터 처리 방법.
The method of claim 5,
If there is no task being performed as a result of determining whether there is a task being performed by the BMS,
Further comprising the step of updating the receiving buffer by obtaining data for at least some data stored in the receiving buffer.
청구항 5에 있어서,
상기 BMS는 CAN(Controller Area Network) 방식을 이용해 상기 배터리 시스템이 포함된 장치 내 다른 시스템 또는 모듈과 통신하는, BMS 데이터 처리 방법.
The method of claim 5,
The BMS uses a CAN (Controller Area Network) method to communicate with other systems or modules in a device including the battery system, BMS data processing method.
청구항 5에 있어서,
상기 수신 버퍼를 갱신한 이후 중단된 태스크를 재동작시키는 단계를 더 포함하는, BMS 데이터 처리 방법.
The method of claim 5,
Further comprising the step of restarting the suspended task after updating the receive buffer, BMS data processing method.
KR1020210150660A 2021-11-04 2021-11-04 Apparatus and method for processing bms data KR20230064967A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210150660A KR20230064967A (en) 2021-11-04 2021-11-04 Apparatus and method for processing bms data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210150660A KR20230064967A (en) 2021-11-04 2021-11-04 Apparatus and method for processing bms data

Publications (1)

Publication Number Publication Date
KR20230064967A true KR20230064967A (en) 2023-05-11

Family

ID=86379357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210150660A KR20230064967A (en) 2021-11-04 2021-11-04 Apparatus and method for processing bms data

Country Status (1)

Country Link
KR (1) KR20230064967A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018056264A1 (en) 2016-09-21 2018-03-29 オートモーティブエナジーサプライ株式会社 Battery system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018056264A1 (en) 2016-09-21 2018-03-29 オートモーティブエナジーサプライ株式会社 Battery system

Similar Documents

Publication Publication Date Title
EP3444921B1 (en) Charging control apparatus and method capable of energy saving and quick cell balancing
KR102165937B1 (en) Method and apparatus for managing battery
US10532665B2 (en) Method for battery management of a battery with a charge state compensation system and battery management system
CN101626087B (en) Battery pack, information processing apparatus and charge control system
CN101232110B (en) Method and apparatus for charging batteries
CN102496991B (en) Backup lithium ion battery pack management method and management system thereof
CN110138046A (en) Battery management system, battery management method, power module and unmanned plane
CN108183518B (en) Battery pack balance control method and device and balance control equipment
CN105162215A (en) Distributed battery management system and method for lead-acid storage battery pack equalization
CN108767929B (en) Unmanned aerial vehicle battery safety processing method and device
CN114188618A (en) Method for determining the state of charge of a battery system, and battery system
EP2854254A1 (en) Charging station having battery cell balancing system
CN103124097A (en) Intelligent lithium ion charger
CN106654429B (en) Battery control method and system
KR20230064967A (en) Apparatus and method for processing bms data
US20200287394A1 (en) A system to charge cells assembled into a battery
CN114709871A (en) Energy storage system with grid-connected and off-grid switching function
EP4253138A1 (en) Device for managing battery and method for controlling battery
KR20240039258A (en) Battery management apparatus and method for calculating operaiton time count
CN116225666B (en) Task scheduling method and device for operating system, electronic equipment and storage medium
KR102277481B1 (en) Apparatus and Method for Battery Charge Management
EP4089427A1 (en) Detection method and apparatus for charging abnormalities, and storage medium
KR20230080731A (en) Can transceiver and method for operating the same, battery management apparatus having the same
US20190137574A1 (en) System and method for prolonging battery life in solar-powered power stations
CN117879089A (en) Battery module balancing method and device, electronic equipment and storage medium