KR102488980B1 - Apparatus and method for monitoring program and electronic control system - Google Patents

Apparatus and method for monitoring program and electronic control system Download PDF

Info

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

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

본 실시예들은 프로그램 감시 장치 및 방법과 전자 제어 시스템에 관한 것이다. 프로그램 감시 장치는 신호 입력부를 통해 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받고, 프로그램 상태 판단부를 통해 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.The present embodiments relate to a program monitoring apparatus and method and an electronic control system. The program monitoring device receives different watchdog signals assigned to each program through the signal input unit according to the order of programs currently being executed, and based on the different watchdog signals received from the signal input unit through the program status determination unit, the current execution It is possible to determine the status of the running program.

Description

프로그램 감시 장치 및 방법과 전자 제어 시스템{APPARATUS AND METHOD FOR MONITORING PROGRAM AND ELECTRONIC CONTROL SYSTEM}Program monitoring device and method and electronic control system

본 실시예들은 프로그램 감시 장치에 관한 것으로, 더욱 상세하게는 프로그램 감시 장치 및 이를 포함하는 전자 제어 시스템에 관한 것이다.The present embodiments relate to a program monitoring device, and more particularly, to a program monitoring device and an electronic control system including the same.

일반적으로, 프로그램 감시 장치는 컴퓨터 장치 특히, 컨트롤러의 정확한 상태를 감시하는데 사용되는 컨트롤러의 주변 장치일 수 있다. 최근에는 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높이기 위해, 이러한 프로그램 감시 장치에 대한 연구가 활발히 진행되고 있다.In general, the program monitoring device may be a computer device, in particular, a peripheral device of a controller used to monitor the correct state of the controller. Recently, in order to increase the reliability and safety index of the controller, research on such a program monitoring device has been actively conducted.

이와 더불어, 최근에는 차량의 신뢰성 및 세이프티(safety) 지수를 높이기 위해, 차량의 전자 제어 시스템의 정확한 상태를 감시할 수 있는 프로그램 감시 장치에 대한 연구가 활발히 진행되고 있다.In addition, recently, in order to increase the reliability and safety index of the vehicle, research on a program monitoring device capable of monitoring the exact state of the electronic control system of the vehicle has been actively conducted.

본 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 실시예들의 목적은 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있는 프로그램 감시 장치를 제공하는데 있다.The present embodiments have been devised to solve the above problems, and an object of the present embodiments is to provide a program monitoring device capable of increasing reliability and safety index of a controller.

또한, 본 실시예들의 목적은, 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있는 프로그램 감시 방법을 제공하는데 있다.In addition, an object of the present embodiments is to provide a program monitoring method capable of increasing reliability and safety index of a controller.

또한, 본 실시예들의 목적은, 차량의 신뢰성 및 세이프티(safety) 지수를 높일 수 있는 전자 제어 시스템을 제공하는데 있다.In addition, an object of the present embodiments is to provide an electronic control system capable of increasing vehicle reliability and safety index.

전술한 목적을 달성하기 위하여 본 실시예들의 일 측면은, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 신호 입력부 및 상기 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 프로그램 상태 판단부를 포함하는 프로그램 감시 장치를 제공하는 것이다.In order to achieve the above object, one aspect of the present embodiments is a signal input unit that receives different watchdog signals assigned to each program according to the order of programs currently being executed, and different watchdog signals input from the signal input unit It is to provide a program monitoring device including a program state determination unit that determines the state of the program currently being executed based on the above.

또한, 전술한 목적을 달성하기 위하여 본 실시예들의 일 측면은, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 컨트롤러 장치 및 상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받고, 상기 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하며, 판단 결과에 따라 상기 컨트롤러 장치의 동작을 제어하는 프로그램 감시 장치를 포함하는 전자 제어 시스템을 제공하는 것이다.In addition, in order to achieve the above object, one aspect of the present embodiments is a controller device that outputs different watchdog signals assigned to each program according to the order of the program currently being executed and a program currently being executed from the controller device Receives different watchdog signals output in sequence, determines the state of the program currently being executed in the controller device based on the different watchdog signals received from the controller device, and determines the controller device according to the determination result It is to provide an electronic control system including a program monitoring device that controls the operation of the system.

또한, 전술한 목적을 달성하기 위하여 본 실시예들의 일 측면은, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계 및 상기 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계를 포함하는 프로그램 감시 방법을 제공하는 것이다.In addition, in order to achieve the above object, one aspect of the present embodiments is to receive different watchdog signals assigned to each program according to the order of programs currently being executed and based on the received different watchdog signals It is to provide a program monitoring method comprising the step of determining the state of the currently executed program by doing so.

이상에서 설명한 바와 같은 본 실시예들의 프로그램 감시 장치에 따르면, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있는 효과가 있다.According to the program monitoring apparatus of the present embodiments as described above, it is possible to determine the execution order of the currently executed program using different watchdog signals allocated to each program, thereby increasing the reliability and safety index of the controller. can be increased, and since a separate communication line is not required, there is an effect of lowering the price of the program monitoring device.

또한, 본 실시예들의 프로그램 감시 장치에 따르면, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있는 효과가 있다.In addition, according to the program monitoring apparatus of the present embodiments, by using different watchdog signals having different specific patterns, it is possible to accurately determine the execution order of the program currently being executed, and a separate communication line is not required, so that the program There is an effect that can lower the price of the monitoring device.

또한, 본 실시예들의 프로그램 감시 장치에 따르면, 타이머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있는 효과가 있다.In addition, according to the program monitoring device of the present embodiments, the execution order of the currently executed program can be accurately determined through a simple structure including a timer, and the cost of the program monitoring device can be reduced because a separate communication line is not required. There is an effect.

이상에서 설명한 바와 같은 본 실시예들의 전자 제어 시스템에 따르면, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 전자 제어 시스템의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있는 효과가 있다.According to the electronic control system of the present embodiments as described above, it is possible to determine the execution order of the program currently being executed using different watchdog signals assigned to each program, thereby increasing the reliability and safety of the electronic control system. ) can increase the index, and there is an effect of lowering the price of the electronic control system because a separate communication line is not required.

또한, 본 실시예들의 전자 제어 시스템에 따르면, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 생성하여 이를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있는 효과가 있다.In addition, according to the electronic control system of the present embodiments, by generating and using different watchdog signals having different specific patterns, it is possible to accurately determine the execution order of the currently executed program, and a separate communication line Since it is not necessary, it has the effect of lowering the price of the electronic control system.

또한, 본 실시예들의 전자 제어 시스템에 따르면, 타어머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있는 효과가 있다.In addition, according to the electronic control system of the present embodiments, the execution sequence of the currently executed program can be accurately determined through a simple structure including a timer, and a separate communication line is not required, thereby reducing the cost of the electronic control system. There are possible effects.

도 1은 본 실시예들에 따른 전자 제어 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 실시예들에 따른 컨트롤러 장치의 컴퓨터 시스템을 설명하기 위한 구체적인 블록 구성도이다.
도 3은 본 실시예들에 따른 프로그램 감시 장치를 설명하기 위한 구체적인 블록 구성도이다.
도 4는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.
도 5는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 비정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.
도 6은 본 실시예들에 따른 프로그램 감시 방법을 설명하기 위한 전체 순서도이다.
도 7은 본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법을 설명하기 위한 구체적인 순서도이다.
도 8은 본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법을 설명하기 위한 구체적인 순서도이다.
도 9는 본 실시예들에 따른 현재 실행되고 있는 프로그램 상태를 판단하는 방법을 설명하기 위한 구체적인 순서도이다.
도 10는 본 실시예들에 따른 타이머의 동작을 제어하는 방법을 설명하기 위한 구체적인 순서도이다.
1 is an overall block configuration diagram for explaining an electronic control system according to the present embodiments.
Figure 2 is a specific block diagram for explaining the computer system of the controller device according to the present embodiments.
3 is a detailed block configuration diagram for explaining a program monitoring apparatus according to the present embodiments.
4 is a diagram for explaining the operation of a window watchdog when a program currently being executed in a microcontroller according to the present embodiments is normally executed.
5 is a diagram for explaining the operation of a window watchdog when a program currently being executed in a microcontroller according to the present embodiments is abnormally executed.
6 is an overall flowchart for explaining a program monitoring method according to the present embodiments.
7 is a detailed flowchart for explaining a method of outputting different watchdog signals according to the present embodiments.
8 is a detailed flowchart for explaining a method of receiving different watchdog signals according to the present embodiments.
9 is a detailed flowchart for explaining a method of determining the state of a program currently being executed according to the present embodiments.
10 is a detailed flowchart for explaining a method of controlling the operation of a timer according to the present embodiments.

이하, 본 실시예들의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 실시예들은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 실시예들의 개시가 완전하도록 하며, 본 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 실시예들은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.Hereinafter, the advantages and characteristics of the present embodiments, and methods for achieving them will become clear with reference to the embodiments described later in detail in conjunction with the accompanying drawings. However, the present embodiments are not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only these embodiments make the disclosure of the present embodiments complete, and common in the art to which the present embodiments belong. It is provided to fully inform those who have knowledge of the scope of the invention, and the embodiments are only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification. “And/or” includes each and every combination of one or more of the recited items.

비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 실시예들의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.Although first, second, etc. are used to describe various elements, components and/or sections, it is needless to say that these elements, components and/or sections are not limited by these terms. These terms are only used to distinguish one element, component or section from another element, component or section. Accordingly, it goes without saying that the first element, first component, or first section referred to below may be the second element, second component, or second section within the technical spirit of the present embodiments.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Terminology used herein is for describing the embodiments and is not intended to limit the embodiments. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is present in the presence of one or more other components, steps, operations, and/or elements. or do not rule out additions.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present embodiments belong. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

또한, 본 실시예들의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 실시예들의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, in describing the embodiments of the present embodiments, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present embodiments, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the embodiments of the present embodiments, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

이하에서는, 첨부된 도면을 참조하여 본 실시예들에 따른 전자 제어 시스템을 설명한다.Hereinafter, an electronic control system according to the present embodiments will be described with reference to the accompanying drawings.

도 1은 본 실시예들에 따른 전자 제어 시스템을 설명하기 위한 전체적인 블록 구성도이다.1 is an overall block configuration diagram for explaining an electronic control system according to the present embodiments.

도 1을 참조하면, 본 실시예들에 따른 전자 제어 시스템(100)은 크게, 컨트롤러 장치(110) 및 프로그램 감시 장치(120) 등을 포함하여 이루어질 수 있다.Referring to FIG. 1 , the electronic control system 100 according to the present embodiments may include a controller device 110 and a program monitoring device 120 .

컨트롤러 장치(110)는 각 프로그램에 서로 다른 워치독 신호를 할당할 수 있다. 예컨대, 컨트롤러 장치(110)는 특정 패턴을 가지는 서로 다른 워치독 신호를 생성할 수 있다. 그리고, 컨트롤러 장치(110)는 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당할 수 있다.The controller device 110 may allocate different watchdog signals to each program. For example, the controller device 110 may generate different watchdog signals having a specific pattern. In addition, the controller device 110 may map different watchdog signals having generated specific patterns to each program and allocate them to each program.

여기서, 워치독 신호는 프로그램 감시 장치(120)가 주기적으로 컨트롤러 장치(110)의 동작을 감시하는 신호(일 예로, 리셋시키지 못하도록 하는 신호)일 수 있다. 즉, 워치독 신호는 컨트롤러 장치(110)에서 현재 실행되는 프로그램이 얼라이브(alive)하고 있다는 것을 확인시킬 수 있는 신호일 수 있다.Here, the watchdog signal may be a signal for the program monitoring device 120 to periodically monitor the operation of the controller device 110 (eg, a signal preventing resetting). That is, the watchdog signal may be a signal capable of confirming that a program currently executed in the controller device 110 is alive.

여기서, 워치독 신호의 서로 다른 특정 패턴은 다른 워치독 신호들과 구별하기 위한 해당 워치독 신호만을 나타내는 패턴(또는, 정보)일 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 서로 다른 고유의 패턴화된 토글링 신호를 포함할 수 있지만, 이에 한정되는 것은 아니고 해당 워치독 신호만을 나타내는 패턴(또는, 정보)이라면, 어떠한 패턴(또는, 정보)이라도 포함할 수 있다.Here, the different specific patterns of the watchdog signal may be patterns (or information) indicating only the corresponding watchdog signal to be distinguished from other watchdog signals. In particular, different specific patterns of the watchdog signal may include different unique patterned toggling signals, but are not limited thereto, and if the pattern (or information) representing only the corresponding watchdog signal, any pattern (or , information) may also be included.

상술한 바와 같이, 본 실시예들에 따른 전자 제어 시스템은, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 생성하여 이를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있다.As described above, the electronic control system according to the present embodiments can accurately determine the execution order of the currently executed program by generating and using different watchdog signals having different specific patterns, and separate Since no communication line is required, the cost of the electronic control system can be reduced.

또한, 컨트롤러 장치(110)는 각 프로그램을 실행할 수 있다. 또한, 컨트롤러 장치(110)는 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력할 수 있다. 즉, 컨트롤러 장치(110)는 현재 각 프로그램이 실행되고 있을 때, 현재 실행 중인 프로그램에 할당된 워치독 신호를 순차적으로 출력할 수 있다.Also, the controller device 110 may execute each program. In addition, the controller device 110 may output different watchdog signals assigned to each program according to the order of programs currently being executed. That is, when each program is currently being executed, the controller device 110 may sequentially output watchdog signals allocated to the currently executing program.

또한, 컨트롤러 장치(110)는 마이크로 컨트롤러를 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램(워치독 신호 포함)을 처리(또는, 실행) 할 수 있는 장치(또는, 컴퓨터)라면 어떠한 장치(또는, 컴퓨터)라도 포함할 수 있다.In addition, the controller device 110 may include a microcontroller, but is not limited thereto, and any device (or computer) capable of processing (or executing) a program (including a watchdog signal) computer) may also be included.

프로그램 감시 장치(120)는 컨트롤러 장치(110)와 연결될 수 있다. 또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받을 수 있다. 즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 각 프로그램이 실행되고 있을 때, 컨트롤러 장치(110)로부터 현재 실행 중인 프로그램에 할당된 워치독 신호를 순차적으로 입력받을 수 있다.The program monitoring device 120 may be connected to the controller device 110 . In addition, the program monitoring device 120 may receive different watchdog signals output from the controller device 110 according to the order of programs currently being executed. That is, when each program is currently being executed in the controller device 110, the program monitoring device 120 may sequentially receive a watchdog signal allocated to the program currently being executed from the controller device 110.

또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 입력받은 서로 다른 워치독 신호에 기반하여 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램의 상태를 판단할 수 있다.Also, the program monitoring device 120 may determine a state of a program currently being executed in the controller device 110 based on different watchdog signals received from the controller device 110 .

구체적으로, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교할 수 있다. 즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호를, 각각 순서별로 비교할 수 있다.Specifically, the program monitoring device 120 may compare different watchdog signals according to the order received from the controller device 110 with different watchdog signals according to the normal program order. That is, the program monitoring device 120 may compare the watchdog signal sequentially received from the controller device 110 and the watchdog signal sequentially of the normal program sequentially.

여기서, 정상 프로그램 순서는 컨트롤러 장치(110)에서 현재 실행되고 있는 각 프로그램에 대한 정상적인 프로그램 순서일 수 있다.Here, the normal program sequence may be a normal program sequence for each program currently being executed in the controller device 110 .

이에, 정상 프로그램 순서에 따른 서로 다른 워치독 신호와 관련된 정보는 기 저장될 수 있지만, 이에 한정되는 것은 아니고 컨트롤러 장치(110)로부터 실시간으로 제공받을 수 있다.Accordingly, information related to different watchdog signals according to a normal program sequence may be pre-stored, but is not limited thereto and may be provided in real time from the controller device 110 .

그리고, 프로그램 감시 장치(120)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다. Further, the program monitoring device 120 may determine that the program currently being executed in the controller device 110 is in an abnormal state when the comparison result - watchdog signals according to the sequence do not match each other.

즉, 프로그램 감시 장치(120)는 비교결과 - 컨트롤러 장치(110)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다. That is, the program monitoring device 120 determines the result of comparison - the program currently being executed in the controller device 110 when the watchdog signal received sequentially from the controller device 110 and the watchdog signal sequentially of the normal program do not match each other. can be judged to be in an abnormal state.

