KR102019378B1 - Appartus for monitoring microcontroller unit, system having the same and operating method thereof - Google Patents
Appartus for monitoring microcontroller unit, system having the same and operating method thereof Download PDFInfo
- Publication number
- KR102019378B1 KR102019378B1 KR1020170077242A KR20170077242A KR102019378B1 KR 102019378 B1 KR102019378 B1 KR 102019378B1 KR 1020170077242 A KR1020170077242 A KR 1020170077242A KR 20170077242 A KR20170077242 A KR 20170077242A KR 102019378 B1 KR102019378 B1 KR 102019378B1
- Authority
- KR
- South Korea
- Prior art keywords
- response
- value
- key
- microprocessor unit
- error
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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 the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명에 따른 마이크로 프로세서 유닛을 감시하는 감시 장치는, 상기 마이크로 프로세서 유닛의 동작의 에러를 주기적으로 검출하고 대응하는 플래그들을 발생하는 에러 검출기; 상기 플래그들에 대응하는 비트를 쉬프트 버퍼링 방식으로 입력하고, 상기 입력된 값과 기준값을 비교하여 인터럽트 신호를 발생하는 플래그 처리기, 및 상기 인터럽트 신호에 응답하여 리셋 신호를 발생하는 리셋 제어기를 포함할 수 있다.The monitoring apparatus for monitoring a microprocessor unit according to the present invention comprises: an error detector for periodically detecting an error in the operation of the microprocessor unit and generating corresponding flags; A flag processor configured to input a bit corresponding to the flags by a shift buffering scheme, compare an input value with a reference value, and generate an interrupt signal, and a reset controller which generates a reset signal in response to the interrupt signal. have.
Description
본 발명은 마이크로 프로세서 유닛을 감시하는 감시 장치, 그것을 포함하는 시스템 및 그것의 동작 방법에 관한 것이다.The present invention relates to a monitoring apparatus for monitoring a microprocessor unit, a system including the same, and a method of operating the same.
마이크로프로세서를 내장한 시스템에는, 마이크로프로세서의 동작을 관리 또는 모니터링함으로써 고장이 검출된 경우에 마이크로프로세서를 리셋시키는 감시 장치가 제공된다. 일반적으로 이러한 감시 장치는 워치독(watchdog)으로 불린다. 일반적인 워치독은, 타이머 회로가 소정 시간이 경과된 후에 리셋 되지 않을 경우 마이크로프로세서를 리셋시키는, 카운터 혹은 리트리거식 단안정 회로 형태의 타이머 회로를 구비한다. 타이머 회로를 리셋 시키기 위한 명령으로써 동작하는 워치독 지령이 마이크로프로세서에 의해 실행되는 프로그램에 내장되어 있다. 리셋 명령은, 마이크로프로세서가 정확하게 동작하면, 타이머 회로가 소정 시간이 경과되기 전에 항상 리셋됨으로써, 타이머 회로가 마이크로프로세서를 리셋시키지 않도록 주기적으로 실행된다. 한편, 고장이 발생하면, 타이머 회로가 리셋 되지 않음으로써 마이크로프로세서는 리셋 된다.A system incorporating a microprocessor is provided with a monitoring device for resetting the microprocessor when a failure is detected by managing or monitoring the operation of the microprocessor. Typically such a monitoring device is called a watchdog. A typical watchdog has a timer circuit in the form of a counter or retrieval monostable circuit that resets the microprocessor if the timer circuit is not reset after a predetermined time has elapsed. Watchdog instructions that operate as instructions for resetting the timer circuit are embedded in the program executed by the microprocessor. The reset instruction is executed periodically so that if the microprocessor operates correctly, the timer circuit is always reset before the predetermined time has elapsed, so that the timer circuit does not reset the microprocessor. On the other hand, when a failure occurs, the timer circuit is not reset, which resets the microprocessor.
본 발명의 목적은 신뢰성을 향상시키는 마이크로 프로세서 유닛을 감시하는 감시 장치, 그것을 포함하는 시스템 및 그것의 동작 방법을 제공하는데 있다.It is an object of the present invention to provide a monitoring apparatus for monitoring a microprocessor unit which improves reliability, a system including the same, and a method of operating the same.
본 발명의 실시 예에 따른 마이크로 프로세서 유닛을 감시하는 감시 장치는: 상기 마이크로 프로세서 유닛의 동작의 에러를 주기적으로 검출하고 대응하는 플래그들을 발생하는 에러 검출기; 상기 플래그들에 대응하는 비트를 쉬프트 버퍼링 방식으로 입력하고, 상기 입력된 값과 기준값을 비교하여 인터럽트 신호를 발생하는 플래그 처리기; 및 상기 인터럽트 신호에 응답하여 리셋 신호를 발생하는 리셋 제어기를 포함할 수 있다.An apparatus for monitoring a microprocessor unit according to an exemplary embodiment of the present disclosure may include: an error detector configured to periodically detect an error of an operation of the microprocessor unit and to generate corresponding flags; A flag processor configured to input a bit corresponding to the flags by a shift buffering method, and generate an interrupt signal by comparing the input value with a reference value; And a reset controller generating a reset signal in response to the interrupt signal.
실시 예에 있어서, 에러 검출기는, 질의 메시지 및 상기 질의 메시지에 대응하는 값을 발생하는 질의 응답 발생 유닛; 및 상기 질의 메시지에 대응하는 응답 메시지를 상기 마이크로 프로세서 유닛으로부터 수신하고, 상기 수신된 응답 메시지와 상기 대응하는 값을 비교하는 응답 진단 유닛을 포함할 수 있다.In an embodiment, the error detector may include: a query response generating unit generating a query message and a value corresponding to the query message; And a response diagnosis unit configured to receive a response message corresponding to the query message from the microprocessor unit and to compare the received response message with the corresponding value.
실시 예에 있어서, 상기 에러 검출기는, 상기 질의 메시지를 상기 마이크로 프로세서 유닛으로 전송할 때부터 상기 응답 메시지를 상기 마이크로 프로세서 유닛으로부터 수신할 때까지 응답 시간을 카운팅하는 워치독 타이머를 더 포함할 수 있다.In example embodiments, the error detector may further include a watchdog timer that counts a response time from when the query message is transmitted to the microprocessor unit until the response message is received from the microprocessor unit.
실시 예에 있어서, 상기 워치독 타이머의 클로즈드 윈도우 구간에서 상기 응답 메시지를 수신할 때, 상기 응답 진단 유닛은 조기 응답 플래그(early answer flag, EAF)를 발생할 수 있다.In an embodiment, when receiving the response message in the closed window section of the watchdog timer, the response diagnostic unit may generate an early answer flag (EAF).
실시 예에 있어서, 상기 응답 메시지와 상기 대응하는 값이 다를 때, 상기 응답 진단 유닛은 응답 오류 플래그(incorrect answer flag, IAF)를 발생할 수 있다.In an embodiment, when the response message and the corresponding value are different, the response diagnostic unit may generate an incorrect answer flag (IAF).
실시 예에 있어서, 상기 워치독 타이머의 타임아웃에도 불구하고 상기 응답 메시지가 수신되지 않았을 때, 상기 응답 진단 유닛은 타임아웃 플래그(timeout flag, TOF)를 발생할 수 있다.In an embodiment, when the response message is not received despite the timeout of the watchdog timer, the response diagnostic unit may generate a timeout flag (TOF).
실시 예에 있어서, 기 플래그들은 상기 마이크로 프로세서 유닛으로 전송될 수 있다.In an embodiment, the existing flags may be transmitted to the microprocessor unit.
실시 예에 있어서, 상기 워치독 타이머의 오픈 윈도우 구간에서 상기 응답 메시지를 수신하고, 상기 응답 메시지와 상기 대응하는 값이 다를 때, 상기 플래그 처리기는 상기 비트를 쉬프트 버퍼링 시킬 수 있다.In example embodiments, when the response message is received in the open window period of the watchdog timer, and the response message and the corresponding value are different from each other, the flag processor may shift buffer the bit.
실시 예에 있어서, 상기 플래그 처리기는, 상기 오픈 윈도우 구간에서 상기 응답 메시지를 수신하고, 상기 응답 메시지와 상기 대응하는 값이 다를 때 '0'의 비트를 입력 및 나머지 값을 한 비트 씩 쉬프팅하는 응답 쉬프트 버퍼; 및 상기 기준값을 저장하는 응답 쉬프트 필터를 포함할 수 있다.The flag processor may be configured to receive the response message in the open window period, and to input a bit of '0' and shift the remaining value bit by bit when the response message and the corresponding value are different. Shift buffer; And a response shift filter for storing the reference value.
실시 예에 있어서, 상기 응답 쉬프트 버퍼에 저장된 값과 상기 기준값을 비교함으로써 상기 인터럽트 신호를 발생하는 인터럽트 제어기를 더 포함할 수 있다.The method may further include an interrupt controller configured to generate the interrupt signal by comparing the value stored in the response shift buffer with the reference value.
실시 예에 있어서, 상기 기준값은 가변되는 값일 수 있다.In an embodiment, the reference value may be a variable value.
본 발명의 실시 예에 따른 마이크로 프로세서 유닛을 감시하는 감시 장치의 동작 방법은: 질의 응답 방식으로 상기 마이크로 프로세서 유닛의 동작의 에러 유무를 검출하는 단계; 쉬프트 버퍼링 방식에 따라 대응하는 에러 유무에 대응하는 비트를 저장하는 단계; 및 상기 저장된 값과 기준값을 비교함으로써 상기 마이크로 프로세서 유닛의 인터럽트 혹은 리셋 여부를 결정하는 단계를 포함할 수 있다.An operating method of a monitoring apparatus for monitoring a microprocessor unit according to an exemplary embodiment of the present disclosure may include: detecting an error of an operation of the microprocessor unit in a query response manner; Storing the bits corresponding to the presence or absence of corresponding errors according to the shift buffering scheme; And determining whether to interrupt or reset the microprocessor unit by comparing the stored value with a reference value.
실시 예에 있어서, 상기 질의 응답 방식은 씨드-키 방식일 수 있다.In an embodiment, the query response method may be a seed-key method.
실시 예에 있어서, 상기 에러 유무를 검출하는 단계는, 상기 씨드 및 키를 발생하는 단계; 상기 씨드 및 키를 발생할 때 워치독 타이머를 리셋하는 단계; 및 상기 마이크로 프로세서 유닛으로부터 발생되는 키 트리거를 기다리는 단계를 포함할 수 있다.The detecting of the presence of an error may include generating the seed and a key; Resetting a watchdog timer when generating the seed and key; And waiting for a key trigger generated from the microprocessor unit.
실시 예에 있어서, 상기 에러 유무를 검출하는 단계는, 상기 키 트리거를 수신하였는 지 판별하는 단계; 상기 키 트리거가 수신되었을 때 상기 발생된 키 값과 상기 키 트리거가 일치하는 지 판별하는 단계; 및 상기 키 트리거가 수신되지 않았을 때 상기 워치독 타이머가 타임아웃인지 판별하는 단계를 더 포함하는 단계;를 더 포함할 수 있다.The detecting of the presence of an error may include determining whether the key trigger has been received; Determining whether the generated key value coincides with the key trigger when the key trigger is received; And determining whether the watchdog timer is timed out when the key trigger is not received.
실시 예에 있어서, 상기 대응하는 비트를 저장하는 단계는, 상기 발생된 키 값과 상기 키 트리거가 일치할 때, 상기 워치독 타이머가 오픈 윈도우 구간인지 판별하는 단계; 및 상기 워치독 타이머가 상기 오픈 윈도우 구간일 때, '1'의 비트를 응답 쉬프트 버퍼에 입력하는 단계를 포함할 수 있다.The storing of the corresponding bit may include: determining whether the watchdog timer is an open window period when the generated key value and the key trigger match; And inputting a bit of '1' into a response shift buffer when the watchdog timer is in the open window period.
실시 예에 있어서, 상기 대응하는 비트를 저장하는 단계는, 상기 키 트리거가 수신되지 않았고, 상기 워치독 타이머가 상기 타임아웃일 때, '0'의 비트를 응답 쉬프트 버퍼에 입력하는 단계를 포함할 수 있다.The storing of the corresponding bit may include inputting a bit of '0' into a response shift buffer when the key trigger is not received and the watchdog timer is the timeout. Can be.
실시 예에 있어서, 상기 인터럽트 혹은 리셋 여부를 결정하는 단계는, 상기 응답 쉬프트 버퍼에 저장된 값이 상기 기준값일 때 상기 인터럽트 혹은 리셋 신호를 발생하는 단계를 포함할 수 있다.In an embodiment, the determining of whether to interrupt or reset may include generating the interrupt or reset signal when the value stored in the response shift buffer is the reference value.
실시 예에 있어서, 상기 키 트리거가 수신되지 않았고, 상기 워치독 타이머가 상기 타임아웃이 아닐 때, 상기 키 트리거를 기다리는 단계가 진입될 수 있다.In an embodiment, when the key trigger is not received and the watchdog timer is not the timeout, the step of waiting for the key trigger may be entered.
본 발명의 실시 예에 따른 마이크로 프로세서 시스템은, 씨드 값에 응답하여 키 트리거를 발생하는 씨드-키 발생 회로를 갖는 마이크로 프로세서 유닛; 및 씨드-키 방식으로 상기 마이크로 프로세서 유닛을 감시하는 감시 장치를 포함하고, 상기 감시 장치는, 상기 씨-키 발생 회로로부터 수신된 상기 키 트리거와 상기 씨드 값에 대응하는 키 값이 일치하지 않을 때, 응답 오류 플래그를 발생하고, 상기 발생된 응답 오류 플래그를 상기 마이크로 프로세서 유닛으로 전송하고, 워치독 타이머의 오픈 윈도우 구간에서 상기 응답 오류 플래그가 발생될 때, 쉬프트 버퍼링 방식으로 상기 마이크로 프로세서 유닛의 동작에 대한 에러 개수를 증가시킬 수 있다.A microprocessor system according to an embodiment of the present invention includes a microprocessor unit having a seed-key generation circuit for generating a key trigger in response to a seed value; And a monitoring device for monitoring the microprocessor unit in a seed-key manner, wherein the monitoring device is configured when the key trigger received from the seed-key generating circuit does not match a key value corresponding to the seed value. And generating a response error flag, transmitting the generated response error flag to the microprocessor unit, and when the response error flag is generated in an open window section of a watchdog timer, operating the microprocessor unit in a shift buffering manner. This can increase the number of errors for.
실시 예에 있어서, 상기 키 트리거가 상기 워치독 타이머의 타임아웃 동안 수신되지 않았을 때, 상기 감시 장치는 상기 쉬프트 버퍼링 방식으로 상기 에러 개수를 증가시킬 수 있다.In example embodiments, when the key trigger is not received during the timeout of the watchdog timer, the monitoring apparatus may increase the number of errors in the shift buffering scheme.
실시 예에 있어서, 상기 에러 개수가 기준값 이상일 때, 상기 감시 장치는 인터럽트 신호 혹은 리셋 신호를 발생하여 상기 마이크로 프로세서 유닛으로 전송할 수 있다.In an embodiment, when the number of errors is greater than or equal to a reference value, the monitoring apparatus may generate an interrupt signal or a reset signal and transmit the interrupt signal or the reset signal to the microprocessor unit.
본 발명의 실시 예에 따른 감시 장치, 그것을 포함하는 시스템 및 그것의 동작 방법은, 에러 메시지를 이용하여 페일 처리하지 않으면서 MCU의 타이밍 보호 관리를 어시스트하고, 종래의 에러 카운터를 대신하여 응답 쉬프트 버퍼를 활용함으로써 패스/페일 결과값을 일정 시간 누적하여 활용함으로써, 종래의 그것과 비교하여 칩 사이즈를 줄이면서 감시 동작의 신뢰성을 극대화시킬 수 있다.The monitoring apparatus, a system including the same, and an operation method thereof according to an exemplary embodiment of the present invention assist the timing protection management of the MCU without fail processing using an error message, and replace the conventional error counter with a response shift buffer. By accumulating and using the pass / fail result accumulated for a predetermined time, it is possible to maximize the reliability of the monitoring operation while reducing the chip size compared with the conventional one.
본 발명의 실시 예에 따른 감시 장치, 그것을 포함하는 시스템 및 그것의 동작 방법은 응답 쉬프트 방식을 사용하여 최근의 타임 윈도우 내에서만 모니터링 함으로써, MCU가 페일 된 후 곧바로 정상화될 경우 별도의 리셋 없이 시스템 운영이 가능하다.Monitoring apparatus according to an embodiment of the present invention, a system including the same and its operation method is monitored only within the latest time window using a response shift method, so that if the MCU is normalized immediately after failing to operate the system without a separate reset This is possible.
또한, 본 발명의 실시 예에 따른 감시 장치, 그것을 포함하는 시스템 및 그것의 동작 방법은 응답 쉬프트 필터 값을 복수로 운영 가능함으로써 다양한 페일 패턴에 대응할 수 있다.In addition, the monitoring apparatus, a system including the same, and an operation method thereof according to an exemplary embodiment of the present disclosure may correspond to various fail patterns by operating a plurality of response shift filter values.
또한, 본 발명의 실시 예에 따른 감시 장치, 그것을 포함하는 시스템 및 그것의 동작 방법은 페일 시점의 응답 쉬프트 값을 인터럽트 방식으로 MCU로 전송한 뒤 이를 저장함으로써, 페일 패턴 분석을 용이하게 할 수 있다.In addition, the monitoring apparatus according to an embodiment of the present invention, a system including the same, and an operation method thereof may facilitate fail pattern analysis by transmitting a response shift value at a fail time to an MCU in an interrupt manner and storing the same. .
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 본 발명의 실시 예에 따른 마이크로 프로세서 시스템(10)을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 감시 장치(200)의 쉬프트 버퍼링 동작을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 감시 장치(200)의 감시 동작을 예시적으로 보여주는 흐름도이다.
도 4는 본 발명의 실시 예에 따른 감시 장치의 동작 방법을 예시적으로 보여주는 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings are provided to facilitate understanding of the present embodiment, and provide embodiments with a detailed description. However, the technical features of the present embodiment are not limited to the specific drawings, and the features disclosed in the drawings may be combined with each other to constitute a new embodiment.
1 is a diagram illustrating a
2 is a diagram exemplarily illustrating a shift buffering operation of the
3 is a flowchart illustrating a monitoring operation of the
4 is a diagram illustrating a method of operating a monitoring apparatus according to an exemplary embodiment of the present disclosure.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.DETAILED DESCRIPTION Hereinafter, the contents of the present invention will be described clearly and in detail so that those skilled in the art can easily implement the drawings.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific disclosed form, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.The terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Other expressions describing the relationship between components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring", should be interpreted as well. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In this application, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof that is implemented, and that one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. .
도 1은 본 발명의 실시 예에 따른 마이크로 프로세서 시스템(10)을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 마이크로 프로세서 시스템(10)은 마이크로콘트롤러 유닛(microcontroller unit, MCU, 100) 및 그것의 동작을 감시하는 감시 장치(200)를 포함할 수 있다. 여기서 프로세싱 시스템(10)은 차량을 위한 ECU(electronic control unit)일 수 있다.1 is a diagram illustrating a
MCU(100)는 감시 장치(200)로부터 질의 메시지(Q)를 수신하고, 수신된 질의 메시지(Q)에 응답하여 응답 메시지(A)를 발생하는 질의 응답 회로(110)를 포함할 수 있다. 여기서 질의 메시지(Q)는 씨드(seed) 값이고, 응답 메시지(Q)는 씨드 값에 대응하는 키(key) 값일 수 있다.The
감시 장치(200)는 MCU(100)의 동작을 감시하도록 구현될 수 있다. 예를 들어, 감시 장치(200)는 워치독(watchdog)으로 불리 수 있다. 실시 예에 있어서, 감시 장치(200)는 ASIC(application specific integrated circuit)으로 구현될 수 있다. 감시 장치(200)는 플래그 발생기(210), 플래그 처리기(220), 및 리셋 제어기(230)를 포함할 수 있다.The
플래그 발생기(210)는 질의 응답 방식에 따라 MCU(100)의 동작을 감시하도록 구현될 수 있다. 플래그 발생기(210)는, 도 1에 도시된 바와 같이, 질의 응답 발생 유닛(212), 응답 진단 유닛(214), 및 워치독 타이머(216)를 포함할 수 있다.The
질의 응답 발생 유닛(212)는 질의 메시지(Q)를 생생하도록 구현될 수 있다. 여기서 질의 메시지(Q)는 씨드 값일 수 있다. 또한 질의 응답 발생 유닛(212)는 질의 메시지(Q)에 대응하는 응답 메시지(A)를 확인하기 위한 값을 발생할 수 있다. 실시 예에 있어서, 질의 응답 발생 유닛(212)는 씨드(seed)-키(key) 발생 유닛을 포함할 수 있다.The query
또한, 질의 응답 발생 유닛(212)는 발생된 질의 메시지(Q)를 MCU(210)에 전송할 수 있다.In addition, the query
응답 진단 유닛(214)은 MCU(100)의 질의 응답 회로(110)로부터 응답 메시지(A)를 수신하고, 질의 응답 발생 유닛(212)에서 발생된 값과 응답 메시지(A)가 일치하는 지를 판별할 수 있다.The response
실시 예에 있어서, 응답 진단 유닛(214)은 워치독 타이머(216)의 시간 정보에 근거로 하여 응답 메시지(A)의 에러 여부를 판별하도록 구현될 수 있다. 예를 들어, 워치독 타이머(216)가 오픈 윈도우(open window) 구간에서 응답 메시지(A)가 수신되고, 질의 응답 발생 유닛(212)에서 발생된 값과 응답 메시지(A)가 일치하지 않을 때, MCU(100)의 동작이 에러라고 판별될 수 있다. 여기서 오픈 윈도우 구간은 감시 장치(200)의 감시 동작의 활성 구간이다.In an embodiment, the
반면에, 워치독 타이머(216)가 클로즈드 윈도우(closed window) 구간에서는 응답 메시지(A)의 에러 여부에 상관없이 감시 동작은 무시될 수 있다. 여기서 클로즈드 윈도우 구간은 감시 장치(200)의 감시 동작의 비활성 구간이다.On the other hand, the
한편, 질의 메시지(Q)가 MCU(100)로 송신된 후로부터 응답 메시지(A)가 수신될 때까지의 시간이 타임아웃(timeout) 되면, 응답 진단 유닛(214)은 응답 메시지(A)의 값에 상관없이 MCU(100)의 동작이 에러라고 판별할 수 있다.On the other hand, if the time from the time when the inquiry message Q is sent to the
워치독 타이머(216)는 질의 응답 발생 유닛(212)에서 질의 메시지(210)가 발생될 때 리셋(reset)/리플레쉬(refresh) 되도록 구현될 수 있다. 워치독 타이머(216)는 클로즈드 윈도우 구간과 오픈 윈도우 구간을 지시하도록 구현될 수 있다. 여기서 클로즈드 윈도우 구간과 오픈 윈도우 구간은 내부의 클록을 카운팅 함으로써 구현될 수 있다. 워치독 타이머(216)는, 예를 들어, 타임아웃을 지시하는 신호를 생생하도록 구현될 수 있다.The
한편, 플래그 발생기(210)의 응답 진단 유닛(214)은 수신된 응답 메시지(A)와 저장된 값이 다를 때 응답 오류 플래그(incorrect answer flag; IAF)를 발생할 수 있다. 발생된 응답 오류 플래그(IAF)는 MCU(100)로 전송되거나 플래그 처리기(220)로 전송될 수 있다.Meanwhile, the response
또한, 플래그 발생기(210)의 응답 진단 유닛(214)은 워치독 타이머(216)의 클로즈드 윈도우 구간에 응답 메시지(A)를 수신할 경우 조기 응답 플래그(early answer flag, EAF)를 발생할 수 있다.In addition, the
또한, 플래그 발생기(210)의 응답 진단 유닛(214)은 워치독 타이머(216)의 타임아웃 정보에 의거하여 타임아웃 플래그(timeout flag, TOF)를 발생할 수 있다.In addition, the response
플래그 처리기(220)는 응답 진단 유닛(214)으로부터 출력되는 적어도 하나의 플래그 신호(예, IAF, EAF, TOF)을 수신하고, 수신된 플래그 신호를 이용하여 에러 개수를 카운팅 하지 않으면서 쉬프트 버퍼링 방식에 따라 에러 개수를 관리하도록 구현될 수 있다. 플래그 처리기(220)는 응답 쉬프트 버퍼(222), 응답 쉬프트 필터(224) 및 인터럽트 제어기(226)를 포함할 수 있다.The
응답 쉬프트 버퍼(222)는 응답 메시지(A)의 에러 여부를 지시하는 오류 응답 플래그 신호(IAF), 오픈/클로즈드 구간 정보와 관련된 조기 응답 플래그 신호(EAF), 혹은 타임아웃 플래그 신호(TOF)를 근거로 하여 MCU(100)의 동작의 에러를 지시하는 비트(예를 들어, '0')을 저장하거나, 저장된 값을 쉬프팅 하도록 구현될 수 있다. 실시 예에 있어서, 응답 쉬프트 버퍼(222)는 판별하고자 하는 에러 개수에 대응하는 정도의 레지스터들을 포함할 수 있다.The
응답 쉬프트 필터(224)은 응답 쉬프트 버퍼(222)에 저장된 값과 사전에 결정된 값을 비교함으로써, 인터럽트(interrupt)를 결정하도록 구현될 수 있다. 실시 예에 있어서, 응답 쉬프트 필터(224)에 저장된 값은 가변 될 수 있다. 즉, 인터럽트 신호(INT)를 발생하는 기준값이 변경될 수 있다.The
인터럽트 제어기(226)는 응답 쉬프트 필터(224)의 결과값에 따라 인터럽트 신호(INT)를 발생하도록 구현될 수 있다. 여기서 인터럽트 신호(INT)는 MCU(10)의 동작을 인터럽트 시킬 수 있다.The interrupt
한편, 도 1에서 인터럽트 제어기(226)는 플래그 처리기(220)에 포함되었지만, 인터럽트 제어기(226)는 플래그 처리기(220)에 포함되지 않을 수도 있다고 이해되어야 할 것이다.Meanwhile, although the interrupt
리셋 제어기(230)는 인터럽트 제어기(226)의 인터럽트 신호(INT)에 응답하여 리셋 신호(RST)를 발생하도록 구현될 수 있다. 여기서 리셋 신호(RST)는 MCU(100)의 동작을 리셋 시킬 수 있다.The
한편, 도 1에서는 하나의 MCU(100)가 도시되어 있지만, 감시 장치(200)는 복수의 MCUs의 동작을 감시할 수 있다고 이해되어야 할 것이다. Meanwhile, although one
일반적으로 MCU 타이밍 보호(timing protection)을 위한 워치독(watchdog)의 목적성을 고려할 때, 에러 메시지에 대한 페일(fail) 처리는 불필요하다. 일반적인 워치독은 에러 처리 방법으로 카운터를 사용함으로써 정상 동작 회귀 여부를 판단할 필터 타임을 적용하기가 어렵다.Generally, considering the purpose of a watchdog for MCU timing protection, failing an error message is unnecessary. In general, the watchdog uses a counter as an error handling method, and thus it is difficult to apply a filter time to determine whether the normal operation is returned.
반면에, 본 발명의 실시 예에 따른 감시 장치(200)는 일정 시간 동안 MCU 트리거(trigger)가 없는 경우 (예를 들어, 타임아웃을 벗어난 경우) 에만 워치독 페일을 처리할 수 있다. 본 발명의 감시 장치(200)는 MCU(100)의 동작의 패스/페일 여부를 응답 쉬프트 버퍼(222)에 저장하고, 일정 시간 응답 쉬프트 버퍼(222)에 누적된 결과값을 활용함으로써 최종적인 MCU(100)의 리셋 여부를 결정할 수 있다. On the other hand, the
구체적으로, 감시 장치(200)는 질의 메시지(Q), 즉, 워치독 씨드(watchdog seed)를 발생하여 MCU(100)로 전송하면, MCU(100)는 워치독 씨드에 적합한 키(key)를 발생하고, 응답 메시지(A), 즉, 발생된 키(key)를 감시 장치(200)으로 전송할 수 있다. 이렇게 MCU(100)로부터 전송된 키 값이 예정된 값과 일치하고, 오픈 윈도우(open window) 구간에서 MCU trigger가 이루어진 경우, MCU(200)의 동작은 정상 동작으로 판별되고, 응답 쉬프트 버퍼(222)에 대응하는 비트 '1'이 입력될 수 있다. 반면에, MCU(100)로부터 전송된 키 값이 예정된 값과 상이하거나, 클로즈드 윈도우(closed window) 구간에서 MCU trigger가 이루어진 경우, MCU(100)로 대응하는 플래그 신호(응답 오류 플래그 신호(IAF) 혹은 조기 응답 플래그 신호(EAF))가 전송될 수 있다. 또한, 워치독 타임아웃 시점까지 MCU trigger가 이루어지지 않은 경우, MCU(100)로 타임아웃 플래그 신호(TOF)가 전송됨과 동시에, 응답 쉬프트 버퍼(222)에 대응하는 비트 '0'이 입력될 수 있다. Specifically, when the
이때, 응답 쉬프트 버퍼(222)에 저장된 값이 기준값과 동일할 때, 워치독 리셋 신호(RST)가 발생되고, 그렇지 않은 경우에는 새로운 워치독 주기가 시작될 수 있다.At this time, when the value stored in the
본 발명의 실시 예에 따른 감시 장치(200)는 에러 메시지를 이용하여 페일 처리하지 않으면서 MCU(100)의 타이밍 보호 관리를 어시스트하고, 종래의 에러 카운터를 대신하여 응답 쉬프트 버퍼(222)를 활용함으로써 패스/페일 결과값을 일정 시간 누적하여 활용함으로써, 종래의 그것과 비교하여 칩 사이즈를 줄이면서 감시 동작의 신뢰성을 극대화시킬 수 있다.The
본 발명의 실시 예에 따른 감시 장치(200)는 응답 쉬프트 방식을 사용하여 최근의 타임 윈도우 내에서만 모니터링 함으로써, MCU(100)가 페일 된 후 곧바로 정상화될 경우 별도의 리셋 없이 시스템 운영이 가능하다.The
또한, 본 발명의 실시 예에 따른 감시 장치(200)는 응답 쉬프트 필터 값을 복수로 운영 가능함으로써 다양한 페일 패턴에 대응할 수 있다.In addition, the
또한, 본 발명의 실시 예에 따른 감시 장치(200)는 페일 시점의 응답 쉬프트 값을 인터럽트 방식으로 MCU(100)로 전송한 뒤 이를 저장함으로써, 페일 패턴 분석을 용이하게 할 수 있다.In addition, the
도 2는 본 발명의 실시 예에 따른 감시 장치(200)의 쉬프트 버퍼링 동작을 예시적으로 보여주는 도면이다. 도 1 및 도 2를 참조하면, 감시 장치(200)의 MCU(100)에 대한 쉬프트 버퍼링 동작은 다음과 같다. 도 2에서는 설명의 편의를 위하여 응답 쉬프트 버퍼(222, 도 1 참조)는 4개의 비트들을 저장한다고 가정하겠다. 하지만, 본 발명의 응답 쉬프트 버퍼(222)에 저장되는 비트의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다.2 is a diagram exemplarily illustrating a shift buffering operation of the
기본적으로 응답 쉬프트 버퍼(222)는 '1111'로 저장되어 있다. 타임아웃을 지시하는 화살표(T4, T8, T9)를 제외한 모든 화살표(T1, T2, T3, T5, T6, T7)는 MCU(110, 도 1 참조)의 트리거 시점을 지시할 것이다.By default, the
타임아웃을 지시하는 시점(T4, T8, T9)에서, 하이 레벨(H)의 타임아웃 플래그 신호(TOF)가 발생되고, MCU(100)로 전송될 수 있다.At the time points T4, T8, and T9 indicating the timeout, a timeout flag signal TOF having a high level H may be generated and transmitted to the
클로즈드 윈도우(closed window) 구간에 수신된 트리거 시점(T2, T4)에서, 응답 메시지(A)의 오류 여부에 상관없이 하이 레벨(H)의 조기 응답 플래그(EAF)가 발생하고 MCU(100)로 전송될 수 있다.At the trigger time points T2 and T4 received in the closed window section, a high level H early response flag EAF is generated regardless of whether the response message A is in error and is sent to the
오픈 윈도우(open window) 구간이든 클로즈드 윈도우(closed window) 구간이든 상관없이 MCU 트리거에 의해 전송된 응답 메시지(A)가 오류라고 판별된 시점(T5, T)에서, 하이 레벨(H)의 응답 오류 플래그 신호(IAF)가 발생하고 MCU(100)로 전송될 수 있다.A response error of a high level (H) at a time point (T5, T) at which it is determined that the response message (A) transmitted by the MCU trigger is an error, regardless of whether it is an open window section or a closed window section. The flag signal IAF may be generated and transmitted to the
응답 쉬프트 버퍼(222)는 상술된 타임아웃 플래그 신호(TOF), 조기 응답 플래그 신호(EAF) 및 응답 오류 플래그 신호(IAF)의 종합적으로 고려하여 대응하는 비트 입력 및 쉬프팅을 수행하도록 구현될 수 있다. 예를 들어, 응답 쉬프트 버퍼(222)는 MCU 트리거 시점(T1, T3, T7) 및 타임아웃 시점(T4, T8, T9)에서 데이터 변동 및 쉬프팅 동작을 수행할 수 있다.The
MCU 트리거 시점(T1)의 경우, 오픈 윈도우 구간이고, 응답 메시지(A)에 오류가 없기 때문에, 응답 쉬프트 버퍼(222)에 '1'의 데이터가 저장되고, 한 비트 쉬프팅 동작이 수행된다. 따라서 응답 쉬프트 버퍼(222)의 저장된 값은 '1111'이다.In the MCU trigger time point T1, since it is an open window period and there is no error in the response message A, data of '1' is stored in the
MCU 트리거 시점(T3)의 경우, 오픈 윈도우 구간이고, 응답 메시지(A)에 오류가 없기 때문에, 응답 쉬프트 버퍼(222)에 '1'의 데이터가 저장되고, 한 비트 쉬프팅 동작이 수행된다. 따라서 응답 쉬프트 버퍼(222)의 저장된 값은 '1111'이다.In the MCU trigger time point T3, since it is an open window period and there is no error in the response message A, data of '1' is stored in the
타임아웃 시점(T4)의 경우, 타임아웃 구간 동안 MCU 트리거가 없기 때문에 오류로 처리된다. 응답 쉬프트 버퍼(222)에 '0'의 데이터가 저장되고, 한 비트 쉬프팅 동작이 수행된다. 따라서 응답 쉬프트 버퍼(222)의 저장된 값은 '1110'이다.In the case of the timeout time T4, since there is no MCU trigger during the timeout period, it is treated as an error. Data of '0' is stored in the
MCU 트리거 시점(T7)의 경우, 오픈 윈도우 구간이고, 응답 메시지(A)에 오류가 없기 때문에, 응답 쉬프트 버퍼(222)에 '1'의 데이터가 저장되고, 한 비트 쉬프팅 동작이 수행된다. 따라서 응답 쉬프트 버퍼(222)의 저장된 값은 '1101'이다.In the MCU trigger time point T7, since it is an open window period and there is no error in the response message A, data of '1' is stored in the
타임아웃 시점(T8)의 경우, 타임아웃 구간 동안 MCU 트리거가 없기 때문에 오류로 처리된다. 응답 쉬프트 버퍼(222)에 '0'의 데이터가 저장되고, 한 비트 쉬프팅 동작이 수행된다. 따라서 응답 쉬프트 버퍼(222)의 저장된 값은 '1010'이다.In the case of the timeout time T8, since there is no MCU trigger during the timeout period, it is treated as an error. Data of '0' is stored in the
타임아웃 시점(T9)의 경우, 타임아웃 구간 동안 MCU 트리거가 없기 때문에 오류로 처리된다. 응답 쉬프트 버퍼(222)에 '0'의 데이터가 저장되고, 한 비트 쉬프팅 동작이 수행된다. 따라서 응답 쉬프트 버퍼(222)의 저장된 값은 '0100'이다.In the case of the timeout time T9, the MCU is not treated as an error during the timeout period. Data of '0' is stored in the
응답 쉬프트 필터는 '0100'을 저장하고 있다. 따라서 응답 쉬프트 필터에 저장된 값과 응답 쉬프트 버퍼(222)에 저장된 값을 비교함으로써, 인터럽트 신호(INT)가 발생될 수 있다. 예를 들어, 응답 쉬프트 버퍼(222)에 저장된 값이 '0100'이라면, 하이 레벨(H)의 인터럽트 신호(INT)가 발생되고, MCU(100)로 전송될 수 있다. 인터럽트 신호(INT)에 응답하여 리셋 신호(RST)가 발생되고 MCU(100)로 전송될 수 있다.The response shift filter stores '0100'. Therefore, the interrupt signal INT may be generated by comparing the value stored in the response shift filter with the value stored in the
도 3은 본 발명의 실시 예에 따른 감시 장치(200)의 감시 동작을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 3을 참조하면, 감시 장치(200)는 다음과 같이 진행할 수 있다. 아래에서는 설명의 편의를 위하여 질의 응답 방식이 씨드-키 (seed-key) 방식이라고 가정하겠다. 한편, 본 발명의 질의 응답 방식이 씨드-키 방식에 제한되지 않는다고 이해되어야 할 것이다.3 is a flowchart illustrating a monitoring operation of the
감시 장치(200)는 감시 동작을 시작하기 위한 씨드 및 키를 발생할 수 있다(S110). 발생된 씨드 값은 MCU(100)로 전송될 것이다. 이때 워치독 타이머(116)는 리셋 될 수 있다(S120). 이후 감시 장치(200)는 MCU 트리거를 기다린다(S120). MCU 트리거는 MCU(100)로부터 출력되는 씨드 값에 대응하는 키 값이다.The
감시 장치(200)는 이러한 키 트리거를 수신 하였는 지를 판별할 수 있다(S132). 만일, 키 트리거가 수신되었다면, MCU로부터 수신된 키 값과, 감시 장치(200)에서 발생된 키 값이 일치하는 지가 판별될 수 있다(S140). 이후, 키 값이 수신된 시점이 오픈 윈도우 구간인지 판별될 수 있다(S150). 만일, 키 값이 수신된 시점이 오픈 윈도우 구간이라면, 응답 쉬프트 버퍼(222, 도 1 참조)에 '1'가 입력되고, 이전에 저장된 값들은 한 비트씩 쉬프팅 될 수 있다(S160). 반면에, S140 단계에서 감시 장치(200)에서 발생된 키 값이 일치하지 않거나, S150 단계에서 오픈 윈도우 구간이 아니라면, 관련 정보는 플래그 신호 형태로 MCU(100)에 고지될 수 있다(S162). The
또한, S132 단계에서, 키 트리거가 수신되지 않았다면, 타임아웃 되었는지가 판별될 수 있다(S134). 만일 타임아웃이라면, 응답 쉬프트 버퍼(222)에 '0'을 입력되고, 이전에 저장된 값들은 한 비트씩 쉬프팅 될 수 있다. 그리고 관련 정보는 플래그 신호 형태로 MCU(100)에 고지될 수 있다(S170). 이후, 응답 쉬프트 버퍼(222)에 저장된 값과 응답 쉬프트 필터(224)에 저장된 사전에 결정된 값(PDV)이 일치하는지가 판별될 수 있다(S180). 만일, 응답 쉬프트 버퍼(222)에 저장된 값과 응답 쉬프트 필터(224)의 사전에 결정된 값(PDV)이 동일할 때, 인터럽트 신호(INT) 혹은 리셋 신호(RST)가 발생될 수 있다(S190).In addition, in step S132, if the key trigger is not received, it may be determined whether or not timeout (S134). If timeout, '0' is input to the
또한, S134 단계에서 타임아웃이 아니라면, S130 단계가 진행될 수 있다. In addition, if it is not the timeout in step S134, step S130 may proceed.
또한, S160 단계 이후, 새로운 주기의 워치독 감시 동작을 위하여 S110 단계가 진행될 수 있다. 또한, S180 단계에서 응답 쉬프트 버퍼(222)에 저장된 값과 응답 쉬프트 필터(224)의 사전에 결정된 값(PDV)이 동일하지 않다면, 새로운 주기의 워치독 감시 동작을 위하여 S110 단계가 진행될 수 있다.In addition, after step S160, step S110 may be performed for a new period of the watchdog monitoring operation. In addition, if the value stored in the
한편, 본 발명의 실시 예에 따른 감시 장치는 질의 응답 방식으로만 에러 검출을 한다고 이해되지 않을 것이다. 그 외에도 다양한 방식으로 MCU의 에러 검출이 수행될 수 있다고 이해되어야 할 것이다.On the other hand, the monitoring device according to an embodiment of the present invention will not be understood that the error detection only by the query response method. In addition, it should be understood that error detection of the MCU may be performed in various ways.
도 4는 본 발명의 실시 예에 따른 감시 장치의 동작 방법을 예시적으로 보여주는 도면이다. 도 1 내지 도 4를 참조하면, 본 발명의 감시 장치의 동작은 다음과 같이 진행될 수 있다.4 is a diagram illustrating a method of operating a monitoring apparatus according to an exemplary embodiment of the present disclosure. 1 to 4, the operation of the monitoring apparatus of the present invention may proceed as follows.
감시 장치는 워치독 주기 동안에 다양한 방식에 의거하여 MCU의 동작의 에러 여부를 검출할 수 있다(S210). 여기서 MCU는 복수의 코어들을 포함할 수 있다. 감시 장치는 복수의 코어들 모두의 동작 에러를 검출하거나, 복수의 코어들의 각각의 동작 에러를 검출할 수 있다.The monitoring device may detect whether an operation of the MCU is error based on various methods during the watchdog cycle (S210). In this case, the MCU may include a plurality of cores. The monitoring apparatus may detect an operation error of all of the plurality of cores or detect an operation error of each of the plurality of cores.
감시 장치는 MCU의 동작의 에러 유무에 대한 비트 정보를 쉬프트 버퍼링 방식으로 저장할 수 있다(S220). 이때 MCU의 복수의 코어들의 각각에 대응하는 비트 정보가 저장될 수도 있다. 이후 저장된 값과 기준값을 비교함으로써 MCU의 인터럽트 혹은 리셋 여부가 결정될 수 있다. 여기서 복수의 코어들의 각각의 기준값은 동일하거나 서로 다를 수 있다.The monitoring device may store bit information on the presence or absence of an error in the operation of the MCU by the shift buffering method (S220). In this case, bit information corresponding to each of the plurality of cores of the MCU may be stored. Then, by comparing the stored value with the reference value, it may be determined whether the MCU is interrupted or reset. Here, each reference value of the plurality of cores may be the same or different.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.On the other hand, the content of the present invention described above is only specific embodiments for carrying out the invention. The invention will include not only specific and practically available means per se, but also technical ideas as abstract and conceptual ideas that may be utilized in future technology.
10: 마이크로 프로세서 시스템
100: MCU
110: 질의 응답 회로
200: 감시 장치
210: 플래그 발생기
220: 플래그 처리기
230: 리셋 제어기
212: 질의 응답 발생 유닛
214: 응답 진단 유닛
216: 워치독 타이머
222: 응답 쉬프트 버퍼
224: 응답 쉬프트 필터
226: 인터럽트 제어기
INT: 인터럽트 신호
RST: 리셋 신호
IAF: 응답 오류 플래그 신호
EAF: 조기 응답 플래그 신호
TOF: 타임아웃 플래그 신호
Q: 질의 메시지
A: 응답 메시지10: microprocessor system
100: MCU
110: question and answer circuit
200: monitoring device
210: flag generator
220: flag handler
230: reset controller
212: query response generation unit
214: response diagnostic unit
216: watchdog timer
222: response shift buffer
224: response shift filter
226: interrupt controller
INT: interrupt signal
RST: reset signal
IAF: Response Error Flag Signal
EAF: Early Response Flag Signal
TOF: Timeout Flag Signal
Q: Inquiry Message
A: response message
Claims (20)
상기 마이크로 프로세서 유닛의 동작의 에러를 씨드-키 방식으로 주기적으로 검출하고 대응하는 플래그들을 발생하는 에러 검출기;
상기 플래그들에 대응하는 비트를 쉬프트 버퍼링 방식으로 입력하고, 입력된 값과 기준값을 비교하여 인터럽트 신호를 발생하는 플래그 처리기; 및
상기 인터럽트 신호에 응답하여 리셋 신호를 발생하는 리셋 제어기를 포함하고,
상기 에러 검출기는,
질의 메시지 및 상기 질의 메시지에 대응하는 값을 발생하는 질의 응답 발생 유닛; 및
상기 질의 메시지에 대응하는 응답 메시지를 상기 마이크로 프로세서 유닛으로부터 수신하고, 상기 수신된 응답 메시지와 상기 대응하는 값을 비교하는 응답 진단 유닛을 포함하는 감시 장치.In the monitoring device for monitoring the microprocessor unit:
An error detector for periodically detecting an error in the operation of the microprocessor unit in a seed-key manner and generating corresponding flags;
A flag processor configured to input a bit corresponding to the flags by a shift buffering method, and generate an interrupt signal by comparing the input value with a reference value; And
A reset controller for generating a reset signal in response to the interrupt signal,
The error detector,
A query response generating unit for generating a query message and a value corresponding to the query message; And
And a response diagnostic unit for receiving a response message corresponding to the query message from the microprocessor unit and comparing the received response message with the corresponding value.
상기 에러 검출기는,
상기 질의 메시지를 상기 마이크로 프로세서 유닛으로 전송할 때부터 상기 응답 메시지를 상기 마이크로 프로세서 유닛으로부터 수신할 때까지 응답 시간을 카운팅하는 워치독 타이머를 더 포함하는 감시 장치.The method of claim 1,
The error detector,
And a watchdog timer that counts a response time from when the query message is sent to the microprocessor unit until the response message is received from the microprocessor unit.
상기 워치독 타이머의 클로즈드 윈도우 구간에서 상기 응답 메시지를 수신할 때, 상기 응답 진단 유닛은 조기 응답 플래그(early answer flag, EAF)를 발생하는 감시 장치.The method of claim 3, wherein
And upon receiving the response message in the closed window section of the watchdog timer, the response diagnostic unit generates an early answer flag (EAF).
상기 응답 메시지와 상기 대응하는 값이 다를 때, 상기 응답 진단 유닛은 응답 오류 플래그(incorrect answer flag, IAF)를 발생하는 감시 장치. The method of claim 3, wherein
And when the response message and the corresponding value are different, the response diagnostic unit generates an incorrect answer flag (IAF).
상기 워치독 타이머의 타임아웃에도 불구하고 상기 응답 메시지가 수신되지 않았을 때, 상기 응답 진단 유닛은 타임아웃 플래그(timeout flag, TOF)를 발생하는 감시 장치.The method of claim 3, wherein
And when the response message is not received despite the timeout of the watchdog timer, the response diagnostic unit generates a timeout flag (TOF).
상기 플래그들은 상기 마이크로 프로세서 유닛으로 전송되는 감시 장치.The method of claim 3, wherein
And the flags are transmitted to the microprocessor unit.
상기 워치독 타이머의 오픈 윈도우 구간에서 상기 응답 메시지를 수신하고, 상기 응답 메시지와 상기 대응하는 값이 다를 때, 상기 플래그 처리기는 상기 비트를 쉬프트 버퍼링 시키는 감시 장치. The method of claim 3, wherein
And receiving the response message in the open window period of the watchdog timer, and when the response message and the corresponding value are different, the flag processor shifts and buffers the bit.
상기 플래그 처리기는,
상기 오픈 윈도우 구간에서 상기 응답 메시지를 수신하고, 상기 응답 메시지와 상기 대응하는 값이 다를 때 '0'의 비트를 입력 및 나머지 값을 한 비트 씩 쉬프팅하는 응답 쉬프트 버퍼; 및
상기 기준값을 저장하는 응답 쉬프트 필터를 포함하는 감시 장치.The method of claim 8,
The flag handler is,
A response shift buffer which receives the response message in the open window period, shifts a bit of '0' and shifts the remaining value bit by bit when the response message is different from the corresponding value; And
And a response shift filter for storing the reference value.
상기 응답 쉬프트 버퍼에 저장된 값과 상기 기준값을 비교함으로써 상기 인터럽트 신호를 발생하는 인터럽트 제어기를 더 포함하는 감시 장치.The method of claim 9,
And an interrupt controller for generating the interrupt signal by comparing the reference value with a value stored in the response shift buffer.
상기 기준값은 가변되는 값인 감시 장치.The method of claim 9,
And the reference value is a variable.
씨드-키 방식으로 상기 마이크로 프로세서 유닛의 동작의 에러 유무를 검출하는 단계;
쉬프트 버퍼링 방식에 따라 대응하는 에러 유무에 대응하는 비트를 저장하는 단계; 및
저장된 값과 기준값을 비교함으로써 상기 마이크로 프로세서 유닛의 인터럽트 혹은 리셋 여부를 결정하는 단계를 포함하고,
상기 에러 유무를 검출하는 단계는,
씨드 및 키를 발생하는 단계;
상기 씨드 및 키를 발생할 때 워치독 타이머를 리셋하는 단계; 및
상기 마이크로 프로세서 유닛으로부터 발생되는 키 트리거를 기다리는 단계를 포함하는 방법.In a method of operating a monitoring device for monitoring a microprocessor unit:
Detecting the presence or absence of an error in the operation of the microprocessor unit in a seed-key manner;
Storing the bits corresponding to the presence or absence of corresponding errors according to the shift buffering scheme; And
Determining whether to interrupt or reset the microprocessor unit by comparing a stored value with a reference value,
The detecting of the presence or absence of the error may include:
Generating a seed and a key;
Resetting a watchdog timer when generating the seed and key; And
Waiting for a key trigger generated from the microprocessor unit.
상기 에러 유무를 검출하는 단계는,
상기 키 트리거를 수신하였는 지 판별하는 단계;
상기 키 트리거가 수신되었을 때 상기 발생된 키 값과 상기 키 트리거가 일치하는 지 판별하는 단계; 및
상기 키 트리거가 수신되지 않았을 때 워치독 타이머가 타임아웃인지 판별하는 단계를 더 포함하는 단계를 더 포함하는 방법.The method of claim 12,
The detecting of the presence or absence of the error may include:
Determining whether the key trigger has been received;
Determining whether the generated key value coincides with the key trigger when the key trigger is received; And
Determining if a watchdog timer is timed out when the key trigger has not been received.
상기 대응하는 비트를 저장하는 단계는,
상기 발생된 키 값과 상기 키 트리거가 일치할 때, 상기 워치독 타이머가 오픈 윈도우 구간인지 판별하는 단계; 및
상기 워치독 타이머가 상기 오픈 윈도우 구간일 때, '1'의 비트를 응답 쉬프트 버퍼에 입력하는 단계를 포함하는 방법.The method of claim 15,
The storing of the corresponding bit may include:
Determining whether the watchdog timer is an open window section when the generated key value matches the key trigger; And
And when the watchdog timer is in the open window period, inputting a bit of '1' into a response shift buffer.
상기 대응하는 비트를 저장하는 단계는,
상기 키 트리거가 수신되지 않았고, 상기 워치독 타이머가 상기 타임아웃일 때, '0'의 비트를 응답 쉬프트 버퍼에 입력하는 단계를 포함하는 방법.The method of claim 15,
The storing of the corresponding bit may include:
And when the key trigger has not been received and the watchdog timer is the timeout, inputting a bit of '0' into the response shift buffer.
상기 인터럽트 혹은 리셋 여부를 결정하는 단계는,
상기 응답 쉬프트 버퍼에 저장된 값이 상기 기준값일 때 인터럽트 혹은 리셋 신호를 발생하는 단계를 포함하는 방법.The method of claim 17,
Determining whether to interrupt or reset,
Generating an interrupt or reset signal when the value stored in the response shift buffer is the reference value.
상기 마이크로 프로세서 유닛은 상기 감시 장치부터의 씨드 값에 응답하여 키 트리거를 발생하는 씨드-키 발생 회로를 포함하고,
상기 감시 장치는, 질의 메시지 및 상기 질의 메시지에 대응하는 값을 발생하는 질의 응답 발생 유닛; 및
상기 질의 메시지에 대응하는 응답 메시지를 상기 마이크로 프로세서 유닛으로부터 수신하고, 상기 수신된 응답 메시지와 상기 대응하는 값을 비교하는 응답 진단 유닛을 포함하는 에러 검출기를 포함하고,
상기 응답 진단 유닛은, 상기 씨드-키 발생 회로로부터 수신된 상기 키 트리거와 상기 씨드 값에 대응하는 키 값이 일치하지 않을 때, 응답 오류 플래그를 발생하고,
상기 발생된 응답 오류 플래그를 상기 마이크로 프로세서 유닛으로 전송하고,
워치독 타이머의 오픈 윈도우 구간에서 상기 응답 오류 플래그가 발생될 때, 쉬프트 버퍼링 방식으로 상기 마이크로 프로세서 유닛의 동작에 대한 에러 개수를 증가시키는 마이크로 프로세서 시스템.A microprocessor system comprising a microprocessor unit and a monitoring device for monitoring the microprocessor unit in a seed-key manner:
The microprocessor unit comprises a seed-key generation circuit for generating a key trigger in response to a seed value from the monitoring device,
The monitoring apparatus includes: a query response generating unit generating a query message and a value corresponding to the query message; And
An error detector for receiving a response message corresponding to the query message from the microprocessor unit, and including a response diagnostic unit for comparing the received response message with the corresponding value;
The response diagnostic unit generates a response error flag when the key trigger received from the seed-key generation circuit does not match a key value corresponding to the seed value,
Send the generated response error flag to the microprocessor unit,
When the response error flag is generated in the open window period of the watchdog timer, a microprocessor system for increasing the number of errors for the operation of the microprocessor unit by the shift buffering method.
상기 키 트리거가 상기 워치독 타이머의 타임아웃 동안 수신되지 않았을 때, 상기 감시 장치는 상기 쉬프트 버퍼링 방식으로 상기 에러 개수를 증가시키고,
상기 에러 개수가 기준값 이상일 때, 상기 감시 장치는 인터럽트 신호 혹은 리셋 신호를 발생하여 상기 마이크로 프로세서 유닛으로 전송하는 마이크로 프로세서 시스템.The method of claim 19,
When the key trigger is not received during the timeout of the watchdog timer, the monitoring device increases the error number in the shift buffering manner,
And when the number of errors is equal to or greater than a reference value, the monitoring apparatus generates an interrupt signal or a reset signal and transmits the interrupt signal or the reset signal to the microprocessor unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170077242A KR102019378B1 (en) | 2017-06-19 | 2017-06-19 | Appartus for monitoring microcontroller unit, system having the same and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170077242A KR102019378B1 (en) | 2017-06-19 | 2017-06-19 | Appartus for monitoring microcontroller unit, system having the same and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180137711A KR20180137711A (en) | 2018-12-28 |
KR102019378B1 true KR102019378B1 (en) | 2019-09-06 |
Family
ID=65008729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170077242A KR102019378B1 (en) | 2017-06-19 | 2017-06-19 | Appartus for monitoring microcontroller unit, system having the same and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102019378B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001166869A (en) | 1999-12-13 | 2001-06-22 | Sony Corp | Input controller |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2984591B2 (en) * | 1995-11-29 | 1999-11-29 | 日本電気アイシーマイコンシステム株式会社 | Timer counter counting method |
JP2008530663A (en) * | 2005-02-11 | 2008-08-07 | ユニバーサル データ プロテクション コーポレーション | Microprocessor data security method and system |
KR100728870B1 (en) * | 2005-08-08 | 2007-06-15 | 경북대학교 산학협력단 | Dual port ram and method of losslessly transmitting data using the dual port ram |
KR101304209B1 (en) | 2009-12-02 | 2013-09-05 | 주식회사 만도 | Can message timeout error checking method |
KR101526874B1 (en) * | 2013-08-12 | 2015-06-09 | 현대오트론 주식회사 | Bi-directional watchdog apparatus and the controlling method thereof |
-
2017
- 2017-06-19 KR KR1020170077242A patent/KR102019378B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001166869A (en) | 1999-12-13 | 2001-06-22 | Sony Corp | Input controller |
Also Published As
Publication number | Publication date |
---|---|
KR20180137711A (en) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10902109B2 (en) | Misuse detection method, misuse detection electronic control unit, and misuse detection system | |
KR101988558B1 (en) | Apparatus and operating method for monitoring micro controller unit having multi-core | |
CN103259688B (en) | A kind of method for diagnosing faults of distributed memory system and device | |
JP4244231B2 (en) | Signal processing device | |
JP2009298308A (en) | On-vehicle electronic control device with monitoring control circuit | |
US7287198B2 (en) | Method for monitoring a microprocessor and circuit arrangement having a microprocessor | |
US7539903B2 (en) | Method for monitoring the execution of a program by comparing a request with a response and introducing a falsification in a response | |
US9641383B2 (en) | Method for error diagnosis of can communication | |
JP6207987B2 (en) | In-vehicle electronic control unit | |
JP2018109850A (en) | Collection device, collection method, program, and collection system | |
CN114365103A (en) | Daisy chain mode entry sequence | |
CN108388108B (en) | Method and device for synchronizing data in multiple redundancy control system | |
KR102019378B1 (en) | Appartus for monitoring microcontroller unit, system having the same and operating method thereof | |
EP2221723A1 (en) | Dual core processor and a method of error detection in a dual core processor | |
US10838795B2 (en) | Monitoring circuit with a signature watchdog | |
CN114896110A (en) | Link detection method, device, equipment and storage medium | |
JP6580279B2 (en) | Test apparatus, test method and test program | |
JP2003137045A (en) | Vehicle electronic control unit | |
US20030093725A1 (en) | Method and circuit for monitoring microcomputer for onboard electronic control device | |
US11520653B2 (en) | System and method for controlling faults in system-on-chip | |
JP3009238B2 (en) | Register failure detection device for microcomputer addition | |
US9830403B2 (en) | Communication apparatus, and CAM failure diagnosis method | |
CN106027281B (en) | Network detecting method and system towards intelligent robot operating system | |
CN116266163A (en) | Data transmission detection method and device and electronic equipment | |
JP2020035205A (en) | Computation device, and mutual monitoring system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |