KR20190091854A - 프로그램 감시 장치 및 방법과 전자 제어 시스템 - Google Patents

프로그램 감시 장치 및 방법과 전자 제어 시스템 Download PDF

Info

Publication number
KR20190091854A
KR20190091854A KR1020180010934A KR20180010934A KR20190091854A KR 20190091854 A KR20190091854 A KR 20190091854A KR 1020180010934 A KR1020180010934 A KR 1020180010934A KR 20180010934 A KR20180010934 A KR 20180010934A KR 20190091854 A KR20190091854 A KR 20190091854A
Authority
KR
South Korea
Prior art keywords
program
different
currently
executed
order
Prior art date
Application number
KR1020180010934A
Other languages
English (en)
Other versions
KR102488980B1 (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 KR1020180010934A priority Critical patent/KR102488980B1/ko
Publication of KR20190091854A publication Critical patent/KR20190091854A/ko
Application granted granted Critical
Publication of KR102488980B1 publication Critical patent/KR102488980B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 실시예들은 프로그램 감시 장치 및 방법과 전자 제어 시스템에 관한 것이다. 프로그램 감시 장치는 신호 입력부를 통해 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받고, 프로그램 상태 판단부를 통해 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.

Description

프로그램 감시 장치 및 방법과 전자 제어 시스템{APPARATUS AND METHOD FOR MONITORING PROGRAM AND ELECTRONIC CONTROL SYSTEM}
본 실시예들은 프로그램 감시 장치에 관한 것으로, 더욱 상세하게는 프로그램 감시 장치 및 이를 포함하는 전자 제어 시스템에 관한 것이다.
일반적으로, 프로그램 감시 장치는 컴퓨터 장치 특히, 컨트롤러의 정확한 상태를 감시하는데 사용되는 컨트롤러의 주변 장치일 수 있다. 최근에는 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높이기 위해, 이러한 프로그램 감시 장치에 대한 연구가 활발히 진행되고 있다.
이와 더불어, 최근에는 차량의 신뢰성 및 세이프티(safety) 지수를 높이기 위해, 차량의 전자 제어 시스템의 정확한 상태를 감시할 수 있는 프로그램 감시 장치에 대한 연구가 활발히 진행되고 있다.
본 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 실시예들의 목적은 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있는 프로그램 감시 장치를 제공하는데 있다.
또한, 본 실시예들의 목적은, 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있는 프로그램 감시 방법을 제공하는데 있다.
또한, 본 실시예들의 목적은, 차량의 신뢰성 및 세이프티(safety) 지수를 높일 수 있는 전자 제어 시스템을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 실시예들의 일 측면은, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 신호 입력부 및 상기 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 프로그램 상태 판단부를 포함하는 프로그램 감시 장치를 제공하는 것이다.
또한, 전술한 목적을 달성하기 위하여 본 실시예들의 일 측면은, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 컨트롤러 장치 및 상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받고, 상기 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하며, 판단 결과에 따라 상기 컨트롤러 장치의 동작을 제어하는 프로그램 감시 장치를 포함하는 전자 제어 시스템을 제공하는 것이다.
또한, 전술한 목적을 달성하기 위하여 본 실시예들의 일 측면은, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계 및 상기 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계를 포함하는 프로그램 감시 방법을 제공하는 것이다.
이상에서 설명한 바와 같은 본 실시예들의 프로그램 감시 장치에 따르면, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있는 효과가 있다.
또한, 본 실시예들의 프로그램 감시 장치에 따르면, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있는 효과가 있다.
또한, 본 실시예들의 프로그램 감시 장치에 따르면, 타이머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있는 효과가 있다.
이상에서 설명한 바와 같은 본 실시예들의 전자 제어 시스템에 따르면, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 전자 제어 시스템의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있는 효과가 있다.
또한, 본 실시예들의 전자 제어 시스템에 따르면, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 생성하여 이를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있는 효과가 있다.
또한, 본 실시예들의 전자 제어 시스템에 따르면, 타어머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있는 효과가 있다.
도 1은 본 실시예들에 따른 전자 제어 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 실시예들에 따른 컨트롤러 장치의 컴퓨터 시스템을 설명하기 위한 구체적인 블록 구성도이다.
도 3은 본 실시예들에 따른 프로그램 감시 장치를 설명하기 위한 구체적인 블록 구성도이다.
도 4는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.
도 5는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 비정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.
도 6은 본 실시예들에 따른 프로그램 감시 방법을 설명하기 위한 전체 순서도이다.
도 7은 본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법을 설명하기 위한 구체적인 순서도이다.
도 8은 본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법을 설명하기 위한 구체적인 순서도이다.
도 9는 본 실시예들에 따른 현재 실행되고 있는 프로그램 상태를 판단하는 방법을 설명하기 위한 구체적인 순서도이다.
도 10는 본 실시예들에 따른 타이머의 동작을 제어하는 방법을 설명하기 위한 구체적인 순서도이다.
이하, 본 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 실시예들은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 실시예들의 개시가 완전하도록 하며, 본 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 실시예들은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 실시예들의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
또한, 본 실시예들의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 실시예들의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하에서는, 첨부된 도면을 참조하여 본 실시예들에 따른 전자 제어 시스템을 설명한다.
도 1은 본 실시예들에 따른 전자 제어 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 1을 참조하면, 본 실시예들에 따른 전자 제어 시스템(100)은 크게, 컨트롤러 장치(110) 및 프로그램 감시 장치(120) 등을 포함하여 이루어질 수 있다.
컨트롤러 장치(110)는 각 프로그램에 서로 다른 워치독 신호를 할당할 수 있다. 예컨대, 컨트롤러 장치(110)는 특정 패턴을 가지는 서로 다른 워치독 신호를 생성할 수 있다. 그리고, 컨트롤러 장치(110)는 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당할 수 있다.
여기서, 워치독 신호는 프로그램 감시 장치(120)가 주기적으로 컨트롤러 장치(110)의 동작을 감시하는 신호(일 예로, 리셋시키지 못하도록 하는 신호)일 수 있다. 즉, 워치독 신호는 컨트롤러 장치(110)에서 현재 실행되는 프로그램이 얼라이브(alive)하고 있다는 것을 확인시킬 수 있는 신호일 수 있다.
여기서, 워치독 신호의 서로 다른 특정 패턴은 다른 워치독 신호들과 구별하기 위한 해당 워치독 신호만을 나타내는 패턴(또는, 정보)일 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 서로 다른 고유의 패턴화된 토글링 신호를 포함할 수 있지만, 이에 한정되는 것은 아니고 해당 워치독 신호만을 나타내는 패턴(또는, 정보)이라면, 어떠한 패턴(또는, 정보)이라도 포함할 수 있다.
상술한 바와 같이, 본 실시예들에 따른 전자 제어 시스템은, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 생성하여 이를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있다.
또한, 컨트롤러 장치(110)는 각 프로그램을 실행할 수 있다. 또한, 컨트롤러 장치(110)는 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력할 수 있다. 즉, 컨트롤러 장치(110)는 현재 각 프로그램이 실행되고 있을 때, 현재 실행 중인 프로그램에 할당된 워치독 신호를 순차적으로 출력할 수 있다.
또한, 컨트롤러 장치(110)는 마이크로 컨트롤러를 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램(워치독 신호 포함)을 처리(또는, 실행) 할 수 있는 장치(또는, 컴퓨터)라면 어떠한 장치(또는, 컴퓨터)라도 포함할 수 있다.
프로그램 감시 장치(120)는 컨트롤러 장치(110)와 연결될 수 있다. 또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받을 수 있다. 즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 각 프로그램이 실행되고 있을 때, 컨트롤러 장치(110)로부터 현재 실행 중인 프로그램에 할당된 워치독 신호를 순차적으로 입력받을 수 있다.
또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 입력받은 서로 다른 워치독 신호에 기반하여 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램의 상태를 판단할 수 있다.
구체적으로, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교할 수 있다. 즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호를, 각각 순서별로 비교할 수 있다.
여기서, 정상 프로그램 순서는 컨트롤러 장치(110)에서 현재 실행되고 있는 각 프로그램에 대한 정상적인 프로그램 순서일 수 있다.
이에, 정상 프로그램 순서에 따른 서로 다른 워치독 신호와 관련된 정보는 기 저장될 수 있지만, 이에 한정되는 것은 아니고 컨트롤러 장치(110)로부터 실시간으로 제공받을 수 있다.
그리고, 프로그램 감시 장치(120)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 감시 장치(120)는 비교결과 - 컨트롤러 장치(110)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
그리고, 프로그램 감시 장치(120)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 감시 장치(120)는 비교결과 - 컨트롤러 장치(110)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
한편, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무를 판단할 수 있다. 또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과에 따라 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.
구체적으로, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램에 해당하는 워치독 신호를 기 설정된 시간 동안 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
그리고, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램에 해당하는 워치독 신호를 기 설정된 시간 동안 입력받는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
상술한 바와 같이, 본 실시예들에 따른 전자 제어 시스템은, 컨트롤러 장치를 통해 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하고, 프로그램 감시 장치를 통해 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하여 컨트롤러 장치의 동작을 제어함으로써, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 전자 제어 시스템의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있다.
또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 컨트롤러 장치(110)의 동작을 제어할 수 있다.
여기서, 컨트롤러 장치(110)의 동작은 리셋 동작, 경고 동작, 복구 동작, 재실행 동작, 현재 상태 유지 동작 및 오동작/무한루프 상태로부터의 정상 복귀 동작 중 적어도 하나의 동작을 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램 상태 판단 결과에 따라 취할 수 있는 동작이라면 어떠한 동작이라도 포함할 수 있다.
일 예에서, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하여 컨트롤러 장치(110)가 리셋되도록 컨트롤러의 동작을 제어할 수 있다.
다른 예에서, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되어 컨트롤러 장치(110)가 리셋되지 못하도록 컨트롤러의 동작을 제어할 수 있다.
또한, 프로그램 감시 장치(120)는 워치독(watchdog) 장치를 포함할 수 있지만, 이에 한정되는 것은 아니고 컨트롤러 장치를 감시할 수 있는 장치라면 어떠한 장치라도 포함할 수 있다. 특히, 워치독(watchdog) 장치는 데드라인 즉, 시작과 끝이 있는 윈도우(window) 워치독 장치를 포함할 수 있다.
상술한 바와 같이, 본 실시예들에 따른 전자 제어 시스템은, 프로그램 감시 장치를 통해 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단하고, 타이머를 통해 프로그램 상태 판단부의 판단 결과에 따라 컨트롤러의 동작을 제어함으로써, 타어머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있다.
상술한 본 실시예들에 따른 전자 제어 시스템(100)은 차량을 위한 ECU(Electronic Control Unit)를 포함할 수 있지만, 이에 한정되는 것은 아니고 전자적으로 제어할 수 있는 장치(또는, 시스템)라면 어떠한 제어 장치(또는, 시스템)라도 포함할 수 있다.
도 2는 본 실시예들에 따른 컨트롤러 장치의 컴퓨터 시스템을 설명하기 위한 구체적인 블록 구성도이다.
도 2를 참조하면, 본 실시예들에 따른 컨트롤러 장치(110)는, 컴퓨터 시스템 내에, 예를 들어, 컴퓨터 판독가능 기록 매체로 구현될 수 있다. 도면에 도시된 바와 같이, 본 실시예들에 따른 컨트롤러 장치(110)의 컴퓨터 시스템은 하나 이상의 프로세서(111), 메모리(112), 저장부(113), 사용자 인터페이스 입력부(114) 및 사용자 인터페이스 출력부(115) 중 적어도 하나 이상의 요소를 포함할 수 있으며, 이들은 버스(116)를 통해 서로 통신할 수 있다. 또한, 본 실시예들에 따른 컨트롤러 장치(110)의 컴퓨터 시스템은 네트워크에 접속하기 위한 네트워크 인터페이스(117)를 또한 포함할 수 있다. 프로세서(111)는 메모리(112) 및/또는 저장부(113)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 메모리(112) 및 저장부(113)는 다양한 유형의 휘발성/비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(112-1) 및 RAM(112-2)을 포함할 수 있다.
또한, 본 실시예들에 따른 컨트롤러 장치(110)와 프로그램 감시 장치(120)는 하나의 장치로 이루어질 수 있다. 이에 따라, 본 실시예들은 컴퓨터로 구현되는 방법 또는 컴퓨터 실행 가능 명령어들이 저장된 비휘발성 컴퓨터 기록 매체로 구현될 수 있다. 상기 명령어들은 프로세서에 의해 실행될 때 적어도 실시예들에 따른 방법을 수행할 수 있다.
도 3은 본 실시예들에 따른 프로그램 감시 장치를 설명하기 위한 구체적인 블록 구성도이다.
도 3을 참조하면, 본 실시예들에 따른 프로그램 감시 장치(120)는 크게, 신호 입력부(121) 및 프로그램 상태 판단부(123) 등을 포함하여 이루어질 수 있다.
신호 입력부(121)는 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다.
구체적으로, 신호 입력부(121)는 컨트롤러 장치(110)와 연결될 수 있다. 또한, 신호 입력부(121)는 컨트롤러 장치(110)로부터 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다.
여기서, 각 프로그램에 할당된 서로 다른 워치독 신호는 서로 다른 특정 패턴을 가질 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 도 1을 참조하여 상술하였으므로, 이하에서는 설명의 간명성을 위해 생략한다.
상술한 바와 같이, 본 실시예들에 따른 프로그램 감지 장치는, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있다.
프로그램 상태 판단부(123)는 신호 입력부(121)로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.
구체적으로, 프로그램 상태 판단부(123)는 신호 입력부(121)와 연결될 수 있다. 또한, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 서로 다른 워치독 신호를 입력받을 수 있다.
프로그램 상태 판단부(123)는 신호 입력부(121)로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.
구체적으로, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교할 수 있다. 즉, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호를, 각각 순서별로 비교할 수 있다.
여기서, 정상 프로그램 순서는 컨트롤러 장치(110)에서 현재 실행되고 있는 각 프로그램에 대한 정상적인 프로그램 순서일 수 있다. 이에, 정상 프로그램 순서에 따른 서로 다른 워치독 신호와 관련된 정보는 기 저장될 수 있지만, 이에 한정되는 것은 아니고 신호 입력부(121)를 통해, 컨트롤러 장치(110)로부터 실시간으로 제공받을 수 있다.
그리고, 프로그램 상태 판단부(123)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 상태 판단부(123)는 비교결과 - 신호 입력부(121)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
그리고, 프로그램 상태 판단부(123)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 상태 판단부(123)는 비교결과 - 신호 입력부(121)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
한편, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무를 판단할 수 있다. 또한, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과에 따라 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.
구체적으로, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 기 설정된 시간 동안 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
그리고, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받은 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 기 설정된 시간 동안 입력받은 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
상술한 바와 같이, 본 실시예들에 따른 프로그램 감지 장치는, 신호 입력부를 통해 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받고, 프로그램 상태 판단부를 통해 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단함으로써, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있다.
본 실시예들에 따른 프로그램 감시 장치(120)는 타이머부(125)를 더 포함할 수 있다.
타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과에 따라 동작이 제어될 수 있다. 여기서, 타이머부(125)의 동작은 컨트롤러 장치(110)의 리셋 동작을 발생시키는 리셋 발생 동작, 컨트롤러 장치(110)의 경고 동작을 발생시키는 경고 발생 동작, 컨트롤러 장치(110)의 복구 동작을 발생시키는 복구 발생 동작, 컨트롤러 장치(110)의 재실행 동작을 발생시키는 재실행 발생 동작, 컨트롤러 장치(110)의 현재 상태 유지 동작을 발생시키는 현재 상태 유지 발생 동작 및 컨트롤러 장치(110)의 오동작/무한루프 상태로부터의 정상 복귀 동작을 발생시키는 정상 복귀 발생 동작 중 적어도 하나의 동작을 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램 상태 판단 결과에 따라 컨트롤러 장치(110)의 동작을 발생시킬 수 있는 동작이라면 어떠한 동작이라도 포함할 수 있다.
일 예에서, 타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성할 수 있다. 그리고, 타이머부(125)는 리셋 신호를 컨트롤러 장치(110)로 제공하여 컨트롤러 장치(110)가 리셋되도록 컨트롤러의 동작을 제어할 수 있다.
다른 예에서, 타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)될 수 있다. 즉, 타이머부(125)는 클리어(clear)되어 컨트롤러 장치(110)가 리셋되지 못하도록 컨트롤러 장치(110)의 동작을 제어할 수 있다.
상술한 바와 같이, 본 실시예들에 따른 프로그램 감지 장치는, 프로그램 상태 판단부를 통해 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단하고, 타이머를 통해 프로그램 상태 판단부의 판단 결과에 따라 컨트롤러의 동작을 제어함으로써, 타이머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있다.
도 4는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 마이크로 컨트롤러(110-1)는 프로그램 A 및 프로그램 B를 순차적으로 실행할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 A를 실행할 때, 프로그램 A에 할당된 워치독 신호 A를 윈도우 워치독으로 출력할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 B를 실행할 때, 프로그램 B에 할당된 워치독 신호 B를 윈도우 워치독으로 출력할 수 있다.
그리고, 윈도우 워치독(120-1)은 마이크로 컨트롤러(110-1)로부터 실행되는 프로그램 순서에 따라 출력되는 워치독 신호A 및 워치독 신호 B를 순차적으로 입력받을 수 있다. 그리고, 윈도우 워치독(120-1)은 순차적으로 입력받은 워치독 신호 A 및 워치독 신호 B의 순서와 정상 프로그램에 따른 워치독 신호 A 및 워치독 신호 B의 순서가 일치하는 경우, 마이크로 컨트롤러(110-1)에서 프로그램 A 및 프로그램 B가 정상적으로 실행되고 있는 것으로 판단하여, 내부의 타이머를 클리어(clear)어 하여 마이크로 컨트롤러(110-1)를 리셋되지 못하도록 제어할 수 있다.
도 5는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 비정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 마이크로 컨트롤러(110-1)는 프로그램 A 및 프로그램 B를 순차적으로 실행할 수 있다. 그러나, 프로그램 또는 마이크로 컨트롤러(110-1)의 오류로 인해, 마이크로 컨트롤러(110-1)는 프로그램 B 및 프로그램 A를 순차적으로 실행할 수 있다.
이런 경우, 마이크로 컨트롤러(110-1)는 프로그램 B를 실행할 때, 프로그램 B에 할당된 워치독 신호 B를 윈도우 워치독으로 출력할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 A를 실행할 때, 프로그램 A에 할당된 워치독 신호 A를 윈도우 워치독으로 출력할 수 있다.
그리고, 윈도우 워치독(120-1)은 마이크로 컨트롤러로(110-1)부터 실행되는 프로그램 순서에 따라 출력되는 워치독 신호 B 및 워치독 신호 A를 순차적으로 입력받을 수 있다. 그리고, 윈도우 워치독(120-1)은 순차적으로 입력받은 워치독 신호 B 및 워치독 신호 A의 순서와 정상 프로그램에 따른 워치독 신호 A 및 워치독 신호 B의 순서가 불일치하는 경우, 마이크로 컨트롤러(110-1)에서 프로그램 B 및 프로그램 A가 비정상적으로 실행되고 있는 것으로 판단하여, 리셋 신호를 생성하고, 상기 생성된 리셋 신호를 마이크로 컨트롤러(110-1)로 제공하여, 마이크로 컨트롤러(110-1)를 리셋시킬 수 있다.
이하에서는, 첨부된 도면을 참조하여 본 실시예들에 따른 프로그램 감시 방법에 대해 설명한다. 특히, 도 1 내지 도 5를 참조하여 상술한 본 실시예들에 따른 프로그램 감시 장치 및 전자 제어 시스템과 중복되는 부분은 설명의 간명성을 위하여 이하에서 생략한다.
본 실시예들에 따른 프로그램 감시 방법은 컨트롤러 장치 및 프로그램 감시 장치를 포함하는 장치 즉, 본 실시예들에 따른 전자 제어 시스템을 이용하여 수행될 수 있다.
도 6은 본 실시예들에 따른 프로그램 감시 방법을 설명하기 위한 전체 순서도이다.
도 6을 참조하면, 본 실시예들에 따른 프로그램 감시 방법은 크게, 서로 다른 워치독 신호를 입력받는 단계(S200) 및 현재 실행되고 있는 프로그램 상태를 판단하는 단계(S300) 등을 포함하여 이루어질 수 있다.
먼저, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다(S200).
여기서, 각 프로그램에 할당된 서로 다른 워치독 신호는 서로 다른 특정 패턴을 가질 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 도 1을 참조하여 상술하였으므로, 이하에서는 설명의 간명성을 위해 생략한다.
이후, 단계 S200에서 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다(S300).
도 7은 본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법을 설명하기 위한 구체적인 순서도이다.
도 7을 참조하면, 본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법은 서로 다른 워치독 신호를 입력받는 단계(S200) 이전에 수행될 수 있다.
본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법은 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력할 수 있다(S100). 즉, 현재 각 프로그램이 실행되고 있을 때, 현재 실행 중인 프로그램에 할당된 워치독 신호를 순차적으로 출력할 수 있다.
구체적으로, 먼저 특정 패턴을 가지는 서로 다른 워치독 신호를 생성할 수 있다(S110).
여기서, 워치독 신호의 서로 다른 특정 패턴은 다른 워치독 신호들과 구별하기 위한 해당 워치독 신호만을 나타내는 패턴(또는, 정보)일 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 서로 다른 고유의 패턴화된 토글링 신호를 포함할 수 있지만, 이에 한정되는 것은 아니고 해당 워치독 신호만을 나타내는 패턴(또는, 정보)이라면, 어떠한 패턴(또는, 정보)이라도 포함할 수 있다.
이후, 단계 S110에서 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당할 수 있다(S130).
이후, 단계 S130에서 각 프로그램마다 할당된 특정 패턴을 가지는 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력할 수 있다(S150). 즉, 현재 각 프로그램이 실행되고 있을 때, 현재 실행 중인 프로그램에 할당된 특정 패턴을 가지는 워치독 신호를 순차적으로 출력할 수 있다.
도 8은 본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법을 설명하기 위한 구체적인 순서도이다.
도 8을 참조하면, 본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법은 서로 다른 워치독 신호를 출력하는 단계(S100) 이후에 수행될 수 있다.
본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법(S200)은 먼저 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무를 판단할 수 있다(S210).
이후, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 입력되지 않는 경우, 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단할 수 있다(S230).
즉, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 기 설정된 시간 동안 입력되지 않는 경우, 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단할 수 있다.
그리고, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 입력된 경우, 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다(S250).
즉, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 기 설정된 시간 동안 입력된 경우, 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다.
도 9는 본 실시예들에 따른 현재 실행되고 있는 프로그램 상태를 판단하는 방법을 설명하기 위한 구체적인 순서도이다.
도 9를 참조하면, 본 실시예들에 따른 현재 실행되고 있는 프로그램 상태를 판단하는 방법(S300)은 먼저 단계 S200의 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교할 수 있다(S310).
즉, 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호를, 각각 순서별로 비교할 수 있다. 여기서, 정상 프로그램 순서는 현재 실행되고 있는 각 프로그램에 대한 정상적인 프로그램 순서일 수 있다.
이후, 단계 S310의 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다(S330).
즉, 단계 S310의 비교 결과 - 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 불일치 하는 경우, 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.
그리고, 단계 S310의 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다(S350).
즉, 단계 S310의 비교 결과 - 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 일치 하는 경우, 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.
도 10는 본 실시예들에 따른 타이머의 동작을 제어하는 방법을 설명하기 위한 구체적인 순서도이다.
도 10을 참조하면, 본 실시예들에 따른 타이머의 동작을 제어하는 방법은 현재 실행되고 있는 프로그램 상태를 판단하는 단계(S300) 이후에 수행될 수 있다.
본 실시예들에 따른 타이머의 동작을 제어하는 방법은 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 타이머의 동작을 제어할 수 있다(S400).
여기서, 타이머의 동작은 리셋 발생 동작, 경고 발생 동작, 복구 발생 동작, 재실행 발생 동작 및 현재 상태 유지 발생 동작 중 적어도 하나의 동작을 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램 상태 판단 결과에 따라 컨트롤러 장치의 동작을 발생시킬 수 있는 동작이라면 어떠한 동작이라도 포함할 수 있다.
구체적으로, 단계 S300에서의 현재 실행되고 있는 프로그램 상태 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하도록 상기 타이머의 동작을 제어할 수 있다(S410). 즉, 리셋 신호를 컨트롤러 장치로 제공하여 컨트롤러 장치가 리셋되도록 컨트롤러의 동작을 제어할 수 있다.
그리고, 단계 S300에서의 현재 실행되고 있는 프로그램 상태 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 타이머가 클리어(clear)되도록 타이머의 동작을 제어할 수 있다. 즉, 타이머가 클리어(clear)되어 컨트롤러 장치가 리셋되지 못하도록 컨트롤러 장치의 동작을 제어할 수 있다.
전술한 본 실시예들에 따른 프로그램 감시 장치 및 방법과 전자 제어 시스템에 대한 실시예들에 대하여 설명하였지만, 본 실시예들은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 실시예들에 속한다.
100: 전자 제어 시스템 110: 컨트롤러 장치
120: 프로그램 감시 장치 121: 신호 입력부
123: 프로그램 상태 판단부 125: 타이머부

