KR101629184B1 - Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법 - Google Patents

Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법 Download PDF

Info

Publication number
KR101629184B1
KR101629184B1 KR1020140177567A KR20140177567A KR101629184B1 KR 101629184 B1 KR101629184 B1 KR 101629184B1 KR 1020140177567 A KR1020140177567 A KR 1020140177567A KR 20140177567 A KR20140177567 A KR 20140177567A KR 101629184 B1 KR101629184 B1 KR 101629184B1
Authority
KR
South Korea
Prior art keywords
module
eeprom
function
calling
autosar
Prior art date
Application number
KR1020140177567A
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 KR1020140177567A priority Critical patent/KR101629184B1/ko
Application granted granted Critical
Publication of KR101629184B1 publication Critical patent/KR101629184B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 AUTOSAR의 RTE(Run-time environment)에서 함수를 호출하는 방법에 있어서, 모듈간의 데이터를 읽기 또는 쓰기 명령을 내리고, 각 모듈이 주요 함수를 호출하는 방법을 포함하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 관한 것이다.

Description

AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법 {Method for calling periodic function to enhance process speed of EEPROM in AUTOSAR}
본 발명은 AUTOSAR의 RTE(Run-time environment)에서 함수를 호출하는 방법에 있어서, 모듈간의 데이터를 읽기 또는 쓰기 명령을 내리고, 각 모듈이 주요 함수를 호출하는 방법을 포함하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 관한 것이다.
차량에는 여러 장치들을 제어하기 위한 ECU(Electronic Control Unit)가 존재하며, 최근에는 ECU를 구성하는 복수의 모듈이나 컴포넌트를 서로 연결하기 위한 기술이 개발되고 있으며, 전세계 유수의 글로벌 자동차 회사들이 연계하여 개발한 AUTOSAR(Automotive Open System Architecture) 플랫폼이 전 세계 자동차 관련 부품의 표준 플랫폼으로 자리잡고 있으며, 자동차 ECU 개발의 기반 플랫폼으로 각광받고 있다.
AUTOSAR의 경우 구성하는 모듈들이 세분화 되어 있고, 데이터 통신을 할 때 BSW(Basic software), RTE(Run-time environment), ASW(Application software) 등 여러 계층(layer)을 통하여 이어지는 과정이 매우 복잡하다. 또한, 메모리를 관리하기 위해서 여러 계층이 존재하며, 각 계층별로 함수를 상호간 순차적으로 호출되는 방식을 사용하고 있으며, 메모리 중에서도 EEPROM을 읽고 쓰기 위한 주요 함수(main function)는 주기적으로 호출되는 구조가 되어야 한다.
그러나, 종래의 방식과 같이 단순히 주기함수를 통해 각 모듈의 주요함수를 호출하는 방식으로 프로그램 설계를 하게 되면, EEPROM 데이터를 읽기 또는 쓰기를 수행할 때 비효율적인 처리 흐름을 갖게 되어 처리속도가 지연되는 문제점이 발생한다.
한국공개특허 제 2012-0104547호
본 발명은 AUTOSAR 표준에 따른 계층적 구조에서, EEPROM 데이터의 읽기 또는 쓰기 명령을 처리하는 수행시간을 줄일 수 있도록 오프셋을 달리하는 두 개의 주기함수를 호출하는 방식을 통해 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 도모하는 것을 해결 과제로 한다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, (a) 유저 모듈이 제1 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 제1 모듈이 주요 함수를 호출하는 단계; (b) 유저 모듈과 EEPROM 사이에 존재하는 제 1모듈부터 제N 모듈까지의 각각의 모듈이, 순차적으로 다음 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 각각의 모듈이 주요 함수를 호출하는 단계; (c) 상기 제N 모듈이 마이크로컨트롤러를 통해 EEPROM에 물리적인 읽기 또는 쓰기 명령을 내리는 단계; (d) 상기 제N 모듈이 기 설정된 오프셋이 경과한 후 주요 함수를 재호출하는 단계; (e) EEPROM과 유저 모듈 사이에 존재하는 제N모듈부터 제1 모듈까지의 각각의 모듈이, 상기 (b)단계의 역순으로 이전 모듈로 데이터 읽기 또는 쓰기 명령을 완료 보고하고, 각각의 모듈이 주요 함수를 재호출하는 단계; (f) 상기 제1 모듈은 상기 유저 모듈에 데이터 읽기 또는 쓰기 명령 완료 보고하는 단계; (g) 상기 (a)단계 내지 상기 (c)단계는 제1 주기 함수로 반복되며, 상기 (d)단계 내지 상기 (f)단계는 기 설정된 오프셋이 경과한 후 제2 주기 함수로 반복되는 단계; 를 포함하는 것을 특징으로 한다.
이 때, 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, 상기 RTE가 상기 각각의 모듈이 주요 함수를 호출하면, 기 설정된 시간의 경과 후 호출한 주요 함수의 역순으로 맵핑하여 주요 함수를 재호출하고, 상기 주요 함수의 호출은 제1 주기 함수로 반복하며 재호출은 제2 주기 함수로 반복하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, 상기 RTE가 주요 함수를 호출하는 경우 타이밍 이벤트의 제1 주기 함수 오프셋을 0으로 설정하고, 주요 함수를 재호출하는 경우 타이밍 이벤트의 제2 주기 함수 오프셋을 기 설정된 주기로 설정하는 것을 특징으로 한다.
이 때, 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, 상기 주요 함수를 호출 또는 재호출하는 방식을 타이밍 이벤트(timing event) 또는 OS(Operating system) task 방식을 이용하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, 상기 제N모듈은 제3 모듈이며, 상기 제1 모듈은, NVM(NV RAM Manager) 모듈인 것을 특징으로 하고, 상기 제2 모듈은, EA(EEPROM Abstraction) 모듈인 것을 특징으로 하고, 상기 제3 모듈은, EEPROM 모듈인 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, SPI(Serial Peripheral Interface) 버스를 통해 EEPROM에 물리적인 읽기 또는 쓰기 명령을 내리는 것을 특징으로 한다.
한편, 본 발명의 일 실시 예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, 방법을 실행시키기 위한 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있고, AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 따른 모든 단계들을 실행하도록 구성된 것을 특징으로 하는 컴퓨터 프로그램 또는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 따른 모든 단계들이 실행되도록 구성되는 제어로직이 탑재된 컨트롤러로 구현될 수도 있다.
한편, 본 발명의 일 실시 예에 따른 AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법은, (a) 유저 모듈이 제1 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 제1 모듈이 주요 함수를 호출하는 단계; (b) 유저 모듈과 플래시 메모리 사이에 존재하는 제 1모듈부터 제N 모듈까지의 각각의 모듈이, 순차적으로 다음 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 각각의 모듈이 주요 함수를 호출하는 단계; (c) 상기 제N 모듈이 마이크로컨트롤러를 통해 플래시 메모리에 물리적인 읽기 또는 쓰기 명령을 내리는 단계; (d) 상기 제N 모듈이 기 설정된 오프셋이 경과한 후 주요 함수를 재호출하는 단계; (e) 플래시 메모리와 유저 모듈 사이에 존재하는 제N모듈부터 제1 모듈까지의 각각의 모듈이, 상기 (b)단계의 역순으로 이전 모듈로 데이터 읽기 또는 쓰기 명령을 완료 보고하고, 각각의 모듈이 주요 함수를 재호출하는 단계; (f) 상기 제1 모듈은 상기 유저 모듈에 데이터 읽기 또는 쓰기 명령 완료 보고하는 단계; (g) 상기 (a)단계 내지 상기 (c)단계는 제1 주기 함수로 반복되며, 상기 (d)단계 내지 상기 (f)단계는 기 설정된 오프셋이 경과한 후 제2 주기 함수로 반복되는 단계; 를 포함할 수 있다.
이 때, 본 발명의 일 실시 예에 따른 AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법은, 상기 제N모듈은 제2 모듈이며, 상기 제1 모듈은, NVM(NV RAM Manager)모듈인 것을 특징으로 하고, 상기 제2 모듈은, 플래시 EEPROM 모듈인 것을 특징으로 한다.
AUTOSAR에서 EEPROM 데이터를 읽기 또는 쓰기 명령을 처리할 때 종래 방식이 4주기 동안에 처리를 한다면, 본 발명을 통하여 2주기 동안에 처리를 할 수 있도록 오프셋이 다른 두 개의 주기함수를 호출함으로써, 처리 수행시간을 최대 절반까지 감소할 수 있다.
또한, 본 발명은 차량에 사용되는 AUTOSAR의 데이터 처리 속도를 향상시킴으로써, 운전자가 더욱 편안하고 승차감이 좋은 차량 운행을 할 수 있도록 도움을 줄 수 있다.
도 1은 본 발명의 일 실시예에 따른 AUTOSAR의 여러 계층을 나타내는 예시도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 관리를 위한 AUTOSAR 표준 플랫폼의 구조를 나타내는 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법을 나타내는 예시도이다.
도 4는 기존의 모듈간 함수를 호출하는 4주기 호출방법을 나타내는 예시도이다.
도 5는 본 발명의 모듈간 함수를 호출하며, 오프셋을 달리하는 2개의 주기 함수를 사용하는 2주기 호출방법을 나타내는 예시도이다.
도 6은 본 발명의 모듈간 함수를 호출하며, 오프셋을 달리하는 2개의 주기 함수를 사용하는 2주기 호출방법에서, 각각의 모듈의 task값을 설정하는 구성도이다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 'AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법'을 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 통상의 기술자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않는다. 또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있다.
한편, 이하에서 표현되는 각 구성부는 본 발명을 구현하기 위한 예일 뿐이다. 따라서, 본 발명의 다른 구현에서는 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다른 구성부가 사용될 수 있다. 또한, 각 구성부는 순전히 하드웨어 또는 소프트웨어의 구성만으로 구현될 수도 있지만, 동일 기능을 수행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합으로 구현될 수도 있다. 또한, 하나의 하드웨어 또는 소프트웨어에 의해 둘 이상의 구성부들이 함께 구현될 수도 있다.
또한, 어떤 구성요소들을 '포함'한다는 표현은, '개방형'의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
또한, '제1, 제2' 등과 같은 표현은, 복수의 구성들을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다.
한편, 이상에서 살펴본 본 발명의 일 실시 예에 따른 'AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법'은, 카테고리는 상이하지만 본 발명의 일 실시 예에 따른 'AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법'와 실질적으로 동일한 기술적 특징을 포함할 수 있다.
따라서, 중복 기재를 방지하기 위하여 자세히 기재하지는 않았지만, 상기 'AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법'와 관련하여 상술한 특징들은, 본 발명은 일 실시 예에 따른 'AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법'에도 당연히 유추 적용될 수 있다. 또한, 반대로, 상기 'AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법'과 관련하여 상술한 특징들은 상기 'AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법'에도 당연히 유추 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 AUTOSAR의 여러 계층을 나타내는 예시도이며, 도 2는 본 발명의 일 실시예에 따른 메모리를 관리하기 위한 AUTOSAR 표준 플랫폼의 구조를 나타내는 시스템의 구성도이다.
도 1을 참조하면, AUTOSAR는 ECU에 특정되는 기본 소프트웨어(BSW; Basic Software)와 독립적인 응용 소프트웨어(ASW; Application Software)로 나뉘어 있고, 그 사이에 가상 함수 버스를 통하여 모든 소프트웨어를 연결하며, 다른 제어장치에 구현되는 것도 포함한다.
또한, AUTOSAR의 실행시간 환경(RTE; Run-time environment)은, ECU 내부 간의 정보 교환을 위한 통신의 중추적인 역할을 수행한다. RTE의 주 목적은 ASW와 BSW간의 분리이며, 사용자는 BSW가 바뀌더라도 RTE 설정을 통해 ASW의 변경 없이 재사용 할 수 있고, 이는 RTE에서 ASW와 BSW의 중간 가교 역할을 하기 때문이다. 한편, 하드웨어와 소프트웨어의 분리는 BSW를 포함한 플랫폼의 역할이며, RTE는 플랫폼의 일부로써 ASW와 BSW사이에서 설정을 통해 인터페이스를 자동 생성함으로써 플랫폼이 변경되더라도 ASW의 재사용성을 높이기 위한 계층이다.
도 2를 참조하면, AUTOSAR 표준 플랫폼의 구조를 나타내는 시스템에서, NVM모듈(111)을 포함하는 서비스 계층(110), 메모리 추상 인터페이스(121), EA모듈(122), EEPROM모듈(123), 플래시 EEPROM 에뮬레이션 모듈(124)을 포함하는 하드웨어 추상 계층(120), SPI관리 드라이버(131), 내부 플래시 드라이버(132)를 포함하는 마이크로컨트롤러 추상계층(130), SPI모듈(141), 플래시 메모리(142)를 포함하는 마이크로컨트롤러(140), 외부 EEPROM(150)을 포함한다.
또한, 도 2에서, 왼쪽에 위치하는 모듈간 데이터 흐름은 EEPROM의 처리 과정을 나타내며, 오른쪽에 위치하는 모듈간 데이터 흐름은 플래시 메모리의 처리 과정을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법을 나타내는 예시도이다.
도 3을 참조하면, AUTOSAR 표준에 따른 EEPROM의 읽기 또는 쓰기 명령에 따라 주요함수를 호출하는 구성이 나타나 있다.
ASW 사용자가 BSW 서비스를 사용하기 위해서는 RTE를 통하여 설계를 하여야 한다. AUTOSAR의 RTE(Run-time environment)에서 함수를 호출하는 방법은, (a) 유저 모듈이 제1 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 제1 모듈이 주요 함수를 호출하는 단계, (b) 유저 모듈과 EEPROM 사이에 존재하는 제 1모듈부터 제N 모듈까지의 각각의 모듈이, 순차적으로 다음 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 각각의 모듈이 주요 함수를 호출하는 단계, (c) 상기 제N 모듈이 마이크로컨트롤러를 통해 EEPROM에 물리적인 읽기 또는 쓰기 명령을 내리는 단계, (d) 상기 제N 모듈이 기 설정된 오프셋이 경과한 후 주요 함수를 재호출하는 단계, (e) EEPROM과 유저 모듈 사이에 존재하는 제N모듈부터 제1 모듈까지의 각각의 모듈이, 상기 (b)단계의 역순으로 이전 모듈로 데이터 읽기 또는 쓰기 명령을 완료 보고하고, 각각의 모듈이 주요 함수를 재호출하는 단계, (f) 상기 제1 모듈은 상기 유저 모듈에 데이터 읽기 또는 쓰기 명령 완료 보고하는 단계, (g) 상기 (a)단계 내지 상기 (c)단계는 제1 주기 함수로 반복되며, 상기 (d)단계 내지 상기 (f)단계는 기 설정된 오프셋이 경과한 후 제2 주기 함수로 반복되는 단계를 포함하도록 한다.
이 때, 상기 RTE가 상기 각각의 모듈이 주요 함수를 호출하면, 기 설정된 시간의 경과 후 호출한 주요 함수의 역순으로 맵핑하여 주요 함수를 재호출하고, 상기 주요 함수의 호출은 제1 주기 함수로 반복하며 재호출은 제2 주기 함수로 반복하게 된다.
또한, 상기 RTE가 주요 함수를 호출하는 경우 타이밍 이벤트의 제1 주기 함수 오프셋을 0으로 설정하고, 주요 함수를 재호출하는 경우 타이밍 이벤트의 제2 주기 함수 오프셋을 기 설정된 주기로 설정할 수 있다.
아울러, 상기 제N모듈은 제3 모듈이며, 상기 제1 모듈은, NVM(NV RAM Manager)모듈인 것을 특징으로 하고, 상기 제2 모듈은, EA(EEPROM Abstraction) 모듈인 것을 특징으로 하고, 상기 제3 모듈은, EEPROM 모듈인 것을 특징으로 할 수 있다.
또한, AUTOSAR 표준에 따르면, EEPROM에 데이터를 읽고 쓰기 위하여 주요함수는 NVM(NV RAM Manager), EA(EEPROM Abstraction), EEPROM, 물리적 채널을 통한 데이터 읽기 또는 쓰기 수행, EEP, EA, NVM 모듈의 순서로 호출되어야 한다.
도 3에서 나타난 바와 같이, 유저 모듈에서 읽기 또는 쓰기 명령을 내리면, NVM모듈, EA 모듈, EEPROM모듈, EEPROM을 거쳐 순차적으로 명령을 내리면서 주요 함수를 호출하게 된다.
NVM모듈(320)에서, BSW 주요 처리 기능은 기본적인 작업(task)에 할당될 수 있다. 이 때, 호출된 NVM의 주요 함수는 모듈 작업의 처리를 수행하게 된다. 또한, 콜백 루틴(callback routine)이 구성되는 경우, NVM 주요 함수는 비동기 서비스(asynchronous service) 종료 이후 상위 계층으로 콜백 루틴을 호출한다.
EA모듈(330)에서, 비동기적인 EA모듈의 주요 기능 내 함수의 기록(write) 작업을 실행한다. 또한, EA모듈은 비동기적 EA모듈의 주요 기능 내 판독(read) 작업을 실행한다. 또한, EA모듈의 주요 함수는 임의의 필요한 블록 관리 동작을 수행하며, 상위 계층 모듈의 대응하는 콜백 루틴을 호출한다.
이어, EA모듈의 주요 함수는 상위 계층과 내부 관리 작업에 의해 요청된 판독, 기록, 소거, 무효화 작업을 비동기적으로 처리한다. 이 때, EA모듈의 주요 함수에 대한 사이클 시간은 EEPROM 기본 드라이버의 구성과 동일하여야 한다.
EEPROM모듈(340)에서, EEPROM모듈의 주요 함수는 EEPROM의 기록, 판독, 소거, 비교 작업을 수행한다. 이 때, 작업이 시작되면 작업이 완료될 때까지, EEPROM의 사용자는 주기적으로 EEPROM모듈의 주요 함수를 호출한다. 또한, EEPROM모듈의 주요 함수는, 현재 작업이 진행되지 않는 경우라고 하더라도 주기적인 함수라고 할 수 있다.
또한, EEPROM모듈은 스케쥴링 구성을 수행하는 경우, 한 작업 내에서 순차적으로 호출되는 것과 같이 NVM모듈과 EEPROM 드라이버의 작업과 동기화되며, EEPROM모듈의 주요 함수를 호출하는 작업은 다른 작업(task)에 의하여 선점될 수 없다.
한편, 상기 (c)단계는, SPI(Serial Peripheral Interface) 버스를 통해 EEPROM에 물리적인 읽기 또는 쓰기 명령을 내릴 수 있다. SPI 버스는 동기화 직렬 데이터 연결 표준으로, 장치들은 마스터 앤 슬레이브 모드로 통신하며, 마스터 장치는 데이터 프레임을 초기화한다. 또한 여러 슬레이브 장치들은 개별 슬레이브 라인과 함게 동작할 수 있다.
이러한 SPI 방식을 통하여, 완전한 전이중 통신이 가능하며 전송되는 비트에 대하여 완전한 프로토콜의 유연성을 갖는다. 또한, 전송기가 불필요하며 단순한 하드웨어 인터페이스 처리로도 구현 가능하며, IC 패키지에 4개의 핀만 사용하여 병렬 인터페이스에 비하여 보다 적은 수로 동작할 수 있다.
도 4는 기존의 모듈간 함수를 호출하는 4주기 호출방법을 나타내고, 도 5는 본 발명의 모듈간 함수를 호출하며, 오프셋을 달리하는 2개의 함수를 사용하는 2주기 호출방법을 나타내는 예시도이다.
도 4를 참조하면, 기존의 함수 호출방법은 먼저 NVM모듈, EA모듈, EEPROM모듈의 주요 함수를 각각 호출하도록 한다. 이 때 걸리는 시간을 1주기(P)로 잡는다. 이 때 EEPROM모듈에서 다시 NVM모듈까지 처리를 하려면, 주요 함수가 콜백 루틴을 구성하여 서비스 종료 후 콜백 루틴을 각각 호출하여야 하며, 각각의 호출된 콜백 루틴에 따라 전송되는 시간이 1주기(P)씩 소요되므로, 최종적으로 EEPROM의 데이터를 읽기 또는 쓰기 명령을 처리하는 시간은 4주기(4P)만큼 소요된다.
도 5를 참조하면, 본 발명의 모듈간 함수를 호출하며, 오프셋을 달리하는 2개의 함수를 사용하여, 2주기(2P)만에 명령을 처리하도록 할 수 있다.
RTE는, NVM모듈, EA모듈, EEPROM모듈이 주요 함수를 호출하면, 1주기(1P)의 경과 후 호출한 주요 함수의 역순으로 맵핑하여 주요 함수를 한번 더 재호출하도록 설계한다. 이 때, 주요 함수를 호출 또는 재호출하는 방식은, 타이밍 이벤트(timing event) 또는 OS task 방식을 이용할 수 있다.
먼저 각각의 모듈들에 2개의 타이밍 이벤트를 설정하고, 이벤트 주기는 2주기(2P)로 설정한다. 그리고, BSW 설정에서 각각의 타이밍 이벤트의 시작으로 NVM모듈의 주요함수를 할당한다. 그리고, 타이밍 이벤트와 OS task 연결을 위하여 RTE 모듈 환경 설정(RTE module configuration)에서 BSW 모듈 인스턴스를 통해 NVM모듈의 타이밍 이벤트와 OS task를 연결한다.
이 때, RTE는 주요 함수를 호출하는 경우 타이밍 이벤트의 오프셋을 0으로 설정하고, 주요 함수를 재호출하는 경우 타이밍 이벤트의 오프셋을 1주기(P)로 설정하도록 한다.
그리고, 도 6에 나타난 것처럼 각각 모듈의 task값을 설정한다. 예를 들어, NVM모듈에서 오프셋이 0인 타이밍 이벤트는, BSW position in task 값을 0으로, 오프셋이 P인 타이밍 이벤트는 BSW position in task 값을 5로 설정한다. 또한, EA모듈에서 오프셋이 0인 타이밍 이벤트는, BSW position in task 값을 1로, 오프셋이 P인 타이밍 이벤트는 BSW position in task 값을 4로 설정한다. 이어, EEPROM모듈에서 오프셋이 0인 타이밍 이벤트는, BSW position in task 값을 2로, 오프셋이 P인 타이밍 이벤트는 BSW position in task 값을 3으로 설정한다.
따라서, 오프셋이 0인 타이밍 이벤트를 통해, NVM모듈, EA모듈, EEP모듈의 순서로 주요 함수들이 호출되고, 오프셋이 P인 타이밍 이벤트를 통해 EEP모듈, EA모듈, NVM모듈의 순서로 주요 함수들이 순차적으로 호출되며, 2주기(2P)이내에 읽기 또는 쓰기 등의 EEPROM 처리 명령이 수행될 수 있어 도 4의 기존 4주기(4P)가 걸리는 시간을 대폭 단축할 수 있게 된다.
한편, 본 발명의 일 실시 예에 따른 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법은, 방법을 실행시키기 위한 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있고, AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 따른 모든 단계들을 실행하도록 구성된 것을 특징으로 하는 컴퓨터 프로그램 또는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 따른 모든 단계들이 실행되도록 구성되는 제어로직이 탑재된 컨트롤러로 구현될 수도 있다.
한편, 본 발명은 EEPROM의 데이터 처리 방법뿐만 아니라 플래시 메모리의 데이터 처리 방법에도 적용될 수 있다. 본 발명의 일 실시 예에 따른 AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법은, (a) 유저 모듈이 제1 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 제1 모듈이 주요 함수를 호출하는 단계, (b) 유저 모듈과 플래시 메모리 사이에 존재하는 제 1모듈부터 제N 모듈까지의 각각의 모듈이, 순차적으로 다음 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 각각의 모듈이 주요 함수를 호출하는 단계, (c) 상기 제N 모듈이 마이크로컨트롤러를 통해 플래시 메모리에 물리적인 읽기 또는 쓰기 명령을 내리는 단계, (d) 상기 제N 모듈이 기 설정된 오프셋이 경과한 후 주요 함수를 재호출하는 단계, (e) 플래시 메모리와 유저 모듈 사이에 존재하는 제N모듈부터 제1 모듈까지의 각각의 모듈이, 상기 (b)단계의 역순으로 이전 모듈로 데이터 읽기 또는 쓰기 명령을 완료 보고하고, 각각의 모듈이 주요 함수를 재호출하는 단계, (f) 상기 제1 모듈은 상기 유저 모듈에 데이터 읽기 또는 쓰기 명령 완료 보고하는 단계, (g) 상기 (a)단계 내지 상기 (c)단계는 제1 주기 함수로 반복되며, 상기 (d)단계 내지 상기 (f)단계는 기 설정된 오프셋이 경과한 후 제2 주기 함수로 반복되는 단계를 포함할 수 있다.
이 때, 본 발명의 일 실시 예에 따른 AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법은, 상기 제N모듈은 제2 모듈이며, 상기 제1 모듈은, NVM(NV RAM Manager)모듈인 것을 특징으로 하고, 상기 제2 모듈은, 플래시 EEPROM 모듈인 것을 특징으로 한다.
위에서 설명된 본 발명의 실시 예들은 예시의 목적을 위해 개시된 것이며, 이들에 의하여 본 발명이 한정되는 것은 아니다. 또한, 본 발명에 대한 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 사상과 범위 안에서 다양한 수정 및 변경을 가할 수 있을 것이며, 이러한 수정 및 변경은 본 발명의 범위에 속하는 것으로 보아야 할 것이다.
110: 서비스 계층
111: NVM 모듈
120: 하드웨어 추상 계층
121: 메모리 추상 인터페이스
122: EA모듈
123: EEPROM모듈
124: 플래시 EEPROM 에뮬레이션
130: 마이크로컨트롤러 추상 계층
131: SPI 관리 드라이버
132: 내부 플래시 드라이버
140: 마이크로컨트롤러
141: SPI
142: 플래시 메모리
150: 외부 EEPROM

Claims (11)

  1. AUTOSAR의 RTE(Run-time environment)에서 함수를 호출하는 방법에 있어서,
    (a) 유저 모듈이 제1 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 제1 모듈이 주요 함수를 호출하는 단계;
    (b) 유저 모듈과 EEPROM 사이에 존재하는 제 1모듈부터 제N 모듈까지의 각각의 모듈이, 순차적으로 다음 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 각각의 모듈이 주요 함수를 호출하는 단계;
    (c) 상기 제N 모듈이 마이크로컨트롤러를 통해 EEPROM에 물리적인 읽기 또는 쓰기 명령을 내리는 단계;
    (d) 상기 제N 모듈이 기 설정된 오프셋이 경과한 후 주요 함수를 재호출하는 단계;
    (e) EEPROM과 유저 모듈 사이에 존재하는 제N모듈부터 제1 모듈까지의 각각의 모듈이, 상기 (b)단계의 역순으로 이전 모듈로 데이터 읽기 또는 쓰기 명령을 완료 보고하고, 각각의 모듈이 주요 함수를 재호출하는 단계;
    (f) 상기 제1 모듈은 상기 유저 모듈에 데이터 읽기 또는 쓰기 명령 완료 보고하는 단계;
    (g) 상기 (a)단계 내지 상기 (c)단계는 제1 주기 함수로 반복되며, 상기 (d)단계 내지 상기 (f)단계는 기 설정된 오프셋이 경과한 후 제2 주기 함수로 반복되는 단계;
    를 포함하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법.
  2. 제 1항에 있어서,
    상기 RTE는,
    상기 각각의 모듈이 주요 함수를 호출하면, 기 설정된 시간의 경과 후 호출한 주요 함수의 역순으로 맵핑하여 주요 함수를 재호출하고, 상기 주요 함수의 호출은 제1 주기 함수로 반복하며 재호출은 제2 주기 함수로 반복하는 것을 특징으로 하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법.
  3. 제 1항에 있어서,
    상기 RTE는,
    주요 함수를 호출하는 경우 타이밍 이벤트의 제1 주기 함수 오프셋을 0으로 설정하고, 주요 함수를 재호출하는 경우 타이밍 이벤트의 제2 주기 함수 오프셋을 기 설정된 주기로 설정하는 것을 특징으로 하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법.
  4. 제 1항에 있어서,
    상기 주요 함수를 호출 또는 재호출하는 방식은,
    타이밍 이벤트(timing event) 또는 OS(Operating system) task 방식을 이용하는 것을 특징으로 하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법.
  5. 제 1항에 있어서,
    상기 제N모듈은 제3 모듈이며,
    상기 제1 모듈은, NVM(NV RAM Manager)모듈인 것을 특징으로 하고,
    상기 제2 모듈은, EA(EEPROM Abstraction) 모듈인 것을 특징으로 하고,
    상기 제3 모듈은, EEPROM 모듈인 것을 특징으로 하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법.
  6. 제 1항에 있어서,
    상기 (c)단계는,
    SPI(Serial Peripheral Interface) 버스를 통해 EEPROM에 물리적인 읽기 또는 쓰기 명령을 내리는 것을 특징으로 하는 AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법.
  7. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법을 실행시키기 위한 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
  8. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 따른 모든 단계들을 실행하도록 구성된 것을 특징으로 하는 기록매체에 저장된 컴퓨터 프로그램.
  9. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    AUTOSAR 플랫폼에서의 EEPROM 처리속도 향상을 위한 주기함수 호출 방법에 따른 모든 단계들이 실행되도록 구성되는 제어로직이 탑재된 컨트롤러.
  10. AUTOSAR의 RTE(Run-time environment)에서 함수를 호출하는 방법에 있어서,
    (a) 유저 모듈이 제1 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 제1 모듈이 주요 함수를 호출하는 단계;
    (b) 유저 모듈과 플래시 메모리 사이에 존재하는 제 1모듈부터 제N 모듈까지의 각각의 모듈이, 순차적으로 다음 모듈로 데이터를 읽기(Read) 또는 쓰기(Write) 명령을 내리고, 각각의 모듈이 주요 함수를 호출하는 단계;
    (c) 상기 제N 모듈이 마이크로컨트롤러를 통해 플래시 메모리에 물리적인 읽기 또는 쓰기 명령을 내리는 단계;
    (d) 상기 제N 모듈이 기 설정된 오프셋이 경과한 후 주요 함수를 재호출하는 단계;
    (e) 플래시 메모리와 유저 모듈 사이에 존재하는 제N모듈부터 제1 모듈까지의 각각의 모듈이, 상기 (b)단계의 역순으로 이전 모듈로 데이터 읽기 또는 쓰기 명령을 완료 보고하고, 각각의 모듈이 주요 함수를 재호출하는 단계;
    (f) 상기 제1 모듈은 상기 유저 모듈에 데이터 읽기 또는 쓰기 명령 완료 보고하는 단계;
    (g) 상기 (a)단계 내지 상기 (c)단계는 제1 주기 함수로 반복되며, 상기 (d)단계 내지 상기 (f)단계는 기 설정된 오프셋이 경과한 후 제2 주기 함수로 반복되는 단계;
    를 포함하는 AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법.
  11. 제 10항에 있어서,
    상기 제N모듈은 제2 모듈이며,
    상기 제1 모듈은, NVM(NV RAM Manager)모듈인 것을 특징으로 하고,
    상기 제2 모듈은, 플래시 EEPROM 모듈인 것을 특징으로 하는 AUTOSAR 플랫폼에서의 플래시 메모리 처리속도 향상을 위한 주기함수 호출 방법.
KR1020140177567A 2014-12-10 2014-12-10 Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법 KR101629184B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140177567A KR101629184B1 (ko) 2014-12-10 2014-12-10 Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140177567A KR101629184B1 (ko) 2014-12-10 2014-12-10 Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법

Publications (1)

Publication Number Publication Date
KR101629184B1 true KR101629184B1 (ko) 2016-06-13

Family

ID=56191373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140177567A KR101629184B1 (ko) 2014-12-10 2014-12-10 Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법

Country Status (1)

Country Link
KR (1) KR101629184B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858172A (zh) * 2020-07-15 2020-10-30 德尔福科技(苏州)有限公司 一种基于AUTOSAR架构的NvM模块核心数据的备份方法
CN111966421A (zh) * 2020-06-29 2020-11-20 北京百度网讯科技有限公司 页面组件的运行监测方法、装置、设备和存储介质
KR102335101B1 (ko) * 2021-07-27 2021-12-03 주식회사 클레빌 복수의 교체가 가능한 모듈을 포함하는 자율주행 로봇 시스템
US20230069439A1 (en) * 2021-08-31 2023-03-02 Micron Technology, Inc. Automated vdm adjustment for memory device
CN116521143A (zh) * 2023-07-04 2023-08-01 上海鉴智其迹科技有限公司 一种故障诊断did读写服务处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4957729B2 (ja) * 2007-01-25 2012-06-20 日本電気株式会社 プログラム並列化方法、プログラム並列化装置及びプログラム
KR20120104547A (ko) 2009-10-16 2012-09-21 글락소스미스클라인 엘엘씨 조 합 물
KR20130065957A (ko) * 2011-12-12 2013-06-20 숭실대학교산학협력단 메모리 제어장치 및 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR20140038160A (ko) * 2012-09-20 2014-03-28 한국전자통신연구원 Autosar 기반 시스템의 ecu 업데이트 방법 및 ecu 업데이트 장치
KR20140125012A (ko) * 2013-04-17 2014-10-28 한국전자통신연구원 오토사의 응용을 구성하는 소프트웨어 컴포넌트의 내부 행위를 설정하기 위한 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4957729B2 (ja) * 2007-01-25 2012-06-20 日本電気株式会社 プログラム並列化方法、プログラム並列化装置及びプログラム
KR20120104547A (ko) 2009-10-16 2012-09-21 글락소스미스클라인 엘엘씨 조 합 물
KR20130065957A (ko) * 2011-12-12 2013-06-20 숭실대학교산학협력단 메모리 제어장치 및 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR20140038160A (ko) * 2012-09-20 2014-03-28 한국전자통신연구원 Autosar 기반 시스템의 ecu 업데이트 방법 및 ecu 업데이트 장치
KR20140125012A (ko) * 2013-04-17 2014-10-28 한국전자통신연구원 오토사의 응용을 구성하는 소프트웨어 컴포넌트의 내부 행위를 설정하기 위한 방법 및 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966421A (zh) * 2020-06-29 2020-11-20 北京百度网讯科技有限公司 页面组件的运行监测方法、装置、设备和存储介质
CN111966421B (zh) * 2020-06-29 2024-01-09 北京百度网讯科技有限公司 页面组件的运行监测方法、装置、设备和存储介质
CN111858172A (zh) * 2020-07-15 2020-10-30 德尔福科技(苏州)有限公司 一种基于AUTOSAR架构的NvM模块核心数据的备份方法
CN111858172B (zh) * 2020-07-15 2023-11-07 博格华纳驱动系统(苏州)有限公司 一种基于AUTOSAR架构的NvM模块核心数据的备份方法
KR102335101B1 (ko) * 2021-07-27 2021-12-03 주식회사 클레빌 복수의 교체가 가능한 모듈을 포함하는 자율주행 로봇 시스템
US20230069439A1 (en) * 2021-08-31 2023-03-02 Micron Technology, Inc. Automated vdm adjustment for memory device
US11798614B2 (en) * 2021-08-31 2023-10-24 Micron Technology, Inc. Automated voltage demarcation (VDM) adjustment for memory device
CN116521143A (zh) * 2023-07-04 2023-08-01 上海鉴智其迹科技有限公司 一种故障诊断did读写服务处理方法及装置
CN116521143B (zh) * 2023-07-04 2023-09-29 上海鉴智其迹科技有限公司 一种故障诊断did读写服务处理方法及装置

Similar Documents

Publication Publication Date Title
KR101629184B1 (ko) Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법
US9880927B2 (en) Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device
EP3242199B1 (en) Flash memory controller and control method for flash memory controller
CN103713932B (zh) 一种电子控制单元中应用程序的更新方法及装置
US20080133206A1 (en) Method of switching external models in an automated system-on-chip integrated circuit design verification system
Niedrist Deterministic architecture and middleware for domain control units and simplified integration process applied to ADAS
US6816828B1 (en) Logic simulation method in which simulation is dynamically switchable between models
US8595751B2 (en) Application platform and method for operating a data processing arrangement having such an application platform
EP2469416A1 (en) Test bed for an AUTOSAR software component and method for checking an AUTOSAR software component
US5159674A (en) Method for supplying microcommands to multiple independent functional units having a next microcommand available during execution of a current microcommand
CN116126776A (zh) 一种基于mcal的内存访问方法、装置及多核芯片
US20100333070A1 (en) Multiple ECU Software-In-The-Loop Simulation Environment
JP2023542232A (ja) データを処理するための、方法、データ処理モジュール、およびデータ処理ネットワーク
CN114633705A (zh) 带有同步驱动程序的车辆控制装置
CN111782271A (zh) 一种软硬件交互方法及装置、存储介质
JP2022099796A (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
US8225244B2 (en) Large scale integration device and large scale integration design method including both a normal system and diagnostic system
Demmeler et al. Enabling rapid design exploration through virtual integration and simulation of fault tolerant automotive application
JP7072697B1 (ja) 電子制御装置、電子制御装置の試験装置、及び電子制御装置の試験方法
JPH03248204A (ja) プログラマブルコントローラの制御方法
WO2022153876A1 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
CN111143141B (zh) 一种状态机设置方法及系统
US20240231956A9 (en) Apparatus and method for synchronizing participants of a simulation
CN117785045A (zh) 基于autosar的控制器ASW数据存储方法及装置
Bauer et al. Model-based Deployment in Automotive Embedded Software: From a High-Level View to Low-Level Implementations

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 4