그리고, 프로그램 감시 장치(120)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다. In addition, the program monitoring device 120 may determine that the program currently being executed in the controller device 110 is in a normal state when the comparison result - watchdog signals according to the order match each other.

즉, 프로그램 감시 장치(120)는 비교결과 - 컨트롤러 장치(110)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.That is, the program monitoring device 120 determines the comparison result - when the watchdog signal received sequentially from the controller device 110 and the watchdog signal sequentially of the normal program match each other, the program currently being executed in the controller device 110 can be judged to be in a normal state.

한편, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무를 판단할 수 있다. 또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과에 따라 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.Meanwhile, the program monitoring device 120 may determine whether different watchdog signals output from the controller device 110 are input. In addition, the program monitoring device 120 may determine the state of a program currently being executed in the controller device 110 according to a result of determining whether different watchdog signals output from the controller device 110 are input.

구체적으로, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.Specifically, the program monitoring device 120 determines whether different watchdog signals output from the controller device 110 are input or not - different watchdog signals output according to the order of programs currently being executed from the controller device 110 If not received, it can be determined that the program currently being executed in the controller device 110 is in an abnormal state.

즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램에 해당하는 워치독 신호를 기 설정된 시간 동안 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.That is, the program monitoring device 120 determines whether different watchdog signals output from the controller device 110 are input or not - sends a watchdog signal corresponding to a program currently being executed from the controller device 110 for a preset time. If the input is not received, it may be determined that the program currently being executed in the controller device 110 is in an abnormal state.

그리고, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.Then, the program monitoring device 120 determines whether different watchdog signals output from the controller device 110 are input or not - different watchdog signals output from the controller device 110 according to the order of the program currently being executed. When input is received, it may be determined that the program currently being executed in the controller device 110 is in a normal state.

즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 컨트롤러 장치(110)로부터 현재 실행되고 있는 프로그램에 해당하는 워치독 신호를 기 설정된 시간 동안 입력받는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.That is, the program monitoring device 120 determines whether different watchdog signals output from the controller device 110 are input or not - sends a watchdog signal corresponding to a program currently being executed from the controller device 110 for a preset time. When input is received, it may be determined that the program currently being executed in the controller device 110 is in a normal state.

상술한 바와 같이, 본 실시예들에 따른 전자 제어 시스템은, 컨트롤러 장치를 통해 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하고, 프로그램 감시 장치를 통해 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하여 컨트롤러 장치의 동작을 제어함으로써, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 전자 제어 시스템의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있다.As described above, the electronic control system according to the present embodiments outputs different watchdog signals assigned to each program through the controller device according to the order of the program currently being executed, and outputs different watchdog signals assigned to each program through the program monitoring device from the controller device. Programs currently being executed using different watchdog signals allocated to each program by controlling the operation of the controller device by determining the state of the program currently being executed in the controller device based on the received different watchdog signals It is possible to determine the order of execution of the electronic control system, so the reliability and safety index of the electronic control system can be increased, and the price of the electronic control system can be reduced because a separate communication line is not required.

또한, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 컨트롤러 장치(110)의 동작을 제어할 수 있다.Also, the program monitoring device 120 may control the operation of the controller device 110 according to a result of determining a state of a program currently being executed in the controller device 110 .

여기서, 컨트롤러 장치(110)의 동작은 리셋 동작, 경고 동작, 복구 동작, 재실행 동작, 현재 상태 유지 동작 및 오동작/무한루프 상태로부터의 정상 복귀 동작 중 적어도 하나의 동작을 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램 상태 판단 결과에 따라 취할 수 있는 동작이라면 어떠한 동작이라도 포함할 수 있다.Here, the operation of the controller device 110 may include at least one of a reset operation, a warning operation, a recovery operation, a redo operation, a current state maintenance operation, and a normal return operation from a malfunction/infinite loop state, but is limited thereto. It is not required, but any action can be included as long as it can be taken according to the result of determining the program state.

일 예에서, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하여 컨트롤러 장치(110)가 리셋되도록 컨트롤러의 동작을 제어할 수 있다.In one example, the program monitoring device 120 generates a reset signal when it is determined that the program currently being executed in the controller device 110 is abnormal as a result of determining the state of the program currently being executed in the controller device 110. The operation of the controller may be controlled so that the controller device 110 is reset.

다른 예에서, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되어 컨트롤러 장치(110)가 리셋되지 못하도록 컨트롤러의 동작을 제어할 수 있다.In another example, the program monitoring device 120 determines the state of the program currently being executed in the controller device 110 - when it is determined that the program currently being executed in the controller device 110 is normal, it is cleared and the controller The operation of the controller may be controlled to prevent the device 110 from being reset.

또한, 프로그램 감시 장치(120)는 워치독(watchdog) 장치를 포함할 수 있지만, 이에 한정되는 것은 아니고 컨트롤러 장치를 감시할 수 있는 장치라면 어떠한 장치라도 포함할 수 있다. 특히, 워치독(watchdog) 장치는 데드라인 즉, 시작과 끝이 있는 윈도우(window) 워치독 장치를 포함할 수 있다.In addition, the program monitoring device 120 may include a watchdog device, but is not limited thereto and may include any device as long as it can monitor the controller device. In particular, the watchdog device may include a window watchdog device with a deadline, that is, a start and an end.

상술한 바와 같이, 본 실시예들에 따른 전자 제어 시스템은, 프로그램 감시 장치를 통해 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단하고, 타이머를 통해 프로그램 상태 판단부의 판단 결과에 따라 컨트롤러의 동작을 제어함으로써, 타어머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 전자 제어 시스템의 가격을 낮출 수 있다.As described above, the electronic control system according to the present embodiments determines the state of the program currently being executed based on different watchdog signals through the program monitoring device, and determines the state of the program state determination unit through the timer. By controlling the operation of the controller, it is possible to accurately determine the execution order of the program currently being executed through a simple structure including a timer, and the cost of the electronic control system can be reduced because a separate communication line is not required.

상술한 본 실시예들에 따른 전자 제어 시스템(100)은 차량을 위한 ECU(Electronic Control Unit)를 포함할 수 있지만, 이에 한정되는 것은 아니고 전자적으로 제어할 수 있는 장치(또는, 시스템)라면 어떠한 제어 장치(또는, 시스템)라도 포함할 수 있다.The electronic control system 100 according to the present embodiments described above may include an ECU (Electronic Control Unit) for a vehicle, but is not limited thereto and controls any device (or system) that can be electronically controlled. It may also include a device (or system).

도 2는 본 실시예들에 따른 컨트롤러 장치의 컴퓨터 시스템을 설명하기 위한 구체적인 블록 구성도이다.Figure 2 is a specific block diagram for explaining the computer system of the controller device according to the present embodiments.

도 2를 참조하면, 본 실시예들에 따른 컨트롤러 장치(110)는, 컴퓨터 시스템 내에, 예를 들어, 컴퓨터 판독가능 기록 매체로 구현될 수 있다. 도면에 도시된 바와 같이, 본 실시예들에 따른 컨트롤러 장치(110)의 컴퓨터 시스템은 하나 이상의 프로세서(111), 메모리(112), 저장부(113), 사용자 인터페이스 입력부(114) 및 사용자 인터페이스 출력부(115) 중 적어도 하나 이상의 요소를 포함할 수 있으며, 이들은 버스(116)를 통해 서로 통신할 수 있다. 또한, 본 실시예들에 따른 컨트롤러 장치(110)의 컴퓨터 시스템은 네트워크에 접속하기 위한 네트워크 인터페이스(117)를 또한 포함할 수 있다. 프로세서(111)는 메모리(112) 및/또는 저장부(113)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 메모리(112) 및 저장부(113)는 다양한 유형의 휘발성/비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(112-1) 및 RAM(112-2)을 포함할 수 있다. Referring to FIG. 2 , the controller device 110 according to the present embodiments may be implemented in a computer system, for example, as a computer readable recording medium. As shown in the drawing, the computer system of the controller device 110 according to the present embodiments includes one or more processors 111, a memory 112, a storage unit 113, a user interface input unit 114, and a user interface output. It may include at least one or more elements of unit 115 , which may communicate with each other via bus 116 . In addition, the computer system of the controller device 110 according to the present embodiments may also include a network interface 117 for connecting to a network. The processor 111 may be a CPU or a semiconductor device that executes processing instructions stored in the memory 112 and/or the storage unit 113 . The memory 112 and the storage unit 113 may include various types of volatile/non-volatile storage media. For example, the memory may include ROM 112-1 and RAM 112-2.

또한, 본 실시예들에 따른 컨트롤러 장치(110)와 프로그램 감시 장치(120)는 하나의 장치로 이루어질 수 있다. 이에 따라, 본 실시예들은 컴퓨터로 구현되는 방법 또는 컴퓨터 실행 가능 명령어들이 저장된 비휘발성 컴퓨터 기록 매체로 구현될 수 있다. 상기 명령어들은 프로세서에 의해 실행될 때 적어도 실시예들에 따른 방법을 수행할 수 있다.Also, the controller device 110 and the program monitoring device 120 according to the present embodiments may be formed as one device. Accordingly, the present embodiments may be implemented as a computer-implemented method or a non-volatile computer recording medium in which computer-executable instructions are stored. When executed by a processor, the instructions may perform at least a method according to the embodiments.

도 3은 본 실시예들에 따른 프로그램 감시 장치를 설명하기 위한 구체적인 블록 구성도이다.3 is a detailed block configuration diagram for explaining a program monitoring apparatus according to the present embodiments.

도 3을 참조하면, 본 실시예들에 따른 프로그램 감시 장치(120)는 크게, 신호 입력부(121) 및 프로그램 상태 판단부(123) 등을 포함하여 이루어질 수 있다. Referring to FIG. 3 , the program monitoring device 120 according to the present embodiments may largely include a signal input unit 121 and a program status determination unit 123.

신호 입력부(121)는 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다. The signal input unit 121 may receive different watchdog signals assigned to each program according to the order of programs currently being executed.

구체적으로, 신호 입력부(121)는 컨트롤러 장치(110)와 연결될 수 있다. 또한, 신호 입력부(121)는 컨트롤러 장치(110)로부터 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다.Specifically, the signal input unit 121 may be connected to the controller device 110 . In addition, the signal input unit 121 may receive different watchdog signals allocated to each program from the controller device 110 according to the order of programs currently being executed.

여기서, 각 프로그램에 할당된 서로 다른 워치독 신호는 서로 다른 특정 패턴을 가질 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 도 1을 참조하여 상술하였으므로, 이하에서는 설명의 간명성을 위해 생략한다.Here, different watchdog signals allocated to each program may have different specific patterns. In particular, since the different specific patterns of the watchdog signal have been described above with reference to FIG. 1, they are omitted for conciseness of description.

상술한 바와 같이, 본 실시예들에 따른 프로그램 감지 장치는, 서로 다른 특정 패턴을 가지는 서로 다른 워치독 신호를 이용함으로써, 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있다.As described above, the program detecting apparatus according to the present embodiments can accurately determine the execution order of the program currently being executed by using different watchdog signals having different specific patterns, and separate communication lines. This eliminates the need to reduce the cost of the program monitoring device.

프로그램 상태 판단부(123)는 신호 입력부(121)로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다. The program state determination unit 123 may determine the state of the program currently being executed based on the different watchdog signals received from the signal input unit 121 .

구체적으로, 프로그램 상태 판단부(123)는 신호 입력부(121)와 연결될 수 있다. 또한, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 서로 다른 워치독 신호를 입력받을 수 있다. Specifically, the program state determination unit 123 may be connected to the signal input unit 121 . Also, the program state determination unit 123 may receive different watchdog signals from the signal input unit 121 .

프로그램 상태 판단부(123)는 신호 입력부(121)로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다. The program state determination unit 123 may determine the state of the program currently being executed based on the different watchdog signals received from the signal input unit 121 .

구체적으로, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교할 수 있다. 즉, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호를, 각각 순서별로 비교할 수 있다.Specifically, the program state determining unit 123 may compare different watchdog signals according to the order received from the signal input unit 121 with different watchdog signals according to the normal program order. That is, the program status determination unit 123 may compare the watchdog signal sequentially received from the signal input unit 121 with the watchdog signal sequentially of the normal program, respectively, sequentially.

여기서, 정상 프로그램 순서는 컨트롤러 장치(110)에서 현재 실행되고 있는 각 프로그램에 대한 정상적인 프로그램 순서일 수 있다. 이에, 정상 프로그램 순서에 따른 서로 다른 워치독 신호와 관련된 정보는 기 저장될 수 있지만, 이에 한정되는 것은 아니고 신호 입력부(121)를 통해, 컨트롤러 장치(110)로부터 실시간으로 제공받을 수 있다.Here, the normal program sequence may be a normal program sequence for each program currently being executed in the controller device 110 . Accordingly, information related to different watchdog signals according to a normal program sequence may be pre-stored, but is not limited thereto and may be provided in real time from the controller device 110 through the signal input unit 121.

그리고, 프로그램 상태 판단부(123)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다. Further, the program state determining unit 123 may determine that the program currently being executed in the controller device 110 is in an abnormal state when the comparison result - watchdog signals according to the sequence are inconsistent with each other.

즉, 프로그램 상태 판단부(123)는 비교결과 - 신호 입력부(121)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 불일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다. That is, the program state determining unit 123 determines the result of comparison - when the watchdog signal received sequentially from the signal input unit 121 and the watchdog signal sequentially of the normal program do not match each other, the controller device 110 currently running A program can be judged to be in an abnormal state.

그리고, 프로그램 상태 판단부(123)는 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다. Further, the program state determination unit 123 may determine that the program currently being executed in the controller device 110 is in a normal state when the comparison result - watchdog signals according to the order match each other.

즉, 프로그램 상태 판단부(123)는 비교결과 - 신호 입력부(121)로부터 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 일치 하는 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.That is, the program status determination unit 123 compares the result of the comparison - when the watchdog signal received in sequence from the signal input unit 121 and the watchdog signal in sequence of the normal program match each other, the controller device 110 is currently running The program can be judged to be in a normal state.

한편, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무를 판단할 수 있다. 또한, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과에 따라 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태를 판단할 수 있다.Meanwhile, the program state determining unit 123 may determine whether different watchdog signals output from the controller device 110 are input. In addition, the program state determiner 123 may determine the state of a program currently being executed in the controller device 110 according to a result of determining whether different watchdog signals output from the controller device 110 are input.

구체적으로, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.Specifically, the program status determination unit 123 determines whether different watchdog signals output from the controller device 110 are input or not - different watchdogs output according to the order of programs currently being executed in the signal input unit 121 When a signal is not received, it may be determined that the program currently being executed in the controller device 110 is in an abnormal state.

즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 기 설정된 시간 동안 입력받지 못한 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다.That is, the program monitoring device 120 determines whether different watchdog signals output from the controller device 110 are input or not - different watchdog signals output according to the order of programs currently being executed in the signal input unit 121 When input is not received for a predetermined time, it may be determined that the program currently being executed in the controller device 110 is in an abnormal state.

그리고, 프로그램 상태 판단부(123)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받은 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.Then, the program status determination unit 123 determines whether different watchdog signals output from the controller device 110 are input or not - different watchdog signals output according to the order of the program currently being executed in the signal input unit 121 When is input, it can be determined that the program currently being executed in the controller device 110 is in a normal state.

즉, 프로그램 감시 장치(120)는 컨트롤러 장치(110)로부터 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 - 신호 입력부(121)에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 기 설정된 시간 동안 입력받은 경우, 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.That is, the program monitoring device 120 determines whether different watchdog signals output from the controller device 110 are input or not - different watchdog signals output according to the order of programs currently being executed in the signal input unit 121 When an input is received for a predetermined time, it may be determined that the program currently being executed in the controller device 110 is in a normal state.

상술한 바와 같이, 본 실시예들에 따른 프로그램 감지 장치는, 신호 입력부를 통해 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받고, 프로그램 상태 판단부를 통해 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단함으로써, 각 프로그램에 할당된 서로 다른 워치독 신호를 이용하여 현재 실행되고 있는 프로그램의 실행 순서까지 판단할 수 있어 컨트롤러의 신뢰성 및 세이프티(safety) 지수를 높일 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있다.As described above, the program detecting device according to the present embodiments receives different watchdog signals allocated to each program through the signal input unit according to the order of programs currently being executed, and receives signals from the signal input unit through the program state determination unit. By determining the state of the currently running program based on the different watchdog signals received, it is possible to determine the execution order of the currently running programs using the different watchdog signals assigned to each program, thereby improving the reliability and reliability of the controller. The safety index can be increased, and the price of the program monitoring device can be reduced because a separate communication line is not required.

본 실시예들에 따른 프로그램 감시 장치(120)는 타이머부(125)를 더 포함할 수 있다.The program monitoring device 120 according to the present embodiments may further include a timer unit 125 .

타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과에 따라 동작이 제어될 수 있다. 여기서, 타이머부(125)의 동작은 컨트롤러 장치(110)의 리셋 동작을 발생시키는 리셋 발생 동작, 컨트롤러 장치(110)의 경고 동작을 발생시키는 경고 발생 동작, 컨트롤러 장치(110)의 복구 동작을 발생시키는 복구 발생 동작, 컨트롤러 장치(110)의 재실행 동작을 발생시키는 재실행 발생 동작, 컨트롤러 장치(110)의 현재 상태 유지 동작을 발생시키는 현재 상태 유지 발생 동작 및 컨트롤러 장치(110)의 오동작/무한루프 상태로부터의 정상 복귀 동작을 발생시키는 정상 복귀 발생 동작 중 적어도 하나의 동작을 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램 상태 판단 결과에 따라 컨트롤러 장치(110)의 동작을 발생시킬 수 있는 동작이라면 어떠한 동작이라도 포함할 수 있다.The operation of the timer unit 125 may be controlled according to the determination result of the program state determination unit 123 . Here, the operation of the timer unit 125 generates a reset generating operation for generating a reset operation of the controller device 110, a warning generating operation for generating a warning operation of the controller device 110, and a recovery operation of the controller device 110. Restoration generation operation to cause, re-execution generation operation to generate the re-execution operation of the controller device 110, current state maintenance generation operation to generate the current state maintenance operation of the controller device 110, and malfunction/infinite loop state of the controller device 110 It may include at least one of the normal return generating operations for generating a normal return operation from, but is not limited to, any operation that can generate the operation of the controller device 110 according to the program state determination result. can also include

일 예에서, 타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성할 수 있다. 그리고, 타이머부(125)는 리셋 신호를 컨트롤러 장치(110)로 제공하여 컨트롤러 장치(110)가 리셋되도록 컨트롤러의 동작을 제어할 수 있다. In one example, the timer unit 125 may generate a reset signal when it is determined that the program currently being executed in the controller device 110 is abnormal as a result of the determination of the program state determination unit 123 . In addition, the timer unit 125 may provide a reset signal to the controller device 110 to control the operation of the controller so that the controller device 110 is reset.

다른 예에서, 타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)될 수 있다. 즉, 타이머부(125)는 클리어(clear)되어 컨트롤러 장치(110)가 리셋되지 못하도록 컨트롤러 장치(110)의 동작을 제어할 수 있다.In another example, the timer unit 125 may be cleared when it is determined that the program currently being executed in the controller device 110 is normal as a result of the determination of the program state determination unit 123 . That is, the timer unit 125 is cleared to control the operation of the controller device 110 so that the controller device 110 is not reset.

상술한 바와 같이, 본 실시예들에 따른 프로그램 감지 장치는, 프로그램 상태 판단부를 통해 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단하고, 타이머를 통해 프로그램 상태 판단부의 판단 결과에 따라 컨트롤러의 동작을 제어함으로써, 타이머를 포함하는 간단한 구조를 통해 현재 실행되고 있는 프로그램의 실행 순서를 정확하게 판단할 수 있고, 별도의 통신라인이 필요치 않아 프로그램 감시 장치의 가격을 낮출 수 있다.As described above, the program detecting apparatus according to the present embodiments determines the state of the program currently being executed based on different watchdog signals through the program state determination unit, and determines the program status according to the determination result of the program state determination unit through the timer. By controlling the operation of the controller, it is possible to accurately determine the execution order of the program currently being executed through a simple structure including a timer, and the cost of the program monitoring device can be reduced because a separate communication line is not required.

도 4는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.4 is a diagram for explaining the operation of a window watchdog when a program currently being executed in a microcontroller according to the present embodiments is normally executed.

도 4를 참조하면, 마이크로 컨트롤러(110-1)는 프로그램 A 및 프로그램 B를 순차적으로 실행할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 A를 실행할 때, 프로그램 A에 할당된 워치독 신호 A를 윈도우 워치독으로 출력할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 B를 실행할 때, 프로그램 B에 할당된 워치독 신호 B를 윈도우 워치독으로 출력할 수 있다. Referring to FIG. 4 , the microcontroller 110-1 may sequentially execute program A and program B. Also, when the microcontroller 110-1 executes program A, it may output the watchdog signal A assigned to program A to the window watchdog. Also, when executing program B, the microcontroller 110-1 may output the watchdog signal B allocated to program B as a window watchdog.

그리고, 윈도우 워치독(120-1)은 마이크로 컨트롤러(110-1)로부터 실행되는 프로그램 순서에 따라 출력되는 워치독 신호A 및 워치독 신호 B를 순차적으로 입력받을 수 있다. 그리고, 윈도우 워치독(120-1)은 순차적으로 입력받은 워치독 신호 A 및 워치독 신호 B의 순서와 정상 프로그램에 따른 워치독 신호 A 및 워치독 신호 B의 순서가 일치하는 경우, 마이크로 컨트롤러(110-1)에서 프로그램 A 및 프로그램 B가 정상적으로 실행되고 있는 것으로 판단하여, 내부의 타이머를 클리어(clear)어 하여 마이크로 컨트롤러(110-1)를 리셋되지 못하도록 제어할 수 있다.Also, the window watchdog 120-1 may sequentially receive the watchdog signal A and the watchdog signal B output according to the order of programs executed by the microcontroller 110-1. In addition, the window watchdog 120-1, when the order of the sequentially received watchdog signal A and the watchdog signal B matches the order of the watchdog signal A and the watchdog signal B according to the normal program, the microcontroller ( In 110-1), it is determined that program A and program B are normally executed, and the internal timer is cleared to control the microcontroller 110-1 from being reset.

도 5는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 비정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.5 is a diagram for explaining the operation of a window watchdog when a program currently being executed in a microcontroller according to the present embodiments is abnormally executed.

도 5를 참조하면, 마이크로 컨트롤러(110-1)는 프로그램 A 및 프로그램 B를 순차적으로 실행할 수 있다. 그러나, 프로그램 또는 마이크로 컨트롤러(110-1)의 오류로 인해, 마이크로 컨트롤러(110-1)는 프로그램 B 및 프로그램 A를 순차적으로 실행할 수 있다.Referring to FIG. 5 , the microcontroller 110-1 may sequentially execute program A and program B. However, due to an error in the program or the microcontroller 110-1, the microcontroller 110-1 may execute program B and program A sequentially.

이런 경우, 마이크로 컨트롤러(110-1)는 프로그램 B를 실행할 때, 프로그램 B에 할당된 워치독 신호 B를 윈도우 워치독으로 출력할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 A를 실행할 때, 프로그램 A에 할당된 워치독 신호 A를 윈도우 워치독으로 출력할 수 있다. In this case, when executing program B, the microcontroller 110-1 may output the watchdog signal B assigned to program B as a window watchdog. Also, when the microcontroller 110-1 executes program A, it may output the watchdog signal A assigned to program A to the window watchdog.

그리고, 윈도우 워치독(120-1)은 마이크로 컨트롤러로(110-1)부터 실행되는 프로그램 순서에 따라 출력되는 워치독 신호 B 및 워치독 신호 A를 순차적으로 입력받을 수 있다. 그리고, 윈도우 워치독(120-1)은 순차적으로 입력받은 워치독 신호 B 및 워치독 신호 A의 순서와 정상 프로그램에 따른 워치독 신호 A 및 워치독 신호 B의 순서가 불일치하는 경우, 마이크로 컨트롤러(110-1)에서 프로그램 B 및 프로그램 A가 비정상적으로 실행되고 있는 것으로 판단하여, 리셋 신호를 생성하고, 상기 생성된 리셋 신호를 마이크로 컨트롤러(110-1)로 제공하여, 마이크로 컨트롤러(110-1)를 리셋시킬 수 있다.And, the window watchdog 120-1 may sequentially receive the watchdog signal B and the watchdog signal A output according to the order of the program executed by the microcontroller 110-1. In addition, the window watchdog 120-1 is a microcontroller ( 110-1) determines that program B and program A are being executed abnormally, generates a reset signal, provides the generated reset signal to the microcontroller 110-1, and the microcontroller 110-1 can be reset.

이하에서는, 첨부된 도면을 참조하여 본 실시예들에 따른 프로그램 감시 방법에 대해 설명한다. 특히, 도 1 내지 도 5를 참조하여 상술한 본 실시예들에 따른 프로그램 감시 장치 및 전자 제어 시스템과 중복되는 부분은 설명의 간명성을 위하여 이하에서 생략한다.Hereinafter, a program monitoring method according to the present embodiments will be described with reference to the accompanying drawings. Particularly, overlapping portions with the program monitoring device and the electronic control system according to the present embodiments described above with reference to FIGS. 1 to 5 are omitted below for concise description.

본 실시예들에 따른 프로그램 감시 방법은 컨트롤러 장치 및 프로그램 감시 장치를 포함하는 장치 즉, 본 실시예들에 따른 전자 제어 시스템을 이용하여 수행될 수 있다.The program monitoring method according to the present embodiments may be performed using a device including a controller device and a program monitoring device, that is, the electronic control system according to the present embodiments.

도 6은 본 실시예들에 따른 프로그램 감시 방법을 설명하기 위한 전체 순서도이다.6 is an overall flowchart for explaining a program monitoring method according to the present embodiments.

도 6을 참조하면, 본 실시예들에 따른 프로그램 감시 방법은 크게, 서로 다른 워치독 신호를 입력받는 단계(S200) 및 현재 실행되고 있는 프로그램 상태를 판단하는 단계(S300) 등을 포함하여 이루어질 수 있다.Referring to FIG. 6 , the program monitoring method according to the present embodiments may largely include a step of receiving different watchdog signals (S200) and a step of determining the state of a program currently being executed (S300). there is.

먼저, 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다(S200). First, different watchdog signals assigned to each program may be received according to the order of programs currently being executed (S200).

여기서, 각 프로그램에 할당된 서로 다른 워치독 신호는 서로 다른 특정 패턴을 가질 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 도 1을 참조하여 상술하였으므로, 이하에서는 설명의 간명성을 위해 생략한다.Here, different watchdog signals allocated to each program may have different specific patterns. In particular, since the different specific patterns of the watchdog signal have been described above with reference to FIG. 1, they are omitted for conciseness of description.

이후, 단계 S200에서 입력받은 서로 다른 워치독 신호에 기반하여 현재 실행되고 있는 프로그램 상태를 판단할 수 있다(S300).Thereafter, the state of the program currently being executed may be determined based on the different watchdog signals received in step S200 (S300).

도 7은 본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법을 설명하기 위한 구체적인 순서도이다.7 is a detailed flowchart for explaining a method of outputting different watchdog signals according to the present embodiments.

도 7을 참조하면, 본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법은 서로 다른 워치독 신호를 입력받는 단계(S200) 이전에 수행될 수 있다.Referring to FIG. 7 , the method of outputting different watchdog signals according to the present embodiments may be performed before receiving different watchdog signals (S200).

본 실시예들에 따른 서로 다른 워치독 신호를 출력하는 방법은 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력할 수 있다(S100). 즉, 현재 각 프로그램이 실행되고 있을 때, 현재 실행 중인 프로그램에 할당된 워치독 신호를 순차적으로 출력할 수 있다.In the method of outputting different watchdog signals according to the present embodiments, different watchdog signals assigned to each program may be output according to the order of programs currently being executed (S100). That is, when each program is currently being executed, watchdog signals assigned to the currently executing program can be sequentially output.

구체적으로, 먼저 특정 패턴을 가지는 서로 다른 워치독 신호를 생성할 수 있다(S110). Specifically, first, different watchdog signals having a specific pattern may be generated (S110).

여기서, 워치독 신호의 서로 다른 특정 패턴은 다른 워치독 신호들과 구별하기 위한 해당 워치독 신호만을 나타내는 패턴(또는, 정보)일 수 있다. 특히, 워치독 신호의 서로 다른 특정 패턴은 서로 다른 고유의 패턴화된 토글링 신호를 포함할 수 있지만, 이에 한정되는 것은 아니고 해당 워치독 신호만을 나타내는 패턴(또는, 정보)이라면, 어떠한 패턴(또는, 정보)이라도 포함할 수 있다.Here, the different specific patterns of the watchdog signal may be patterns (or information) indicating only the corresponding watchdog signal to be distinguished from other watchdog signals. In particular, different specific patterns of the watchdog signal may include different unique patterned toggling signals, but are not limited thereto, and if the pattern (or information) representing only the corresponding watchdog signal, any pattern (or , information) may also be included.

이후, 단계 S110에서 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당할 수 있다(S130).Thereafter, different watchdog signals having a specific pattern generated in step S110 may be mapped to each program and allocated to each program (S130).

이후, 단계 S130에서 각 프로그램마다 할당된 특정 패턴을 가지는 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력할 수 있다(S150). 즉, 현재 각 프로그램이 실행되고 있을 때, 현재 실행 중인 프로그램에 할당된 특정 패턴을 가지는 워치독 신호를 순차적으로 출력할 수 있다.Thereafter, in step S130, different watchdog signals having specific patterns assigned to each program may be output according to the order of programs currently being executed (S150). That is, when each program is currently being executed, watchdog signals having a specific pattern assigned to the currently executing program can be sequentially output.

도 8은 본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법을 설명하기 위한 구체적인 순서도이다.8 is a detailed flowchart for explaining a method of receiving different watchdog signals according to the present embodiments.

도 8을 참조하면, 본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법은 서로 다른 워치독 신호를 출력하는 단계(S100) 이후에 수행될 수 있다.Referring to FIG. 8 , the method of receiving different watchdog signals according to the present embodiments may be performed after outputting different watchdog signals (S100).

본 실시예들에 따른 서로 다른 워치독 신호를 입력받는 방법(S200)은 먼저 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무를 판단할 수 있다(S210).In the method of receiving different watchdog signals according to the present embodiments (S200), first, whether or not different watchdog signals output in step S100 are input can be determined (S210).

이후, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 입력되지 않는 경우, 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단할 수 있다(S230). Then, as a result of determining whether the different watchdog signals output in step S100 are input or not - if the different watchdog signals output are not input, it can be determined that the program currently being executed is abnormal (S230).

즉, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 기 설정된 시간 동안 입력되지 않는 경우, 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단할 수 있다.That is, as a result of determining whether different watchdog signals output in step S100 are input or not - when different output watchdog signals are not input for a preset time, the state of the currently running program can be determined to be abnormal.

그리고, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 입력된 경우, 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다(S250).And, as a result of determining whether the different watchdog signals output in step S100 are input or not - if the different outputted watchdog signals are input, the different outputted watchdog signals can be input according to the order of the program currently being executed. (S250).

즉, 단계 S100에서 출력된 서로 다른 워치독 신호의 입력 유무 판단 결과 ― 출력된 서로 다른 워치독 신호가 기 설정된 시간 동안 입력된 경우, 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다.That is, as a result of determining whether the different watchdog signals output in step S100 are input or not - when the different output watchdog signals are input for a preset time, the different output watchdog signals are output according to the order of the program currently being executed. can be input.

도 9는 본 실시예들에 따른 현재 실행되고 있는 프로그램 상태를 판단하는 방법을 설명하기 위한 구체적인 순서도이다.9 is a detailed flowchart for explaining a method of determining the state of a program currently being executed according to the present embodiments.

도 9를 참조하면, 본 실시예들에 따른 현재 실행되고 있는 프로그램 상태를 판단하는 방법(S300)은 먼저 단계 S200의 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교할 수 있다(S310). Referring to FIG. 9, in the method (S300) of determining the state of the program currently being executed according to the present embodiments, first, different watchdog signals according to the order of input in step S200 and different watchdog signals according to the normal program order Signals can be compared (S310).

즉, 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호를, 각각 순서별로 비교할 수 있다. 여기서, 정상 프로그램 순서는 현재 실행되고 있는 각 프로그램에 대한 정상적인 프로그램 순서일 수 있다.That is, the watchdog signal received in sequence and the watchdog signal in sequence of the normal program can be compared sequentially. Here, the normal program sequence may be a normal program sequence for each program currently being executed.