Claims (20)

  1. 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 신호 입력부; 및
    상기 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 프로그램 상태 판단부를 포함하는 프로그램 감시 장치.
  2. 제 1 항에 있어서,
    상기 각 프로그램에 할당된 서로 다른 워치독 신호는, 서로 다른 특정 패턴을 가지는 프로그램 감시 장치.
  3. 제 1 항에 있어서,
    상기 프로그램 상태 판단부는,
    상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 프로그램 감시 장치.
  4. 제 1 항에 있어서,
    상기 프로그램 상태 판단부는,
    상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단하는 프로그램 감시 장치.
  5. 제 1 항에 있어서,
    상기 프로그램 상태 판단부는,
    상기 신호 입력부에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 프로그램 감시 장치.
  6. 제 1 항에 있어서,
    상기 프로그램 상태 판단부의 판단 결과에 따라 동작이 제어되는 타이머부를 더 포함하는 프로그램 감시 장치.
  7. 제 6 항에 있어서,
    상기 타이머부는,
    상기 프로그램 상태 판단부의 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하고,
    상기 프로그램 상태 판단부의 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되는 프로그램 감시 장치.
  8. 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 컨트롤러 장치; 및
    상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받고, 상기 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하며, 판단 결과에 따라 상기 컨트롤러 장치의 동작을 제어하는 프로그램 감시 장치를 포함하는 전자 제어 시스템.
  9. 제 8 항에 있어서,
    상기 컨트롤러 장치는,
    특정 패턴을 가지는 서로 다른 워치독 신호를 생성하고, 상기 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당하는 전자 제어 시스템.
  10. 제 8 항에 있어서,
    상기 프로그램 감시 장치는,
    상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 전자 제어 시스템.
  11. 제 8 항에 있어서,
    상기 프로그램 감시 장치는,
    상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 프로그램 감시 장치 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단하는 전자 제어 시스템.
  12. 제 8 항에 있어서,
    상기 프로그램 감시 장치는,
    상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 전자 제어 시스템.
  13. 제 8 항에 있어서,
    상기 프로그램 감시 장치는,
    상기 판단 결과 ― 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하여 상기 컨트롤러 장치가 리셋되도록 상기 컨트롤러의 동작을 제어하고,
    상기 판단 결과 ― 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되어 상기 컨트롤러 장치가 리셋되지 못하도록 상기 컨트롤러의 동작을 제어하는 전자 제어 시스템.
  14. 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계; 및
    상기 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계를 포함하는 프로그램 감시 방법.
  15. 제 14 항에 있어서,
    상기 서로 다른 워치독 신호를 입력받는 단계 이전에,
    상기 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 단계를 더 포함하는 프로그램 감시 방법.
  16. 제 15 항에 있어서,
    상기 서로 다른 워치독 신호를 입력받는 단계 이전에,
    특정 패턴을 가지는 서로 다른 워치독 신호를 생성하는 단계;
    상기 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당하는 단계; 및
    상기 각 프로그램마다 할당된 특정 패턴을 가지는 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 단계를 포함하는 프로그램 감시 방법.
  17. 제 15 항에 있어서,
    상기 서로 다른 워치독 신호를 출력하는 단계 이후,
    상기 서로 다른 워치독 신호를 입력받는 단계는,
    상기 출력된 서로 다른 워치독 신호의 입력 유무를 판단하는 단계;
    상기 판단 결과 ― 상기 출력된 서로 다른 워치독 신호가 입력되지 않는 경우, 상기 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단하는 단계; 및
    상기 판단 결과 ― 상기 출력된 서로 다른 워치독 신호가 입력된 경우, 상기 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계를 포함하는 프로그램 감시 방법.
  18. 제 15 항에 있어서,
    상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
    입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하는 단계; 및
    상기 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태라고 판단하는 단계를 포함하는 프로그램 감시 방법.
  19. 제 15 항에 있어서,
    상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
    입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하는 단계; 및
    상기 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 정상 상태라고 판단하는 단계를 포함하는 프로그램 감시 방법.
  20. 제 15 항에 있어서,
    상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계 이후에,
    상기 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 타이머의 동작을 제어하는 단계를 더 포함하는 프로그램 감시 방법.

