[go: up one dir, main page]

KR102485286B1 - 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법 - Google Patents

차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법 Download PDF

Info

Publication number
KR102485286B1
KR102485286B1 KR1020200165977A KR20200165977A KR102485286B1 KR 102485286 B1 KR102485286 B1 KR 102485286B1 KR 1020200165977 A KR1020200165977 A KR 1020200165977A KR 20200165977 A KR20200165977 A KR 20200165977A KR 102485286 B1 KR102485286 B1 KR 102485286B1
Authority
KR
South Korea
Prior art keywords
task
scheduling
message
vehicle
scheduling information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200165977A
Other languages
English (en)
Other versions
KR20220076961A (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 KR1020200165977A priority Critical patent/KR102485286B1/ko
Publication of KR20220076961A publication Critical patent/KR20220076961A/ko
Application granted granted Critical
Publication of KR102485286B1 publication Critical patent/KR102485286B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • 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
    • 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/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기는, 복수의 슬레이브 제어기 각각의 태스크 수행과 관련한 스케줄링 정보를 포함하는 스케줄 테이블이 저장되는 테이블 저장부, 상기 스케줄 테이블의 스케줄링 정보가 포함되도록 스케줄링 캔 메시지를 생성하는 메시지 생성부, 및 상기 스케줄링 캔 메시지를 상기 복수의 슬레이브 제어기로 전송하는 송수신부를 포함한다.

Description

차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법{MASTER CONTROLLER OF VEHICLE, SLAVE CONTROLLER OF VEHICLE, AND TASK SCEHDULING MESSAGE SENDING MEHOTD THEREOF}
본 발명은 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법에 관한 것이다.
최근 차량에는 다양한 종류의 전자 시스템이 탑재되며 해당하는 전자 시스템의 제어를 위한 복수의 제어기가 탑재되고 있다. 복수의 차량용 제어기는 차량의 통신 시스템을 통해 서로 연결되며, 서로의 정보를 공유함으로써 차량의 다양한 기능이 수행되도록 하고 있다.
이러한 차량용 제어기는 운영체제(OS: Operating system) 내부의 태스크(Task)를 수행하는 경우, 캔 버스(CAN Bus)에 연결되는 다른 제어기들과의 동기화를 위한 스케줄링 기술이 필수적으로 요구되고 있다.
한편, 최근에는 복잡도가 증가한 첨단 운전자 지원 시스템(ADAS: Advanced Driver Assistance Systems) 등의 다양한 전자 제어 시스템이 차량에 적용되고 있다.
이러한 전자 제어 시스템용 애플리케이션의 태스크 수행을 위해서는, 단일 차량용 제어기만으로 한계가 있어 복수의 제어기의 연동이 요구된다.
복수의 제어기의 연동을 위해서는, 태스크 수행 시간 관련한 스케줄링 알고리즘을 복수의 제어기 각각에 구현하는 기술의 필요성이 요구된다.
현재 스케줄링 알고리즘을 구현하는 기술이 여러 방안으로 제시되어 있는데, 여러 방안 중에서 복수의 제어기 간 동기화를 구현하는 별도의 소프트웨어를 제작하는 방안의 경우, 소프트웨어의 동작에 대한 신뢰성 확보, 및 OS의 추가가 더욱 요구되고, 이로 인해 비용과 개발 난이도가 증가하는 문제가 있으며, 이에 따라 상기한 방안이 산업 표준화로 정의되지 못하는 실정이다.
대한민국 공개특허 제2020-0056838호
이에 본 발명은 상기한 사정을 감안하여 안출된 것으로, 차량용 캔 통신을 이용하여 복수의 제어기 사이의 태스크 스케줄링 알고리즘을 구현하는 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기는, 복수의 슬레이브 제어기 각각의 태스크 수행과 관련한 스케줄링 정보를 포함하는 스케줄 테이블이 저장되는 테이블 저장부; 상기 스케줄 테이블의 스케줄링 정보가 포함되도록 스케줄링 캔 메시지를 생성하는 메시지 생성부; 및 상기 스케줄링 캔 메시지를 상기 복수의 슬레이브 제어기로 전송하는 송수신부;를 포함한다.
상기 스케줄링 캔 메시지는, 상기 스케줄링 캔 메시지에 대응하는 메시지 ID가 입력되는 아이덴티파이어 필드와 상기 스케줄링 정보가 입력되는 데이터 필드를 포함하는 데이터 프레임으로 구성될 수 있다.
상기 데이터 필드는 1 바이트를 기준으로 구분되어 복수의 서브 데이터 필드를 포함하고, 상기 복수의 서브 데이터 필드 각각에 상기 스케줄링 정보가 입력될 수 있다.
상기 스케줄링 정보는, 상기 태스크를 수행할 슬레이브 제어기에 대한 ID를 나타내는 ECU ID, 상기 태스크를 식별 가능한 TASK ID, 상기 태스크의 우선순위를 나타내는 TASK Priority, 상기 태스크의 시작 시간에 대한 오프셋 타임을 지정할 테이블 인덱스 값을 나타내는 TASK Start Offset Time Table Index, 상기 태스크의 듀레이션을 설정할 테이블 인덱스 값을 나타내는 TASK Duration Table Index, 및 상기 태스크의 기능을 설정할 테이블 인덱스 값을 나타내는 TASK Function Table Index를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 슬레이브 제어기는, 마스터 제어기로부터 스케줄링 정보가 포함된 스케줄링 캔 메시지를 수신하고, 상기 스케줄링 정보에 따라 태스크를 수행하며, 상기 스케줄링 정보에서 참조하는 테이블 밸류를 포함하는 참조 테이블이 저장되는 것을 특징으로 한다.
상기 테이블 밸류는 오프셋 시간, 태스크의 기능, 및 듀레이션을 포함할 수 있다.
태스크의 동작 주기 변경 요청이 있는 경우, 동작 주기 변경 요청이 있는 태스크에 대한 상기 테이블 밸류의 오프셋 시간과 듀레이션을 변경할 수 있다.
상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 슬레이브 제어기의 태스크 수행 방법은, 마스터 제어기로 스케줄링 정보를 요청하는 스케줄링 정보 요청 단계; 상기 마스터 제어기로부터 상기 스케줄링 정보가 포함된 스케줄링 캔 메시지를 수신하는 수신 단계; 및 상기 스케줄링 정보에 따라 태스크를 수행하는 태스크 수행 단계;를 포함한다.
상기 태스크의 동작 주기 변경이 필요한지 판단하는 동작 주기 판단 단계를 더 포함할 수 있다.
상기 태스크의 동작 주기의 변경이 필요하면, 미리 마련된 참조 테이블의 테이블 밸류를 변경하는 밸류 변경 단계를 더 포함할 수 있다.
상기 밸류 변경 단계는, 상기 태스크의 동작 주기와 관련한 상기 테이블 밸류의 오프셋 시간과 듀레이션을 변경할 수 있다.
본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법에 의하면, 차량용 캔 통신을 통해 태스크 스케줄링 정보가 포함된 스케줄링 캔 메시지를 전송함으로써, 복수의 제어기 사이의 태스크 스케줄링 알고리즘을 구현할 수 있다.
또한, 태스크 스케줄링 알고리즘을 구현하는 별도의 소프트웨어의 개발 및 적용이 요구되지 않아 이로 인한 비용 증가가 방지되는 효과가 있다.
또한, 특정 OS 사용으로 인한 비용 증가가 방지되는 효과가 있다.
또한, OS 내의 동기화를 위한 부수적인 소프트웨어의 개발 및 적용이 요구되지 않아 이로 인한 비용 증가가 방지되는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기와 차량용 슬레이브 제어기의 블록도이다.
도 2는 도 1의 마스터 제어기의 스케줄 테이블과 슬레이브 제어기의 태스크 기능을 보여주는 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 스케줄링 캔 메시지의 표준 데이터 프레임을 보여주는 도면이다.
도 4는 도 1의 슬레이브 제어기의 스케줄링 캔 메시지를 이용한 태스크 수행 과정을 시간 흐름으로 보여주는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 차량용 슬레이브 제어기의 태스크 수행 방법의 순서도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기와 차량용 슬레이브 제어기의 블록도이다. 도 2는 도 1의 마스터 제어기의 스케줄 테이블과 슬레이브 제어기의 태스크 기능을 보여주는 도면이다.
도 1 및 도 2를 참고하면, 본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기(100)는, 차량용 캔 버스(CAN Bus)를 통해 스케줄링 캔 메시지를 복수의 슬레이브 제어기로 전송함으로써, 별도의 소프트웨어 없이 스케줄링 캔 메시지를 통해 복수의 슬레이브 제어기 각각의 태스크 스케줄링 알고리즘을 구현하는 것을 특징으로 한다.
차량용 슬레이브 제어기는, 마스터 제어기(100)로부터 스케줄링 캔 메시지를 수신하면, 스케줄링 캔 메시지에 포함된 스케줄링 정보를 이용하여 태스크를 수행하는 것을 특징으로 한다.
차량용 슬레이브 제어기는 복수 구비될 수 있다. 복수의 슬레이브 제어기는 제1 슬레이브 제어기(200)와 제2 슬레이브 제어기(300)를 포함할 수 있다. 복수의 슬레이브 제어기는 복잡한 기능을 가지는 차량의 전자 제어 시스템의 제어를 위해 더욱 많은 수의 슬레이브 제어기를 포함할 수 있다.
본 발명의 바람직한 실시예에 따른 차량용 마스터 제어기(100)는, 테이블 저장부(110), 메시지 생성부(120), 및 송수신부(130)를 포함한다.
테이블 저장부(110)는, 스케줄 테이블이 저장되는 일종의 메모리 장치일 수 있다. 여기서, 스케줄 테이블은 복수의 슬레이브 제어기 각각의 태스크 수행과 관련한 스케줄링 정보를 포함할 수 있다. 스케줄링 정보는 마스터 제어기(100)와 복수의 슬레이브 제어기에서 제어하고자 하는 차량의 전자 제어 시스템에 따라 미리 마련될 수 있다.
메시지 생성부(120)는 스케줄 테이블의 어느 하나 이상의 스케줄링 정보가 포함되도록 스케줄링 캔 메시지를 생성할 수 있다. 메시지 생성부(120)는 미리 마련된 표준 데이터 프레임에 따라 스케줄링 캔 메시지를 생성할 수 있다.
송수신부(130)는 스케줄링 캔 메시지를 복수의 슬레이브 제어기로 전송할 수 있다. 복수의 슬레이브 제어기 각각은 스케줄링 캔 메시지를 수신하는 경우, 스케줄링 캔 메시지에 포함된 스케줄링 정보에 따라 내부 태스크를 처리할 수 있다.
일 실시예에 있어서, 태스크는 상시 수행이 필요한 태스크와 상시 수행이 불필요한 태스크를 포함한다. 상시 수행이 불필요한 태스크가 계속해서 동작할 경우, 해당 제어기의 CPU 부하가 발생하여 실시간성을 우선시하는 다른 태스크의 동작이 원활하게 이루어지지 않는 문제가 있다.
이러한 문제 해결을 위해 본 발명에 따른 차량용 슬레이브 제어기는, 상시 수행이 불필요한 태스크(예, 진단 태스크)의 수행이 필요하다고 판단되는 경우, 마스터 제어기(100)로 진단 태스크에 대한 스케줄링 정보를 요청할 수 있다. 차량용 슬레이브 제어기는 마스터 제어기(100)로부터 스케줄링 캔 메시지를 수신한 이후 해당하는 진단 태스크를 수행할 수 있다. 따라서, 차량용 슬레이브 제어기는 진단 태스크를 임의로 온(On) 또는 오프(Off)할 수 있는 방안이 마련되어, 필요시에만 진단 태스크를 동작하는 것이 가능하다.
일 실시예에 있어서, 특정 태스크의 경우, 동작 주기가 런 타임(Run-Time)중에 변경될 수 있다.
워치독 태스크(Watchdog Task)의 경우, 차량용 슬레이브 제어기의 이상 동작 여부를 감시하게 되는데, 워치독 태스크와 다른 다양한 태스크는 이러한 차량용 슬레이브 제어기의 이상 동작 여부를 판단할만한 요소(예, 이더넷 메시지 송출 여부, 캔 메시지의 얼라이브 카운트(Alive Count), 주변 입출력 인터페이스(Peripheral I/O))를 이미 가지고 있다.
또한, 워치독 태스크는, 하드웨어적 고장 상태를 수백 ms 단위로 주기적으로 감시하고 있는데, 소프트웨어의 사양으로 10ms 내지 100ms 단위의 주기가 요구되고 있어, 미연의 사태에 대비한다 하더라도 과도하게 동작되고 있다.
본 발명에 따른 차량용 슬레이브 제어기는 워치독 태스크와 같은 특정 태스크의 동작 주기를 조절할 수 있다. 예컨대, 차량용 슬레이브 제어기는 특정 태스크의 동작 주기를 100ms에서 500ms로 늘릴 수 있다.
차량용 슬레이브 제어기는 마스터 제어기(100)로부터 스케줄링 캔 메시지를 수신하면, 스케줄링 캔 메시지가 지시하는 변경된 동작 주기로 특정 태스크를 수행할 수 있다. 이때 차량용 슬레이브 제어기는 해당 구간에서 남은 CPU 부하만큼 중요한 다른 태스크를 여유롭게 수행할 수 있다.
도 3은 본 발명의 바람직한 실시예에 따른 스케줄링 캔 메시지의 표준 데이터 프레임을 보여주는 도면이다.
도 3을 참고하면, 차량용 캔 통신에서 사용되는 스케줄링 캔 메시지의 표준 데이터 프레임을 확인할 수 있다. 도 3에서 중재 필드(Arbitration Field)는 아이덴티파이어(Identifier) 영역과 RTR(Remote Transmission Request) 영역을 포함한다. 아이덴티파이어 영역에는 메시지 ID가 입력된다. 메시지 ID는 해당 차량에서 유일한 값으로 정의된다. 메시지 ID는 리눅스 기반의 차량용 마스터 제어기의 스케줄링 캔 메시지에 대응하는 ID를 의미한다. 메시지 ID는 11bits의 크기를 가질 수 있다. 일 실시예에 있어서, 메시지 ID는 0x6FF로 표현될 수 있으나, 이에 한정되지 않는다. 메시지 ID는 임의의 식별 가능한 값으로 정의될 수 있다. 메시지 ID는 캔 버스를 통한 캔 메시지의 충돌 시 메시지 전송우선순위에 영향을 준다.
데이터(Data) 필드에는 복수의 슬레이브 제어기 각각의 태스크 수행 시간 관련한 스케줄링 정보(또는 페이로드 정보)가 입력된다. 데이터 필드는 아스키 코드(ASCII Code)로 구성될 수 있다. 데이터 필드는 최대 8바이트의 크기를 가질 수 있다.
나머지 필드는 일반적인 캔 메시지 프레임에 포함되는 내용이므로, 이에 대한 상세 설명은 생략한다.
이하에서는, 표 1을 참고하여 데이터 필드에 입력되는 스케줄링 정보에 대해 설명한다.
Index 0 1 2 3 4 5 6 7
스케줄링 정보 ECU ID TASK ID TASK Priority TASK Start Offset Time Table Index TASK Duration Table Index TASK Function Table Index Reserved Reserved
표 1을 참고하면, 데이터 필드는 8 바이트 크기를 가지며, 1 바이트를 기준으로 구분되어 복수의 서브 데이터 필드를 포함할 수 있다. 데이터 필드는 제0 내지 제7 서브 데이터 필드로 구분될 수 있다. 제0 내지 제7 서브 데이터 필드는 인덱스 0 내지 7에 대응한다. 제0 내지 제7 서브 데이터 필드 각각에는 스케줄 테이블의 스케줄링 정보가 입력될 수 있다.
인덱스 0에 대응하는 제0 서브 데이터 필드에는 스케줄링 정보 중에서 ECU ID가 입력될 수 있다. 여기서, ECU ID는 태스크를 수행할 슬레이브 제어기에 대한 ID를 나타낸다. 스케줄링 캔 메시지는 캔 버스에 접속한 슬레이브 제어기 모두에게 전송되므로, 스케줄링 캔 메시지를 수신한 슬레이브 제어기는 자신에게 요청하는 스케줄링 정보인지를 확인하기 위해 제0 서브 데이터 필드를 참조한다.
인덱스 1에 대응하는 제1 서브 데이터 필드에는 스케줄링 정보 중에서 TASK ID가 입력될 수 있다. 여기서, TASK ID는 태스크를 식별 가능한 고유의 ID를 나타낸다.
인덱스 2에 대응하는 제2 서브 데이터 필드에는 TASK Priority가 입력될 수 있다. TASK Priority는 태스크 수행 관련한 우선순위(예, 0 부터 255까지의 값)를 나타낸다.
인덱스 3에 대응하는 제3 서브 데이터 필드에는 TASK Start Offset Time Table Index가 입력될 수 있다. TASK Start Offset Time Table Index는 태스크 시작 시간에 대한 오프셋 타임을 지정할 테이블 인덱스 값을 나타낸다.
인덱스 4에 대응하는 제4 서브 데이터 필드에는 TASK Duration Table Index가 입력될 수 있다. TASK Duration Table Index는 태스크 듀레이션(수행 지속 시간)을 설정할 테이블 인덱스 값을 나타낸다.
인덱스 5에 대응하는 제5 서브 데이터 필드에는 TASK Function Table Index가 입력될 수 있다. TASK Function Table Index는 태스크의 기능을 설정할 테이블 인덱스 값을 나타낸다.
인덱스 6과 인덱스 7 각각에 대응하는 제6 서브 데이터 필드와 제7 서브 데이터 필드에는 Reserved가 입력될 수 있다. Reserved는 예약된 정보를 나타낼 수 있다.
표 2 내지 표 4는 표 1의 TASK Start Offset Time Table Index, TASK Duration Table Index, TASK Function Table Index가 참조하는 참조 테이블을 나타낸다. 이러한 참조 테이블은 복수의 슬레이브 제어기 각각에 미리 저장된 상태일 수 있다.
TASK Start Offset Time Table Index TASK Start Offset Time Table Value(ms) (=Index*1ms)
0 0
1 1
2 2
3 3
255 255
TASK Function Table Index TASK Function Table Value
0 NULL Function(NO Function)
1 FUNC_#1
2 FUNC_#2
3 FUNC_#3
255 FUNC_#255
TASK Duration Table Index TASK Duration Table Value(ms) (=Index*1ms)
0 0
1 1
2 2
3 3
255 255
표 2 내지 표 4를 참조하면, 스케줄링 캔 메시지를 수신한 슬레이브 제어기는 각 인덱스에서 지시하는 밸류(Value)를 참조하여 스케줄링 캔 메시지의 포맷을 재처리하고, 어떠한 스케줄링 함수를 실행할지에 대하여 판단할 수 있다.
도 4는 도 1의 슬레이브 제어기의 스케줄링 캔 메시지를 이용한 태스크 수행 과정을 시간 흐름으로 보여주는 도면이다.
도 4를 참고하면, 제1 슬레이브 제어기(200)의 동작 예를 확인할 수 있다. 먼저 제1 슬레이브 제어기(200)는 태스크의 어느 하나의 기능(예, Func#2)에 대한 스케줄링 정보를 마스터 제어기(100)로 요청한다. 일 실시예에 있어서, 제1 슬레이브 제어기(200)는 태스크의 제1 기능(Func#1), 제2 기능(Func#2), 및 제3 기능(Func#3)을 수행하도록 구성될 수 있다.
마스터 제어기(100)는 이에 응답하여 스케줄링 정보가 포함된 스케줄링 캔 메시지를 제1 슬레이브 제어기(200)로 전송한다.
그런 다음 제1 슬레이브 제어기(200)는 스케줄링 캔 메시지를 수신한다. 제1 슬레이브 제어기(200)는 스케줄링 캔 메시지의 아이덴티파이어 필드에서 메시지 ID를 확인한다. 제1 슬레이브 제어기(200)는 메시지 ID를 확인을 통해 스케줄링 정보가 포함된 스케줄링 캔 메시지인지를 확인한다.
그런 다음 제1 슬레이브 제어기(200)는 스케줄링 캔 메시지인 것으로 확인되면, 데이터 필드의 스케줄링 정보를 확인한다. 제1 슬레이브 제어기(200)는 ECU ID가 자신에 대응하고, TASK ID가 자신이 요청한 태스크의 제2 기능(Func#2)에 대응하는지를 확인할 수 있다. 일 실시예에 있어서, 스케줄링 캔 메시지에 포함된 스케줄링 정보는 ECU ID = 1, TASK ID = 2, TASK Priority = 6, TASK Start Offset time = 2, TASK Duration time = 3ms, TASK Function index = 2를 포함할 수 있다.
제1 슬레이브 제어기(200)는 ECU ID와 TASK ID의 확인이 완료되면, 오프셋 타임 2ms 이후에 듀레이션 3ms 동안 태스크의 제2 기능(Func#2)을 수행할 수 있다. 제1 슬레이브 제어기(200)는 스케줄링 캔 메시지를 수신하고 나서 10ms 동안 태스크에 대한 새로운 스케줄링 정보를 요청하지 않는다.
한편, 제1 슬레이브 제어기(200)는 태스크의 제2 기능(예, Func#2)의 수행이 필요할 때마다 스케줄링 정보를 마스터 제어기(100)로 요청할 수 있다.
마스터 제어기(100)는 제1 슬레이브 제어기(200)의 요청에 따라 스케줄링 캔 메시지를 재차 전송할 수 있다.
제1 슬레이브 제어기(200)는 태스크의 제2 기능(Func#2)에 대한 동작 주기의 변경 요청이 있는 경우, 변경 요청에 따라 참조 테이블의 제2 기능(Func#2)에 대한 오프셋 시간과 듀레이션을 변경할 수 있다. 일 실시예에 있어서, 제1 슬레이브 제어기(200)는 제2 기능(Func#2)에 대한 오프셋 시간을 2ms 에서 5ms로 변경하고, 듀레이션을 3ms에서 4ms로 변경할 수 있다.
제1 슬레이브 제어기(200)는 마스터 제어기(100)로부터 스케줄링 캔 메시지를 수신하면, 상술한 동작을 재차 수행할 수 있다. 이때 제1 슬레이브 제어기(200)는 변경된 오프셋 시간과 듀레이션에 따라 태스크의 제2 기능(Func#2)을 수행할 수 있다. 이와 같이, 제1 슬레이브 제어기(200)는 런타임 중에 특정 태스크의 동작 주기를 변경 가능함으로써, 해당 동작 주기 동안에 다른 태스크의 수행이 가능한 효과가 있다.
도 5는 본 발명의 바람직한 실시예에 따른 차량용 슬레이브 제어기의 태스크 수행 방법의 순서도이다.
도 1, 도 2, 및 도 5를 참고하면, 본 발명의 바람직한 실시예에 따른 차량용 슬레이브 제어기의 태스크 수행 방법은, 동작 주기 판단 단계(S510), 밸류 변경 단계(S520), 요청 단계(S530), 수신 단계(S540), 및 태스크 수행 단계(S550)를 포함한다.
동작 주기 판단 단계(S510)에서, 슬레이브 제어기(200)는 수행할 태스크의 동작 주기 변경이 필요한지 판단한다. 동작 주기의 변경 필요 여부는 사용자의 필요 또는 외부 요청에 따라 결정될 수 있다. 일 실시예에 있어서, 슬레이브 제어기(200)는 태스크 종류가 워치독 태스크 등을 포함하는 특정 태스크일 경우, 태스크의 동작 주기의 변경이 필요한 것으로 판단할 수 있다.
밸류 변경 단계(S520)에서, 슬레이브 제어기(200)는 태스크의 동작 주기의 변경이 필요하면, 미리 마련된 참조 테이블의 테이블 밸류를 변경한다. 여기서, 슬레이브 제어기(200)는 테이블 밸류의 오프셋 시간과 듀레이션을 변경할 수 있다.
요청 단계(S530)에서, 슬레이브 제어기(200)는 태스크 수행을 위해 마스터 제어기(100)로 스케줄링 정보를 요청한다.
수신 단계(S540)에서, 슬레이브 제어기(200)는 마스터 제어기(100)로부터 스케줄링 정보가 포함된 스케줄링 캔 메시지를 수신한다. 여기서, 마스터 제어기(100)는 미리 마련된 스케줄 테이블의 스케줄링 정보를 이용하여 스케줄링 캔 메시지를 생성할 수 있다.
태스크 수행 단계(S550)에서, 슬레이브 제어기(200)는 스케줄링 캔 메시지의 스케줄링 정보에 따라 태스크를 수행한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.
실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.
100: 마스터 제어기
110: 테이블 저장부
120: 메시지 생성부
130: 송수신부
200: 제1 슬레이브 제어기
300: 제2 슬레이브 제어기

Claims (11)

  1. 복수의 슬레이브 제어기 각각의 태스크 수행과 관련한 스케줄링 정보를 포함하는 스케줄 테이블이 저장되는 테이블 저장부;
    상기 스케줄 테이블의 스케줄링 정보가 포함되도록 스케줄링 캔 메시지를 생성하는 메시지 생성부; 및
    상기 스케줄링 캔 메시지를 상기 복수의 슬레이브 제어기로 전송하는 송수신부;
    를 포함하고,
    상기 송수신부는, 상기 복수의 슬레이브 제어기 중에서 적어도 하나의 슬레이브 제어기의 태스크 동작 주기가 변경되는 경우, 태스크 동작 주기가 변경되는 슬레이브 제어기로 상기 스케줄링 캔 메시지를 전송하는 것을 특징으로 하는 차량용 마스터 제어기.
  2. 제 1 항에 있어서,
    상기 스케줄링 캔 메시지는,
    상기 스케줄링 캔 메시지에 대응하는 메시지 ID가 입력되는 아이덴티파이어 필드와 상기 스케줄링 정보가 입력되는 데이터 필드를 포함하는 데이터 프레임으로 구성되는 것을 특징으로 하는 차량용 마스터 제어기.
  3. 제 2 항에 있어서,
    상기 데이터 필드는 1 바이트를 기준으로 구분되어 복수의 서브 데이터 필드를 포함하고,
    상기 복수의 서브 데이터 필드 각각에 상기 스케줄링 정보가 입력되는 것을 특징으로 하는 차량용 마스터 제어기.
  4. 제 1 항에 있어서,
    상기 스케줄링 정보는,
    상기 태스크를 수행할 슬레이브 제어기에 대한 ID를 나타내는 ECU ID,
    상기 태스크를 식별 가능한 TASK ID,
    상기 태스크의 우선순위를 나타내는 TASK Priority,
    상기 태스크의 시작 시간에 대한 오프셋 타임을 지정할 테이블 인덱스 값을 나타내는 TASK Start Offset Time Table Index,
    상기 태스크의 듀레이션을 설정할 테이블 인덱스 값을 나타내는 TASK Duration Table Index, 및
    상기 태스크의 기능을 설정할 테이블 인덱스 값을 나타내는 TASK Function Table Index
    를 포함하는 것을 특징으로 하는 차량용 마스터 제어기.
  5. 마스터 제어기로부터 스케줄링 정보가 포함된 스케줄링 캔 메시지를 수신하고, 상기 스케줄링 정보에 따라 태스크를 수행하며, 상기 스케줄링 정보에서 참조하는 테이블 밸류를 포함하는 참조 테이블이 저장되어 있으며, 상기 태스크를 수행하기 전에 상기 태스크의 동작 주기 변경이 필요한지 판단하는 것을 특징으로 하는 차량용 슬레이브 제어기.
  6. 제 5 항에 있어서,
    상기 테이블 밸류는 오프셋 시간, 태스크의 기능, 및 듀레이션을 포함하는 것을 특징으로 하는 차량용 슬레이브 제어기.
  7. 제 6 항에 있어서,
    태스크의 동작 주기 변경 요청이 있는 경우, 동작 주기 변경 요청이 있는 태스크에 대한 상기 테이블 밸류의 오프셋 시간과 듀레이션을 변경하는 것을 특징으로 하는 차량용 슬레이브 제어기.
  8. 마스터 제어기로 스케줄링 정보를 요청하는 스케줄링 정보 요청 단계;
    상기 마스터 제어기로부터 상기 스케줄링 정보가 포함된 스케줄링 캔 메시지를 수신하는 수신 단계; 및
    상기 스케줄링 정보에 따라 태스크를 수행하는 태스크 수행 단계;
    를 포함하고,
    상기 스케줄링 정보 요청 단계 이전에, 상기 태스크의 동작 주기 변경이 필요한지 판단하는 동작 주기 판단 단계
    를 더 포함하는 것을 특징으로 하는 차량용 슬레이브 제어기의 태스크 수행 방법.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 태스크의 동작 주기의 변경이 필요하면, 미리 마련된 참조 테이블의 테이블 밸류를 변경하는 밸류 변경 단계
    를 더 포함하는 것을 특징으로 하는 차량용 슬레이브 제어기의 태스크 수행 방법.
  11. 제 10 항에 있어서,
    상기 밸류 변경 단계는,
    상기 태스크의 동작 주기와 관련한 상기 테이블 밸류의 오프셋 시간과 듀레이션을 변경하는 것을 특징으로 하는 차량용 슬레이브 제어기의 태스크 수행 방법.
KR1020200165977A 2020-12-01 2020-12-01 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법 Active KR102485286B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200165977A KR102485286B1 (ko) 2020-12-01 2020-12-01 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200165977A KR102485286B1 (ko) 2020-12-01 2020-12-01 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법

Publications (2)

Publication Number Publication Date
KR20220076961A KR20220076961A (ko) 2022-06-08
KR102485286B1 true KR102485286B1 (ko) 2023-01-04

Family

ID=81980712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200165977A Active KR102485286B1 (ko) 2020-12-01 2020-12-01 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법

Country Status (1)

Country Link
KR (1) KR102485286B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100747760B1 (ko) * 2006-09-04 2007-08-08 한양대학교 산학협력단 Can에서의 시분할 스케줄링 방법 및 그 can 시스템
KR100850803B1 (ko) * 2007-02-09 2008-08-06 한양대학교 산학협력단 Can 시스템에서의 타임 트리거 기반의 메시지 스케줄링방법, 장치 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100583811B1 (ko) * 2004-09-21 2006-05-26 인하대학교 산학협력단 휴머노이드 로봇에 대한 캔 메시지의 식별자 인가방법 및캔 메시지의 전송 중재 방법
KR100667045B1 (ko) * 2005-05-16 2007-01-10 현대모비스 주식회사 전력선을 이용한 자동차의 네트워크 시스템
KR102796850B1 (ko) 2018-11-15 2025-04-15 현대자동차주식회사 차량의 통신 시스템 및 그 제어방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100747760B1 (ko) * 2006-09-04 2007-08-08 한양대학교 산학협력단 Can에서의 시분할 스케줄링 방법 및 그 can 시스템
KR100850803B1 (ko) * 2007-02-09 2008-08-06 한양대학교 산학협력단 Can 시스템에서의 타임 트리거 기반의 메시지 스케줄링방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR20220076961A (ko) 2022-06-08

Similar Documents

Publication Publication Date Title
US11360864B2 (en) Vehicle safety electronic control system
CN111934966B (zh) 不正常检测电子控制单元、车载网络系统以及不正常检测方法
JP5668800B2 (ja) 通信ネットワーク内のノードステータス監視方法及び監視装置
EP3572939A1 (en) Method, device and real-time network for highly-integrated automotive systems
JP6460137B2 (ja) 制御装置、制御方法、およびプログラム
CN104169817B (zh) 用于控制安全关键过程的控制装置及其参数化方法
CN105703991B (zh) 局部互联网络系统和方法
CN105659532A (zh) 车辆网络中的安全过滤器
US11167766B2 (en) Steering control apparatus and steering control method and, steering system
CN111796577A (zh) 一种数据指令处理方法、装置、车辆及存储介质
US10659536B2 (en) Method of controlling inverters
CN117850395A (zh) 车辆通信故障处理方法、装置、车辆及存储介质
US10541830B2 (en) Serial communication system
JP2020022019A (ja) 車両システム
KR102485286B1 (ko) 차량용 마스터 제어기, 차량용 슬레이브 제어기, 및 차량용 슬레이브 제어기의 태스크 수행 방법
JP6279152B1 (ja) 制御装置、制御システム、および、制御装置の復帰処理方法
US12112206B2 (en) Control device for controlling multiple applications based on priority-based message encryption arbitration
US11290881B2 (en) Method for functionally secure connection identification
KR102029371B1 (ko) 차량용 이더넷 통신을 위한 전원공급 시스템 및 그 방법
EP4059206B1 (en) Data communication network in a vehicle
KR101995515B1 (ko) 제어 인가를 컴퓨터에 할당하기 위한 방법 및 시스템
CN115743001A (zh) 车辆控制方法、装置、电子设备、存储介质及程序产品
CN110727248B (zh) 用于改变配置的方法和工业设施系统
CN112598509A (zh) 一种车辆消费贷款的管理系统及方法
US12079151B2 (en) Method, communication system and system for secure communication between a master and a slave of a bus system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20201201

PA0201 Request for examination
PN2301 Change of applicant

Patent event date: 20211015

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220715

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20221205

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230102

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230102

End annual number: 3

Start annual number: 1

PG1601 Publication of registration