KR20210061138A - 배터리 관리 시스템 및 그 제어방법 - Google Patents

배터리 관리 시스템 및 그 제어방법 Download PDF

Info

Publication number
KR20210061138A
KR20210061138A KR1020190148979A KR20190148979A KR20210061138A KR 20210061138 A KR20210061138 A KR 20210061138A KR 1020190148979 A KR1020190148979 A KR 1020190148979A KR 20190148979 A KR20190148979 A KR 20190148979A KR 20210061138 A KR20210061138 A KR 20210061138A
Authority
KR
South Korea
Prior art keywords
task
priority
battery management
management system
tasks
Prior art date
Application number
KR1020190148979A
Other languages
English (en)
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 KR1020190148979A priority Critical patent/KR20210061138A/ko
Priority to EP20889720.7A priority patent/EP3961392A4/en
Priority to US17/616,501 priority patent/US20220237029A1/en
Priority to CN202080039022.2A priority patent/CN113950669A/zh
Priority to PCT/KR2020/009469 priority patent/WO2021101012A1/ko
Priority to JP2021564916A priority patent/JP7206553B2/ja
Publication of KR20210061138A publication Critical patent/KR20210061138A/ko

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

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

본 발명의 실시예들은 배터리 관리 시스템 및 그 제어방법에 관한 것으로, 복수의 배터리 관리 시스템들 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 배터리 관리 시스템에 송신하는 시스템에 있어서의 배터리 관리 시스템으로서, 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 포함하는 태스크 정보 저장부; 태스크 정보 저장부에 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 스케쥴 결정부; 및 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 우선순위 변경부;를 포함하고, 스케쥴 결정부는 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 배터리 관리 시스템을 제공하여 한정된 자원을 효율적으로 사용할 수 있게 된다.

Description

배터리 관리 시스템 및 그 제어방법{BATTERY MANAGEMENT SYSTEM AND CONTROLLING METHOD THEREOF}
본 발명의 실시예들은 배터리 관리 시스템 및 그 제어방법에 관한 것이다.
스마트폰, 태블릿 등과 같은 휴대용 전자기기의 범용화와 함께, 전기 자동차 및 에너지 저장 장치의 보급에 수반하여 충방전이 가능한 이차 전지에 대한 연구 개발이 활발히 이루어지고 있다. 이차 전지 중 특히 리튬이온 전지는 종래의 Ni/Cd 전지, Ni/MH 전지 등에 비하여 에너지 밀도가 훨씬 높다는 장점이 있다, 또한, 리튬이온 전지는 소형, 경량으로 제작할 수 있어서, 이동 기기의 전원으로 사용된다. 또한, 리튬이온 전지는 전기 자동차의 전원으로 사용 범위가 확장되어 차세대 에너지 저장 매체로 주목을 받고 있다.
리튬이온 전지와 같은 이차 전지는 복수의 배터리 셀들이 직렬 및/또는 병렬로 연결된 셀 모듈과, 이러한 셀 모듈의 충방전을 제어하는 배터리 관리 시스템(BMS, Battery Management System)을 포함하는 배터리 모듈 형태로 이용된다. 또한, 배터리가 장착되는 대상이 요구하는 출력 사양에 따라서 복수의 배터리 모듈이 결합된 배터리 팩으로서 이용될 수 있다. 그리고 배터리 팩 전체를 관리하기 위한 배터리 관리 시스템이 마스터 배터리 관리 시스템으로서 추가로 구비되기도 한다.
복수 개의 배터리 모듈들로 구성되는 배터리 시스템에는 마스터 배터리 관리 시스템과 복수 개의 슬레이브 배터리 관리 시스템을 포함할 수 있다. 마스터 배터리 관리 시스템은 복수 개의 슬레이브 배터리 관리 시스템들의 동작을 제어 및 관리할 수 있으며, 상위 시스템과 통신할 수 있다. 이러한 마스터 배터리 관리 시스템과 복수 개의 슬레이브 배터리 관리 시스템은 무선으로 신호를 송수신한다. 따라서 배터리 관리 시스템 간의 무선 통신을 효율적이면서도 안정적으로 수행하기 위한 많은 연구도 필요한 실정이다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 복수의 배터리 관리 시스템이 무선 통신하는 배터리 시스템에서 각 배터리 관리 시스템이 한정된 자원을 효율적으로 사용할 수 있는 방법을 제공하는 것을 목적으로 한다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 실시예들의 일 측면에 의하면, 복수의 배터리 관리 시스템들 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 배터리 관리 시스템에 송신하는 시스템에 있어서의 배터리 관리 시스템으로서, 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 포함하는 태스크 정보 저장부; 태스크 정보 저장부에 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 스케쥴 결정부; 및 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 우선순위 변경부;를 포함하고, 스케쥴 결정부는 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 배터리 관리 시스템을 제공한다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 실시예들의 다른 측면에 의하면, 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 저장하는 단계; 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 단계; 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 단계; 및 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 단계;를 포함하는 배터리 관리 시스템의 제어방법을 제공한다.
이상과 같은 배터리 관리 시스템 및 그 제어방법에 따르면 한정된 자원을 효율적으로 사용할 수 있게 된다. 또한, 마이컴 등의 하드웨어 변경 없이도, 기존에는 수행하지 못한 태스크를 수행할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 배터리 시스템을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 배터리 관리 시스템이 포함된 배터리 팩의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 구성을 나타내는 기능 블록도이다.
도 4는 본 발명이 일 실시예에 따른 배터리 관리 시스템 중 업무 스케쥴러를 나타내는 기능 블록도이다.
도 5는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 동작을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 통신 우선순위 테이블을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 업무 스케쥴링 동작을 나타내는 흐름도이다.
도 9는 도 6 및 도 7에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.
도 10은 본 발명의 일 실시예에 따른 배터리 관리 시스템에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 11은 본 발명의 다른 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.
도 12는 본 발명의 다른 실시예에 따른 통신 우선순위 테이블을 나타내는 도면이다.
도 13은 도 11 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.
도 14는 본 발명의 일 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 우선순위 변경 방법의 일 예를 나타내는 흐름도이다.
도 16은 도 15에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 17은 본 발명의 일 실시예에 따른 우선순위 변경 방법의 다른 예를 나타내는 흐름도이다.
도 18은 도 17에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 19는 또 다른 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.
도 20은 도 19 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.
도 21은 본 발명의 다른 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다.
도 22는 도 21에 있어서 우선순위 변경 방법의 예를 나타내는 흐름도이다.
도 23은 도 22에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 24는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 하드웨어 구성도이다.
이하, 첨부한 도면을 참조하여 본 발명의 다양한 실시 예들에 대해 상세히 설명하고자 한다. 본 문서에서 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 문서에 개시되어 있는 본 발명의 다양한 실시 예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 다양한 실시 예들은 여러 가지 형태로 실시될 수 있으며 본 문서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성 요소들을 한정하지 않는다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성 요소로 바꾸어 명명될 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 배터리 시스템을 개략적으로 나타낸 구성도이다.
도 1을 참조하면, 본 발명에 따른 배터리 시스템은 복수의 배터리 셀을 포함하는 셀 모듈(12), 배터리 관리 시스템(Battery Management System, 이하 'BMS'라고 함)(14), 스위칭부(16)를 포함하는 배터리 모듈(10)과 배터리 모듈(10)을 제어 및 관리하는 마스터 BMS(20)를 포함할 수 있다.
셀 모듈(12)은 충방전 가능한 하나 이상의 배터리 셀을 포함한다. 배터리 셀은 리튬 이온(Li-ion) 전지, 리튬 이온 폴리머(Li-ion polymer) 전지, 니켈 카드뮴(Ni-Cd) 전지, 니켈 수소(Ni-MH) 전지 등일 수 있으며, 이에 한정되지 않는다.
BMS(14)는, 셀 모듈(12)의 충방전을 제어하기 위하여 스위칭부(16)의 동작을 제어할 수 있다. 또한, BMS(14)는 셀 모듈(12) 및/또는 셀 모듈(12)에 포함된 각 배터리 셀의 전압, 전류, 온도 등을 모니터링 할 수 있다. 그리고 BMS(14)에 의한 모니터링을 위해 도시하지 않은 센서나 각종 측정 모듈이 셀 모듈(12)이나 충방전 경로, 또는 셀 모듈(12) 등의 임의의 위치에 추가로 설치될 수 있다. BMS(14)는 모니터링 한 전압, 전류, 온도 등의 측정값에 기초하여 셀 모듈(12)의 상태를 나타내는 파라미터, 예를 들어 SOC나 SOH 등을 산출할 수 있다.
BMS(14)는 배터리 모듈(10)의 전반적인 동작을 제어 및 관리한다. 이를 위하여 BMS(14)는 프로그램을 실행시키고 BMS(14)의 전체 동작을 제어하는 컨트롤러로서의 마이컴과, 센서나 측정 수단 등의 입출력 장치, 기타 주변 회로 등 다양한 구성을 포함할 수 있다.
BMS(14)는 마스터 BMS(20)와 무선으로 통신 가능하며, 전압, 전류, 온도 등의 각종 모니터링한 측정값, 또는 SOC나 SOH 등의 산출값을 마스터 BMS(20)로 송신할 수 있다. 특히 본 발명에 따른 BMS(14)는 다양한 조건들을 고려하여 수행해야 하는 태스크들의 수행 순서인 업무 스케쥴을 결정한다. 이때, 다양한 조건에는 태스크들의 우선순위 및 수행 시간, 마스터 BMS(20)나 다른 BMS로 데이터를 송신하는데 필요로 하는 통신 시간, 다른 BMS와의 사이에서의 통신 우선순위 등을 포함할 수 있다. 업무 스케쥴의 결정 및 이의 변경에 대해서는 아래에서 자세히 살펴보도록 한다.
스위칭부(16)는 셀 모듈(12)의 충전 또는 방전에 대한 전류 흐름을 제어하기 위한 반도체 스위칭 소자로서, 예를 들면, 적어도 하나의 MOSFET이 이용될 수 있다.
배터리 모듈(10)은 장착되는 기기의 사양에 따라서 복수 개 포함된 배터리 팩(1)의 형태로 제공될 수 있다. 그리고 배터리 팩(1)에는 배터리 모듈(10)을 제어 및 관리하는 마스터 BMS(20)를 포함할 수 있다. 마스터 BMS(20)는 각각의 배터리 모듈(10)에 포함된 BMS(14)로부터 각종 데이터를 수신할 수 있다. 마스터 BMS(20)는 각각의 배터리 모듈(10)에 포함된 BMS(14)에 이들을 제어하기 위한 신호를 송신할 수 있다.
또한, 마스터 BMS(20)는 별도로 관리하는 배터리 모듈(10)이 없는 것일 수 있다. 또는, 마스터 BMS(20)는 복수의 배터리 모듈(10)에 각각 포함된 BMS(14) 중 어느 하나가 마스터 통신 기기로서의 역할을 수행하는 것일 수도 있다.
한편, 마스터 BMS(20)는 외부의 상위 제어기(2)와 통신 가능하게 연결될 수 있다. 즉, 배터리 팩(1)의 마스터 BMS(20)는 상위 제어기(2)로 배터리 팩(1)에 대한 각종 데이터를 송신하고, 상위 제어기(2)로부터 배터리 팩(1)의 동작에 관한 제어신호를 수신할 수 있다. 상위 제어기(2)는 배터리 팩(1)이 전기 자동차에 탑재된 경우 차량의 운행을 제어하기 위한 차량 제어기일 수 있다.
도 2는 본 발명의 일 실시예에 따른 배터리 관리 시스템이 포함된 배터리 팩의 구성도이다.
도 2를 참조하면, 배터리 팩(1) 내에 복수의 배터리 모듈(10-1~10-N, N은 1 이상의 정수)과 이들을 제어 및 관리하는 마스터 BMS(20)가 포함된다. 복수의 배터리 모듈(10-1~10-N) 각각은 대응하는 BMS(14-1~14-N)를 포함한다.
마스터 BMS(20)와 각각의 BMS(14-1~14-N)는 서로 무선으로 통신한다.
마스터 BMS(20)는 배터리 모듈의 제어회로(Battery Module Controller)로서, 상위 제어기(2)와의 통신을 담당할 수 있다. 다만, 상위 제어기가 없는 작은 시스템일 경우에는 상위 제어기 없이 마스터 BMS(20)가 독립된 형태로 운영될 수 있다.
마스터 BMS(20)는 배터리 팩(1) 또는 배터리 모듈(10)의 현재 전압, 온도, 습도 등 센서로부터 취득할 수 있는 다양한 정보를 이용하여 BMS가 수행해야 하는 각종 태스크를 수행한다. 각종 태스크에는 센서로부터 각종 정보를 취득하는 동작이 포함될 수도 있을 것이다.
BMS(14-1~14-N)는 셀 모듈 제어회로(Cell Module Controller)로서, 셀 모듈(12)에 대한 전압 측정, 모듈 전압 측정, 온도 측정, 습도 측정, 저항 측정 등을 수행하고, 각종 측정에 의해 센서에서 제공되는 정보를 배터리 시스템에 맞게 변환하여 상위 제어회로인 마스터 BMS(20)로 전송하는 역할을 수행한다.
또한 BMS(14-1~14-N)는 마스터 BMS(20)나 상위 제어기(2)로부터 송신된 셀 밸런싱 등의 다양한 동작의 수행 명령에 따라서 해당 동작을 수행할 수 있다.
이와 같이 시스템 내에서 무선으로 연결되어 있는 통신 노드인 BMS(14-1~14-N) 및 마스터 BMS(20)는 서로 태스크 테이블을 공유하고, 일부 태스크는 시간을 동기화시켜 수행하기도 한다. 그러나 이와 같이 태스크를 동기화시켜 수행하는 경우, 개별 노드에서는 통신 대기 등의 사유로 IDLE 타임이 발생한다. 결국, 각 노드인 BMS(14-1~14-N) 및 마스터 BMS(20)는 자신들이 가진 자원을 효율적으로 활용하지 못하고, 업무 효율성이 태스크들의 수행 시간을 동기화하지 않았을 때보다 떨어질 가능성이 있다. 또한, 태스크들의 수행 시간을 동기화하지 않았을 경우에는 모두 처리할 수 있었던 태스크들을 정해진 기간 내에 다 처리하지 못하게 될 수도 있다.
이하에서는 위와 같은 문제점을 해결하기 위하여 BMS(14-1~14-N) 및 마스터 BMS(20)에 업무 스케쥴러를 추가함으로써 업무 효율성을 재고할 수 있는 본 발명의 실시예들에 대하여 설명한다. 구체적으로는, 복수의 BMS(14-1~14-N) 및 마스터 BMS(20) 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 BMS(20)에 송신하는 시스템에 있어서의 BMS(14-1~14-N) 및 마스터 BMS(20)의 구성 및 동작에 대해서 설명한다.
무선 네트워크 프로토콜을 설계할 때에는, 해당 프로토콜을 사용하는 시스템의 태스크들이 이미 정해져 있다. 또한, 임베디드 시스템의 특성상, 정해져 있는 모든 태스크들은 정해진 시간 안에 수행되어야 하며, 정해진 최대 시간을 넘지 않아야 한다.
또한, 마이크로 프로세서(MCU 등)의 동작 방식은 태스크들 간의 우선순위에 따른 순차 동작 방식을 취하게 된다. 이러한 순서는 설계 시에 결정되면 Runtime에는 수정되지 않는다. 그리고 최종 결정된 업무 스케쥴에서는 대기 시간(idle time)이 발생하게 된다. 마이크로 프로세서의 성능상 태스크의 동기화 없이 태스크들을 순차 수행하였을 경우에는 정해진 시간 내에 태스크들을 모두 수행 가능하였으나, 동기화하여 태스크를 수행하는 경우에는 정해진 시간 내에 태스크들을 모두 수행하지 못하게 되는 경우도 발생하게 된다.
본 발명의 실시예들은 이러한 상황을 감안하여 이루어진 것이다.
도 3은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 구성을 나타내는 기능 블록도이다.
도 3을 참조하면, 본 실시예에 따른 BMS(100)는 통신부(110), 저장부(120), 스케쥴 결정부(130), 우선순위 변경부(140), 업무 수행부(150), 동기화부(160) 및 오차 산출부(170)를 포함할 수 있다. 여기서의 BMS(100)는 슬레이브 노드인 BMS(14) 또는 마스터 노드인 마스터 BMS(20)일 수 있다. 이하에서는 슬레이브인 BMS(14) 및 마스터 BMS(20)를 모두 총괄하여 BMS(100)라고 지칭하기도 한다.
통신부(110)는 다른 BMS(100)와 데이터 및 각종 신호를 송수신한다. 즉, 통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)와 통신을 위한 기능을 수행한다. 통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)와 무선 CAN 통신, WIFI, 블루투스, Zigbee 등 각종 프로토콜이 사용될 수 있을 것이다.
통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)에 자신이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기, 업무 우선순위를 송신하여 서로간에 태스크 타임 테이블을 공유할 수 있다. 또한, 통신부(110)는 다른 슬레이브 BMS(14) 및 마스터 BMS(20)에 서로 간의 통신 우선순위를 나타내는 통신 우선순위 테이블을 공유할 수 있다. 즉, 통신부(110)는 다른 BMS(100)로 태스크 타임 테이블 및 통신 우선순위 테이블에 관한 데이터를 송신할 수 있다. 마찬가지로, 통신부(110)는 다른 BMS(100)로부터 태스크 타임 테이블 및 통신 우선순위 테이블에 관한 데이터를 수신할 수 있다.
또한, 통신부(110)는 자신이 수행한 태스크의 결과를 마스터 BMS(20) 등으로 송신할 수 있다. 이때, 태스크 수행 시 우선순위 변경부(140)에 의하여 업무의 우선순위 및 이에 따른 업무 스케쥴이 변경된 경우에는 해당 변경 사항을 다른 BMS(100)에 송신하여 변경 사항을 공유할 수도 있다. 마찬가지로 통신부(110)는 다른 BMS(100)로부터 업무의 우선순위 및 업무 스케쥴이 변경된 사항을 수신할 수 있다.
통신부(110)는 멀티캐스트 또는 브로드캐스트 방식으로 신호 및 데이터를 송신할 수 있다. 예를 들어, 통신부(110)는 스케쥴 결정부(130)에 의하여 조정된 업무 스케쥴을 다른 BMS(100)로 멀티캐스트 또는 브로드캐스트 방식으로 송신할 수 있다.
통신부(110)는 일정 조건을 만족하는 경우에 태스크 타임 테이블 및 통신 우선순위 테이블의 공유를 위한 통신을 수행할 수 있다. 예를 들어, 배터리 팩(1)이 장착된 기기의 시스템이 웨이크업 될 때 태스크 타임 테이블 및 통신 우선순위 테이블의 공유를 위한 통신을 수행할 수 있다. 배터리 팩(1)이 장착된 기기가 전기 자동차인 경우라면, 상기 조건은 시동을 키는 경우일 수 있다. 또는 통신부(110)는 주기적으로 태스크 타임 테이블 및 통신 우선순위 테이블의 공유를 위한 통신을 수행할 수 있다.
추가로, 통신부(110)는 다른 BMS(100)들과의 태스크 수행시의 동기화를 위하여 태스크의 수행 시작 신호, 완료 신호들을 수신할 수 있다.
저장부(120)는 BMS(100)의 동작에 필요한 각종 프로그램 및 BMS(100)의 동작시 발생하는 각종 데이터가 저장된다. 저장부(120)는 배터리 팩(1) 내의 복수의 BMS(100) 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위를 포함하는 태스크 타임 테이블을 저장할 수 있다. 저장부(120)는 배터리 팩(1) 내의 복수의 BMS(100)들 사이의 통신 우선순위를 나타내는 통신 우선순위 테이블을 저장할 수 있다. 추가적으로, 저장부(120)는 태스크 리스트 중 다른 BMS(100)와 동기하여 수행되어야 하는 태스크들이 설정되어 있을 수 있다. 또한 저장부(120)는 통신부(110)를 통하여 다른 BMS(100)로부터 조정된 업무 스케쥴을 수신한 경우, 조정된 업무 스케쥴로 태스크 타임 테이블 및 통신 우선순위 테이블 등의 저장 내용을 업데이트할 수 있다. 즉, 저장부(120)는 태스크 정보 저장부로서의 기능을 수행한다.
스케쥴 결정부(130)는 저장부(120)에 저장된 데이터에 기초하여 업무 스케쥴을 결정한다. 구체적으로는, 스케쥴 결정부(130)는 태스크 정보 저장부에 저장된 데이터인 태스크 타임 테이블 및 통신 우선순위 테이블의 내용에 기초하여 업무 스케쥴을 결정한다. 스케쥴 결정부(130)는 또한 다른 BMS(100)와 동기하여 수행되어야 하는 태스크들에 대한 설정 정보를 고려하여 업무 스케쥴을 결정한다.
업무 스케쥴이란 각 태스크를 어떤 순서로 수행하며, 수행하는 각 태스크를 언제 시작하여 언제 종료하는지 등을 정한 것을 의미한다.
스케쥴 결정부(130)는 우선순위 변경부(140)에 의하여 일부 태스크에 우선순위의 변경이 발생한 경우, 조정된 우선순위에 기초하여 업무 스케쥴을 조정한다.
우선순위 변경부(140)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정한다.
일 예로서, 우선순위 변경부(140)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 해당 후순위 태스크의 업무 우선순위를 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정한다. 대기 시간은 특정 태스크의 수행 후, 해당 태스크의 결과를 다른 BMS(100)로 송신하기 전까지의 기간을 의미하는 것일 수 있다. 대기 시간은 해당 BMS(100)의 프로세서 사용률이 기준치 이하인 기간을 의미하는 것이 수 있다.
우선순위 변경부(140)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴 중 대기 시간의 길이를 대기 시간 이후에 수행되는 태스크들의 수행 시간 각각과 비교한다. 우선순위 변경부(140)는 대기 시간과 수행 시간의 비교를 후술하는 태스크 대기열(125)에 저장되어 있는 태스크들을 대상으로 수행할 수 있다. 혹은 우선순위 변경부(140)는 결정된 업무 스케쥴 전체에 포함된 태스크에 기초하여 대기 시간과 수행 시간의 비교를 수행할 수도 있다.
그리고 우선순위 변경부(140)는 비교 결과 대기 시간의 길이보다 짧은 수행 시간을 갖는 태스크가 대기 시간 동안 수행되도록 우선순위를 조정한다. 이때, 일 예로서, 우선순위 변경부(140)는 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정하도록 할 수 있다. 혹은 다른 예로서, 우선순위 변경부(140)는 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정하도록 할 수 있다.
이와 같이 우선순위 변경부(140)에 의하여 업무의 우선순위 및 이에 따른 업무 스케쥴이 조정된 경우에는 통신부(110)로 하여금 해당 변경 사항을 다른 BMS(100)에 송신하여 변경 사항을 공유하도록 할 수 있다.
업무 수행부(150)는 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴에 따라 자신이 수행해야 할 태스크들을 수행한다. 업무 수행부(150)는 다른 BMS(100)와 동기하여 수행해야 할 태스크가 포함되어 있는 경우에는 동기하여 태스크를 수행한다. 예를 들어, 동기화를 위하여 업무 수행부(150)는 각각의 태스크의 수행 시작 시간과 관련하여, 동기화부(160)에서 산출된 시작 시간에 따라 각각의 태스크를 수행한다. 이로써 동일한 태스크를 수행하는 다른 BMS(100)와의 업무 수행 시간을 동기화할 수 있다.
동기화부(160)는 통신부(110)에서 수신하는 특정 태스크의 수행 시작 신호, 완료 신호, 태스크 타임 테이블 등을 이용하여 특정 태스크의 수행 시작 시간을 산출한다. 그리고 동기화부(160)는 산출한 수행 시작 시간을 통하여 각각의 BMS(100) 간의 해당 태스크 수행 시간을 동기화한다.
오차 산출부(170)는 통신부(110)에서 수신한 특정 태스크의 시작 신호 또는 완료 신호의 수신 시간과 태스크 타임 테이블을 이용하여 오차를 산출한다. 예를 들어, 특정 태스크의 시작 신호 수신 시간과 완료 신호 수신 시간의 차이와, 태스크 타임 테이블 상에서의 특정 태스크의 수행 시간의 차이를 이용하여 오차를 산출하여 동기화부(160)에 제공한다. 동기화부(160)는 첫 번째 태스크의 수행 시간을 산출할 때, 산출된 오차를 반영할 수 있다.
이상과 같은 구성으로 업무 스케쥴을 결정하고, 결정된 업무 스케쥴 상에서 태스크의 우선순위를 변경하는 동작을 수행함으로써, BMS(100)는 자신의 자원을 효율적으로 활용할 수 있게 된다.
이하에서는, 업무 스케쥴을 결졍하고 우선순위를 조정하는 기능에 대해서 좀 더 구체적으로 설명한다.
도 4는 본 발명이 일 실시예에 따른 배터리 관리 시스템 중 업무 스케쥴러(200)를 나타내는 기능 블록도이다.
업무 스케쥴러(200)는 업무 스케쥴을 결정하고 우선순위를 조정하는 기능을 의미한다. 업무 스케쥴러(200)에는 태스크 타임 테이블(121), 통신 우선순위 테이블(123), 태스크 대기열(125) 및 우선순위 변경부(140)가 포함될 수 있다.
태스크 타임 테이블(121)에는, 상술한 바와 같이, 통신 노드인 각각의 BMS(100)가 수행해야 할 태스크의 리스트와, 그 순서, 그리고 각 태스크의 수행 시간 및 (필요한 경우) 통신 시간, 그리고 수행 주기가 저장된다.
통신 우선순위 테이블(123)에는 통신이 필요한 태스크와 관련하여 해당 태스크를 수행하는 BMS(100)들 사이의 통신 우선순위가 저장된다. 통신 우선순위는 각 노드가 처음 무선통신 네트워크에 가입하게 될 대, 마스터 BMS(20)에 의하여 할당되는 정보일 수 있다.
업무 스케쥴러는 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에 기초하여 통신 노드인 각각의 BMS(100)가 수행해야 할 태스크의 리스트와, 그 순서, 그리고 수행 타이밍을 미리 알고 있게 된다. 이때, 태스크를 수행하는 우선순위 및 수행 순서는 정해져 있으며, 수행 시간은 거의 일정하다. 또한, 태스크들은 일반적으로 특정 시간(주기)로 반복해서 수행되는 구조를 가지게 된다.
태스크 대기열(125)는 업무 스케쥴러가 가지고 있는 정보를 이용하여, 스케쥴 결정부(130)에 의하여 결정된 업무 스케쥴에 기초하여 수행할 태스크를 파악한다. 그리고 수행해야 할 태스크를 순차적으로 호출하여 태스크 대기열(125)에 저장한다.
우선순위 변경부(140)는, 상술한 바와 같이, 태스크의 우선순위를 소정의 기준에 따라서 조정할 수 있다. 우선순위 변경부(140)는 태스크 타임 테이블에 기록된 우선순위 자체를 조정할 수 있다. 혹은 우선순위 변경부(140)는 결정된 업무 스케쥴에 기초하여 태스크 대기열(125)에 포함되어 있는 태스크들 중에서 업무의 우선순위를 조정하여 태스크 대기열(125)에서의 순서를 변경하는 것일 수도 있다. 즉, 태스크 대기열(125)에 포함된 태스크들 중 가장 우선순위가 높은 태스크(현재 수행 중인 태스크)를 제외한 태스크들 중에서, 대기 시간보다 짧은 수행 시간을 갖는 태스크의 우선순위를 변경할 수 있다. 우선순위 변경부(140)는 우선순위가 변경된 태스크의 수행이 완료되면 해당 태스크의 우선순위를 원래의 우선순위로 재변경할 수 있다.
도 5는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 동작을 나타내는 흐름도이다.
도 5를 참조하면, 우선 BMS(100)는 태스크 타임 테이블 및 통신 우선순위 테이블을 다른 BMS와 공유한다(S10). 즉, 통신부(110)를 통하여 다른 BMS(100)로 태스크 타임 테이블 및 통신 우선순위 테이블의 작성에 필요한 데이터들을 송신 및 수신한다.
BMS(100)는 다른 BMS로부터 수신된 태스크 타임 테이블 및 통신 우선순위 테이블을 포함시켜서 태스크 타임 테이블 및 통신 우선순위 테이블을 갱신한다(S11). 즉, BMS(100)가 자신 및 다른 BMS의 데이터를 모두 고려하여 최종적인 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 생성한다. 즉, BMS(100)의 저장부(120)에 복수의 BMS(100)들 각각이 수행하는 태스크 리스트, 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 복수의 BMS(100)들 사이의 통신 우선순위를 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123) 형태로 저장할 수 있다.
그리고 갱신된 테이블들에 기초하여 업무 스케쥴을 결정한다(S12). 즉, 저장부(120)에 저장된 데이터에 기초하여 업무 스케쥴을 결정한다.
도 6 및 도 7은 도 5에서 설명한 방법에 기초하여 저장부(120)에 저장된, 본 발명의 일 실시예에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 나타낸다.
본 예시에서는, 무선통신 네트워크 내에 통신 노드로서 마스터 노드인 마스터 BMS(20) 및 슬레이브 노드인 BMS(14-1~14-3)가 포함되어 있다. 그리고 태스크 타임 테이블(121)은 각 노드의 태스크 리스트, 태스크 리스트에 포함된 태스크들 사이의 우선순위, 각 태스크의 수행 시간 및 통신 시간 등을 포함할 수 있다. 또한, 추가적으로 업무 수행 시간과 이에 대한 총 통신시간의 합인 총 수행시간, 그리고 각 태스크의 주기 등이 포함될 수도 있다. 통신 우선순위 테이블(123)은 통신이 필요한 태스크와 관련하여 해당 태스크를 수행하는 BMS(100)들 사이의 통신 우선순위를 각 태스크 별로 포함할 수 있다.
도 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를 수행한다.
그리고 도 7에 따르면, 태스크 A에 대해서는 BMS#1 -> BMS#2 -> BMS#3 -> 마스터 BMS 순서로 통신 우선순위를 갖는다. 태스크 B에 대해서는 BMS#1 -> BMS#2 -> 마스터 BMS 순서로 통신 우선순위를 갖는다.
도 8은 본 발명의 일 실시예에 따른 배터리 관리 시스템의 업무 스케쥴링 동작을 나타내는 흐름도이다.
도 8을 참조하면, 도 5에서 설명한 바와 같이 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)이 생성되어 저장되면, 스케쥴 결정부(140)에 의하여 업무 스케쥴이 결정된다. 그리고 결정된 업무 스케쥴에 기초하여 태스크 대기열(125)에 수행해야 할 태스크들을 순차적으로 저장한다(S20).
그 후, 태스크 대기열(125)에 저장된 태스크들이 미리 정해진 시간, 즉 주기 내에 모두 처리 가능한지를 판단한다(S21). 미리 정해진 시간 내에 모든 태스크를 처리할 수 있다면(S21의 Yes), 태스크 대기열 순서대로 태스크를 처리한다(S23). 즉, 결정된 업무 스케쥴에 따라서, 우선순위의 변경 없이, 태스크들을 처리한다.
반면, 미리 정해진 시간 내에 모든 태스크를 처리할 수는 없다면(S21의 No), 우선순위를 변경(S22)한다. 그 후에 변경된 우선순위에 기초하여 태스크 대기열의 순서가 변경되며, 변경된 태스크 대기열의 순서에 따라서 순서대로 태스크를 처리한다(S23).
즉, 결정된 업무 스케쥴에 기초하여 태스크들이 소정의 조건을 만족하면 태스크의 업무 우선순위를 조정하고, 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정한다.
도 9는 도 6 및 도 7에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에 기초한 태스크의 동작 순서를 나타내는 타이밍도이다. 도 9는 태스크들 사이의 통신 시간 및 대기 기간 등을 포함시키면서 태스크 대기열의 상태를 도식화한 것일 수 있다.
도 9를 참조하면, A~F는 각 태스크가 수행되는 기간을 나타낸다. 1~3은 각 노드가 마스터 BMS(20)에 데이터를 송신하는 통신 기간을 나타내고, 한자 '上'은 마스터 BMS(20)가 상위 제어기(2)로 데이터를 송신하는 통신 기간을 나타낸다. 해칭 표시는 대기 시간을 나타낸다.
마스터 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 동안 대기 상태가 된다.
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#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#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 동안 대기 상태가 된다.
도 9에서 확인할 수 있듯이, 도 6 및 도 7에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)에 기초한 업무 스케쥴의 경우, 정해진 기간인 100ms의 주기 내에 모든 스케쥴을 수행하는데 문제가 없다.
다만, 필요에 따라서는 마이크로 프로세서 등의 효율적인 운용을 위하여 태스크들의 우선순위를 변경하는 것이 바람직할 수도 있다. 도 10은 본 발명의 일 실시예에 따른 배터리 관리 시스템에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 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의 우선순위보다 앞서도록 테이블 자체를 갱신할 수도 있을 것이다.
도 11 및 도 12는 본 발명의 다른 실시예에 따른 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 나타내는 도면이다. 본 실시예에서는 모든 노드가 태스크 A 및 태스크 B를 모두 포함하고 있으며, 이들을 동기하여 수행하도록 설정되어 있다.
도 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를 각각 수행한다.
그리고 도 12에 따르면, 태스크 A, B 모두에 대해서 BMS#1 -> BMS#2 -> BMS#3 -> 마스터 BMS 순서로 통신 우선순위를 갖는다.
이하에서는 도 11 및 도 12의 테이블들에 기초하여 업무 우선순위 및 업무 스케쥴을 조정하는 방법에 대해서 설명한다.
도 13은 도 11 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.
도 13을 참조하면, BMS#1(14-1)과 BMS#3(14-3)이 미리 정해진 기간(예를 들어 주기인 100ms) 내에 태스크를 모두 완료하지 못하는 것을 확인할 수 있다. 즉, 태스크 H 및 태스크 E가 100ms를 초과하여 종료하게 된다. 이는 배터리 시스템에 에러가 발생한 상황이며, 종래에는 이를 해결하기 위해서는 일부 태스크를 제거하여야 했다. 혹은, 이러한 문제를 해결하기 위해서 직접 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 전면적으로 수정하여야만 하였다.
그러나 본 발명의 실시예들에서는 아래와 같은 방식으로 위 문제를 해결할 수 있다.
도 14는 본 발명의 일 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다. 본 동작은 도 8의 S22에서 설명한 우선순위 변경의 상세 동작에 해당한다.
도 14를 참조하면, 우선 결정된 업무 스케쥴 상의 대기 시간을 산출한다(S100). 이는 도 13에서 해칭으로 나타낸 부분일 수 있다. 그리고 대기 시간과 태스크 대기열의 태스크들의 수행 시간을 비교한다(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의 수행 시간을 비교한다.
비교한 태스크의 수행 시간 중 대기 시간 이하인 태스크가 있는지 판단하고(S102), 만약 대기 시간 이하인 태스크가 있다고 판단하면 해당 태스크의 우선 순위를 변경한다(S103).
즉, 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 해당 후순위 태스크의 업무 우선순위를 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정할 수 있다.
반면, 대기 시간 이하인 태스크가 없다고 판단하면 에러의 복구가 불가능하다고 판단하여 상위 제어기(2) 등에 에러를 통지한다(S104).
도 15는 본 발명의 일 실시예에 따른 우선순위 변경 방법의 일 예를 나타내는 흐름도이다. 본 동작은 도 15의 S103에서 설명한 우선순위 변경의 상세 동작에 해당한다. 도 16은 도 15에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 15를 참조하면, 우선, 대기 시간의 길이보다 짧은 수행 시간을 갖는 태스크가 복수 개 있는지를 판단한다(S200). 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우(S200의 Yes), 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정한다.
도 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 사이의 시간 동안 태스크를 수행할 수 있다.
BMS#3(14-3)도 마찬가지로 우선순위가 높은 태스크 D가 40~50ms 동안의 대기 시간에 수행될 수 있도록 업무 우선순위가 먼저 조정되며, 태스크 E가 70~80ms 동안의 대기 시간에 수행될 수 있도록 업무 우선순위가 조정된다.
또한, BMS#2(14-2)는 미리 정해진 시간 내에 모든 태스크를 처리할 수 있으나 마이크로 프로세서의 효율적인 운용을 위하여 태스크 D의 업무 우선순위를 조정할 수 있다. 다만, 태스크 E의 경우 업무 스케쥴만을 조정한다. 즉, 태스크 E의 경우 업무 우선순위가 조정되는 것은 아니고, 시작 및 종료 타이밍이 조정될 뿐이다.
한편, 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 하나인 경우(S200의 No), 해당 태스크의 우선순위를 조정하면 된다.
도 17은 본 발명의 일 실시예에 따른 우선순위 변경 방법의 다른 예를 나타내는 흐름도이다. 본 동작은 도 15의 S103에서 설명한 우선순위 변경의 다른 상세 동작에 해당한다. 도 18은 도 17에 따른 우선순위 변경 방법에 의하여 우선순위가 변경된 태스크의 동작 순서를 나타내는 타이밍도이다.
도 17을 참조하면, S300 및 S302는 도 15의 S200 및 S202와 동일하다.
반면, 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 본 실시예에서는 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정한다(S201).
도 18에서 나타나듯이, BMS#1(14-1)은 태스크 F, G 및 H가 45~60ms 동안의 15ms 길이의 대기 시간보다 짧은 수행 시간을 갖는다. 그리고 태스크 G가 가장 긴 수행 시간을 갖는다. 따라서 먼저 태스크 G를 45~50ms 동안의 대기 시간에 수행될 수 있도록 우선순위를 조정한다. 그 후, 원래 태스크 G가 태스크를 수행하는 시간인 80~95ms 동안의 대기 시간이 잔존하게 되며, 태스크 H가 80~90ms 동안 수행될 수 있도록 업무 스케쥴을 조정한다. 단, 태스크 H의 경우 업무 우선순위가 조정되는 것은 아니고, 시작 및 종료 타이밍이 조정될 뿐이다.
BMS#2(14-2) 및 BMS#3(14-3)의 경우 대기 시간 이후의 태스크 D 및 태스크 E의 수행 시간이 동일하므로 도 15 및 도 16의 예에서와 마찬가지로 업무 우선순위 및 스케쥴이 조정된다.
이상과 같이, 대기 시간 동안 그 이후에 수행되는 태스크들 중 우선순위를 임의로 조정할 수 있게 함으로써, 종래에는 미리 정해진 기간 내에 모두 처리할 수 없었던 태스크들을 처리할 수 있게 되며, 따라서 효율적인 하드웨어 운용이 가능하게 된다.
도 19는 또 다른 실시예에 따른 태스크 타임 테이블을 나타내는 도면이다.
도 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와 같다.
도 20은 도 19 및 도 12에 따른 태스크의 동작 순서를 나타내는 타이밍도이다.
도 20을 참조하면, BMS#1(14-1)과 BMS#3(14-3)이 미리 정해진 기간(예를 들어 주기인 100ms) 내에 태스크를 모두 완료하지 못하는 것을 확인할 수 있다. 즉, 태스크 G 및 태스크 E가 100ms를 초과하여 종료하게 된다. 이는 배터리 시스템에 에러가 발생한 상황이며, 종래에는 이를 해결하기 위해서는 일부 태스크를 제거하여야 했다. 혹은, 이러한 문제를 해결하기 위해서 직접 태스크 타임 테이블(121) 및 통신 우선순위 테이블(123)을 전면적으로 수정하여야만 하였다.
그러나 본 발명의 실시예들에서는 아래와 같이, 앞서 설명한 방식과는 다른 방식으로 위 문제를 해결할 수 있다.
도 21은 본 발명의 다른 실시예에 따른 우선순위 변경 방법을 나타내는 흐름도이다. 본 동작은 도 8의 S22에서 설명한 우선순위 변경의 다른 상세 동작에 해당한다.
도 21을 참조하면, S400 내지 S403의 동작은 도 14의 S100 내지 S103의 동작과 동일하다. 즉, 주기 내에 모든 태스크들을 처리 가능하면 결정된 업무 스케쥴에 따라서 태스크를 수행한다. 또한, 주기 내에 모든 태스크를 처리할 수 없는 경우로서, 대기 시간보다 짧은 수행 시간을 갖는 태스크가 있으면 해당 태스크의 우선순위를 조정하여 주기 내에 모든 태스크를 처리할 수 있게 한다.
반면, 대기 시간보다 짧은 수행 시간을 갖는 태스크가 없는 경우(S402의 No), 태스크를 분할 가능한지 여부를 판단한다(S404),
도 22는 도 21에 있어서 우선순위 변경 방법의 예를 나타내는 흐름도이다.
도 22를 참조하면, 대기 시간보다 짧은 수행 시간을 갖는 태스크가 태스크 대기열에 포함되어 있지 않기 때문에 주기 내에 태스크들을 처리하기 위하여 다른 방법을 강구하여야 한다. 이를 위하여 태스크 대기열에 포함된 태스크들 중에서 분할하여 수행하는 것이 가능한 태스크가 존재하는지를 판단한다(S500).
분할하여 수행하는 것이 가능한 태스크가 존재하는 경우(S500의 Yes), 해당 태스크를 복수의 서브 태스크로 분할한다. 이때, 적어도 하나의 서브 태스크의 수행 기간이 대기 시간 이하가 되도록 한다(S501).
그 후, 대기 시간 이하의 수행 시간을 갖도록 분할된 서브 태스크의 우선순위를 변경한다(S502). 따라서 대기 시간에 서브 태스크를 수행하도록 함으로써 미리 정해진 기간 내에 모든 태스크를 처리 가능하게 된다.
한편, 태스크 대기열에 포함된 태스크들 중에서 분할하여 수행하는 것이 가능한 태스크가 존재하지 않는 경우에는 미리 정해진 시간 내에 모든 태스크를 처리할 수 없으므로 상위 제어기(2) 등에 에러를 통지한다(S503).
도 23은 도 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 동안에 태스크가 수행된다. 결과적으로 미리 정해진 시간을 초과하는 길이만큼의 태스크가 대기 시간에 수행될 수 있어 모든 태스크를 미리 정해진 시간 내에 수행할 수 있게 된다.
도 24는 본 발명의 일 실시예에 따른 배터리 관리 시스템의 하드웨어 구성도이다.
도 24를 참조하면, BMS(400)는 컨트롤러(MCU)(410), 메모리(420), 입출력 인터페이스(430) 및 통신 인터페이스(440)를 포함할 수 있다.
MCU(410)는 BMS(400) 내의 각종 동작 및 연산의 처리와 각 구성을 제어한다.
메모리(420)는 운영체제 프로그램 및 BMS(400)의 기능을 수행하기 위한 프로그램이 기록된다. 메모리(420)은 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있다. 예를 들어, 메모리(420)는 RAM, ROM, 플래시 메모리 등의 반도체 메모리, 자기 디스크, 광 디스크 등 각종 저장매체 중 적어도 어느 하나가 사용될 수 있다.
입출력 인터페이스(430)는 각종 입력신호 및 출력신호의 입출력을 수행한다. 예를 들어, MCU(410)는 입출력 인터페이스(430)를 통하여 스위칭 소자의 스위칭 동작을 위한 제어신호를 출력할 수 있다.
통신 인터페이스(440)는 외부와 유선 및/또는 무선으로 통신 가능한 구성이다.
MCU(410)는 메모리(420)에 저장된 프로그램을 실행함으로써 스케쥴 결정부(130), 우선순위 변경부(140), 업무 수행부(150), 동기화부(160) 및 오차 산출부(170)의 기능을 수행하는 모듈을 구현할 수 있을 것이다.
또한 MCU(410)는 통신 인터페이스(440)와 협동하여 통신부(110)의 기능을 수행할 수 있을 것이다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었으나, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
또한, 이상에서 기재된 "포함하다", "구성하다", 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지는 것으로 해석될 수 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
1 배터리 팩 2 상위 제어기
10 배터리 모듈 12 셀 모듈
14 배터리 관리 시스템(BMS) 20 마스터 BMS
110 통신부 120 저장부
130 스케쥴 결정부 140 우선순위 변경부
150 업무 수행부 160 동기화부
170 오차 산출부

Claims (20)

  1. 복수의 배터리 관리 시스템들 각각이 개별적으로 설정된 태스크를 수행하고, 수행한 태스크 결과를 무선 통신으로 마스터 배터리 관리 시스템에 송신하는 시스템에 있어서의 상기 배터리 관리 시스템으로서,
    상기 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 상기 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 상기 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 포함하는 태스크 정보 저장부;
    상기 태스크 정보 저장부에 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 스케쥴 결정부; 및
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 우선순위 변경부;를 포함하고,
    상기 스케쥴 결정부는 상기 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 배터리 관리 시스템.
  2. 청구항 1에 있어서,
    상기 우선순위 변경부는,
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 상기 후순위 태스크의 업무 우선순위를 상기 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정하는 배터리 관리 시스템.
  3. 청구항 2에 있어서,
    상기 우선순위 변경부는,
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴 중 대기 시간의 길이를 상기 대기 시간 이후에 수행되는 태스크들의 수행 시간 각각과 비교하는 배터리 관리 시스템.
  4. 청구항 3에 있어서,
    상기 우선순위 변경부는,
    상기 비교 결과 상기 대기 시간의 길이보다 짧은 수행 시간을 갖는 태스크가 상기 대기 시간 동안 수행되도록 우선순위를 조정하는 배터리 관리 시스템.
  5. 청구항 4에 있어서,
    상기 우선순위 변경부는,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정하는 배터리 관리 시스템.
  6. 청구항 4에 있어서,
    상기 우선순위 변경부는,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정하는 배터리 관리 시스템.
  7. 청구항 1에 있어서,
    상기 태스크 정보 저장부는 상기 태스크 리스트 중 다른 배터리 관리 시스템과 동기하여 수행되어야 하는 태스크들이 설정되어 있는 배터리 관리 시스템.
  8. 청구항 7에 있어서,
    상기 스케쥴 결정부는 상기 동기하여 수행되어야 하는 태스크들을 고려하여 상기 업무 스케쥴을 결정하는 배터리 관리 시스템.
  9. 청구항 7에 있어서,
    상기 태스크 리스트 중 복수의 배터리 관리 시스템들에서 공통으로 수행하는 태스크는 동기하여 수행하는 배터리 관리 시스템.
  10. 청구항 2에 있어서,
    상기 대기 시간은 특정 태스크의 수행 후, 상기 태스크의 결과를 다른 배터리 관리 시스템으로 송신하기 전까지의 기간인 것을 특징으로 하는 배터리 관리 시스템.
  11. 청구항 1에 있어서,
    상기 마스터 배터리 관리 시스템 또는 다른 배터리 관리 시스템과 통신 가능한 통신부를 더 포함하는 배터리 관리 시스템.
  12. 청구항 11에 있어서,
    상기 우선순위 변경부에 의하여 태스크의 우선순위가 조정된 경우,
    상기 통신부를 통하여 상기 스케쥴 결정부에 의하여 조정된 업무 스케쥴을 다른 배터리 관리 시스템으로 송신하는 배터리 관리 시스템.
  13. 청구항 11에 있어서,
    상기 통신부를 통하여 상기 마스터 배터리 관리 시스템 또는 상기 다른 배터리 관리 시스템으로부터 조정된 업무 스케쥴을 수신한 경우,
    상기 조정된 업무 스케쥴로 상기 태스크 정보 저장부의 저장 내용을 업데이트하는 배터리 관리 시스템.
  14. 청구항 11에 있어서,
    상기 통신부는 멀티캐스트 또는 브로드캐스트 방식으로 상기 스케쥴 결정부에 의하여 조정된 업무 스케쥴을 다른 배터리 관리 시스템으로 송신하는 배터리 관리 시스템.
  15. 청구항 1에 있어서,
    상기 스케쥴 결정부에 의하여 결정된 업무 스케쥴에 기초하여 호출된 태스트들을 저장하는 태스크 대기열을 더 포함하고,
    상기 우선순위 변경부는 상기 태스크 대기열에 포함된 태스크들 중 가장 우선순위가 높은 태스크를 제외한 태스크들 중에서, 대기 시간보다 짧은 수행 시간을 갖는 태스크의 우선순위를 변경하는 배터리 관리 시스템.
  16. 청구항 15에 있어서,
    상기 우선순위 변경부는 상기 우선순위가 변경된 태스크의 수행이 완료되면 해당 태스크의 우선순위를 원래의 우선순위로 재변경하는 배터리 관리 시스템.
  17. 복수의 배터리 관리 시스템들 각각이 수행하는 태스크 리스트, 상기 태스크 리스트에 포함된 각 태스크의 수행 시간, 수행 주기 및 업무 우선순위와, 상기 복수의 배터리 관리 시스템들 사이의 통신 우선순위를 저장하는 단계;
    상기 저장된 데이터에 기초하여 업무 스케쥴을 결정하는 단계;
    상기 결정된 업무 스케쥴에 기초하여 태스크의 업무 우선순위를 조정하는 단계; 및
    상기 조정된 업무 우선순위에 따라서 업무 스케쥴을 조정하는 단계;를 포함하는 배터리 관리 시스템의 제어방법.
  18. 청구항 17에 있어서,
    상기 태스크의 업무 우선순위를 조정하는 단계는,
    상기 결정된 업무 스케쥴 중 대기 시간 동안에 수행될 수 있는 후순위 태스크가 존재하는 경우, 상기 후순위 태스크의 업무 우선순위를 상기 대기 시간 직전에 수행되는 태스크의 우선순위 다음으로 조정하는 것을 특징으로 하는 배터리 관리 시스템의 제어방법.
  19. 청구항 18에 있어서,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 우선순위가 가장 높은 태스크의 우선순위를 조정하는 것을 특징으로 하는 배터리 관리 시스템의 제어방법.
  20. 청구항 18에 있어서,
    상기 대기 시간의 길이보다 짧은 수행 기간을 갖는 태스크가 복수 개 있는 경우, 해당 태스크들 중 수행 기간이 가장 긴 태스크의 우선순위를 조정하는 것을 특징으로 하는 배터리 관리 시스템의 제어방법.
KR1020190148979A 2019-11-19 2019-11-19 배터리 관리 시스템 및 그 제어방법 KR20210061138A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190148979A KR20210061138A (ko) 2019-11-19 2019-11-19 배터리 관리 시스템 및 그 제어방법
EP20889720.7A EP3961392A4 (en) 2019-11-19 2020-07-17 BATTERY MANAGEMENT SYSTEM AND METHOD OF CONTROL
US17/616,501 US20220237029A1 (en) 2019-11-19 2020-07-17 Battery management system and controlling method thereof
CN202080039022.2A CN113950669A (zh) 2019-11-19 2020-07-17 电池管理系统及其控制方法
PCT/KR2020/009469 WO2021101012A1 (ko) 2019-11-19 2020-07-17 배터리 관리 시스템 및 그 제어방법
JP2021564916A JP7206553B2 (ja) 2019-11-19 2020-07-17 バッテリ管理システムおよびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190148979A KR20210061138A (ko) 2019-11-19 2019-11-19 배터리 관리 시스템 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20210061138A true KR20210061138A (ko) 2021-05-27

Family

ID=75980641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148979A KR20210061138A (ko) 2019-11-19 2019-11-19 배터리 관리 시스템 및 그 제어방법

Country Status (6)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116941093A (zh) * 2021-12-07 2023-10-24 宁德时代新能源科技股份有限公司 电池管理系统及其更新方法、主节点、从节点和存储介质
WO2023195521A1 (ja) * 2022-04-08 2023-10-12 Freet株式会社 分散処理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3215264B2 (ja) * 1994-06-29 2001-10-02 科学技術庁航空宇宙技術研究所長 スケジュール制御装置とその方法
JP2001249821A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd ジョブスケジューリング方法
JP2001350639A (ja) * 2000-06-06 2001-12-21 Atr Adaptive Communications Res Lab ソフトリアルタイムにおけるスケジューリング方法
JP2008293130A (ja) * 2007-05-22 2008-12-04 Auto Network Gijutsu Kenkyusho:Kk 処理実行方法、処理実行装置及びコンピュータプログラム
EP2369478A1 (en) * 2010-02-22 2011-09-28 Telefonaktiebolaget L M Ericsson (PUBL) Technique of scheduling tasks in a system
JP5717266B2 (ja) * 2012-10-19 2015-05-13 エルジー・ケム・リミテッド 固有識別子を割り当てる方法およびそれを用いたバッテリー管理システム
JP6519515B2 (ja) * 2016-03-31 2019-05-29 株式会社デンソー マイクロコンピュータ

Also Published As

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

Similar Documents

Publication Publication Date Title
US11718188B2 (en) Wireless battery management system and battery pack including same
US9088052B2 (en) Battery multi-series system and communication method thereof
KR101631064B1 (ko) 배터리 팩의 전압 측정 방법 및 이를 포함하는 에너지 저장 시스템
EP2654176B1 (en) Power supply apparatus and controlling method of the same
JP6178386B2 (ja) エネルギー貯蔵システムおよびエネルギー貯蔵システムの同期化方法
EP3280024B1 (en) Battery pack management apparatus and method
EP3961392A1 (en) Battery management system and control method thereof
EP2549579A1 (en) Battery system
KR102439179B1 (ko) 배터리 랙 상태 추정 장치 및 방법
US10805880B2 (en) Communication device, communication method, and computer readable medium
WO2019188888A1 (ja) 蓄電システム、センサモジュール、および蓄電システムの制御方法
KR20150019902A (ko) 배터리 시스템, 배터리 시스템의 제어 방법 및 이를 포함하는 전력 저장 시스템
KR20210048318A (ko) 배터리 관리 시스템 및 이의 id 할당 방법
EP3965251A1 (en) Battery management system and management method
KR20210157017A (ko) 배터리 모듈의 에러를 진단하는 슬레이브 bms 및 상기 슬레이브 bms를 포함하는 배터리 팩
EP2787359A1 (en) Battery control system and battery control method
US11984750B2 (en) Battery management system and battery management method
Semente et al. Energy-efficient WSN systems
CN111474480B (zh) 电池阵列状态参数的检测方法、能量管理系统和储能系统
KR20210155290A (ko) 무선 충전을 위한 배터리 관리 시스템 및 배터리 랙
KR101749389B1 (ko) 다중 트리구조 네트워크 시스템 및 그 시스템의 관리 방법
KR20210080067A (ko) 배터리 관리 시스템 및 이의 id 할당 방법
KR20230063881A (ko) 전력저장원 관리장치 및 그 제어 방법
Agarwal Foundation for power management in battery powered wireless sensor networks
JP2011211879A (ja) 組電池の監視装置