KR1020180010934A 2018-01-29 2018-01-29 프로그램 감시 장치 및 방법과 전자 제어 시스템 KR102488980B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180010934A KR102488980B1 (ko) 2018-01-29 2018-01-29 프로그램 감시 장치 및 방법과 전자 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180010934A KR102488980B1 (ko) 2018-01-29 2018-01-29 프로그램 감시 장치 및 방법과 전자 제어 시스템

Publications (2)

Publication Number Publication Date
KR20190091854A true KR20190091854A (ko) 2019-08-07
KR102488980B1 KR102488980B1 (ko) 2023-01-17

Family

ID=67621712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180010934A KR102488980B1 (ko) 2018-01-29 2018-01-29 프로그램 감시 장치 및 방법과 전자 제어 시스템

Country Status (1)

Country Link
KR (1) KR102488980B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351700A (ja) * 2001-05-24 2002-12-06 Denso Corp コンピュータシステム、プログラム
JP2012137920A (ja) * 2010-12-27 2012-07-19 Toyota Motor Corp 電子制御装置、起動制御方法
KR20150004232A (ko) * 2013-07-02 2015-01-12 현대오트론 주식회사 와치독 장치 및 그 제어 방법
KR20150007732A (ko) * 2013-07-12 2015-01-21 현대모비스 주식회사 와치독 시스템 및 와치독 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351700A (ja) * 2001-05-24 2002-12-06 Denso Corp コンピュータシステム、プログラム
JP2012137920A (ja) * 2010-12-27 2012-07-19 Toyota Motor Corp 電子制御装置、起動制御方法
KR20150004232A (ko) * 2013-07-02 2015-01-12 현대오트론 주식회사 와치독 장치 및 그 제어 방법
KR20150007732A (ko) * 2013-07-12 2015-01-21 현대모비스 주식회사 와치독 시스템 및 와치독 제어 방법