이후, 단계 S310의 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다(S330). Then, as a result of the comparison in step S310 - if the different watchdog signals in the order are inconsistent with each other, it can be determined that the program currently being executed is in an abnormal state (S330).

즉, 단계 S310의 비교 결과 - 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 불일치 하는 경우, 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단할 수 있다. That is, as a result of the comparison in step S310 - when the watchdog signal received in sequence and the watchdog signal in sequence of the normal program are inconsistent with each other, it can be determined that the program currently being executed is in an abnormal state.

그리고, 단계 S310의 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다(S350).And, the comparison result of step S310 - if the different watchdog signals according to the order match each other, it can be determined that the program currently being executed is in a normal state (S350).

즉, 단계 S310의 비교 결과 - 순서별로 입력받은 워치독 신호와 정상 프로그램의 순서별 워치독 신호가 서로 일치 하는 경우, 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다.That is, as a result of the comparison in step S310 - when the watchdog signal received in sequence and the watchdog signal in sequence of the normal program match each other, it can be determined that the program currently being executed is in a normal state.

도 10는 본 실시예들에 따른 타이머의 동작을 제어하는 방법을 설명하기 위한 구체적인 순서도이다.10 is a detailed flowchart for explaining a method of controlling the operation of a timer according to the present embodiments.

도 10을 참조하면, 본 실시예들에 따른 타이머의 동작을 제어하는 방법은 현재 실행되고 있는 프로그램 상태를 판단하는 단계(S300) 이후에 수행될 수 있다.Referring to FIG. 10 , the method for controlling the operation of a timer according to the present embodiments may be performed after determining the state of a program currently being executed (S300).

본 실시예들에 따른 타이머의 동작을 제어하는 방법은 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 타이머의 동작을 제어할 수 있다(S400).The method for controlling the operation of the timer according to the present embodiments may control the operation of the timer according to the result of determining the state of the program currently being executed (S400).

여기서, 타이머의 동작은 리셋 발생 동작, 경고 발생 동작, 복구 발생 동작, 재실행 발생 동작 및 현재 상태 유지 발생 동작 중 적어도 하나의 동작을 포함할 수 있지만, 이에 한정되는 것은 아니고 프로그램 상태 판단 결과에 따라 컨트롤러 장치의 동작을 발생시킬 수 있는 동작이라면 어떠한 동작이라도 포함할 수 있다.Here, the operation of the timer may include at least one operation of a reset generation operation, a warning generation operation, a recovery generation operation, a re-execution generation operation, and a current state maintenance generation operation, but is not limited thereto, and the controller according to the result of determining the program state. It can include any motion as long as it can cause the motion of the device.

구체적으로, 단계 S300에서의 현재 실행되고 있는 프로그램 상태 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하도록 상기 타이머의 동작을 제어할 수 있다(S410). 즉, 리셋 신호를 컨트롤러 장치로 제공하여 컨트롤러 장치가 리셋되도록 컨트롤러의 동작을 제어할 수 있다. Specifically, as a result of determining the state of the program currently being executed in step S300 - when it is determined that the program currently being executed is abnormal, the operation of the timer may be controlled to generate a reset signal (S410). That is, by providing a reset signal to the controller device, the operation of the controller may be controlled so that the controller device is reset.

그리고, 단계 S300에서의 현재 실행되고 있는 프로그램 상태 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 타이머가 클리어(clear)되도록 타이머의 동작을 제어할 수 있다. 즉, 타이머가 클리어(clear)되어 컨트롤러 장치가 리셋되지 못하도록 컨트롤러 장치의 동작을 제어할 수 있다.Then, as a result of determining the state of the program currently being executed in step S300 - when it is determined that the program currently being executed is normal, the operation of the timer can be controlled to clear the timer. That is, it is possible to control the operation of the controller device so that the timer is cleared so that the controller device is not reset.

전술한 본 실시예들에 따른 프로그램 감시 장치 및 방법과 전자 제어 시스템에 대한 실시예들에 대하여 설명하였지만, 본 실시예들은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 실시예들에 속한다.Although embodiments of the program monitoring apparatus and method and electronic control system according to the above embodiments have been described, the embodiments are not limited thereto, and the scope of the claims, detailed description of the invention and accompanying drawings It is possible to perform various modifications in the inside, and this also belongs to the present embodiments.

100: 전자 제어 시스템 110: 컨트롤러 장치
120: 프로그램 감시 장치 121: 신호 입력부
123: 프로그램 상태 판단부 125: 타이머부
100: electronic control system 110: controller device
120: program monitoring device 121: signal input unit
123: program state determination unit 125: timer unit

Claims (20)

각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 신호 입력부; 및
상기 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 프로그램 상태 판단부를 포함하되,
상기 프로그램 상태 판단부는,
상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고,
상기 현재 실행되고 있는 프로그램의 실행 순서를 판단하는 프로그램 감시 장치.
a signal input unit that receives different watchdog signals allocated to each program according to the order of currently executed programs; and
A program state determination unit for determining the state of the program currently being executed based on different watchdog signals received from the signal input unit;
The program state determination unit,
comparing different watchdog signals according to the order received from the signal input unit with different watchdog signals according to the normal program order;
A program monitoring device for determining an execution sequence of the currently executed program.
제 1 항에 있어서,
상기 각 프로그램에 할당된 서로 다른 워치독 신호는, 서로 다른 특정 패턴을 가지는 프로그램 감시 장치.
According to claim 1,
Different watchdog signals allocated to the respective programs have different specific patterns.
제 1 항에 있어서,
상기 프로그램 상태 판단부는,
상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 프로그램 감시 장치.
According to claim 1,
The program state determination unit,
Comparison result of different watchdog signals according to the order received from the signal input unit and different watchdog signals according to the normal program order - If the different watchdog signals according to the order do not match each other, the currently executed program is abnormal. A program monitoring device that determines that it is in a state.
제 1 항에 있어서,
상기 프로그램 상태 판단부는,
상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단하는 프로그램 감시 장치.
According to claim 1,
The program state determination unit,
Comparing the different watchdog signals according to the order received from the signal input unit with the different watchdog signals according to the normal program order - If the different watchdog signals according to the order match each other, the currently executed program is normalized. A program monitoring device that determines that it is in a state.
제 1 항에 있어서,
상기 프로그램 상태 판단부는,
상기 신호 입력부에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 프로그램 감시 장치.
According to claim 1,
The program state determination unit,
The program monitoring device for determining that the currently executed program is in an abnormal state when different watchdog signals output from the signal input unit according to the order of the currently executed program are not received.
제 1 항에 있어서,
상기 프로그램 상태 판단부의 판단 결과에 따라 동작이 제어되는 타이머부를 더 포함하는 프로그램 감시 장치.
According to claim 1,
The program monitoring apparatus further comprises a timer unit for controlling an operation according to a result of the determination of the program status determination unit.
제 6 항에 있어서,
상기 타이머부는,
상기 프로그램 상태 판단부의 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하고,
상기 프로그램 상태 판단부의 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되는 프로그램 감시 장치.
According to claim 6,
The timer part,
As a result of determination by the program state determining unit - when it is determined that the program currently being executed is abnormal, a reset signal is generated;
Result of determination by the program state judging unit - a program monitoring device that is cleared when it is determined that the program currently being executed is normal.
각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 컨트롤러 장치; 및
상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받고, 상기 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하며, 판단 결과에 따라 상기 컨트롤러 장치의 동작을 제어하는 프로그램 감시 장치를 포함하되,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고,
상기 현재 실행되고 있는 프로그램의 실행 순서를 판단하는 전자 제어 시스템.
A controller device that outputs different watchdog signals allocated to each program according to the order of currently executed programs; and
Receive different watchdog signals output from the controller device according to the order of the program currently being executed, and determine the state of the program currently being executed in the controller device based on the different watchdog signals input from the controller device And including a program monitoring device for controlling the operation of the controller device according to the determination result,
The program monitoring device,
Comparing different watchdog signals according to the order received from the controller device with different watchdog signals according to the normal program order,
An electronic control system for determining an execution sequence of the currently executed program.
제 8 항에 있어서,
상기 컨트롤러 장치는,
특정 패턴을 가지는 서로 다른 워치독 신호를 생성하고, 상기 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당하는 전자 제어 시스템.
According to claim 8,
The controller device,
An electronic control system that generates different watchdog signals having a specific pattern, maps the generated different watchdog signals having the specific pattern to each program, and assigns them to each program.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 전자 제어 시스템.
According to claim 8,
The program monitoring device,
Comparison result of different watchdog signals according to the order received from the controller device and different watchdog signals according to the normal program order - If the different watchdog signals according to the order do not match each other, the current execution in the controller device An electronic control system that determines a program to be in an abnormal state.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 프로그램 감시 장치 신호 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단하는 전자 제어 시스템.
According to claim 8,
The program monitoring device,
Comparison result of different watchdog signals according to the order received from the controller device and different program monitoring device signals according to the normal program order - If the different watchdog signals according to the order match each other, the controller device is currently executing An electronic control system that determines a program that is in a normal state.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 전자 제어 시스템.
According to claim 8,
The program monitoring device,
An electronic control system that determines that a program currently being executed in the controller device is in an abnormal state when different watchdog signals output according to the order of the program currently being executed are not received from the controller device.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 판단 결과 ― 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하여 상기 컨트롤러 장치가 리셋되도록 상기 컨트롤러의 동작을 제어하고,
상기 판단 결과 ― 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되어 상기 컨트롤러 장치가 리셋되지 못하도록 상기 컨트롤러의 동작을 제어하는 전자 제어 시스템.
According to claim 8,
The program monitoring device,
The determination result - when it is determined that the program currently being executed in the controller device is abnormal, generating a reset signal to control the operation of the controller so that the controller device is reset;
The determination result - when it is determined that the program currently being executed in the controller device is normal, the electronic control system is cleared and controls the operation of the controller to prevent the controller device from being reset.
각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계; 및
상기 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계를 포함하되,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고,
상기 현재 실행되고 있는 프로그램의 실행 순서를 판단하는 단계를 포함하는 프로그램 감시 방법.
receiving different watchdog signals allocated to each program according to the order of currently executed programs; and
Determining a state of the currently executed program based on the received different watchdog signals,
The step of determining the state of the program currently being executed,
Compare different watchdog signals according to the order of receiving input with different watchdog signals according to the normal program order,
and determining an execution sequence of the currently executed program.
제 14 항에 있어서,
상기 서로 다른 워치독 신호를 입력받는 단계 이전에,
상기 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 단계를 더 포함하는 프로그램 감시 방법.
15. The method of claim 14,
Prior to the step of receiving the different watchdog signals,
and outputting different watchdog signals assigned to the respective programs according to an order of programs currently being executed.
제 15 항에 있어서,
상기 서로 다른 워치독 신호를 입력받는 단계 이전에,
특정 패턴을 가지는 서로 다른 워치독 신호를 생성하는 단계;
상기 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당하는 단계; 및
상기 각 프로그램마다 할당된 특정 패턴을 가지는 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 단계를 포함하는 프로그램 감시 방법.
According to claim 15,
Prior to the step of receiving the different watchdog signals,
generating different watchdog signals having a specific pattern;
mapping different watchdog signals having the specific pattern to each program and allocating them to each program; and
and outputting different watchdog signals having a specific pattern assigned to each program according to an order of programs currently being executed.
제 15 항에 있어서,
상기 서로 다른 워치독 신호를 출력하는 단계 이후,
상기 서로 다른 워치독 신호를 입력받는 단계는,
상기 출력된 서로 다른 워치독 신호의 입력 유무를 판단하는 단계;
상기 판단 결과 ― 상기 출력된 서로 다른 워치독 신호가 입력되지 않는 경우, 상기 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단하는 단계; 및
상기 판단 결과 ― 상기 출력된 서로 다른 워치독 신호가 입력된 경우, 상기 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계를 포함하는 프로그램 감시 방법.
According to claim 15,
After the step of outputting the different watchdog signals,
In the step of receiving the different watchdog signals,
determining whether the outputted watchdog signals are input or not;
Determining that the state of the currently executed program is abnormal when the result of the determination - when the outputted different watchdog signals are not input; and
The determination result - receiving the outputted different watchdog signals according to the order of currently executed programs when the outputted different watchdog signals are input.
제 15 항에 있어서,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
상기 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하는 단계; 및
상기 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태라고 판단하는 단계를 포함하는 프로그램 감시 방법.
According to claim 15,
The step of determining the state of the program currently being executed,
comparing different watchdog signals according to the input receiving order with different watchdog signals according to the normal program order; and
and determining that the currently executed program is in an abnormal state when different watchdog signals according to the comparison result-sequence are inconsistent with each other.
제 15 항에 있어서,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
상기 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하는 단계; 및
상기 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 정상 상태라고 판단하는 단계를 포함하는 프로그램 감시 방법.
According to claim 15,
The step of determining the state of the program currently being executed,
comparing different watchdog signals according to the input receiving order with different watchdog signals according to the normal program order; and
and determining that the currently executed program is in a normal state when the comparison result - watchdog signals that are different in order match each other.
제 15 항에 있어서,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계 이후에,
상기 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 타이머의 동작을 제어하는 단계를 더 포함하는 프로그램 감시 방법.

According to claim 15,
After the step of determining the state of the currently executed program,
and controlling an operation of a timer according to a result of determining the state of the program currently being executed.

KR1020180010934A 2018-01-29 2018-01-29 Apparatus and method for monitoring program and electronic control system KR102488980B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180010934A KR102488980B1 (en) 2018-01-29 2018-01-29 Apparatus and method for monitoring program and electronic control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180010934A KR102488980B1 (en) 2018-01-29 2018-01-29 Apparatus and method for monitoring program and electronic control system

Publications (2)

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

Family

ID=67621712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180010934A KR102488980B1 (en) 2018-01-29 2018-01-29 Apparatus and method for monitoring program and electronic control system

Country Status (1)

Country Link
KR (1) KR102488980B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351700A (en) * 2001-05-24 2002-12-06 Denso Corp Computer system and program
JP2012137920A (en) 2010-12-27 2012-07-19 Toyota Motor Corp Electronic control device and start control method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150004232A (en) * 2013-07-02 2015-01-12 현대오트론 주식회사 Watchdog apparatus and the controlling method thereof
KR20150007732A (en) * 2013-07-12 2015-01-21 현대모비스 주식회사 Watchdog system and watchdog control method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351700A (en) * 2001-05-24 2002-12-06 Denso Corp Computer system and program
JP2012137920A (en) 2010-12-27 2012-07-19 Toyota Motor Corp Electronic control device and start control method

Also Published As

Publication number Publication date
KR20190091854A (en) 2019-08-07

Similar Documents

Publication Publication Date Title
CN111891134B (en) Automatic driving processing system, system on chip and method for monitoring processing module
US10157100B2 (en) Support action based self learning and analytics for datacenter device hardware/firmare fault management
US11500382B2 (en) Configuration of a control system for an at least partially autonomous transportation vehicle
JP6865572B2 (en) Automotive risk-based control
US11256562B2 (en) Augmented exception prognosis and management in real time safety critical embedded applications
US11366745B2 (en) Testing program code created in a development system
WO2016039076A1 (en) Program inspection device, software inspection device, sat constraint data, and storage medium
US20190107918A1 (en) Display device, management device, management system, and control program
CN115219086A (en) Pressure sensor identification method, device, equipment and storage medium
JP2008513899A (en) Method for processing a computer program on a computer system
KR102488980B1 (en) Apparatus and method for monitoring program and electronic control system
JP2019012498A (en) Electronic controller
CN1893339B (en) Continuous median failure control system and method
US20240007485A1 (en) Illegal signal detection apparatus, vehicle, and illegal signal detection method
JP2014186454A (en) Electronic control device for vehicle
US20210352091A1 (en) Attack detection device and computer readable medium
EP3557421B1 (en) System and method for automatic generation of a diagnostic model
JP2022013187A (en) Vehicle control unit
CN115130059A (en) Common cause failure risk measurement method for vehicle function safety
US20240007486A1 (en) Signal detection apparatus, vehicle, and method
JP7032548B2 (en) Control device
CN117519052B (en) Fault analysis method and system based on electronic gas production and manufacturing system
KR102048302B1 (en) Control unit and temperature determination method
US20230308456A1 (en) In-vehicle equipment, vehicle, and method
CN115291505B (en) Method, device and system for improving utilization rate of automatic control loop

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