KR20190091854A - 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
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
Korean (ko)
Other versions
KR102488980B1 (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

Embodiments of the present invention relate to a device for monitoring a program, to a method thereof, and to an electronic control system. The device for monitoring a program can receive different watchdog signals assigned to each program in accordance with a current program sequence through a signal input unit, and can determine a state of a program which is currently executed based on the different watchdog signals received from the signal input unit through a program state determination unit.

Description

프로그램 감시 장치 및 방법과 전자 제어 시스템{APPARATUS AND METHOD FOR MONITORING PROGRAM AND ELECTRONIC CONTROL SYSTEM}Program monitoring device and method and electronic control system {APPARATUS AND METHOD FOR MONITORING PROGRAM 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 the controller used to monitor the exact state of the controller. Recently, in order to increase the reliability and safety index of the controller, research on such a program monitoring device is actively conducted.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 실시예들을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and / or “comprising” refers to the presence of one or more other components, steps, operations and / or elements. Or does not exclude additions.

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

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

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

도 1은 본 실시예들에 따른 전자 제어 시스템을 설명하기 위한 전체적인 블록 구성도이다.1 is a block diagram illustrating 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 exemplary embodiments may include a controller device 110, a program monitoring device 120, and the like.

컨트롤러 장치(110)는 각 프로그램에 서로 다른 워치독 신호를 할당할 수 있다. 예컨대, 컨트롤러 장치(110)는 특정 패턴을 가지는 서로 다른 워치독 신호를 생성할 수 있다. 그리고, 컨트롤러 장치(110)는 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당할 수 있다.The controller device 110 may assign 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 the generated specific pattern to each program and allocate the same to each program.

여기서, 워치독 신호는 프로그램 감시 장치(120)가 주기적으로 컨트롤러 장치(110)의 동작을 감시하는 신호(일 예로, 리셋시키지 못하도록 하는 신호)일 수 있다. 즉, 워치독 신호는 컨트롤러 장치(110)에서 현재 실행되는 프로그램이 얼라이브(alive)하고 있다는 것을 확인시킬 수 있는 신호일 수 있다.Here, the watchdog signal may be a signal (for example, a signal for preventing a reset) of the program monitoring device 120 periodically monitoring the operation of the controller device 110. 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, different specific patterns of the watchdog signal may be a pattern (or information) indicating only a corresponding watchdog signal for distinguishing from other watchdog signals. In particular, different specific patterns of watchdog signals may include different unique patterned toggling signals, but are not limited thereto, and any pattern (or information) may be used as long as the pattern (or information) represents only the watchdog signal. , Information).

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

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

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

프로그램 감시 장치(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 according to a program order currently being executed from the controller device 110. That is, when each program is currently executed in the controller device 110, the program monitoring device 120 may sequentially receive a watchdog signal allocated to a program currently being executed from the controller device 110.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

일 예에서, 프로그램 감시 장치(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 in the program currently being executed in the controller device 110. The operation of the controller may be controlled to reset the controller device 110.

다른 예에서, 프로그램 감시 장치(120)는 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램 상태 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되어 컨트롤러 장치(110)가 리셋되지 못하도록 컨트롤러의 동작을 제어할 수 있다.In another example, the program monitoring device 120 is cleared when it is determined that the program state currently being executed in the controller device 110 is normal in the program currently being executed in the controller device 110. The operation of the controller can 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 the device can monitor the controller device. In particular, the watchdog device may include a deadline, that is, a window watchdog device having a start and an end.

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

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

도 2는 본 실시예들에 따른 컨트롤러 장치의 컴퓨터 시스템을 설명하기 위한 구체적인 블록 구성도이다.2 is a detailed block diagram illustrating a computer system of a 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 figure, the computer system of the controller device 110 according to the present embodiments is one or more processors 111, memory 112, storage 113, the user interface input 114 and the user interface output It may include at least one or more elements of the unit 115, which may be in communication with each other via the bus 116. In addition, the computer system of the controller device 110 according to the 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 113. The memory 112 and storage 113 may include various types of volatile / nonvolatile storage media. For example, the memory may include a ROM 112-1 and a RAM 112-2.

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

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

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

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

구체적으로, 신호 입력부(121)는 컨트롤러 장치(110)와 연결될 수 있다. 또한, 신호 입력부(121)는 컨트롤러 장치(110)로부터 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받을 수 있다.In detail, 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 assigned to respective programs from the controller device 110 according to the order of the programs currently being executed.

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

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

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

구체적으로, 프로그램 상태 판단부(123)는 신호 입력부(121)와 연결될 수 있다. 또한, 프로그램 상태 판단부(123)는 신호 입력부(121)로부터 서로 다른 워치독 신호를 입력받을 수 있다. In detail, the program state determination unit 123 may be connected to the signal input unit 121. In addition, 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 a program state currently being executed based on different watchdog signals received from the signal input unit 121.

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

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

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

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

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

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

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

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

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

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

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

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

본 실시예들에 따른 프로그램 감시 장치(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 timer unit 125 may control the operation according to the determination result of the program state determination unit 123. Here, the operation of the timer unit 125 generates a reset generation operation for generating a reset operation of the controller device 110, a warning generation operation for generating a warning operation of the controller device 110, and a recovery operation of the controller device 110. Operation to generate a recovery, operation to generate a redo operation of the controller device 110, operation to maintain a current state of generating a current state of the controller device 110 and a malfunction / infinite loop state of the controller device 110. It may include at least one operation of the normal return generation operation for generating a normal return operation from, but is not limited to this operation any operation that can generate the operation of the controller device 110 according to the program state determination result It can contain anything.

일 예에서, 타이머부(125)는 프로그램 상태 판단부(123)의 판단 결과 ― 컨트롤러 장치(110)에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성할 수 있다. 그리고, 타이머부(125)는 리셋 신호를 컨트롤러 장치(110)로 제공하여 컨트롤러 장치(110)가 리셋되도록 컨트롤러의 동작을 제어할 수 있다. In an 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. 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. That is, the timer unit 125 may be controlled to control the operation of the controller device 110 so that the controller device 110 may not be reset.

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

도 4는 본 실시예들에 따른 마이크로 컨트롤러에서 현재 실행되고 있는 프로그램이 정상적으로 실행되는 경우, 윈도우 워치독의 동작을 설명하기 위한 도면이다.4 is a diagram for describing an operation of a window watchdog when a program currently 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 execute the program A and the program B sequentially. When the program A executes the program A, the microcontroller 110-1 may output the watchdog signal A assigned to the program A to the window watchdog. When the program B executes the program B, the microcontroller 110-1 may output the watchdog signal B assigned to the program B to the window watchdog.

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

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

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

이런 경우, 마이크로 컨트롤러(110-1)는 프로그램 B를 실행할 때, 프로그램 B에 할당된 워치독 신호 B를 윈도우 워치독으로 출력할 수 있다. 그리고, 마이크로 컨트롤러(110-1)는 프로그램 A를 실행할 때, 프로그램 A에 할당된 워치독 신호 A를 윈도우 워치독으로 출력할 수 있다. In this case, when executing the program B, the microcontroller 110-1 may output the watchdog signal B assigned to the program B to the window watchdog. When the program A executes the program A, the microcontroller 110-1 may output the watchdog signal A assigned to the 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)를 리셋시킬 수 있다.The window watchdog 120-1 may sequentially receive the watchdog signal B and the watchdog signal A, which are output according to a program order executed from the microcontroller 110-1. The window watchdog 120-1 may include a microcontroller when the order of the watchdog signal B and the watchdog signal A sequentially input and the watchdog signal A and the watchdog signal B according to a normal program do not match. In operation 110-1, it is determined that the program B and the program A are abnormally executed, and generates a reset signal, and provides the generated reset signal to the microcontroller 110-1, thereby providing a microcontroller 110-1. Can be reset.

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

본 실시예들에 따른 프로그램 감시 방법은 컨트롤러 장치 및 프로그램 감시 장치를 포함하는 장치 즉, 본 실시예들에 따른 전자 제어 시스템을 이용하여 수행될 수 있다.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 illustrating a program monitoring method according to the present embodiments.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

그리고, 단계 S310의 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단할 수 있다(S350).Then, when different watchdog signals in the order S310 match each other, the current program may be determined to be in a normal state (S350).

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

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

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

본 실시예들에 따른 타이머의 동작을 제어하는 방법은 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 타이머의 동작을 제어할 수 있다(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 the program state determination being executed at step S400.

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

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

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

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

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

Claims (20)

각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 신호 입력부; 및
상기 신호 입력부로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 프로그램 상태 판단부를 포함하는 프로그램 감시 장치.
A signal input unit configured to receive different watchdog signals assigned to respective programs according to a program order currently being executed; And
And a program state determiner configured to determine the currently executed program state based on different watchdog signals received from the signal input unit.
제 1 항에 있어서,
상기 각 프로그램에 할당된 서로 다른 워치독 신호는, 서로 다른 특정 패턴을 가지는 프로그램 감시 장치.
The method of claim 1,
Different watchdog signals assigned to the respective programs have different specific patterns.
제 1 항에 있어서,
상기 프로그램 상태 판단부는,
상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 프로그램 감시 장치.
The method of claim 1,
The program state determination unit,
Compare the different watchdog signals according to the order received from the signal input unit and the different watchdog signals according to the normal program order, and if the comparison result-if the different watchdog signals according to the order are inconsistent with each other, the current execution is performed. Program monitoring device that determines that a program is in an abnormal state.
제 1 항에 있어서,
상기 프로그램 상태 판단부는,
상기 신호 입력부로부터 입력받은 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단하는 프로그램 감시 장치.
The method of claim 1,
The program state determination unit,
Compare the different watchdog signals according to the order received from the signal input unit and the different watchdog signals according to the normal program order, and if the comparison result-if the different watchdog signals according to the order coincide with each other, Program monitoring device that determines that a program is in a normal state.
제 1 항에 있어서,
상기 프로그램 상태 판단부는,
상기 신호 입력부에서 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 프로그램 감시 장치.
The method of claim 1,
The program state determination unit,
The program monitoring device determines that the currently executed program is in an abnormal state when different watchdog signals that are output in accordance with the program order currently being executed by the signal input unit are not received.
제 1 항에 있어서,
상기 프로그램 상태 판단부의 판단 결과에 따라 동작이 제어되는 타이머부를 더 포함하는 프로그램 감시 장치.
The method of claim 1,
And a timer unit configured to control an operation according to a determination result of the program state determination unit.
제 6 항에 있어서,
상기 타이머부는,
상기 프로그램 상태 판단부의 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하고,
상기 프로그램 상태 판단부의 판단 결과 ― 상기 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되는 프로그램 감시 장치.
The method of claim 6,
The timer unit,
A determination result of the program state determination unit, if it is determined that the currently executed program is abnormal, generates a reset signal,
A result of the determination of the program state determining unit, wherein the program monitoring device is cleared when it is determined that the currently executed program is normal.
각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 컨트롤러 장치; 및
상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받고, 상기 컨트롤러 장치로부터 입력받은 서로 다른 워치독 신호에 기반하여 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램의 상태를 판단하며, 판단 결과에 따라 상기 컨트롤러 장치의 동작을 제어하는 프로그램 감시 장치를 포함하는 전자 제어 시스템.
A controller device for outputting different watchdog signals assigned to each program in accordance with a program order currently being executed; And
Receives different watchdog signals output in accordance with a program order currently being executed from the controller device, and determines the state of a program currently being executed in the controller device based on different watchdog signals received from the controller device. And a program monitoring device for controlling an operation of the controller device according to a determination result.
제 8 항에 있어서,
상기 컨트롤러 장치는,
특정 패턴을 가지는 서로 다른 워치독 신호를 생성하고, 상기 생성된 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당하는 전자 제어 시스템.
The method of claim 8,
The controller device,
And generating a different watchdog signal having a specific pattern and mapping the different watchdog signals having the specific pattern to each program and assigning each watchdog signal to each program.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 전자 제어 시스템.
The method of claim 8,
The program monitoring device,
Compares different watchdog signals according to the order received from the controller device with different watchdog signals according to the normal program order, and when the comparison result is different, the watchdog signals according to the order are inconsistent with each other. An electronic control system that determines that a program currently being executed is in an abnormal state.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 프로그램 감시 장치 신호를 비교하고, 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 정상 상태인 것으로 판단하는 전자 제어 시스템.
The method of claim 8,
The program monitoring device,
Compares the watchdog signals according to the order received from the controller device and the signals of the different program monitoring devices according to the normal program order, and when the comparison result is different, the watchdog signals according to the order coincide with each other. Electronic control system for determining that the program currently running in the normal state.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 컨트롤러 장치로부터 현재 실행되고 있는 프로그램 순서에 따라 출력되는 서로 다른 워치독 신호를 입력받지 못한 경우, 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램을 비정상 상태인 것으로 판단하는 전자 제어 시스템.
The method of claim 8,
The program monitoring device,
The electronic control system determines that the program currently executed in the controller device is in an abnormal state when a different watchdog signal is not received from the controller device.
제 8 항에 있어서,
상기 프로그램 감시 장치는,
상기 판단 결과 ― 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램이 비정상인 것으로 판단된 경우, 리셋 신호를 생성하여 상기 컨트롤러 장치가 리셋되도록 상기 컨트롤러의 동작을 제어하고,
상기 판단 결과 ― 상기 컨트롤러 장치에서 현재 실행되고 있는 프로그램이 정상인 것으로 판단된 경우, 클리어(clear)되어 상기 컨트롤러 장치가 리셋되지 못하도록 상기 컨트롤러의 동작을 제어하는 전자 제어 시스템.
The method of claim 8,
The program monitoring device,
And if it is determined that the program currently being executed in the controller device is abnormal, generate a reset signal to control the operation of the controller to reset the controller device,
The determination result, wherein if it is determined that the program currently being executed in the controller device is normal, the electronic control system controls the operation of the controller to be cleared so that the controller device cannot be reset.
각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계; 및
상기 입력받은 서로 다른 워치독 신호에 기반하여 상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계를 포함하는 프로그램 감시 방법.
Receiving a different watchdog signal assigned to each program according to a currently executed program order; And
And determining the currently executed program state based on the received watchdog signals.
제 14 항에 있어서,
상기 서로 다른 워치독 신호를 입력받는 단계 이전에,
상기 각 프로그램에 할당된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 단계를 더 포함하는 프로그램 감시 방법.
The method of claim 14,
Before the step of receiving the different watchdog signals,
And outputting different watchdog signals allocated to the respective programs according to the order of programs being executed.
제 15 항에 있어서,
상기 서로 다른 워치독 신호를 입력받는 단계 이전에,
특정 패턴을 가지는 서로 다른 워치독 신호를 생성하는 단계;
상기 특정 패턴을 가지는 서로 다른 워치독 신호를 각 프로그램에 맵핑하여 각 프로그램마다 할당하는 단계; 및
상기 각 프로그램마다 할당된 특정 패턴을 가지는 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 출력하는 단계를 포함하는 프로그램 감시 방법.
The method of claim 15,
Before 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 the program to each program; And
And outputting different watchdog signals having a specific pattern assigned to each program according to a currently executed program order.
제 15 항에 있어서,
상기 서로 다른 워치독 신호를 출력하는 단계 이후,
상기 서로 다른 워치독 신호를 입력받는 단계는,
상기 출력된 서로 다른 워치독 신호의 입력 유무를 판단하는 단계;
상기 판단 결과 ― 상기 출력된 서로 다른 워치독 신호가 입력되지 않는 경우, 상기 현재 실행되고 있는 프로그램 상태를 비정상인 것으로 판단하는 단계; 및
상기 판단 결과 ― 상기 출력된 서로 다른 워치독 신호가 입력된 경우, 상기 출력된 서로 다른 워치독 신호를 현재 실행되고 있는 프로그램 순서에 따라 입력받는 단계를 포함하는 프로그램 감시 방법.
The method of claim 15,
After outputting the different watchdog signals,
Receiving the different watchdog signal,
Determining whether the outputted different watchdog signals are input;
If the different watchdog signals are not input, determining that the currently executed program state is abnormal; And
And determining that the outputted watchdog signals are input according to a program order which is currently being executed.
제 15 항에 있어서,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하는 단계; 및
상기 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 불일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 비정상 상태라고 판단하는 단계를 포함하는 프로그램 감시 방법.
The method of claim 15,
The determining of the currently running program state,
Comparing different watchdog signals according to an input order with different watchdog signals according to a normal program order; And
And determining that the currently executing program is abnormal when the watch results are different from each other in the sequence.
제 15 항에 있어서,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계는,
입력받는 순서에 따른 서로 다른 워치독 신호와 정상 프로그램 순서에 따른 서로 다른 워치독 신호를 비교하는 단계; 및
상기 비교 결과 - 순서에 따른 서로 다른 워치독 신호가 서로 일치 하는 경우, 상기 현재 실행되고 있는 프로그램을 정상 상태라고 판단하는 단계를 포함하는 프로그램 감시 방법.
The method of claim 15,
The determining of the currently running program state,
Comparing different watchdog signals according to an input order with different watchdog signals according to a normal program order; And
And determining that the currently executing program is in a normal state when different watchdog signals in the sequence match each other.
제 15 항에 있어서,
상기 현재 실행되고 있는 프로그램 상태를 판단하는 단계 이후에,
상기 현재 실행되고 있는 프로그램 상태 판단 결과에 따라 타이머의 동작을 제어하는 단계를 더 포함하는 프로그램 감시 방법.

The method of claim 15,
After determining the state of the currently running program,
And controlling an operation of a timer according to a result of the program state determination 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 true KR20190091854A (en) 2019-08-07
KR102488980B1 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 (4)

* 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
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 (4)

* 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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN111891134B (en) Automatic driving processing system, system on chip and method for monitoring processing module
US11500382B2 (en) Configuration of a control system for an at least partially autonomous transportation vehicle
CN103116570A (en) Distributed computing architecture with dynamically reconfigurable hypervisor nodes
CN110399271B (en) Log processing device, method, electronic device, and computer-readable storage medium
KR20190094523A (en) Apparatus and method for controlling vehicle based on redundant architecture
US9613362B2 (en) Monitoring a situation by comparing parallel data streams
US20200125722A1 (en) Systems and methods for preventing runaway execution of artificial intelligence-based programs
JP2021533487A (en) Systems and methods for parallel execution and comparison of related processes for fault protection
WO2017162049A1 (en) Method and device for monitoring memory data of drive module
KR20190091854A (en) Apparatus and method for monitoring program and electronic control system
KR102372958B1 (en) Method and device for monitoring application performance in multi-cloud environment
JP2003099120A (en) Method and device for monitoring functionality of system, memory element, and computer program
CN114880157B (en) Fault injection method and device
CN111142598A (en) Internal environment control method and device of intelligent medicine chest
US20210352091A1 (en) Attack detection device and computer readable medium
CN115219086A (en) Pressure sensor identification method, device, equipment and storage medium
US10083138B2 (en) Controller, bus circuit, control method, and recording medium
CN115309513A (en) Event-based decision method, system, storage medium and computer equipment
US11544171B2 (en) Method for monitoring the free space of a memory stack
US20130173030A1 (en) Method for the Computer-Assisted Monitoring of the Functional Performance of a Technical System
US20040060050A1 (en) Method and controller for program control of a computer program having multitasking capability
US20150112912A1 (en) Case-based reasoning
JP5938096B2 (en) Reliability calculation device
CN116010026B (en) Micro-service control method and control system based on virtual path
CN113312202B (en) Fault processing logic generation method, device, equipment and medium based on component

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