Also Published As

Publication number Publication date
KR102488980B1 (ko) 2023-01-17

Similar Documents

Publication Publication Date Title
CN110399271B (zh) 日志处理设备、方法、电子设备及计算机可读存储介质
KR102263955B1 (ko) 적어도 부분 자율 자동차용 제어 시스템의 구성
US20150067277A1 (en) Multiprocessor system for restricting an access request to a shared resource
US9613362B2 (en) Monitoring a situation by comparing parallel data streams
JP2021533486A (ja) 人工知能プログラムの実行を管理するための監視制御システム、その方法、および非一時的コンピュータ可読媒体
WO2017162049A1 (zh) 驱动模块内存数据监测方法及装置
KR20190091854A (ko) 프로그램 감시 장치 및 방법과 전자 제어 시스템
KR102372958B1 (ko) 멀티 클라우드 환경에서 애플리케이션 성능 모니터링 방법 및 장치
JP2003099120A (ja) システムの機能性の監視方法,その監視装置,メモリ素子,コンピュータプログラム
US20210352091A1 (en) Attack detection device and computer readable medium
EP3557421B1 (en) System and method for automatic generation of a diagnostic model
US10083138B2 (en) Controller, bus circuit, control method, and recording medium
US11544171B2 (en) Method for monitoring the free space of a memory stack
CN111737700A (zh) 一种可信芯片固件的融合***、方法、装置及设备
US20040060050A1 (en) Method and controller for program control of a computer program having multitasking capability
JP5938096B2 (ja) 信頼度算出装置
CN116010026B (zh) 一种基于虚拟路径的微服务控制方法及控制***
US20240007486A1 (en) Signal detection apparatus, vehicle, and method
CN113312202B (zh) 基于组件的故障处理逻辑生成方法、装置、设备和介质
US20170293852A1 (en) Systems and methods for assigning a fire system safety score and for predictive analysis via data mining
WO2023119774A1 (ja) アクセラレータ装置を利用した情報処理装置及び情報処理方法
JP7032548B2 (ja) 制御装置
US20230350695A1 (en) Information processing device and profile tool control method
KR102048302B1 (ko) 제어 유닛 및 온도 판정 방법
US20210173938A1 (en) Security risk reduction method and security risk reduction system

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant