KR102275869B1 - 차량 제어 장치 및 차량 제어 방법 - Google Patents
차량 제어 장치 및 차량 제어 방법 Download PDFInfo
- Publication number
- KR102275869B1 KR102275869B1 KR1020150019462A KR20150019462A KR102275869B1 KR 102275869 B1 KR102275869 B1 KR 102275869B1 KR 1020150019462 A KR1020150019462 A KR 1020150019462A KR 20150019462 A KR20150019462 A KR 20150019462A KR 102275869 B1 KR102275869 B1 KR 102275869B1
- Authority
- KR
- South Korea
- Prior art keywords
- core
- swc
- control device
- mdps
- mode
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
Landscapes
- Engineering & Computer Science (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Power Steering Mechanism (AREA)
Abstract
본 발명은 멀티 코어(multi-core)를 구비한 오토사(AUTOSAR) 기반의 엠디피에스(MDPS, Motor Driven power Steering) 제어 장치에 있어서, 상기 멀티 코어 중 어느 하나의 멀티 코어이고, 시스템 스테이터스(System Status) SWC(Software component), CAN 통신 SWC, 이이피롬(EEPROM) 메모리 제어 SWC, 시스템 진단 SWC 및 제1 페일세이프(fail-safe) SWC 중 적어도 어느 하나를 수행하는 제1 코어 및 상기 멀티 코어 중 다른 어느 하나의 멀티 코어이고, 모터 제어 SWC, ECU 하드웨어 입출력제어 SWC, 센서신호처리 SWC, 제2 페일세이프 SWC 및 엠디피에스 성능로직 SWC 중 적어도 어느 하나를 수행하는 제2 코어를 포함하고 상기 제1 코어 및 상기 제2 코어가 동시에 수행되는 오토사를 기반으로 한 엠디피에스 제어 장치에 관한 것이다.
Description
본 발명은 오토사(AUTOSAR, Automotive Open System Architecture)를 기반으로 한 차량 제어 장치 및 오토사를 기반으로 한 차량 제어 방법에 관한 것으로, 보다 상세하게는 2 이상의 코어가 구비된 제어 장치에서 엠디피에스(MDPS, Motor-Driven Power Steering)를 제어하는 최적의 소프트웨어 컴포넌트(Software Component, 이하 SWC 라 함) 수행을 통하여 각 구성의 데이터 흐름을 제어하여 엠디피에스를 작동시키는 오토사를 기반으로 한 차량 제어 장치 및 오토사를 기반으로 한 차량 제어 방법에 관한 것이다.
멀티 코어 씨피유에 적용된 OS(Operating System)를 적용하는 소프트웨어는 각 코어에서 동작하는 OS 소프트웨어가 올라가고 OS 내부 IOC(Inter-OS-Application Communication) 모듈을 통해 코어 간 통신을 한다. OS 어플리케이션 소프트웨어가 동작하는 기본 단위는 OS의 태스크(TASK)이고 OS에서 정의되는 태스크(TASK)는 소프트웨어 단위가 동작하는 것을 말한다. 태스크는 정해진 스케줄러에 의해 수행된다. 여기서 IOC는 각 코어의 OS 간 통신을 하는 모듈로 동작하던 태스크 수행이 완료된 후에 코어간 통신을 진행한다. IOC는 태스크가 동작하는 중에는 코어 간 통신을 할 수 없다.
하지만 IOC 모듈은 OS에서 동작하는 태스크와 동일하게 취급되어 코어 사이에 통신을 하고자 하여도 태스크가 동작하는 것을 완료할 때까지 기다린다. TASK는 소프트웨어 단위로 동작하므로, 긴급한 상황에서 자동차가 제어될 때 서로 다른 목적을 가지고 있는 다른 코어의 동작이 제어되기 위해 상대적으로 많은 시간이 소요된다.
이에 최근에는 시스템에 이벤트(Event)가 발생할 때 코어 간 통신을 실시간으로 진행하여 멀티 코어 성능을 극대화하는 연구가 진행 중에 있다.
본 발명이 해결하고자 하는 과제는 2 이상의 코어를 구비한 제어 장치에서 엠디피에스를 제어하는 최적의 소프트웨어 컴포넌트 수행을 통하여 각 구성의 데이터 흐름을 제어하여 엠디피에스를 작동시키는 오토사를 기반으로 한 차량 제어 장치 및 오토사를 기반으로 한 차량 제어 방법을 제공함에 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 일실시례에 따른 오토사를 기반으로 한 차량 제어 장치는, 멀티 코어(multi-core) 씨피유를 구비한 오토사(AUTOSAR)를 기반으로 한 엠디피에스(MDPS, Motor Driven power Steering) 제어 장치에 있어서, 상기 멀티 코어 씨피유 중 어느 하나의 코어이고, 상기 엠디피에스 제어 장치에 전원 인가 시 시작 부트 프로그램을 실행하는 시스템 스테이터스(System Status) SWC(Software component), 캔(CAN)통신을 동작시키는 캔통신 SWC, 이이피롬에 메모리를 읽기 및 쓰기를 수행하는 이이피롬(EEPROM) 메모리 제어 SWC, 상기 엠디피에스 제어 장치의 설정된 시스템고장 조건 발생 시 설정된 코드를 출력하는 시스템 진단 SWC, 상기 엠디피에스 제어 장치의 상태를 체크하여 안전 동작을 수행하는 제1 페일세이프 SWC 중 적어도 어느 하나를 수행하는 제1 코어 및 상기 멀티 코어 씨피유 중 다른 어느 하나의 코어이고, 상기 엠디피에스 제어 장치의 모터의 피더블유엠 듀티를 제어하는 모터 제어 SWC, 상기 엠디피에스 제어 장치의 모듈 간 입출력 신호를 제어하는 ECU 하드웨어 입출력제어 SWC, 센서 신호를 수신하여 설정된 로직에 의해 상기 엠디피에스 제어 장치에 출력하는 센서신호처리 SWC, 상기 엠디피에스 제어 장치의 고장을 진단 하는 제2 페일세이프 SWC, 상기 엠디피에스 제어 장치에서 엠디피에스 토크 출력을 내보내는 파라미터를 제어하는 엠디피에스 성능로직 SWC 중 적어도 어느 하나를 수행하는 제2 코어를 포함하고 상기 제1 코어 및 상기 제2 코어가 동시에 수행된다.
본 발명의 오토사를 기반으로 한 차량 제어 장치에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 제1 코어가 처리하는 어느 SWC 및 제2 코어가 처리하는 어느 SWC가 분배되는 소프트웨어 아키텍처를 설계함으로써 엠디피에스 장치를 빠르게 제어하는 장점이 있다.
둘째, 멀티 코어 OS를 적용하는 기존의 SWC는 하나의 SWC의 수행이 완료된 후 다른 SWC가 수행됨에 비해, MCAL의 브로드캐스트 레지스터에 설정된 비트를 제어하여 인터럽트 함수를 호출함으로써 SWC가 수행되는 중에도 중간에 제1 코어 및 제2 코어 간의 통신이 가능한 장점도 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시례에 따른 엠디피에스 제어 장치의 구성을 도시한 구성도이다.
도 2는 도 1에 도시된 구성이 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
도 3은 도 1에 도시된 구성이 파워 다운 모드 진입 시 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
도 4는 도 1에 도시된 구성이 오토사의 고장 시 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
도 5는 아이콘 모듈 간의 API(application programming interface)가 설정되는 과정을 도시한 API 설정 과정도이다.
도 2는 도 1에 도시된 구성이 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
도 3은 도 1에 도시된 구성이 파워 다운 모드 진입 시 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
도 4는 도 1에 도시된 구성이 오토사의 고장 시 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
도 5는 아이콘 모듈 간의 API(application programming interface)가 설정되는 과정을 도시한 API 설정 과정도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시례들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시례들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시례들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시례들에 의하여 엠디피에스 제어 장치를 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
도 1은 본 발명의 일실시례에 따른 오토사를 기반으로 한 엠디피에스 제어 장치(1)의 구성을 도시한 구성도이다. 본 발명의 일실시례에 따른 오토사를 기반으로 한 엠디피에스(MDPS, Motor-Driven Power Steering) 제어 장치(1)는 제1 코어(7)의 어플리케이션 계층(Application Layer)에서 수행되는 시스템 스테이터스 SWC(10), CAN통신 SWC(20), 이이피롬(EEPROM) 메모리 제어 SWC(30), 시스템 진단 SWC(40), 제1 페일세이프(fail-safe) SWC(50), 제2 코어(8)의 어플리케이션 계층(Application Layer)에서 수행되는 모터 제어 SWC(60), ECU 하드웨어 입출력 제어 SWC(70), 센서신호처리 SWC(80), 제2 페일세이프(fail-safe) SWC(90), 엠디피에스 성능로직 SWC(100), 제1 코어(7)의 BSW(Basic Software) 계층(이하 "BSW"라 함)(4)에서 수행되는 모드 매니지먼트 모듈(110), 스케줄러 모듈(120), 제2 코어(8)의 BSW(5)에서 수행되는 PWM 드라이버 모듈(130), MCU 드라이버 입출력 모듈(140), 스케줄러모듈(150) 및 MCAL(6)의 브로드캐스트 레지스터(Broadcast Register,160), ISR(Interrupt Service Routine, 170)을 포함한다. SWC는 오토사의 Software Component를 의미한다. 제1 코어의 BSW(4)는 CCP(CAN Calibration Protocol), UDS(Unified diagnostic services), KWP(Keyword Protocol) 모듈, CAN 드라이버 모듈 및 메모리 드라이버 모듈을 더 포함할 수도 있다. 제2 코어(8)는 센서 입력 모듈, ECU Safety 모듈을 더 포함할 수 있다.
일실시례에 따른 오토사를 기반으로 한 엠디피에스 제어 장치(1)가 제1 코어(7) 및 제2 코어(8)에서 처리되는 SWC를 구분한 것은 서로 구분된 SWC는 동시에 사용되는 빈도가 높은 것이기 때문이다. 이렇게 구분됨으로써 인터럽트 함수를 호출하는 횟수를 줄이는 효과가 있고, 이에 의하여 엠디피에스 장치의 원활한 작동이 가능하다. 즉 제1 코어(7)에는 모드 제어, 통신과 같은 ECU 시스템의 기본적인 기능들이 처리되며, 제2 코어(8)에는 모터 제어, 엠디피에스(MDPS) 로직과 같은 시스템의 성능과 관련 있는 기능들이 처리된다. 일실시례에 따른 오토사를 기반으로 한 엠디피에스 제어 장치(1)는 시스템 모드 변환을 진행하면서, 하드웨어 입출력을 동시에 제어하고 모터 구동을 위한 SWC의 동작이 처리될 수 있다.
오토사를 기반으로 한 엠디피에스 제어 장치(1)는 멀티 코어(multi-core)를 구비한 오토사(AUTOSAR, Automotive Open System Architecture)를 기반으로 한다.
제1 코어(7)는 멀티 코어 중 어느 하나이다. 제1 코어(7)는 2 이상의 멀티 코어 중 core 0 인 멀티 코어일 수 있다. 제 1 코어(7)는 시스템 스테이터스 SWC(System Status Software Component)(10), CAN 통신 SWC(20), 이이피롬(EEPROM) 메모리 제어 SWC(30), 시스템 진단 SWC(40) 및 제1 페일세이프 SWC(50) 중 적어도 어느 하나를 수행한다.
시스템 스테이터스 SWC(10)는 오토사를 기반으로 한 엠디피에스 제어 장치(1)의 모드를 제어한다. 시스템 스테이터스 SWC(10)는 엠디피에스 제어 장치에 전원 인가 시 시작 부트 프로그램을 실행한다. 시스템 스테이터스 SWC(10)는 파워업 모드, 페일리어(failure) 모드, 노멀 동작 모드 및 파워다운 모드를 제어할 수 있다. 파워업 모드는 시스템을 동작시키는 일반적인 모드이다. 페일리어 모드는 시스템이 고장인 상태로서 시스템이 정지되는 모드이다. 파워 다운 모드는 사용자가 시스템을 인위적으로 종료시키는 모드이다.
CAN 통신 SWC(20)는 엠디피에스 장치가 차량 내의 다른 장치와 CAN 통신을 하게 한다. CAN 통신 SWC(20)는 캔(CAN)통신을 동작시킨다.
이이피롬(EEPROM) 메모리 제어 SWC(30)는 이이피롬에 메모리를 읽기 및 쓰기를 수행한다. 이이피롬(EEPROM)은 다른 SWC가 작동할 때 이용하는 메모리 저장 공간이며, 데이터의 입력 및 출력이 존재한다. 예를 들어 시스템 스테이터스 SWC(10)가 제어하는 시스템의 상태, CAN 통신 SWC(20)가 이용하는 통신 방법 및 시스템 진단 SWC(40)가 판단한 고장 여부 등이 이이피롬 메모리 제어 SWC에 저장된다. 이이피롬 메모리 제어 SWC(30)는 다른 SWC 또는 모듈이 이이피롬 메모리 제어 SWC(30)에 저장된 데이터를 요청할 때 해당 데이터를 출력할 수 있다.
시스템 진단 SWC(40)는 엠디피에스 제어 장치의 상태가 고장인지 여부를 판단한다. 시스템 진단 SWC(40)는 엠디피에스 제어 장치의 고장 주기, 고장 횟수, 고장 모듈을 고려하여 엠디피에스 제어 장치 고장 정도를 판단한다. 시스템 진단 SWC(40)는 엠디피에스 제어 장치의 설정된 시스템고장 조건 발생 시 설정된 코드를 출력한다.
제1 페일세이프(fail-safe) SWC(50)는 제1 코어의 상태를 작동(safe) 및 고장(fail)으로 구분한다. 제1 페일세이프(fail-safe) SWC(50)는 엠디피에스 제어 장치의 상태를 체크하여 안전 동작을 수행한다.
제2 코어(8)는 멀티 코어 중 다른 어느 하나의 멀티 코어이다. 제2 코어(8)는 2 이상의 멀티 코어 중 core 1인 멀티 코어일 수 있다. 제2 코어(8)는 모터 제어 SWC(60), ECU 하드웨어 입출력제어 SWC(70), 센서신호처리 SWC(80), 제2 페일세이프 SWC(90) 및 엠디피에스 성능로직 SWC(100) 중 적어도 어느 하나를 수행한다.
모터 제어 SWC(60)는 엠디피에스 제어 장치의 모터의 피더블유엠 듀티(PWM duty)를 제어한다.
ECU 하드웨어 입출력제어 SWC(70)는 엠디피에스를 제어하는 데이터 및 신호를 처리한다. ECU 하드웨어 입출력제어 SWC(70)는 엠디피에스 제어 장치의 모듈 간 입출력 신호를 제어한다.
센서신호처리 SWC(80)는 센서 신호를 수신하여 설정된 로직에 의해 상기 엠디피에스 제어 장치에 출력한다. 센서신호처리 SWC(80)는 엠디피에스를 제어하는 데에 필요한 센서 데이터를 입력 받는다. 센서신호처리 SWC(80)는 입력 받은 데이터를 이용하여 엠디피에스를 제어하는 데이터를 출력한다.
제2 페일세이프 SWC(90)는 제2 코어의 상태를 작동(safe) 및 고장(fail)으로 구분한다. 제2 페일세이프 SWC(90)는 엠디피에스 제어 장치의 고장을 진단한다.
엠디피에스 성능로직 SWC(100)는 특정 상황에서 엠디피에스를 세부적으로 제어하는 연산을 하여 엠디피에스의 모터를 제어하는 데이터를 출력한다. 즉 엠디피에스 성능로직 SWC(100)는 엠디피에스 제어 장치에서 엠디피에스 토크 출력을 내보내는 파라미터를 제어한다.
본 발명의 일실시례에 따른 엠디피에스 제어 장치(1)는 제1 코어(7) 및 제2 코어(8)가 동시에 수행된다.
제1 코어(7)가 수행하는 시스템 스테이터스 SWC(10), CAN 통신 SWC(20), 이이피롬(EEPROM) 메모리 제어 SWC(30), 시스템 진단 SWC(40) 및 제1 페일세이프 SWC(50) 중 적어도 어느 하나와 제2 코어(8)가 수행하는 모터 제어 SWC(60), ECU 하드웨어 입출력제어 SWC(70), 센서신호처리 SWC(80), 제2 페일세이프 SWC(90) 및 엠디피에스 성능로직 SWC(100) 중 적어도 어느 하나가 동시에 수행된다.
제1 코어(7)의 BSW(basic software)의 모드 매니지먼트 모듈(110) 및 스케줄러(120)는 시스템 스테이터스 SWC(10)와 통신하고 엠디피에스 성능로직 SWC(100)를 제어한다.
오토사의 모드 변경 시, 제1 코어(7)의 BSW의 모드 매니지먼트 모듈(110)이 오토사의 MCAL(Micro Controller Abstraction Layer)의 브로드캐스트 레지스터(Broadcast Register)에 설정된 비트를 제어하여 인터럽트 함수를 호출하고, 제2 코어(8)의 BSW의 MCU 드라이버 입출력 모듈(140) 및 스케줄러(150)를 제어한다.
오토사의 노멀 동작 모드 진입 시, 제2 코어의 BSW 스케줄러(150)는 제2 코어의 BSW의 MCU 드라이버 입출력 모듈(140)을 제어한다.
오토사의 노멀 동작 모드 진입 후, 제2 코어의 BSW의 스케줄러(150)는 제2 코어의 BSW의 MCU 드라이버 입출력 모듈(140)을 일정 시간 마다 제어하고, 제2 코어의 BSW의 MCU 드라이버 입출력 모듈(140)은 제2 코어의 센서신호처리 SWC(80), ECU 하드웨어 입출력제어 SWC(70)및 제2 코어의 BSW의 PWM 드라이버 모듈(130)을 제어한다.
오토사의 파워다운 모드 진입 시, 상기 제1 코어의 BSW의 모드 매니지먼트는 상기 오토사의 MCAL의 브로드캐스트 레지스터를 통하여 인터럽트 함수를 호출하고, 제2 코어의 BSW의 스케줄러(150) 및 제2 코어의 BSW의 MCU 드라이버 모듈(140)은 시스템 다운 모드 진입을 위한 센서 및 부하 제어에 대한 파워 다운 시퀀스 동작을 시작한다.
제1 코어(7)가 수행하는 제1 페일세이프 SWC(50)가 오토사의 시스템의 고장임을 인식할 때, 제1 페일세이프 SWC(50)가 시스템 스테이터스 SWC(10)를 고장 모드로 변경하고, 오토사의 MCAL(6)의 브로드캐스트 레지스터(160)를 통하여 인터럽트 함수를 호출하여 제2 코어(8)의 부하 제어 동작을 페일리어(failure) 모드로 변경시킨다.
제2 코어(8)가 수행하는 상기 제2 페일세이프 SWC가 오토사의 시스템의 고장임을 인식할 때, 제2 페일세이프 SWC(90)가 오토사의 MCAL(6)의 ISR(Interrupt Service Routine)(170) 및 브로드캐스트 레지스터(160)를 통하여 모드 매니지먼트 SWC(110)가 시스템 스테이터스 SWC(10)를 페일리어(failure) 모드로 변경시킨다.
본 발명의 일실시례에 따른 엠디피에스 제어 방법에 따른 제어 흐름을 설명한다. 도 2는 도 1에 도시된 구성이 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다. 멀티 코어를 구비한 엠디피에스 제어 방법에 있어서
오토사의 포기 전원 인가 후 파워업 모드 진입 시. 오토사의 시스템 상태를 제어하는 시스템 스테이터스 SWC(10)가 오토사의 제1 코어(7)가 제1 코어의 BSW의 모드 매니지먼트 모듈(110) 및 제1 코어의 BSW의 스케줄러(120) 중 적어도 어느 하나 사이에 API가 설정된다(S10). API는 GUI 인터페이스(interface)를 통하여 설정한다. API가 GUI 인터페이스를 통하여 설정되는 과정은 도 5에서 추후 설명한다. 또한 각 구성 즉 SWC, 모듈은 상호 간에 API가 설정됨으로써 제어할 수 있다.
모드 매니지먼트 모듈(110)이 오토사 MCAL(6)의 브로드캐스트 레지스터(160)를 통하여 인터럽트(interrupt) 함수를 호출한다(S20, S30). 즉 일실시례에 따른 모드 매니지먼트 모듈이 MCAL(6)의 브로드캐스트 레지스터의 2번 비트(bit)를 제어한다(S20). 제어된 2번 비트가 ISR(170)를 통하여 인터럽트 함수를 호출하고, 제2 코어의 BSW의 MCU 드라이버입출력 모듈(140) 및 스케줄러(150)를 제어한다(S30).
제2 코어의 BSW의 스케줄러(150)는 제2 코어의 BSW의 MCU 드라이버 입출력 모듈(140)을 소정의 시간마다 제어한다(S40).
제2 코어의 BSW의 MCU 드라이버 입출력 모듈은 제2 코어의 BSW의 PWM 드라이버 모듈(130)을 제어한다(S60).
PWM 드라이버 모듈(130)은 모터제어 SWC(60)를 통하여 엠디피에스의 모터를 제어한다(S70).
도 3은 도 1에 도시된 구성이 파워 다운 모드 진입 시 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
오토사의 파워다운 모드 진입 시, 제1 코어의 BSW의 모드 매니지먼트 모듈(110)이 브로드캐스트 레지스터를 통해 인터럽트 함수를 호출한다. 즉 본 발명의 일실시례에 따른 엠디피에스 제어 장치(1)의 시스템 스테이터스 SWC(10)가 파워 다운 모드로 진입하게 하도록 제1 코어 BSW의 모드 매니지먼트 모듈(110)을 제어한다(S80).
모드 매니지먼트 모듈(110)은 브로드캐스트 레지스터(160)의 2번 비트를 제어한다(S90).
2번 비트에 의하여 ISR(170)을 제어하여 인터럽트 함수를 호출하고, 이를 통하여 제2 코어 BSW의MCU 드라이버 입출력 모듈(140)이 파워다운 시퀀스를 수행한다(S100).
도 4는 도 1에 도시된 구성이 오토사의 고장 시 엠디피에스 장치를 제어하는 제어 흐름을 도시한 제어 흐름도이다.
예를 들어 제1 코어(7) 즉 core 0이 시스템의 고장을 인식한 경우를 보면, 제1 코어(7)의 시스템 진단 SWC(40)가 오토사의 시스템 고장을 인식하여 제1 페일세이프 SWC(50)를 제어한다(S110).
제1 페일세이프 SWC(50)는 시스템 스테이터스 SWC(10)에 시스템의 고장을 알린다(S120). 이 때 시스템 스테이터스 SWC(10)는 시스템의 상태를 페일리어(failure) 동작 모드로 변경한다.
시스템 스테이터스 SWC(10)는 모드 매니지먼트 모듈(110)에 시스템의 고장을 알리는 데이터를 출력한다(S130). 제1 코어의 BSW의 모드 매니지먼트 모듈(110)도 시스템을 페일리어 동작 모드로 동작되고, 시스템이 페일리어(failure)로 설정된 진단 코드를 저장한다.
모드 매니지먼트 모듈(110)은 브로드캐스트 레지스터(160)의 1번 비트를 제어한다(S140).
브로드캐스트 레지스터(160)의 1번 비트를 통하여 인터럽트 함수를 호출하고, 이를 통하여 제2 코어(8)의 제2 페일세이프 SWC(90)에 시스템의 페일리어(failure)로 설정된 진단 코드를 출력한다(S150). 제2 페일세이프 SWC(90)는 제2 코어(8) 즉 앞서 예시한 core 1의 부하 제어 동작을 페일리어(failure) 모드로 동작 시킨다.
제2 코어(8) 즉 core 1이 시스템의 고장을 인식한 경우를 보면, 제2 코어(8)의 제2 페일세이프 SWC(90)가 시스템의 고장을 인식한다. 제2 페일세이프 SWC(90)는 ISR(170)을 통하여 인터럽트 함수를 호출한다(S160).
ISR(170)을 통하여 브로드캐스트 레지스터의 1번 비트를 제어하고 제1 코어의BSW의 모드 매니지먼트 모듈(110)은 시스템의 동작 모드를 페일리어 모드로 변경한다(S170).
모드 매니지먼트 모듈(110)은 시스템 스테이터스 SWC(10)에 시스템의 동작 모드를 페일리어 모드라는 데이터를 출력한다(S180).
시스템 스테이터스 SWC(10)는 제1 페일세이프 SWC(50)에 시스템의 동작 모드가 페일리어 모드라는 데이터를 출력한다(S190).
제2 코어가 고장을 인식하고 페일리어 모드로 동작할 때, 제1 코어도 페일리어 모드로 동작하게 하고, 시스템이 페일(fail)이라는 상태를 저장하는 것이다.
도 5는 아이콘 모듈 간의 API(application programming interface)가 설정되는 과정을 도시한 API 설정 과정도이다.
제1 코어(7), 제2 코어(8)의 모든 SWC 및 모듈은 모듈 아이콘으로 표현되고, 모듈 아이콘을 GUI 방식으로 조작되어 제어될 수 있다. 일실시례에 따른 오토사의 모듈 간에는 설정된 파라미터(parameter)에 따라 통신이 이루어진다. 도 5(a)에서 도시한대로, 모듈 아이콘(A)에 커서가 위치할 때 시작점(S)이 생성된다.
도 5(b)에 도시한대로, 커서가 시작점(S)으로부터 드래그 될 때 끝이 화살표 모양인 파선(D)을 생성된다. 화살표 모양의 파선(D)을 생성될 때, 일 영역에 표준 API 설정을 설명하는 설명창(E)이 반투명으로 표시된다. 도 5(b)에서는 API 설정을 설명하는 설명창(E)이 반투명인 것을 점선으로 된 방형으로 표현하였다. API 설정을 설명하는 설명창(E) 내의 설명 내용은 오토사 설정에 따라 변경될 수 있다.
도 5(c)에 도시한대로, 시작점(S)이 존재하는 모듈 아이콘(A) 외의 다른 모듈 아이콘(B)에 커서가 위치할 때 종료점(L)이 생성된다. 커서의 드롭이 실행될 때 두 모듈 아이콘을 연결됨과 동시에 파선(D)을 실선으로 변경하여 두 모듈 간의 연결이 표시된다. 커서의 드롭이 실행될 때 API 설정을 설명하는 설명창이 투명도 없이 표시된다. 즉 커서의 드롭이 실행될 때 API 설정을 설명하는 설명창(E)이 불투명하게 표시된다. 연결된 두 모듈 간에 시작점(S)을 포함한 모듈에서 종료점(L)을 포함한 모듈로 데이터가 전달되도록 API(application programming interface)를 설정된다.
도 5(d)에 도시한대로, 시작점을 포함한 모듈의 파라미터와 종료점을 포함한 모듈의 파라미터가 서로 일치하지 않을 때 경고 메시지 창(W)을 생성된다. 시작점을 포함한 모듈의 파라미터와 종료점(L)을 포함한 모듈의 파라미터가 서로 일치하지 않을 때, 때 API 설정을 설명하는 설명창(E)이 적색으로 변경되어 사용자에게 경고할 수도 있다. 적색 외에 다른 색상으로 변경할 수 있으며, 특정 색상에 한정되지 않는다.
시작점을 포함한 모듈의 파라미터와 종료점을 포함한 모듈의 파라미터가 서로 일치하지 않을 때 두 모듈 간의 API가 설정되는 것을 배제한다. 시작점(S)을 포함한 모듈의 파라미터와 종료점(L)을 포함한 모듈의 파라미터가 서로 일치하지 않을 때 두 모듈 간의 API가 설정되는 것이 배제됨으로써, 오토사의 모듈을 능숙하게 설정하지 못하는 사용자에게 경고를 하여 주고, 오토사의 잘못된 설정을 방지하는 효과가 있다.
본 발명인 일실시례에 따른 오토사를 기반으로 한 엠디피에스 제어 장치(1)는 오토사를 기반으로 하지만, 멀티 코어를 구비한 전자 제어 장치 또는 다른 표준 장치(예. ASAM, EAST-EEA 등의 아키텍처)에서 구현되는 것이 가능하다.
또한 SWC가 수행되는 어플리케이션 레이어(Apllication Layer)와 BSW(4 및5) 사이에는 AUTOSAR RTE(Runtime Environment)가 존재하여 어플리케이션 레이어와 BSW 간의 데이터 통신을 중계하는 역할을 한다.
이상에서는 본 발명의 바람직한 실시례에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시례에 한정되지 아니하며, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다
1 : 오토사를 기반으로 한 차량 제어 장치 2 : 제1 코어의 SWC 레이어
3 : 제2 코어의 SWC 레이어 4 : 제1 코어의 BSW
5 : 제2 코어의 BSW 6 : MCAL
7 : 제1 코어 8 : 제2 코어
10 : 시스템 스테이터스 SWC 20 : CAN 통신 SWC
30 : EEPROM 메모리 제어 SWC 40 : 시스템 진단 SWC
50 : 제1 페일세이프 SWC 60 : 모터제어 SWC
70 : ECU 하드웨어 입출력제어 SWC 80 : 센서신호처리 SWC
90 : 제2 페일세이프 SWC 100 : 엠디피에스 성능로직 SWC
110 : 모드 매니지먼트 모듈 120 : 제1 코어의 스케줄러 모듈
130 : PWM 드라이버 모듈 140 : MCU 드라이버 입출력 모듈
150 : 제2 코어의 스케줄러 모듈 160 : 브로드캐스트 레지스터
170 : ISR
3 : 제2 코어의 SWC 레이어 4 : 제1 코어의 BSW
5 : 제2 코어의 BSW 6 : MCAL
7 : 제1 코어 8 : 제2 코어
10 : 시스템 스테이터스 SWC 20 : CAN 통신 SWC
30 : EEPROM 메모리 제어 SWC 40 : 시스템 진단 SWC
50 : 제1 페일세이프 SWC 60 : 모터제어 SWC
70 : ECU 하드웨어 입출력제어 SWC 80 : 센서신호처리 SWC
90 : 제2 페일세이프 SWC 100 : 엠디피에스 성능로직 SWC
110 : 모드 매니지먼트 모듈 120 : 제1 코어의 스케줄러 모듈
130 : PWM 드라이버 모듈 140 : MCU 드라이버 입출력 모듈
150 : 제2 코어의 스케줄러 모듈 160 : 브로드캐스트 레지스터
170 : ISR
Claims (8)
- 멀티 코어(multi-core) 씨피유를 구비한 오토사(AUTOSAR) 기반의 엠디피에스(MDPS, Motor Driven power Steering) 제어 장치에 있어서,
상기 멀티 코어 씨피유 중 어느 하나의 코어이고,
상기 엠디피에스 제어 장치에 전원 인가 시 시작 부트 프로그램을 실행하는 시스템 스테이터스(System Status) SWC(Software component),
캔(CAN)통신을 동작시키는 캔통신 SWC,
이이피롬 메모리를 읽기 및 이이피롬 메모리에 쓰기를 수행하는 이이피롬(EEPROM) 메모리 제어 SWC,
상기 엠디피에스 제어 장치의 설정된 시스템고장 조건 발생 시 설정된 코드를 출력하여 고장 여부를 판단하는 시스템 진단 SWC,
상기 엠디피에스 제어 장치의 상태를 체크하여 안전 동작을 수행하는 제1 페일세이프 SWC 중 적어도 어느 하나를 수행하는 제1 코어; 및
상기 멀티 코어 씨피유 중 다른 어느 하나의 코어이고,
상기 엠디피에스 제어 장치의 모터의 피더블유엠 듀티를 제어하는 모터 제어 SWC,
상기 엠디피에스 제어 장치의 모듈 간 입출력 신호를 제어하는 ECU 하드웨어 입출력제어 SWC,
센서 신호를 수신하여 설정된 로직에 의해 상기 엠디피에스 제어 장치에 출력하는 센서신호처리 SWC,
상기 엠디피에스 제어 장치의 고장을 진단하는 제2 페일세이프 SWC,
상기 엠디피에스 제어 장치에서 엠디피에스 토크 출력을 내보내는 파라미터를 제어하는 엠디피에스 성능로직 SWC 중 적어도 어느 하나를 수행하는 제2 코어 를 포함하되,
상기 제1 코어 및 상기 제2 코어가 동시에 수행되고
상기 엠디피에스 제어 장치의 노멀 동작 모드 진입 시에, 상기 제2 코어의 스케줄러는 제2 코어의 MCU 드라이버 입출력 모듈을 제어하는 것을 특징으로 하는 엠디피에스 제어 장치. - 제 1 항에 있어서
상기 엠디피에스 제어 장치의 BSW에 존재하는 모드 매니지먼트 모듈 및 스케줄러는 상기 시스템 스테이터스 SWC와 통신하고 상기 엠디피에스 성능로직 SWC를 제어하고,
상기 모드 매니지먼트는 상기 엠디피에스 제어 장치의 수행 모드를 관리하고,
상기 스케줄러는 제1 코어 및 제2 코어에 존재하고, 상기 제1 코어 및 상기 제2 코어의 연산 수행 타이밍을 관리하는 엠디피에스 제어 장치. - 제 1 항에 있어서
상기 엠디피에스 제어 장치의 수행 모드 변경 시, 상기 제1 코어의 모드 매니지먼트 모듈이 상기 엠디피에스 제어 장치의 MCAL의 브로드캐스트 레지스터에 설정된 비트를 제어하여 인터럽트 함수를 호출하고, 상기 제2 코어의 MCU 드라이버 입출력 모듈 및 스케줄러를 제어하고,
상기 MCU 드라이버 입출력 모듈은 상기 엠디피에스 제어 장치의 상기 MCU 입출력을 제어하는 엠디피에스 제어 장치. - 삭제
- 제 1 항에 있어서
상기 엠디피에스 제어 장치의 동작 모드 진입 후, 상기 제2 코어의 스케줄러는 상기 제2 코어의 MCU 드라이버 입출력 모듈을 일정 시간 마다 제어하고,
상기 제2 코어의 MCU 드라이버 입출력 모듈은 상기 제2 코어의 센서 신호 처리 모듈 및 제2 코어의 PWM 드라이버 모듈을 제어하는 엠디피에스 제어 장치. - 제 1 항에 있어서
상기 엠디피에스 제어 장치의 파워다운 모드 진입 시, 상기 제1 코어의 모드 매니지먼트는 상기 엠디피에스 제어 장치의 MCAL의 브로드캐스트 레지스터를 통하여 인터럽트 함수를 호출하고,
상기 제2 코어의 스케줄러 및 상기 제2 코어의 MCU 드라이버 모듈은 시스템 다운 모드 진입을 위한 센서 및 부하제어에 대한 파워다운 시퀀스 동작을 시작하는 엠디피에스 제어 장치. - 제 1 항에 있어서
상기 제1 코어가 수행하는 상기 제1 페일세이프 SWC가 상기 엠디피에스 제어 장치의 시스템 고장임을 인식할 때, 상기 제1 페일세이프 SWC가 상기 시스템 스테이터스 SWC를 고장 모드로 변경하고, 상기 엠디피에스 제어 장치의 MCAL의 브로드캐스트 레지스터를 통하여 인터럽트 함수를 호출하고, 상기 인터럽트 함수 호출을 통하여 상기 제2 코어의 부하 제어 동작을 페일리어(failure) 모드로 변경시키는 엠디피에스 제어 장치. - 제 1 항에 있어서
상기 제2 코어가 수행하는 상기 제2 페일세이프 SWC가 상기 엠디피에스 제어 장치의 시스템 고장임을 인식할 때, 상기 엠디피에스 제어 장치의 MCAL의 ISR(Interrupt service Routine) 및 브로드캐스트 레지스터를 통하여 상기 엠디피에스 제어 장치의 모드 매니지먼트 SWC가 상기 시스템 스테이터스 SWC를 페일리어(failure) 모드로 변경하는 엠디피에스 제어 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150019462A KR102275869B1 (ko) | 2015-02-09 | 2015-02-09 | 차량 제어 장치 및 차량 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150019462A KR102275869B1 (ko) | 2015-02-09 | 2015-02-09 | 차량 제어 장치 및 차량 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160097593A KR20160097593A (ko) | 2016-08-18 |
KR102275869B1 true KR102275869B1 (ko) | 2021-07-12 |
Family
ID=56874114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150019462A KR102275869B1 (ko) | 2015-02-09 | 2015-02-09 | 차량 제어 장치 및 차량 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102275869B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490008B (zh) * | 2018-05-14 | 2021-08-10 | 英韧科技(上海)有限公司 | 安全装置及安全芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010188796A (ja) * | 2009-02-17 | 2010-09-02 | Nsk Ltd | 電動パワーステアリング装置 |
JP2010215008A (ja) * | 2009-03-13 | 2010-09-30 | Denso Corp | 車両制御システム |
JP2012128788A (ja) | 2010-12-17 | 2012-07-05 | Toyota Motor Corp | 車両制御装置、データ通信方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101366075B1 (ko) * | 2007-12-20 | 2014-02-21 | 삼성전자주식회사 | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 |
KR101208650B1 (ko) * | 2009-11-30 | 2012-12-05 | 재단법인대구경북과학기술원 | Autosar 기반 전기식 조향 시스템 및 그 구현방법 |
-
2015
- 2015-02-09 KR KR1020150019462A patent/KR102275869B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010188796A (ja) * | 2009-02-17 | 2010-09-02 | Nsk Ltd | 電動パワーステアリング装置 |
JP2010215008A (ja) * | 2009-03-13 | 2010-09-30 | Denso Corp | 車両制御システム |
JP2012128788A (ja) | 2010-12-17 | 2012-07-05 | Toyota Motor Corp | 車両制御装置、データ通信方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20160097593A (ko) | 2016-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021114794A1 (zh) | 一种自动驾驶控制系统、控制方法及设备 | |
US9058419B2 (en) | System and method for verifying the integrity of a safety-critical vehicle control system | |
CN102741818A (zh) | 故障诊断系统、用于车辆的电子控制单元、故障诊断方法 | |
JP2010285001A (ja) | 電子制御システム、機能代行方法 | |
US6351823B1 (en) | Method and device for monitoring a computer system having at least two processors | |
JP2011022934A (ja) | 電子制御ユニット、異常検出方法 | |
US20220055637A1 (en) | Electronic control unit and computer readable medium | |
US5712967A (en) | Method and system for graceful recovery from a fault in peripheral devices using a variety of bus structures | |
JP2013025570A (ja) | 電子制御ユニット | |
US20180232224A1 (en) | Controller and control program updating method | |
JP2015067107A (ja) | 車両用制御装置 | |
KR102275869B1 (ko) | 차량 제어 장치 및 차량 제어 방법 | |
JP6007677B2 (ja) | 安全制御システム、及び安全制御システムのプロセッサ | |
WO2011034052A1 (ja) | 車両用電子制御装置 | |
JP5533777B2 (ja) | プログラム群 | |
CN116494893A (zh) | 基于功能安全机制和中央计算架构的车辆控制方法及装置 | |
JP2017047760A (ja) | 電子制御装置及びコンピュータプログラム | |
JP2013242708A (ja) | 電子制御装置 | |
US10963357B2 (en) | Fault monitoring for a complex computing unit | |
JP2007283788A (ja) | 車両用電子制御装置 | |
JP2018151717A (ja) | 自動車用電子制御装置 | |
KR102119767B1 (ko) | 자율 주행 제어기에 소프트웨어 업데이트 위한 방법 | |
JP7504222B2 (ja) | 車載用制御システム | |
WO2022201597A1 (ja) | 車両制御装置 | |
JP2018161927A (ja) | 自動車用電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |