KR20120011723A - 전동식 조향 장치의 autosar 기반 스케줄링 방법 - Google Patents
전동식 조향 장치의 autosar 기반 스케줄링 방법 Download PDFInfo
- Publication number
- KR20120011723A KR20120011723A KR1020100073811A KR20100073811A KR20120011723A KR 20120011723 A KR20120011723 A KR 20120011723A KR 1020100073811 A KR1020100073811 A KR 1020100073811A KR 20100073811 A KR20100073811 A KR 20100073811A KR 20120011723 A KR20120011723 A KR 20120011723A
- Authority
- KR
- South Korea
- Prior art keywords
- task
- runable
- autosar
- runables
- trigger
- 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
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D6/00—Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2304/00—Optimising design; Manufacturing; Testing
- B60Y2304/09—Testing or calibrating during manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Power Steering Mechanism (AREA)
Abstract
본 발명은 AUTOSAR를 기반으로 한 전동식 조향 장치의 스케줄링 방법을 개시(introduce)한다. 상기 본 발명에 따른 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법은, 타이밍 정의 및 런어블 개수결정 단계, 트리거 방식 및 주기 결정단계, 태스크 바디 생성 및 런어블 매핑단계, 런어블 속성정의단계, 태스크 우선순위 및 선점방식 설정단계, 제1판단단계 및 제2판단단계를 구비한다.
Description
본 발명은 자동차 제어에 관한 것으로, 특히 AUTOSAR 표준 플랫폼에 맞게 설계된 전동식 조향장치의 스케줄링 방법에 관한 것이다.
오늘날의 자동차는 안전하고 편리함을 추구하는 소비자의 요구, 기술 혁신, 경재, 제품의 차별화, 규제 등의 다양한 요인에 따라 차량 내부의 전기/전자적인 구조가 점점 복잡해지고 있다. 차량의 전자화 경향에 따라, 주요 제어기능을 수행하는 차량 내장형(embed) 소프트웨어의 중요성이 높아지고, 소프트웨어 오류가 차량 고장에 상당한 원인을 차지하고 있다. 또한 경쟁에서 살아남기 위하여 제품 개발주기가 짧아지고 제품설계에 소비되는 비용의 인하 압력이 가속화되고 있다.
따라서 복잡한 소프트웨어를 빠르고 신뢰성 있게 개발하도록 하기위하여, 표준화 및 컴포넌트(Component) 기반 기법을 도입하고 있다. AUTOSAR(Automotive Open System Architecture)는 표준화에 대한 대표적인 사례로 하드웨어와 소프트웨어의 분리를 통해, 소프트웨어의 재사용성, 확장성 등을 향상시켜 복잡한 소프트웨어를 빠르고 신뢰성 있게 개발할 수 있도록 하였다.
도 1은 AUTOSAR 소프트웨어 구조를 나타낸다.
도 1을 참조하면, AUTOSAR 소프트웨어의 구조(100)는 크게 응용 소프트웨어 컴포넌트 계층(110), 실시간 환경(120) 및 베이직 소프트웨어 계층(130)으로 구성된다.
응용 소프트웨어 컴포넌트 계층(110)은 센서 소프트웨어 컴포넌트(111), 제어 소프트웨어 컴포넌트(112) 및 액추에이터 소프트웨어 컴포넌트(113) 등과 같이 복수 개의 소프트웨어 컴포넌트들을 구비한다.
베이직 소프트웨어 계층(130)은 응용 소프트웨어 컴포넌트 계층(110)을 구비하는 복수 개의 소프트웨어 컴포넌트들(111, 112, 113)이 지정된 작업을 수행하는데 있어서 필요로 하는 서비스를 제공하는 표준화된 소프트웨어 계층으로, 서비스 계층(131), ECU 추상화 계층(132) 및 마이크로 컨트롤러 추상화계층(133) 등을 구비한다.
실시간 환경(120, RTE, Real Time Environment)은 응용 소프트웨어 컴포넌트 계층(110)의 소프트웨어 컴포넌트(111~113)들과 베이직 소프트웨어 계층(130)의 모듈들(131, 132) 사이의 데이터 교환을 위한 인터페이스를 제공한다. RTE(120)는 대상 컴포넌트가 어떤 ECU에 있는지, ECU 사이의 통신이 어떤 프로토콜(CAN, LIN, FlexRay, TTP)에 의해 이루어지는지 알 필요가 없게 해 주며, 포트라는 객체를 통해 컴포넌트들 사이의 연결 상태를 관리한다.
응용 소프트웨어 컴포넌트 계층(110)을 구성하는 각각의 컴포넌트들(111~113) 및 베이직 소프트웨어 계층(130)을 구성하는 컴포넌트들(131~133)은 적어도 하나의 실행최소 단위인 런어블(Runnable)을 포함한다.
따라서 본 발명의 목적은 상기와 같은 문제를 해결하기 위해, AUTOSAR를 기반으로 한 전동식 조향 장치의 스케줄링 방법을 제공하는 데 있다.
상기 기술적과제를 이루기 위한 본 발명에 따른 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법은, 타이밍 정의 및 런어블 개수 결정 단계, 트리거 방식 및 주기 결정단계, 태스크 바디 생성 및 런어블 매핑단계, 런어블 속성정의단계, 태스크 우선순위 및 선점방식 설정단계, 제1판단단계 및 제2판단단계를 구비한다.
상기 타이밍 정의 및 런어블 개수결정 단계는 EPS 응용 소프트웨어에 요구되는 타이밍을 정의하고 그에 상응하는 런어블의 개수를 결정한다. 상기 트리거 방식 및 주기 결정단계는 생성된 런어블에 대한 트리거 방식 및 트리거 조건을 결정한다. 상기 태스크 바디 생성 및 런어블 매핑단계는 태스크 스위칭 속도 및 태스크의 트리거 실행주기를 감안한 최적개수의 태스크 바디를 생성시키고, 런어블의 트리거 시간주기, Activation Offset 시간, 최악실행시간 등을 고려하여 동일하거나 비슷한 시간특성을 가지는 런어블들을 해당 태스크 바디로 맵핑한다. 상기 런어블 속성정의단계는 상기 태스크 바디 생성 및 런어블 매핑단계에서 설정된 런어블의 속성을 정의한다. 상기 태스크 우선순위 및 선점방식 설정단계는 EPS의 출력 샘플링 주기가 일정하게 유지되도록 하고 다른 태스크에 의해 지연이나 중지되지 않도록 높은 우선순위 비선점형 스케줄링 방식 및 낮은 우선순위 선점형 스케줄링 방식 중 하나를 설정한다. 상기 제1판단단계는 신호의 전달방향과 태스크/런어블의 실행순서가 일치하는 가를 판단하여 일치하지 않는다고 판단된 경우에는 상기 태스크 바디 생성 및 런어블 매핑단계부터 이어지는 단계를 반복 수행하도록 한다. 상기 제2판단단계는 신호의 전달방향과 태스크/런어블의 실행순서가 일치하는 경우 태스크 간의 동기가 일치하거나 정수 배인가를 판단하고, 태스크 간의 동기가 일치하지 않는다면 트리거 방식 및 주기 결정단계부터 다시 반복 수행한다.
상술한 바와 같이, 본 발명에 따른 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법은 응용 소프트웨어 컴포넌트 타이밍 모델과 스케줄링에 관련된 내용을 제시하지 않고 있는 AUTOSAR 기반 소프트웨어의 경우에도, 전동식 조향 장치의 개발자가 설계단계에서부터 쉽게 시간 검증과 스케줄링 설계를 수행할 수 있는 장점이 있다.
도 1은 AUTOSAR 소프트웨어 구조를 나타낸다.
도 2는 본 발명에 따른 EPS의 AUTOSAR 기반 스케줄링 방법을 나타내는 신호흐름도이다.
도 3은 런어블 통신모드와 태스크 수행시간의 관계를 나타낸다.
도 4는 본 발명에 따른 EPS 응용 소프트웨어 스케줄러의 구조를 나타낸다.
도 5a 및 5b는 종래의 EPS 시스템 스케줄러 설계 알고리즘의 적용례 및 본 발명에 따른 EPS 시스템 스케줄러 최적 설계 알고리즘의 적용례를 비교한 것이다.
도 2는 본 발명에 따른 EPS의 AUTOSAR 기반 스케줄링 방법을 나타내는 신호흐름도이다.
도 3은 런어블 통신모드와 태스크 수행시간의 관계를 나타낸다.
도 4는 본 발명에 따른 EPS 응용 소프트웨어 스케줄러의 구조를 나타낸다.
도 5a 및 5b는 종래의 EPS 시스템 스케줄러 설계 알고리즘의 적용례 및 본 발명에 따른 EPS 시스템 스케줄러 최적 설계 알고리즘의 적용례를 비교한 것이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시 예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1에 도시된 바와 같이, AUTOSAR는 런타임(Run Time) 환경 하에 하드웨어와 소프트웨어 컴포넌트를 RTE(Run Time Environment) 라는 미들웨어를 통하여 분리시킨다. AUTOSAR의 상위 계층에 해당하는 응용 소프트웨어는 소프트웨어 컴포넌트, 런어블(Runnable), 태스크 간의 다양한 인터페이스 방식과 상관관계에 의해서 타이밍이 결정된다. 그러나 이러한 복잡한 타이밍 설계구조를 가지고 있음에도 불구하고 AUTOSAR에서는 응용 소프트웨어 컴포넌트의 타이밍 모델과 스케줄링(Scheduling)과 관련된 내용을 제시하지 않기 때문에, 개발자가 설계 단계에서부터 시간 검증과 스케줄링 설계를 수행하는 것이 용이하지 않다. 특히 빠른 스위칭 주파수의 제어가 요구되는 전동식 조향 장치(Electric Power Steering, EPS)와 같은 새시 제어 시스템의 설계는 더욱 어렵다.
전동식 조향 장치 시스템은 실시간 차량 정보에 따라 적절하게 전기모터를 제어하여 운전자의 조타력을 보조해 주는 장치로, 빠른 스위칭 주파수의 제어가 요구되는 섀시 제어 시스템이다. 전동식 조향 장치 시스템에서 충분한 성능과 빠른 시간 응답 특성을 보장하기 위해서는 정확한 플랜트 모델링, 제어기의 최적 설계뿐만 아니라 높은 스위칭 주파수 출력을 보장하기 위한 정확한 타이밍 해석과 스케줄링이 필요하다. 전동식 조향 장치 시스템을 차량 표준 소프트웨어 플랫폼인 AUTOSAR 규격에 준거하여 개발하기 위해서는 기존의 스케줄링 방식과는 차별화된 타이밍 설계방법으로 전동식 조향 장치 스케줄링 시스템을 구현해야 한다.
전동식 조향 장치 섀시 제어 시스템에서 토크 리플을 적게 하고 빠른 시간 응답 특성이 보장하기 위해서는, 높은 스위칭 주파수 출력을 보장하기 위한 정확한 타이밍 해석과 스케줄링이 필요하다. 본 발명에서는 AUTOSAR 표준 플랫폼에 부합하는 전동식 조향장치 스케줄링 시스템을 구현하기 위한 EPS 시스템 스케줄러 최적 설계 알고리즘을 제시한다.
도 2는 본 발명에 따른 EPS의 AUTOSAR 기반 스케줄링 방법을 나타내는 신호흐름도이다.
도 2를 참조하면, EPS의 AUTOSAR 기반 스케줄링 방법(200)은, 타이밍 정의 및 런어블 개수결정 단계(210), 트리거 방식 및 주기 결정단계(220), 태스크 바디 생성 및 런어블 매핑단계(230), 런어블 속성정의단계(240), 태스크 우선순위 및 선점방식 설정단계(250), 제1판단단계(260) 및 제2판단단계(270)로 이루어진다.
타이밍 정의 및 런어블 개수결정 단계(210)는 EPS 응용 소프트웨어에 요구되는 타이밍을 정의하고 그에 상응하는 런어블의 개수를 결정한다. 런어블은 소프트웨어를 구성하는 최소 단위를 의미하는 것으로 태스크에 할당되어 스케줄링이 이루어진다.
트리거 방식 및 주기 결정단계(220)는 생성된 런어블에 대한 트리거 방식 및 트리거 조건을 결정한다. 트리거 방법으로는 정적 트리거 방식 또는 이벤트 트리거 방식이 있다. 일정한 주기성을 가지는 빠른 출력신호가 필요한 시스템에 포함된 런어블들은 정적 스케줄러에 의해 동작하며 일정한 주기를 가지는 정적 트리거 방식으로 설정하는 것이 바람직하고, 특정 입력신호나 출력 신호에 반응하여 트리거 되어야 하는 등의 특수한 경우에는 이벤트 트리거 방식 스케줄링이 적용된다. 입출력 하드웨어 어댑터는 Operation Invoked 이벤트 트리거 방식으로 구동되는 것이 일반적이다.
태스크 바디 생성 및 런어블 매핑단계(230)는 태스크 스위칭 속도 및 태스크의 트리거 실행주기를 감안한 최적개수의 태스크 바디를 생성시키고, 런어블의 트리거 시간주기, Activation Offset 시간, 최악실행시간(Worst Case Execution Time) 등을 고려하여 동일하거나 비슷한 시간특성을 가지는 런어블들을 해당 태스크 바디로 맵핑(mapping)한다. 태스크의 실행주기는 런어블의 속성에 따라 결정된다. 본 발명의 경우 태스크의 실행주기는 각 런어블들의 주기 및 Activation Offset Time과의 최대공약수(Greatest Common Divisor, GCD)로서 결정된다. 이 때 런어블의 최악실행시간은 상기와 같이 결정된 최대공약수의 주기보다 작아야 한다. 또한 각각의 태스크들의 동기가 일치되기 위해서는 각각의 태스크들의 실행주기가 최대공약수의 정수 배수 단위가 되도록 설계한다. 만일 각각의 태스크들의 동기가 일치되지 않는다면 출력신호의 시간 지연 및 불규칙한 주기성 등의 문제가 발생하게 될 것이다.
런어블 속성정의단계(240)는 태스크 바디 생성 및 런어블 매핑단계(230)에서 설정된 런어블의 속성을 정의하며, 런어블의 통신모드 설정단계(241), 런어블의 Activation Offset 시간의 설정단계(242) 및 런어블의 실행순서 설정단계(243)로 이루어진다.
런어블의 통신모드 설정단계(241)는 Read/Write 동작을 수행할 때만다 매번 버퍼(buffer)를 업데이트하는 Explicit 통신모드와 런어블이 시작되거나 끝나는 시점에 버퍼를 업데이트하는 Implicit 통신모드 중 하나를 해당 런어블의 통신모드로 설정한다. 런어블의 통신모드는 태스크의 수행시간과의 상관관계를 고려하여 설정된다.
도 3은 런어블 통신모드와 태스크 수행시간의 관계를 나타낸다.
도 3을 참조하면, 태스크에 할당된 런어블의 개수가 모드교차점에서의 런어블의 개수와 비교하여, 이 보다 적을 경우에는 Explicit 모드를 선택하고 많을 경우에는 Implicit 모드로 선택하는 것이 태스크의 수행시간 면에서 바람직하다는 것을 알 수 있다. 모드 교차점은 실험적으로 또는 시간분석 도구를 이용하여 간단하게 추정할 수 있다. 런어블의 Activation Offset 시간의 설정단계(242)는 최대공약수 주기와 밀접한 관련이 있는 런어블들의 Activation Offset 시간을 조절하여, 각 태스크의 GCD 주기가 서로 동일하게 되거나 정수 배의 관계가 되도록 한다. 런어블의 실행순서 설정단계(243)는 EPS 시스템의 제어 방향과 동일하게 되도록 런어블들의 실행순서를 설정한다. 실행 중 발생할 수 있는 과도한 샘플링(Over Sampling) 및 부족한 샘플링(Under Sampling)을 최소화 시킬 수 있다.
태스크 우선순위 및 선점방식 설정단계(250)는 EPS의 출력 샘플링 주기가 일정하게 유지되도록 하고 다른 태스크에 의해 지연이나 중지되지 않도록, 고속 PWM(Pulse Width Modulation) 신호를 처리하는 출력과 관련된 태스크는 높은 우선순위 비선점형 스케줄링 방식으로 설정하고, 출력 주파수에 영향을 받지 않는 나머지 태스크들에는 낮은 우선순위 선점형 스케줄링 방식으로 설정한다.
제1판단단계(260)는 신호의 전달방향과 태스크/런어블의 실행순서가 일치하는 가를 판단한다. 일치하지 않다고 판단한 경우(아니오)에는 태스크 바디 생성 및 런어블 매핑단계(230)부터 다시 고려하여야 한다.
제2판단단계(270)는 태스크 간의 동기가 일치하거나 정수 배인가를 판단한다. 신호의 전달방향과 태스크/런어블의 실행순서가 일치하는 경우(예)라도, 태스크 간의 동기가 일치하지 않는다면(아니오) 트리거 방식 및 주기 결정단계(220)부터 다시 고려하여 생성된 런어블에 대한 트리거 방식 및 트리거 조건을 재결정하여야 한다.
신호의 전달방향과 태스크/런어블의 실행순서가 일치하고(예)라도, 태스크 간의 동기가 일치하는 경우(예)에는 EPS 시스템 스케줄러 최적 설계가 완성된다.
도 4는 본 발명에 따른 EPS 응용 소프트웨어 스케줄러의 구조를 나타낸다.
도 4를 참조하면, EPS 시스템을 소프트웨어 컴포넌트 단위로 구성되는 구조적인 관점이 아니라 스케줄링 관점에서 런어블과 태스크 단위로 재구성한 소프트웨어 구조이다. 각각의 런어블들은 정적 타이밍 기반의 제어 알고리즘을 수행하기 위한 Timing Event와 IO HW 추상화계층의 서버 컴포넌트와 인터페이스하기 위한 Operation Invoked Event 트리거 방식으로 구동된다.
초기화를 담당하는 런어블들을 제외해도 입출력 하드웨어 추상화 계층의 런어블까지 포함하면 총 14개의 런어블들이 존재한다. 제어의 흐름에 의해 구분된 런어블들은 OS 스케줄러에 의해 구동될 수 있도록 RTE에서 태스크 바디를 생성해야 한다. OS의 태스크는 개수가 제한되어 있고 불필요한 태스크 스위칭에 의해 시간 낭비를 초래할 수 있기 때문에, 런어블의 입출력 인터페이스와 실행 순서, 그리고 트리거 시간 주기 등을 고려하여 필수적인 태스크 바디만을 생성해야 한다. 그림 4에서는 60us의 샘플링 주기, 즉 16.67KHz의 출력 주파수로 구동되는 EPS 시스템의 스케줄러 구조 설계의 일례를 보여준다.
1번 태스크(410)는 주로 하드웨어로부터 센스신호 및 환경입력을 수신하여 EPS 기본 제어 알고리즘을 수행하는 부분으로서 각 신호에 대한 OP_GET 오퍼레이션을 수행하는 입력어댑터(411)와 레퍼런스 토크 양을 계산하는 부분(416)까지 포함한다. 여기서 센서신호는 운전자의 조향각 입력(412), 전류(413), 토크(414) 등을 의미하고, 환경입력은 차량 속도(415) 등이 포함된다. 입력 어댑터(411)를 제외한 런어블들(412~416)은 기본적으로 정적타이밍 스케줄러에 의해 트리거되고, 특별히 필요한 경우 이벤트 트리거 방식으로 설계될 수 있다.
2번 태스크(420)는 1번 태스크(410)의 출력으로부터 받은 레퍼런스 토크 양에 기반하여 EPS 모터를 고속의 스위칭으로 구동 제어(421)하고 PWM 출력 신호를 외부 하드웨어로 보내는 역할(422)을 수행한다. 출력 신호는 OP_SET 오퍼레이션을 수행하는 출력 어댑터(423)에 의해 아래 계층인 마이크로 컨트롤러 추상화 계층(미도시)으로 전달된다. 출력 어댑터(423)를 제외한 런어블들(421. 422)은 기본적으로 정적타이밍 스케줄러에 의해 트리거 되고, 필요한 경우 이벤트 트리거 방식으로 설계될 수 있다. 정적타이밍 트리거 방식으로 설계될 경우, 고속의 모터구동 제어 성능을 위해 최대의 PWM 출력 주파수에 맞는 샘플링 주기로 실행되어야 한다. 본 실시예에서는 출력 주파수에 부합하기 위하여 60us의 정적 스케줄러에 의해 구동된다.
3번 태스크(430)는 차량의 속도, 시동상태 등의 실시간 정보를 1번 태스크(410)로 부터 수신하여 EPS 시스템의 동작 상태를 결정하는 부분으로서 다른 런어블과 태스크에 비해 상대적으로 트리거 주기가 크기 때문에 다른 태스크 바디에 할당하도록 스케줄러를 설계한다.
도 4에 도시된 바와 같이 본 발명에 따라 설정된 3개의 태스크를 도 2에 도시된 EPS 시스템 스케줄러 최적 설계 알고리즘을 적용시키는 경우, EPS 시스템을 개발하려는 개발자가 설계 단계에서부터 시간 검증과 스케줄링 설계를 용이하게 실시할 수 있다.
도 5a 및 5b는 종래의 EPS 시스템 스케줄러 설계 알고리즘의 적용례 및 본 발명에 따른 EPS 시스템 스케줄러 최적 설계 알고리즘의 적용례를 비교한 것이다.
도 5a는 종래의 EPS 시스템 스케줄러 설계 알고리즘의 적용례로써, 아래와 같은 문제점이 있어 결과적으로 태스크 간의 시간 동기화가 이루어지지 않고 원치 않는 시간지연이 발생할 수 있다.
첫 째, 런어블의 실행 순서가 EPS 응용 소프트웨어의 신호전달방향과 일치하지 않는다. 예를 들면, OP_GET for HMI input 1의 경우 EPS 응용 소프트웨어 신호전달 시 첫 번째 수행되는데, 런어블의 실행 순서는 5번째로 설정되어 있다.
둘 째, 런어블의 실행주기와 Activation Offset 시간 등의 잘못된 설계로 인해 GCD주기가 커지고 정수배 관계도 성립하지 않는다. 예를 들면, 태스크 1의 경우 GCD가 1.6m인데, 태스크3의 경우 GCD가 10ms이다.
도 5b는 본 발명에 따른 EPS 시스템 스케줄러 최적 설계 알고리즘의 적용례로써, 런어블의 실행순서, 주기 및 Activation Offset 시간 등을 수정하여 GCD 주기 즉, 태스크의 실행주기를 최소화하고, 각 태스크 간의 시간 동기화가 이루어져서 스케줄러의 효율성을 높이고 불필요한 시간 지연을 최소화시킬 수 있다.
이하에서는 도 5b와 도 4를 종합하여 설명한다.
1번 태스크(410)의 경우 수행 우선순서는 2번(Priority: 2, Preemption)으로 설정되어 있으며, 2번 태스크(420)의 경우 수행 우선순서는 3번(Priority : 3(High), Non-Preemption)으로 설정되어 있고, 마지막으로 3번 태스크(430)의 경우 수행 우선순서는 1번(Priority: 1(Low), Preemption)으로 설정되어 있다.
1번 태스크(410)의 GCD는 0.9ms이며, 2번 태스크(420)의 GCD는 60us이고, 마지막으로 3번 태스크(430)의 GCD는 9ms이다. 1번 태스크(410)의 GCD와 2번 태스크(420)의 GCD는 15배의 정수배 차이가 있고, 2번 태스크(420)의 GCD와 3번 태스크의 GCD는 150배의 정수배 차이가 있으며, 3번 태스크(430)와 1번 태스크(410)은 10배의 정수배 차이가 있다. 이 본 발명에서 추구하였던 것으로, 도 2에 도시된 제2판단단계(270)를 만족하는 것이다.
상술한 바와 같이, 전동식 조향 장치(EPS)와 같은 섀시 제어시스템은 복잡하고 빠른 타이밍 설계 구조를 가지고 있음에도 불구하고, AUTOSAR에서는 응용 소프트웨어 컴포넌트 타이밍 모델과 스케줄링에 관련된 내용을 제시하지 않고 있어 설계가 용이하지 않다. 본 발명에서 제시하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법을 이용하여 개발자가 설계단계에서부터 쉽게 시간 검증과 스케줄링 설계를 수행할 수 있다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 이라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
110: 응용 소프트웨어 컴포넌트 계층 실시간환경
130: 베이직 소프트웨어 계층 제1태스크
420: 제2태스크 430: 제3태스크
130: 베이직 소프트웨어 계층 제1태스크
420: 제2태스크 430: 제3태스크
Claims (11)
- EPS 응용 소프트웨어에 요구되는 타이밍을 정의하고 그에 상응하는 런어블의 개수를 결정하는 타이밍 정의 및 런어블 개수결정 단계(210);
생성된 런어블에 대한 트리거 방식 및 트리거 조건을 결정하는 트리거 방식 및 주기 결정단계(220);
태스크 스위칭 속도 및 태스크의 트리거 실행주기를 감안한 최적개수의 태스크 바디를 생성시키고, 런어블의 트리거 시간주기, Activation Offset 시간, 최악실행시간 등을 고려하여 동일하거나 비슷한 시간특성을 가지는 런어블들을 해당 태스크 바디로 맵핑하는 태스크 바디 생성 및 런어블 매핑단계(230);
상기 태스크 바디 생성 및 런어블 매핑단계(230)에서 설정된 런어블의 속성을 정의하는 런어블 속성정의단계(240);
EPS의 출력 샘플링 주기가 일정하게 유지되도록 하고 다른 태스크에 의해 지연이나 중지되지 않도록 높은 우선순위 비선점형 스케줄링 방식 및 낮은 우선순위 선점형 스케줄링 방식 중 하나를 설정하는 태스크 우선순위 및 선점방식 설정단계(250);
신호의 전달방향과 태스크/런어블의 실행순서가 일치하는 가를 판단하여 일치하지 않는다고 판단된 경우에는 상기 태스크 바디 생성 및 런어블 매핑단계(230)부터 이어지는 단계를 반복 수행하도록 하는 제1판단단계(260); 및
신호의 전달방향과 태스크/런어블의 실행순서가 일치하는 경우 태스크 간의 동기가 일치하거나 정수 배인가를 판단하고, 태스크 간의 동기가 일치하지 않는다면 트리거 방식 및 주기 결정단계(220)부터 다시 반복 수행하는 제2판단단계(270)를 구비하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제1항에 있어서, 상기 트리거 방식 및 주기 결정단계(220)는,
일정한 주기성을 가지는 빠른 출력신호가 필요한 런어블들의 경우 정적 스케줄러에 의해 동작하며 일정한 주기를 가지는 정적 트리거 방식으로 설정하고,
특정 입력신호나 출력 신호에 반응하여 트리거 되어야 하는 등의 특수한 경우의 런어블들에는 이벤트 트리거 방식으로 설정하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제1항에 있어서, 상기 태스크 바디 생성 및 런어블 매핑단계(230)에서의 실행주기는,
각 런어블들의 주기 및 Activation Offset Time과의 최대공약수로서 결정되는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제3항에 있어서, 상기 각각의 태스크들의 실행 주기는 최소 실행주기 최대공약수와 동일하거나 정수배가 되는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제3항에 있어서, 상기 런어블의 최악실행시간은 상기 최대공약수의 주기보다 작은 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제3항에 있어서, 상기 태스크 바디는,
하드웨어로부터 센스신호 및 환경입력을 수신하여 전동식 조향장치의 기본 제어 알고리즘을 수행하는 제1태스크 바디(410);
상기 제1태스크 바디(410)의 출력으로부터 받은 레퍼런스 토크 양에 기반하여 EPS 모터를 고속의 스위칭으로 구동 제어하고 PWM 출력 신호를 외부 하드웨어로 보내는 역할을 수행하는 제2태스크 바디(420); 및
상기 1번 태스크 바디(410)로부터 차량의 속도, 시동상태 등의 실시간 정보를 수신하여 EPS 시스템의 동작 상태를 결정하는 기능을 수행하는 제3태스크 바디(430)를 구비하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제6항에 있어서, 상기 제1태스크 바디(410)는,
각 신호에 대한 OP_GET 오퍼레이션을 수행하는 입력어뎁터(411), 레퍼런스 토크 양을 계산하는 제어부(416), 3개의 센스신호를 수신하는 운전자의 조향각 입력부(412), 전류 입력부(413) 및 토크 입력부(414) 그리고 주변 환경으로서의 차량 속도의 입력부(415)를 구비하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제6항에 있어서, 상기 제2태스크 바디(410)는,
상기 레퍼런스 토크 양에 기반하여 EPS 모터를 고속의 스위칭으로 구동제어하는 제어부(421), PWM 출력 신호를 외부 하드웨어로 보내는 역할을 수행하는 전달부(422) 및 출력신호에 대해 OP_SET 오퍼레이션을 수행하는 출력 어댑터(423)을 구비하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제1항에 있어서, 상기 런어블 속성정의단계(240)는,
Read/Write 동작을 수행할 때만다 매번 버퍼(buffer)를 업데이트하는 Explicit 통신모드와 런어블이 시작되거나 끝나는 시점에 버퍼를 업데이트하는 Implicit 통신모드 중 하나를 해당 런어블의 통신모드 중 태스크 수행 시간이 적은 쪽으로 설정하는 런어블의 통신모드 설정단계(241);
각 태스크의 GCD 주기가 서로 동일하게 되거나 정수배의 관계가 되도록 GCD 주기와 밀접한 관련이 있는 런어블의 Activation Offset 시간의 설정단계(242); 및
EPS 시스템의 제어 방향과 동일하게 되도록 런어블들의 실행순서를 설정하는 런어블의 실행순서 설정단계(243)를 구비하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제9항에 있어서, 상기 런어블의 통신모드 설정단계(241)는,
런어블의 개수가 상기 Explicit 통신모드와 상기 Implicit 통신모드가 교차하는 모드 교차점에서의 런어블의 개수에 비해 적을 경우에는 상기 Explicit 통신모드가 설정되고 클 경우에는 상기 Implicit 통신모드가 설정되는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
- 제1항에 있어서, 상기 태스크 우선순위 및 선점방식 설정단계(250)는,
고속PWM 신호를 처리하는 출력과 관련된 태스크는 높은 우선순위 비선점형 스케줄링 방식으로 설정하고,
출력 주파수에 영향을 받지 않는 나머지 태스크들에는 낮은 우선순위 선점형 스케줄링 방식으로 설정하는 것을 특징으로 하는 전동식 조향 장치의 AUTOSAR 기반 스케줄링 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100073811A KR20120011723A (ko) | 2010-07-30 | 2010-07-30 | 전동식 조향 장치의 autosar 기반 스케줄링 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100073811A KR20120011723A (ko) | 2010-07-30 | 2010-07-30 | 전동식 조향 장치의 autosar 기반 스케줄링 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120011723A true KR20120011723A (ko) | 2012-02-08 |
Family
ID=45835887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100073811A KR20120011723A (ko) | 2010-07-30 | 2010-07-30 | 전동식 조향 장치의 autosar 기반 스케줄링 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120011723A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140020500A (ko) * | 2012-08-08 | 2014-02-19 | 현대모비스 주식회사 | Mdps의 구동 제어 방법 |
KR20150012782A (ko) * | 2013-07-26 | 2015-02-04 | 현대모비스 주식회사 | Mdps ecu 타이밍 제어 장치 및 방법 |
CN111427742A (zh) * | 2020-03-09 | 2020-07-17 | 创驱(上海)新能源科技有限公司 | 一种基于autosar架构的复杂驱动任务实时监控方法 |
KR20220085580A (ko) * | 2020-12-15 | 2022-06-22 | 현대오토에버 주식회사 | 오토사 플랫폼의 메인 기능과 태스크의 매핑 방법 |
CN118025049A (zh) * | 2024-04-15 | 2024-05-14 | 成都创科升电子科技有限责任公司 | 一种基于调度器的车辆电控件的控制方法、***及车辆 |
-
2010
- 2010-07-30 KR KR1020100073811A patent/KR20120011723A/ko not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140020500A (ko) * | 2012-08-08 | 2014-02-19 | 현대모비스 주식회사 | Mdps의 구동 제어 방법 |
KR20150012782A (ko) * | 2013-07-26 | 2015-02-04 | 현대모비스 주식회사 | Mdps ecu 타이밍 제어 장치 및 방법 |
CN111427742A (zh) * | 2020-03-09 | 2020-07-17 | 创驱(上海)新能源科技有限公司 | 一种基于autosar架构的复杂驱动任务实时监控方法 |
CN111427742B (zh) * | 2020-03-09 | 2023-11-03 | 创驱(上海)新能源科技有限公司 | 一种基于autosar架构的复杂驱动任务实时监控方法 |
KR20220085580A (ko) * | 2020-12-15 | 2022-06-22 | 현대오토에버 주식회사 | 오토사 플랫폼의 메인 기능과 태스크의 매핑 방법 |
CN118025049A (zh) * | 2024-04-15 | 2024-05-14 | 成都创科升电子科技有限责任公司 | 一种基于调度器的车辆电控件的控制方法、***及车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kum et al. | AUTOSAR migration from existing automotive software | |
US7930079B2 (en) | Software system of electronic control unit for vehicle and design method thereof | |
Di Natale et al. | Moving from federated to integrated architectures in automotive: The role of standards, methods and tools | |
KR20120011723A (ko) | 전동식 조향 장치의 autosar 기반 스케줄링 방법 | |
US20210081585A1 (en) | Method for event-based simulation of a system | |
US20130103379A1 (en) | Apparatus and method for verifying interoperability between application software and autosar service | |
Stappert et al. | A design framework for end-to-end timing constrained automotive applications | |
US8543366B2 (en) | Simulating real-time software components based on logical execution time | |
Mubeen et al. | End-to-end timing analysis of black-box models in legacy vehicular distributed embedded systems | |
Peng et al. | Deployment optimization for AUTOSAR system configuration | |
Ernst | Automated driving: The cyber-physical perspective | |
US20100325635A1 (en) | Method for correct-by-construction development of real-time-systems | |
Senthilkumar et al. | Designing multicore ECU architecture in vehicle networks using AUTOSAR | |
US8412496B2 (en) | Simulation system, method, and program | |
Mundhenk et al. | Dynamic platforms for uncertainty management in future automotive E/E architectures | |
Qureshi et al. | A timed automata-based method to analyze east-adl timing constraint specifications | |
CN112292643A (zh) | 可编程逻辑控制器以及用于可编程逻辑控制器的运行方法和计算机程序产品 | |
Zeller et al. | Co-simulation of self-adaptive automotive embedded systems | |
Kim et al. | Software behavior description of real-time embedded systems in component based software development | |
US20210141710A1 (en) | Development support device | |
Santos et al. | On the timing analysis at automotive real-time embedded systems | |
Stierand et al. | Virtual integration of real-time systems based on resource segregation abstraction | |
KR101382109B1 (ko) | 미들웨어 장치 및 방법 | |
Di Natale | Design and development of component-based embedded systems for automotive applications | |
Haberl | Code generation and system integration of distributed automotive applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E601 | Decision to refuse application |