[go: up one dir, main page]

KR102023164B1 - Method for monitoring os task of twin micom in rtos - Google Patents

Method for monitoring os task of twin micom in rtos Download PDF

Info

Publication number
KR102023164B1
KR102023164B1 KR1020130004504A KR20130004504A KR102023164B1 KR 102023164 B1 KR102023164 B1 KR 102023164B1 KR 1020130004504 A KR1020130004504 A KR 1020130004504A KR 20130004504 A KR20130004504 A KR 20130004504A KR 102023164 B1 KR102023164 B1 KR 102023164B1
Authority
KR
South Korea
Prior art keywords
task
slave
master
error
monitoring
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020130004504A
Other languages
Korean (ko)
Other versions
KR20140092132A (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 KR1020130004504A priority Critical patent/KR102023164B1/en
Publication of KR20140092132A publication Critical patent/KR20140092132A/en
Application granted granted Critical
Publication of KR102023164B1 publication Critical patent/KR102023164B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

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

본 발명에서 마이컴에서 생길 수 있는 실시간 오류를 감지할 수 있는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법을 개시한다.
본 발명에 다른 태스크의 모니터링 방법은, 독립된 RTOS(real time operating system)를 가지고 있는 두 개의 마이컴(MC1, MC2)을 이용해서 상호 시스템의 OS 태스크(task)를 감시하기 위한 모니터링 방법에 있어서, a) 상기 두 개의 마이컴을 마스터(MC2)와 슬레이브(MC1)로 설정하고, 기 설정된 태스크(task)의 허용 오차 시간 내에서 상기 마스터(MC2)와 슬레이브(MC1)의 태스크가 완료되는지를 상호 판단하는 단계; 및 b) 상기 a) 단계에서 판단한 결과, 상기 마스터(MC2) 또는 슬레이브(MC1)에서 태스크 수행 시간이 허용 오차 시간이 경과된 오류가 검출될 경우, 상기 마스터(MC2) 및 슬레이브(MC1) 간 재동기화(RESYNC)를 수행하는 단계로 이루어진 것을 특징으로 한다.
따라서, 본 발명은 OS를 구동하는 타이머의 오류나 우선 순위가 높은 태스크(task) 또는 인터럽트의 간섭으로 인해 OS 태스크(task)가 적절한 시간에 동작하지 않는 오류를 모니터링 함으로써, 마이컴에서 생길 수 있는 실시간 오류를 감지할 수 있는 효과를 갖는다.
The present invention discloses a method for monitoring an OS task of Althioes micom that can detect a real-time error that may occur in the microcomputer.
According to another aspect of the present invention, there is provided a monitoring method for monitoring an OS task of a mutual system by using two microcomputers MC1 and MC2 having independent real time operating systems (RTOSs). Setting the two microcomputers as the master MC2 and the slave MC1 and mutually determining whether the tasks of the master MC2 and the slave MC1 are completed within a tolerance time of a preset task. step; And b) as a result of the determination in the step a), if an error in which the task execution time has passed the allowable error time is detected in the master MC2 or the slave MC1, the master MC2 and the slave MC1 may be restarted. Characterized in that the step of performing a synchronization (RESYNC).
Accordingly, the present invention monitors an error in which an OS task does not operate at an appropriate time due to an error of a timer for operating an OS or an interruption of a high priority task or an interrupt, thereby real-time error that may occur in a microcomputer. Has the effect of detecting.

Figure R1020130004504
Figure R1020130004504

Description

알티오에스 마이컴의 오에스 태스크의 모니터링 방법{METHOD FOR MONITORING OS TASK OF TWIN MICOM IN RTOS }METHOD FOR MONITORING OS TASK OF TWIN MICOM IN RTOS}

본 발명은 독립된 알티오에스(RTOS : Real Time Operating System)에서 마이컴의 오에스(OS : Operating System)를 모니터링 하기 위한 방법에 관한 것으로, 더욱 상세하게는 OS를 구동하는 타이머의 오류나 우선 순위가 높은 태스크(task) 또는 인터럽트의 간섭으로 인해 OS 태스크(task)가 적절한 시간에 동작하지 않는 오류를 모니터링함으로써, 마이컴에서 생길 수 있는 실시간 오류를 감지할 수 있는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법에 관한 것이다.
The present invention relates to a method for monitoring a microcomputer OS (OS: Operating System) in an independent Real Time Operating System (RTOS: RTOS), and more specifically, the error or high priority task of a timer for operating the OS ( The present invention relates to a method of monitoring an OS task of Althioes MICOM that can detect a real-time error that may occur in MICOM by monitoring an error in which an OS task does not operate at an appropriate time due to an interruption of a task) or an interrupt.

종래의 내장형(Embedded)시스템에서 사용하는 프로그래밍 방법으로는 크게 전위/후위(Foreground/Background) 방식의 전통적인 순차 실행 프로그래밍 방법과 OS(Operating System)를 이용한 싱글 태스킹/멀티 태스킹 방식이 있다. 상기 순차 실행 방식은 많은 마이크로 컴퓨터 응용 프로그램에서 사용되고 있으며, 이 방식은 인터럽트 처리 이외에는 모든 프로그램이 순차적으로 흘러가게 작성된 프로그램이다.Programming methods used in the conventional embedded system are largely a conventional sequential execution programming method of the foreground / background method and a single tasking / multi-tasking method using an operating system (OS). The sequential execution method is used in many microcomputer applications, and this method is a program written in order that all programs flow sequentially except for interrupt processing.

그리고, OS를 이용한 프로그래밍 방식은 싱글 태스킹 방식의 경우 상기 순차 실행 방식과 유사하나 프로그램을 로딩시키고, 실행시키며 관리해주는 커넬이 존재한다는 것이 다를 뿐이다. 이 방식도 마찬가지로 인터럽트 처리 이외에는 모든 프로그램이 순차적으로 흘러가게 하는데, DOS(Disk Operating System)가 그 대표적인 예이다.In addition, the programming method using the OS is similar to the sequential execution method in the case of the single tasking method, except that there is a kernel that loads, executes, and manages a program. Likewise, this method causes all programs to flow sequentially except for interrupt processing. A typical example is DOS (Disk Operating System).

멀티 태스킹 방식은 여러 개의 프로그램이 하나의 OS상에서 실현되면서, 적절한 작업을 수행함으로 인하여 프로그램의 구현이 용이하며, 작업의 편리성 또한 증가하는 이점이 있는데, Unix, RTOS가 그 대표적인 예이다. 컴퓨터 하드웨어의 이상을 검사하기 위한 타이머로서 정상적인 상태에서는 감시 시간보다 짧은 주기로 프로그램에 의해 반복 리셋되지만, 비정상 상태에 의해 리셋되지 않을 때는 경고를 발한다, 시스템 내에서 한 루틴이 계속적으로 반복되거나,장비의 고장, 프로그램의 오류에 의해 처리가 지연될 때 이 타이머가 세트된다.The multi-tasking method has several advantages that are realized on one OS, and it is easy to implement a program by performing an appropriate task, and convenience of work is also increased. Unix and RTOS are typical examples. This timer is used to check the computer hardware for abnormality. In normal condition, it is repeatedly reset by the program in shorter time than the monitoring time, but when it is not reset due to abnormal condition, a warning is issued. This timer is set when processing is delayed due to a fault or a program error.

이와 같이 전술된 RTOS는 자체적으로 오동작 감시 시스템을 구축하고 있는데, 도 1을 참조하여 상세히 설명하면 다음과 같다.As described above, the RTOS is constructing a malfunction monitoring system by itself, which will be described in detail with reference to FIG. 1.

먼저 도시된 바와 같이 RTOS에서의 오동작 감시 시스템은 제어부(10)와, 상기 제어부(10)로부터 리셋 신호를 입력받아 주기적으로 리셋되고, 상기 제어부(10)로부터 리셋 신호가 일정 시간 안에 입력되지 않을 때는 상기 시스템을 재부팅시키는 와치독 타이머(20)를 포함하여 구성된다.As shown first, the malfunction monitoring system in the RTOS is periodically reset by receiving a reset signal from the control unit 10 and the control unit 10, and when the reset signal is not input within a predetermined time from the control unit 10. And a watchdog timer 20 for rebooting the system.

상기 제어부(10)는 시스템 구동에 따라 실행되는 메인 모듈(11)과, 상기 메인 모듈(11) 및 각 모듈들에 의해 호출되어 실행되는 모듈들로 구성되는데, 상기 모듈들은 하드웨어가 초기화됨과 동시에 실행되는 와치독 타이머 초기화 모듈(12)과, 상기 와치독 타이머 초기화 모듈(12)에 의해 생성되어 계속적으로 상기 와치독 타이머(20)를 리셋시키는 와치독 타이머 태스크 모듈(13), 임계 영역에서 와치독 타이머의 시스템 재부팅을 방지하기 위한 인터럽트 신호를 발생하는 임계 영역 처리 인터럽트 모듈(14)을 포함하여 구성된다.The control unit 10 is composed of a main module 11 to be executed according to the system drive, and a module called and executed by the main module 11 and each module, the modules are executed at the same time the hardware is initialized The watchdog timer initialization module 12 and the watchdog timer task module 13 generated by the watchdog timer initialization module 12 to continuously reset the watchdog timer 20. And a threshold region processing interrupt module 14 for generating an interrupt signal to prevent a system reboot of the timer.

따라서, RTOS는 오동작 감시과정에서 시스템 하드웨어 초기화 시 와치독 타이머를 정지시키고, 상기 와치독 타이머의 변수값을 재설정한 후, 상기 와치독 타이머 태스크를 생성하고, 상기 와치독 타이머를 구동시킨다. 그리고 상기 와치독 타이머가 재생되도록 리셋 신호를 출력한다.Accordingly, the RTOS stops the watchdog timer when the system hardware is initialized in the malfunction monitoring process, resets the variable value of the watchdog timer, generates the watchdog timer task, and drives the watchdog timer. And outputs a reset signal to reproduce the watchdog timer.

또한 임계 영역 발생시, 와치독 타이머의 시스템 재부팅을 방지하기 위한 인터럽트 신호를 발생시키고, RTOS 커널이 로딩된 상태에서 시스템 하드웨어 초기화 시, 상기 제어부(10)는 와치독 타이머 초기화 과정을 실행한다. 즉, 상기 와치독 타이머 초기화 모듈(12)은 초기화 플래그가 '1'로 셋팅되어 있는지를 판단하여, 그 판단 결과 초기화 플래그가 셋팅되어 있으면, 초기화 모듈 실행을 중지하고, 초기화 루틴을 빠져나온다.In addition, when a critical region is generated, an interrupt signal is generated to prevent system reboot of the watchdog timer. When the system hardware is initialized while the RTOS kernel is loaded, the controller 10 executes a watchdog timer initialization process. That is, the watchdog timer initialization module 12 determines whether the initialization flag is set to '1'. If the initialization flag is set as a result of the determination, the watchdog timer initialization module 12 stops executing the initialization module and exits the initialization routine.

만약, 초기화 플래그가 셋팅되어 있지 않으면, 와치독 타이머를 정지시키고, 타이머 제어 레지스터에 동작 모드를 설정한 후, 타이머 변수 레지스터에 리로드시킬 값을 기입한다. 그리고, 상기 와치독 타이머 초기화 모듈(12)은 최상위 순위를 갖는 타이머 태스크를 생성시켜, 이후 계속적으로 타이머 태스크가 수행되도록 한 후, 상기 타이머 초기화 플래그를 셋팅시키고, 상기 와치독 타이머를 재구동시킨다.If the initialization flag is not set, the watchdog timer is stopped, the operation mode is set in the timer control register, and the value to be reloaded is written in the timer variable register. The watchdog timer initialization module 12 generates a timer task having the highest rank, and then continuously executes the timer task. Then, the watchdog timer initialization module 12 sets the timer initialization flag and restarts the watchdog timer.

그러나, 전술된 RTOS에서는 플래그의 셋팅 상태를 기반으로 동작 태스크에 대한 감시가 이루어지기 때문에, OS를 구동하는 타이머의 오류나 우선 순위가 높은 task 또는 인터럽트의 간섭으로 인해 OS task가 적절한 시간에 동작하지 않는 오류를 OS 태스크 모니터링으로 감지할 수 없는 문제가 있다. 즉, 마이컴의 자체 오류에 대한 감시가 이루어지지 않기 때문에, OS task가 정확한 시간 내에 동작했다고 하더라도 프로그램 동작 순서에 생길 수 있는 실시간 오류를 감지할 수 없어 시스템의 안정성을 훼손하는 문제가 있는 것이다.However, in the above-mentioned RTOS, the operation task is monitored based on the setting state of the flag. Therefore, the OS task does not operate at an appropriate time due to an error of a timer that drives the OS, or an interference of a high priority task or an interrupt. There is a problem that cannot be detected by OS task monitoring. In other words, since the microcomputer does not monitor its own error, even if the OS task runs within the correct time, the real-time error that may occur in the program operation sequence cannot be detected, thereby deteriorating the stability of the system.

본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 OS를 구동하는 타이머의 오류나 우선 순위가 높은 태스크(task) 또는 인터럽트의 간섭으로 인해 OS 태스크(task)가 적절한 시간에 동작하지 않는 오류를 모니터링 함으로써, 마이컴에서 생길 수 있는 실시간 오류를 감지할 수 있는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법을 제공함에 있다.The present invention was created to solve such a problem, and an object of the present invention is to operate an OS task at an appropriate time due to an error of a timer for operating an OS or an interruption of a high priority task or interrupt. By monitoring the errors that do not occur, it provides a method of monitoring the OS task of ALTIOS MICOM that can detect real-time errors that may occur in MICOM.

본 발명의 다른 목적은, OS task가 정확한 시간 내에 동작했다고 하더라도 프로그램 동작 순서에 생길 수 있는 실시간 오류를 감지함으로써, RTOS 시스템의 안정성을 확보할 수 있는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법을 제공함에 있다.
Another object of the present invention is to provide a method of monitoring an OS task of AltiOS MICOM which can secure the stability of an RTOS system by detecting real-time errors that may occur in a program operation sequence even if an OS task operates within an accurate time. have.

상기 목적을 달성하기 위한 본 발명의 관점에 따른 알티오에스 마이컴의 오에스 태스크의 모니터링 방법은, 독립된 RTOS(real time operating system)를 가지고 있는 두 개의 마이컴(MC1, MC2)을 이용해서 상호 시스템의 OS 태스크(task)를 감시하기 위한 모니터링 방법에 있어서, a) 상기 두 개의 마이컴을 마스터(MC2)와 슬레이브(MC1)로 설정하고, 기 설정된 태스크(task)의 허용 오차 시간 내에서 상기 마스터(MC2)와 슬레이브(MC1)의 태스크가 완료되는지를 상호 판단하는 단계; 및 b) 상기 a) 단계에서 판단한 결과, 상기 마스터(MC2) 또는 슬레이브(MC1)에서 태스크 수행 시간이 허용 오차 시간이 경과된 오류가 검출될 경우, 상기 마스터(MC2) 및 슬레이브(MC1) 간 재동기화(RESYNC)를 수행하는 단계로 이루어진 것을 특징으로 한다.In order to achieve the above object, a method of monitoring an OS task of an ALTIOS MICOM according to an aspect of the present invention is an OS task of a mutual system using two microcomputers MC1 and MC2 having independent real time operating systems (RTOS). A monitoring method for monitoring a task, the method comprising: a) setting the two microcomputers as a master MC2 and a slave MC1, and the master and the master MC2 within a tolerance time of a preset task; Mutually determining whether a task of the slave MC1 is completed; And b) as a result of the determination in the step a), if an error in which the task execution time has passed the allowable error time is detected in the master MC2 or the slave MC1, the master MC2 and the slave MC1 may be restarted. Characterized in that the step of performing a synchronization (RESYNC).

본 발명의 바람직한 실시 예에 따른 a) 단계는, a-1) 상기 마스터(MC2) 또는 슬레이브(MC1)의 모니터링 윈도우에서 동작(EXEC) 단계로 진입하는 단계; a-2) 상기 슬레이브(MC1) 또는 마스터(MC2)가 태스크(task)를 수행하고, 상기 슬레이브(MC1) 또는 마스터(MC2)가 동작(EXEC) 단계로 전환하는 단계; 및 a-3) 상기 슬레이브(MC1) 또는 마스터(MC2)와, 상기 마스터(MC2) 또는 슬레이브(MC1) 간 동작(EXEC) 시간이 허용 오차 시간범위에 존재할 경우 오류로 판단하는 단계;로 이루어진 것을 특징으로 한다.According to a preferred embodiment of the present invention, step a) includes: a-1) entering an operation (EXEC) step from a monitoring window of the master (MC2) or slave (MC1); a-2) the slave (MC1) or the master (MC2) to perform a task (task), the slave (MC1) or master (MC2) to switch to the operation (EXEC) phase; And a-3) determining that an error (EXEC) time between the slave MC1 or the master MC2 and the master MC2 or the slave MC1 exists in an error time range. It features.

또한, 본 발명의 바람직한 실시 예에 따르면, 상기 태스크(task)에 포함되는 다수 개의 함수에는 각 함수의 시작 시점과 종료 시점에 산술 연산 알고리즘을 포함하며; 상기 산술 연산 알고리즘은 초기값(Initial value)을 기준으로 한 서로 다른 연산식이고, 상기 연산식을 기반으로 각 함수에 대한 동작 완료를 검증하는 것을 특징으로 한다.
According to a preferred embodiment of the present invention, the plurality of functions included in the task include an arithmetic algorithm at start and end points of each function; The arithmetic algorithm is a different expression based on an initial value, and the operation completion of each function is verified based on the expression.

본 발명에서 제시하는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법은, OS를 구동하는 타이머의 오류나 우선 순위가 높은 태스크(task) 또는 인터럽트의 간섭으로 인해 OS 태스크(task)가 적절한 시간에 동작하지 않는 오류를 모니터링 함으로써, 마이컴에서 생길 수 있는 실시간 오류를 감지할 수 있는 효과를 갖는다. 또한, OS task가 정확한 시간 내에 동작했다고 하더라도 프로그램 동작 순서에 생길 수 있는 실시간 오류를 감지함으로써, RTOS 시스템의 안정성을 확보할 수 있는 효과가 있다.
In the method of monitoring an OS task of the ALTIOS MICOM proposed in the present invention, an OS task does not operate at an appropriate time due to an error of a timer that drives an OS, or an interruption of a high priority task or an interrupt. By monitoring this, it is possible to detect real-time errors that may occur in the microcomputer. In addition, even if the OS task is executed in the correct time, it is possible to secure the stability of the RTOS system by detecting real-time errors that may occur in the program operation sequence.

도 1은 종래 RTOS의 태스크 감시를 설명하기 위한 구성도이다.
도 2는 본 발명에 따른 마이컴의 OS 상태를 설명하기 위한 도면이다.
도 3은 도 2에서 제시된 MC1이 MC2의 OS 오류를 감시하는 실시 예를 나타낸 도면이다.
도 4는 도 2에서 제시된 MC2가 MC1의 OS 오류를 감시하는 실시 예를 나타낸 도면이다.
도 5는 MC2의 OS 오류에 의한 재동기화를 설명하기 위한 도면이다.
도 6은 MC1의 OS 오류에 의한 재동기화를 설명하기 위한 도면이다.
도 7은 본 발명에 따른 프로그램 플로우 및 OS 모니터링의 원리를 설명하기 위한 도면이다.
1 is a configuration diagram for explaining task monitoring of a conventional RTOS.
2 is a view for explaining the OS state of the microcomputer according to the present invention.
FIG. 3 is a diagram illustrating an embodiment in which MC1 shown in FIG. 2 monitors an OS error of MC2.
FIG. 4 is a diagram illustrating an embodiment in which MC2 shown in FIG. 2 monitors an OS error of MC1.
5 is a diagram for describing resynchronization due to an OS error of MC2.
FIG. 6 is a diagram for describing resynchronization due to an OS error of MC1.
7 is a view for explaining the principle of program flow and OS monitoring according to the present invention.

이하, 본 발명의 바람직한 실시 예를 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 본 발명은 독립된 RTOS(real time operating system)를 가지고 있는 두개의 마이컴을 이용해서 상호 시스템의 OS task를 감시하기 위한 구조를 갖는다. 이는 OS를 구동하는 타이머의 오류나 우선 순위가 높은 태스크(task) 또는 인터럽트의 간섭으로 인해 OS 태스크(task)가 적절한 시간에 동작하지 않는 오류를 감시할 뿐만 아니라, OS 태스크가 정확한 시간 내에 동작했다고 하더라도 프로그램 동작 순서에 생길 수 있는 실시간 오류를 감지하게 된다.First, the present invention has a structure for monitoring OS tasks of a mutual system using two microcomputers having independent real time operating systems (RTOS). This not only monitors the OS task not running at the proper time due to the error of timers running the OS, or the interference of high priority tasks or interrupts. It detects real-time errors that can occur in the sequence of program operation.

이를 위해 본 발명에서는 마이컴 사이에 통신 라인이 구축되어 있는 두 개의 마이컴을 마이컴 내부의 리소스와 통신 라인을 이용하여, 상호 마이컴의 OS 태스크 및 프로그램 플로우(program flow)를 모니터링 한다. 여기서, 두 마이컴을 슬레이브(slave)와 마스터(master)로 정의하고 각각의 마이컴을 감시하는 OS 태스크에 맞는 OS 스테이트(state)를 갖는다.To this end, in the present invention, two micoms in which communication lines are established between the microcomputers are monitored using the resources and the communication lines in the microcomputer, thereby monitoring the OS tasks and program flows of the microcomputers. Here, two micoms are defined as slaves and masters, and have OS states corresponding to OS tasks for monitoring each micom.

또한, 상기 마스터(master)는 슬레이브(slave)와의 통신을 주도하고 슬레이브의 OS 태스크 동작을 감시하다. 슬레이브는 자신의 프로그램 플로우 모니터링하고 그 결과를 반영하여 OS 스테이트(state)를 변경한다. 그리고, 마스터의 통신 요청에 따라 현재 슬레이브의 OS 스테이트를 마스터에 보낸다. 또한 슬레이브는 마스터의 OS 동작을 모니터링하고 오류를 감지하는 기능도 함께 수행한다.The master also directs communication with the slave and monitors the slave's OS task operation. The slave monitors its program flow and changes the OS state to reflect the results. The OS state of the current slave is sent to the master according to the master's communication request. The slave also monitors the master's operating system and detects errors.

여기서, 예컨대 40ms 태스크(task)를 감시하는 두 마이컴 MC1(slave)와 MC2(master)의 OS 모니터링 방법을 도 2를 참조하여 설명하면 다음과 같다.For example, an OS monitoring method of two microcomputers MC1 (slave) and MC2 (master) monitoring a 40 ms task will be described with reference to FIG. 2.

먼저 OS 태스크가 동작할 때는 허용 가능한 오차 범위(jitter)를 ±10ms로 설정하고, 두 마이컴의 통신 주기를 10ms로 설정한다. 오차 범위는 통신 주기의 배수가 되도록 설정함이 바람직할 것이다. 따라서, 10ms마다 MC2는 자신의 OS 상태(state)를 MC1에 전송하고 MC1도 자신의 OS 상태(state)를 MC2에 전송한다. 전송받은 상대의 OS 상태(state)로 상대 OS 태스크의 동작을 감시하게 된다.First, when the OS task runs, the allowable jitter is set to ± 10ms and the communication period of the two microcomputers is set to 10ms. It may be desirable to set the error range to be a multiple of the communication period. Therefore, every 10 ms, MC2 transmits its OS state to MC1 and MC1 also transmits its OS state to MC2. It monitors the operation of the partner OS task with the received OS state.

'동기화 단계'에서 MC1 및 MC2의 OS 상태(state)는 동기화(SYNC) 상태로 설정된다. 그리고, 상기 MC1의 40ms 태스크가 수행될 때까지 동기화(SYNC) 단계를 유지하고, MC1의 40ms 태스크가 수행되면 동작(EXEC) 상태로 변경한다. MC1의 OS 상태(state)가 동작(EXEC) 상태로 변경되면 각 마이컴의 모니터링이 시작된다.In the 'synchronization phase', the OS states of the MC1 and the MC2 are set to the synchronization (SYNC) state. Then, the synchronization (SYNC) phase is maintained until the 40ms task of the MC1 is performed, and when the 40ms task of the MC1 is performed, the state is changed to the operation (EXEC) state. When the OS state of MC1 changes to the EXEC state, monitoring of each microcomputer is started.

전술된 '동기화 단계'를 거쳐 모니터링이 개시되면, MC1 및 MC2는 상호 감시가 이루어진다. 여기서, 이미 설명된 바와 같이 40ms 태스크의 동작시간은 오차 범위 ±10ms를 고려하여 30ms ~ 50ms이내가 되기 때문에, 실질적으로 40ms 태스크를 모니터링 하는데 최대 50ms의 시간(40ms task monitoring segment)가 필요하며, 필요에 따라 30m ~ 50ms의 시간이 소요될 것이다.When monitoring is started through the above-described 'synchronization step', MC1 and MC2 are mutually monitored. As described above, since the operation time of the 40ms task is within 30ms to 50ms considering the error range ± 10ms, a maximum of 50ms is required to monitor the 40ms task (40ms task monitoring segment). Depending on the time it will take 30m ~ 50ms.

40ms 태스크를 감시하는 모니터링 세그먼트(monitoring segment)는 '모니터링 1' 단계에서 언급하는 바와 같이 통신 순서에 따라서 t1, t2, t3, t4로 분류되며, 최대 50ms인 t5까지 존재할 수 있다. 그리고 동기화(SYNC) 단계의 통신 순서는 t0로 정의될 것이다. 도시한 바와 같이, MC2(master)의 경우 MC1(slave)의 40ms 태스크의 동작을 기다리는 대기(PEND) 상태와 40ms 태스크의 수행을 검사하는 동작(EXEC) 단계로 나뉠 수 있다.The monitoring segment that monitors the 40ms task is classified into t1, t2, t3, and t4 according to the communication order as mentioned in the 'Monitoring 1' step, and may exist up to t5, which is a maximum of 50ms. And the communication order of the synchronization (SYNC) step will be defined as t0. As shown, the MC2 (master) may be divided into a PEND state waiting for the operation of the 40 ms task of the MC1 (slave) and an operation (EXEC) step of checking the performance of the 40 ms task.

모니터링 윈도우 밖의 시간은 대기(PEND) 상태이고, 모니터링 윈도우 이내의 시간은 동작(EXEC) 단계가 된다. MC1(slave)의 경우 MC2(master)의 대기(PEND) 상태부터 대기(PEND) 상태가 되고 MC2 자신의 40ms 태스크가 수행된 시점에 동작(EXEC) 단계가 된다.The time outside the monitoring window is a PEND state and the time within the monitoring window is an EXEC phase. In the case of MC1 (slave) is a standby (PEND) state from the standby (PEND) state of the MC2 (master) and becomes an operation (EXEC) step when the 40ms task of MC2 itself is performed.

도시된 '모니터링 2', '모니터링 3'은 본 발명에서 제시하는 MC1 및 MC2에 대한 OS 상태(State)를 설명하기 위한 예시로서, 동기화(SYNC) 단계를 거쳐서 대기(PEND) 단계로 진입하고 MC2(master)가 모니터링 윈도우에서 동작(EXEC) 단계로 진입하다.The illustrated 'Monitoring 2' and 'Monitoring 3' are examples for explaining OS states for the MC1 and the MC2 according to the present invention, and enter the PEND step through the SYNC step and enter the MC2. (master) enters the operation (EXEC) phase in the monitoring window.

정상적인 경우 모니터링 윈도우 내에서 MC1(slave)의 40ms 태스크가 동작을 수행하게 되고 MC1(slave)은 동작(EXEC) 단계로 변경된다. MC1의 OS state가 동작(EXEC) 단계로 변경된 것을 확인한 MC2는 새로운 모니터링 세그먼트를 시작한다. 그리고, ±10ms의 오차 범위(jitter)는 MC2의 모니터링 윈도우 이내이기 때문에 MC1의 정상 동작으로 간주한다.In a normal case, a 40 ms task of MC1 (slave) performs an operation in the monitoring window and MC1 (slave) is changed to an operation (EXEC) step. After confirming that the OS state of MC1 has changed to the operation (EXEC) phase, MC2 starts a new monitoring segment. Since the jitter of ± 10 ms is within the monitoring window of MC2, it is regarded as normal operation of MC1.

그러면, 전술된 모니터링 방법에 따라 OS 오류 모니터링을 도 3을 참조하여 설명하면 다음과 같다.Then, the OS error monitoring will be described with reference to FIG. 3 according to the above-described monitoring method.

도 3은 본 발명의 예시로서 상기 MC2에 대한 OS 오류 모니터링을 도시하고 있다. 이는MC2의 OS 오류를 MC1이 감시하는 경우로서, 먼저 MC2의 OS가 정상적으로 동작하지 않는 경우 MC2의 OS state가 MC1이 예상한 것과 다르게 동작하게 된다. MC1의 경우와 동일하게 ±10ms의 오차 범위는 정상으로 간주하며, 정상적인 경우 t3, t4, t5는 모니터링 윈도우(monitoring window) 이기 때문에 동작(EXEC) 단계로 변경되어야 한다.3 illustrates OS error monitoring for the MC2 as an example of the present invention. This is a case where MC1 monitors an OS error of MC2. If the OS of MC2 does not operate normally, the OS state of MC2 operates differently from that expected by MC1. As in the case of MC1, an error range of ± 10 ms is regarded as normal, and in normal cases, t3, t4, and t5 should be changed to an operation (EXEC) step because they are a monitoring window.

만약, MC2의 OS 지연으로 '정상 1'의 t3에서 PEND 상태로 유지되는 경우, 상기 MC2는 오차 범위 이내이기 때문에 오류로 판단하지 않는다. 즉, MC2의 OS 상태에서 t1, t2, t3의 지연 시간이 10ms, 20ms, 20ms로서 50ms의 OS 지연이 발생하였으나, 40ms 태스크에서 오차 범위 ±10ms을 감안하면 최대 50ms 범위 내에서 태스크가 실행된 것이고, MC2는 태스크가 완료된 후 t4에서 동작(EXEC)이 이루어져 오류로 인지하지 않는다. 따라서, '정상 1'의 경우 MC1은 t4에서 MC2의 실행(EXEC)을 오류로 판단하지 않는 것이다.If it is maintained in the PEND state at t3 of 'normal 1' due to the OS delay of MC2, the MC2 is not determined as an error because it is within an error range. In other words, the OS delay of t1, t2, and t3 is 10ms, 20ms, and 20ms in the OS state of MC2, but a 50ms OS delay occurred, but considering the error range ± 10ms in the 40ms task, the task was executed within the maximum range of 50ms. , MC2 does not recognize the error as the operation (EXEC) is performed at t4 after the task is completed. Therefore, in case of 'normal 1', MC1 does not determine execution (EXEC) of MC2 as an error at t4.

반면, '오류 1'의 경우를 살펴 보면 MC2의 t1에서 10ms 동안 태스크를 수행하고, t2에서 10ms, t3에서 20ms를 수행하고 있어, 전체 40ms 동안 태스크를 수행하고 있으나, t4에서 또 다시 대기(PEND) 상태를 유지하여 20ms 태스크를 수행하고 있다. 이는 결과적으로 60ms 동안의 태스크가 동작되고 있음에 따라 전술한 오차 범위 ±10ms를 감안하더라도, 정상범위를 넘게 된다. 따라서, 상기 MC1은 t4 상태에서 MC2의 오류를 검출하는 것이다.On the other hand, in case of 'Error 1', the task is executed for 10ms at t1 of MC2, and 10ms at t2 and 20ms at t3 of MC2, but the task is performed for the entire 40ms, but again at t4 (PEND 20ms task is maintained by maintaining the state. As a result, as the task for 60 ms is operated, the above normal range is exceeded even in view of the above error range ± 10 ms. Therefore, the MC1 detects an error of the MC2 in the t4 state.

도시된 '정상 2'에서는 오류 범위의 최소 치로 동작함을 보이는 것으로, 상기 MC2는 t1 및 t2에서 대기(PEND) 상태를 유지하면서 태스크를 수행하고 있으며, 각각으로 10ms, 20ms 동안 이루어지고 있다. 그리고, t3에서 동작(EXEC) 단계로 전환되었으나, t1, t2에서 소요된 태스크 수행시간은 40ms 태스크의 오차 범위 ±10ms을 감안한 30ms 범위 내에 있기 때문에 상기 MC1은 MC2를 오류로 판단하지 않는 것이다.In the illustrated 'normal 2', the operation is performed at the minimum value of the error range. The MC2 performs a task while maintaining a PEND state at t1 and t2, respectively, for 10 ms and 20 ms. In addition, although the operation is switched to the operation (EXEC) step at t3, the task execution time required at t1 and t2 is within the 30 ms range considering the error range ± 10 ms of the 40 ms task, so that the MC1 does not determine MC2 as an error.

반면, '오류 2'에서는 MC2의 t2에서 동작(EXEC)이 이루어지고 있으나, t1에서 10ms의 태스크가 수행된 후 종료가 된 것으로, 허용 가능한 범위 30ms 이내이므로 이는 MC2의 태스크 수행과정에서 오류가 발생한 것으로 인지한다. 따라서, 상기 MC1은 MC2의 t2 단계에서 오류로 판단한다.On the other hand, in 'Error 2', the operation (EXEC) is performed at t2 of MC2, but it is terminated after the task of 10ms is performed at t1, and it is within the allowable range of 30ms. It is recognized. Therefore, the MC1 is determined to be an error in the step t2 of MC2.

이와 같이, 독립된 RTOS(Real Time Operating System)에서 두 개의 마이컴을 마스터(MC2)와 슬레이브(MC1)로 설정하고, 기 설정된 태스크(task)의 허용 오차 시간 내에 마스터의 태스크 수행 시간에 대한 경과 여부를 슬레이브가 판단하는 것이다. 그리고, 이러한 판단은 마스터 및 슬레이브의 상태(state)의 변환을 기반으로 인지함으로써, 상호 오류 감시가 이루어진다.In this way, two microcomputers are set as masters (MC2) and slaves (MC1) in an independent Real Time Operating System (RTOS), and whether the master's task execution time has elapsed within the tolerance time of the preset task is set. Slave judges. In addition, this determination is made based on the conversion of states of the master and the slave, so that mutual error monitoring is performed.

도 4는 MC1의 OS오류를 MC2가 감시하는 방법의 예시이다. 이는 전술된 방법과 동일한 방법으로, MC1의 40ms 태스크가 동작하면 OS state가 대기(PEND) 단계에서 동작(EXEC) 단계로 변경된다. 만약 40ms 태스크가 10ms후에 동작하게 되면 '정상 1'의 t5에서 동작(EXEC) 단계로 변경되기 때문에 정상 동작으로 판단한다. 즉, 상기 MC1의 t5에서 MC1의 태스크가 동작(EXEC)하며, 상기 MC2는 MC1을 감시하게 된다. 상기 MC1은 t5에서 40ms의 태스크 시간을 소요하였고, MC2는 50ms에서 태스크가 동작함에 따라, 허용 오차범위 10ms에 포함되어 MC2는 MC1을 정상동작 하고 있음으로 판단한다.4 illustrates an example of a method in which MC2 monitors an OS error of MC1. In the same manner as described above, when the 40 ms task of MC1 operates, the OS state is changed from a PEND stage to an EXEC stage. If the 40ms task is operated after 10ms, it is determined to be normal because it is changed to the operation (EXEC) step from t5 of 'normal 1'. That is, at t5 of the MC1, the task of the MC1 operates (EXEC), and the MC2 monitors the MC1. The MC1 takes a task time of 40 ms at t5, and the MC2 is included in an allowable error range of 10 ms as the task operates at 50 ms, and MC2 determines that the MC1 is operating normally.

그러나, '오류 1'과 같이 MC1은 지속적으로 대기(PEND) 상태를 유지할 경우, 상기 MC2는 t5에서 50ms에서 동작(EXEC) 상태로 전환되어 결국, MC1의 30ms로부터 오차 허용범위인 10ms를 넘게 되어 상기 MC2는 MC1의 오류를 인지하게 된다. 또한, '정상 2'와 같이 MC1의 t3 시점에서 태스크가 40ms 이루어질 때, 상기 MC1은 오차 허용범위 -10ms에 포함되어 정상상태로 판단한다.However, when MC1 maintains the PEND state as in 'Error 1', the MC2 switches to the operation (EXEC) state at 50 ms at t5, and eventually exceeds the error tolerance of 10 ms from 30 ms of MC1. MC2 recognizes an error of MC1. In addition, when the task is made 40 ms at the time t3 of MC1 as in the case of 'normal 2', the MC1 is included in the error tolerance range -10 ms and is determined to be a normal state.

또한, '오류 2'에서 인지되는 바와 같이 MC1의 t2에서 40ms 태스크가 수행될 때, MC2는 20ms에서 대기(PEND) 시간이 소요됨에 따라, 오차 허용범위 10ms를 넘게 된다. 따라서, 상기 MC2는 MC1의 오류를 판단하는 것이다. 결국, MC2가 MC1의 OS 오류를 모니터링하는 것은, MC1의 동작(EXEC) 시간으로부터 허용가능한 범위 내에서 MC2의 동작(EXEC)이 이루어지는지를 판단하는 것이다.In addition, when the 40 ms task is performed at t2 of MC1 as recognized in 'Error 2', the MC2 takes a waiting time (PEND) at 20 ms, thus exceeding an error tolerance of 10 ms. Therefore, the MC2 determines the error of the MC1. As a result, when the MC2 monitors the OS error of the MC1, it is determined whether the operation of the MC2 (EXEC) is performed within an allowable range from the operation (EXEC) time of the MC1.

한편, 상기한 MC1 또는 MC2의 OS 오류를 상대방이 감지한 경우 두 마이컴의 OS 상태를 다시 동기화할 필요가 있으며, 이는 동기화를 통해 지속적인 상호 감시를 수행함으로써, 상호 신뢰성을 확보하기 때문이다. On the other hand, when the other party detects the OS error of the MC1 or MC2, it is necessary to resynchronize the OS state of the two microcomputers, because the mutual reliability by performing a continuous mutual monitoring through synchronization.

도 5는 상기 MC2의 OS 오류를 MC1에서 감시한 후, 오류 발생 시 MC1의 동기화 시점을 설명하기 위한 도면이다. 도시된 바와 같이, MC2의 OS 오류로 t4에서 OS 상태가 대기(PEND) 단계인 경우 MC1은 오류를 감지한다. 그리고 상기 MC1은 OS 상태의 동기화를 위해서 재동기화(RESYNC) 단계로 진입한다. 또 다른 예로서, t2에서 MC1이 오차 허용범위를 벗어난 MC2의 오류를 감지한 후, 재동기화(RESNC)를 수행하고 있다.FIG. 5 is a diagram illustrating a synchronization time point of MC1 when an error occurs after the OS error of MC2 is monitored by MC1. As shown, when the OS state is a PEND step at t4 due to an OS error of MC2, MC1 detects an error. The MC1 enters a resynchronization step for synchronizing the OS state. As another example, the MC1 detects an error of the MC2 outside the tolerance range at t2 and then performs resynchronization (RESNC).

재동기화(RESYNC) 단계는 도 2에서 설명한 동기화(SYNC)단계와 동일하게 t0의 통신을 유지하며, MC1의 동작(EXEC) 단계를 기다리는 단계이다. 재동기화(RESYNC) 단계에서는 MC1의 OS 상태가 동작(EXEC) 단계로 변경되면 40ms 태스크의 모니터링 세그먼트를 다시 시작한다. 동일한 방법으로, 도 6과 같이 MC1의 OS 오류를 MC2에서 감지한 경우에는, t5에서 오차 허용 범위를 벗어난 오류 발생 시, t0로 진입하여 재동기화를 수행한다. 이는 재동기화(RESYNC) 단계에서 MC2의 동작(EXEC) 단계를 확인하면 40ms 태스크 모니터링 세크먼트(task monitoring segment)가 다시 시작된다.The resynchronization step (RESYNC) maintains the communication of t0 in the same manner as the synchronization (SYNC) step described with reference to FIG. In the resynchronization phase, when the OS state of MC1 changes to the EXEC phase, the monitoring segment of the 40ms task is restarted. In the same manner, when the OS error of MC1 is detected by MC2 as shown in FIG. 6, when an error out of the error tolerance range occurs at t5, it enters t0 and performs resynchronization. This confirms the MC2's EXEC phase during the resynchronization phase and restarts the 40ms task monitoring segment.

한편, 본 발명에서는 태스크가 수행되었는지를 판단하기 위해 프로그램 플로우를 확인토록 함으로써, 태스크뿐만 아니라 태스크 내의 프로그램에 대한 수행 상태를 검사한다.On the other hand, in the present invention, by checking the program flow to determine whether the task has been performed, the execution status of the program in the task as well as the task is checked.

즉, MC1의 태스크가 수행되었는지 검사할 때 산술 연산을 포함한 action을 이용하여 프로그램 플로우를 확인하는 것이다. 이는 도 7에서 도시한 바와 같이, MC1 및 MC2는 다수 개의 태스크를 보유하고, 각 태스크의 프로그램 수행 상태를 저장하는 레지스터를 포함한다. 따라서, 각 레지스터에 저장되는 데이터(OS status data)는 상대 측 마이컴으로 제공되어, 해당 프로그램의 수행 여부를 판단한다. 이때, 본 발명에서는 각 프로그램에 간단한 산술 연산을 포함하도록 하고, 각 프로그램에서 수행된 산술결과를 토대로 프로그램의 수행이 정상적으로 이루어졌는지를 판단하는 것이다.That is, when checking whether the task of MC1 is performed, the program flow is checked using an action including an arithmetic operation. As shown in FIG. 7, MC1 and MC2 hold a plurality of tasks, and include registers for storing a program execution state of each task. Therefore, data stored in each register (OS status data) is provided to the counterpart microcomputer to determine whether to execute the corresponding program. In this case, the present invention includes a simple arithmetic operation in each program, and determines whether the program is normally performed based on the arithmetic result performed in each program.

예컨대, 하나의 태스크(TASK 0)에는 다수 개의 함수(Action 0 ~ Action m)로 구성되며, 각 함수에는 간단한 산술연산 알고리즘(Action_0 ~ Action_end)이 포함된다. 이러한 산술연산 알고리즘은 각 함수의 시작과 종료시점에 위치하도록 하나의 함수에는 두 개의 산술연산 알고리즘(Action_0 ~ Action_end)을 구성하는 것이다.For example, one task TASK 0 includes a plurality of functions Action 0 to Action m, and each function includes a simple arithmetic algorithm Action_0 to Action_end. This arithmetic algorithm consists of two arithmetic algorithms (Action_0 ~ Action_end) in one function to be located at the start and end of each function.

도시한 바와 같이, 산술연산 알고리즘(Action_0 ~ Action_end)은 간단한 산술 연산을 가지며, 단순 사칙연산에 의거한 연산식이 적절할 것이다. 그리고 각각의 산술연산 알고리즘은 각 태스크에서 호출되는 함수의 시작과 끝에서 호출된다. 즉, Task 0를 40ms 태스크라고 가정하고 task 0에 세 개의 함수가 호출되고 세 개의 함수 안에 두 개씩의 산술연산 알고리즘을 호출하도록 구성한다.As shown, arithmetic algorithms (Action_0 to Action_end) have simple arithmetic operations, and arithmetic expressions based on simple arithmetic will be appropriate. Each arithmetic algorithm is called at the beginning and end of a function called in each task. In other words, assume Task 0 is a 40ms task and configure three functions to be called in task 0 and two arithmetic algorithms within the three functions.

예컨대, Task 0에는 m+1개의 함수가 존재하고, 각 함수에는 두 개씩의 산술연산 알고리즘(Action_0 ~ Action_end)이 존재할 경우, 첫 번째 산술연산 알고리즘(Action_0)의 연산식을 '×5'라 설정하고, 초기값을 '10'으로 설정하면, 첫 번째 함수의 동작 시점에서 결과값(Result)은 '10'으로 산출된다. 그리고, 해당 함수의 프로그램이 동작되는 시점에 연산 알고리즘(Action_1)을 '÷2'로 설정할 경우, 해당 함수의 최종값은 '25'가 되는 것이다.For example, when m + 1 functions exist in Task 0, and two arithmetic algorithms (Action_0 to Action_end) exist in each function, the arithmetic expression of the first arithmetic algorithm (Action_0) is set to '× 5'. If the initial value is set to '10', the result value is calculated as '10' at the time of operation of the first function. When the algorithm (Action_1) is set to '÷ 2' at the time when the program of the corresponding function is operated, the final value of the corresponding function is '25'.

동일한 방법으로 각 함수의 시작과 종료 시점에 서로 다른 산술연산 알고리즘을 가미함으로써, 하나의 태스크가 종료되는 시점에서의 최종 결과값을 예측할 수 있으며, 실질적으로 하나의 태스크 내에 구비된 각 함수가 종료되는 시점에서 최종 결과값이 산출된다. 따라서, 하나의 태스크가 동작 완료된 후, 최후의 산술연산 알고리즘(Action_end)의 결과에 기초하여 태스크 내의 각 프로그램이 정상적으로 기동하였는지를 검사하는 것이다.By applying different arithmetic algorithms at the start and end of each function in the same way, it is possible to predict the final result value at the end of one task, and in fact, each function provided in one task is terminated. At that point the final result is calculated. Therefore, after one task is completed, it is checked whether each program in the task is normally started based on the result of the last arithmetic algorithm (Action_end).

따라서, 정상적으로 태스크가 동작될 경우, 프로그래밍 플로우에 맞게 동작하는 경우 Action_End에서 검사하는 결과값은 항상 동일한 것이다. Action_End에서 얻은 결과값과 예상했던 결과값이 서로 다른 경우 플로그램 플로우가 정상 동작하지 않은 것으로 판단한다. 반면, 예상했던 값과 동일한 결과값을 얻은 경우 프로그램 플로우가 정상이라고 판단하고 40ms 태스크가 정상 동작한 것으로 보고 MC1의 OS state를 대기(PEND) 단계에서 동작(EXEC) 단계로 변경한다.
Therefore, when the task is normally operated, the result value checked by Action_End is always the same when operating according to the programming flow. If the result value obtained from Action_End and the expected result value are different, it is determined that the flow diagram does not operate normally. On the other hand, if the result is the same as expected, it is determined that the program flow is normal, and the 40ms task is regarded as normal, and the OS state of MC1 is changed from the PEND stage to the EXEC stage.

MC1, MC2 : 마이컴 EXEC : 동작
PEND : 대기 SYNC : 동기화
RESYNC : 재동기화
MC1, MC2: Micom EXEC: Operation
PEND: Standby SYNC: Synchronize
RESYNC: Resync

Claims (5)

독립된 RTOS(real time operating system)를 가지고 있는 두 개의 마이컴(MC1, MC2)을 이용해서 상호 시스템의 OS 태스크(task)를 감시하기 위한 모니터링 방법에 있어서,
a) 상기 두 개의 마이컴을 마스터(MC2)와 슬레이브(MC1)로 설정하고, 기 설정된 태스크(task)의 허용 오차 시간 내에서 상기 마스터(MC2)와 슬레이브(MC1)의 태스크가 완료되는지를 상호 판단하는 단계; 및
b) 상기 a) 단계에서 판단한 결과, 상기 마스터(MC2) 또는 슬레이브(MC1)에서 태스크 수행 시간이 허용 오차 시간을 경과된 오류가 검출될 경우, 상기 마스터(MC2) 및 슬레이브(MC1) 간 재동기화(RESYNC)를 수행하는 단계를 포함하고,
상기 a) 단계는 상기 마스터(MC2)와 슬레이브(MC1)의 상태(state) 변환을 인지하는 것을 포함하는, 알티오에스 마이컴의 오에스 태스크의 모니터링 방법.
In the monitoring method for monitoring the OS task of the mutual system by using two microcomputers (MC1, MC2) having independent real time operating system (RTOS),
a) The two micoms are set as the master MC2 and the slave MC1, and mutual determination of whether the tasks of the master MC2 and the slave MC1 are completed within a tolerance time of a preset task; Making; And
b) If it is determined in step a) that an error in which the task execution time has passed the allowable error time is detected in the master MC2 or the slave MC1, resynchronization between the master MC2 and the slave MC1 is detected. Performing (RESYNC),
And the step a) includes recognizing state transitions of the master MC2 and the slave MC1.
제 1 항에 있어서 상기 a) 단계는,
a-1) 상기 마스터(MC2) 또는 슬레이브(MC1)의 모니터링 윈도우에서 동작(EXEC) 단계로 진입하는 단계;
a-2) 상기 슬레이브(MC1) 또는 마스터(MC2)가 태스크(task)를 수행하고, 상기 슬레이브(MC1) 또는 마스터(MC2)가 동작(EXEC) 단계로 전환하는 단계; 및
a-3) 상기 슬레이브(MC1) 또는 마스터(MC2)와, 상기 마스터(MC2) 또는 슬레이브(MC1) 간 동작(EXEC) 시간이 허용 오차 시간범위 밖에 존재할 경우 오류로 판단하는 단계를 포함하는, 알티오에스 마이컴의 오에스 태스크의 모니터링 방법.
The method of claim 1, wherein step a)
a-1) entering an operation (EXEC) step in the monitoring window of the master MC2 or the slave MC1;
a-2) the slave (MC1) or the master (MC2) to perform a task (task), the slave (MC1) or master (MC2) to switch to the operation (EXEC) phase; And
a-3) determining if the operation (EXEC) time between the slave (MC1) or master (MC2) and the master (MC2) or slave (MC1) is out of the tolerance time range, and determining as an error How to monitor OS task of OS MICOM.
제 1 항 또는 제 2 항에 있어서,
상기 태스크(task)는 40ms 태스크이고, 상기 허용 오차 시간은 ±10ms인 것을 특징으로 하는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법.
The method according to claim 1 or 2,
The task (task) is a 40ms task, the tolerance time is ± 10ms, The method of monitoring the OS task of the Al ThioS MICOM.
제 1 항 또는 제 2 항에 있어서,
상기 태스크(task)에 포함되는 다수 개의 함수에는 각 함수의 시작 시점과 종료 시점에 산술 연산 알고리즘을 포함하며;
상기 산술 연산 알고리즘은 초기값(Initial value)을 기준으로 한 서로 다른 연산식이고, 상기 연산식을 기반으로 각 함수에 대한 동작 완료를 검증하는 것을 특징으로 하는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법.
The method according to claim 1 or 2,
The plurality of functions included in the task include an arithmetic algorithm at start and end points of each function;
The arithmetic operation algorithm is a different operation expression based on an initial value, and the method of monitoring an OS task of Althioes micom, characterized in that verifying the completion of operation for each function based on the operation expression.
제 4 항에 있어서,
상기 산술 연산 알고리즘은 사칙연산인 것을 특징으로 하는 알티오에스 마이컴의 오에스 태스크의 모니터링 방법.
The method of claim 4, wherein
And the arithmetic operation algorithm is arithmetic operation.
KR1020130004504A 2013-01-15 2013-01-15 Method for monitoring os task of twin micom in rtos Active KR102023164B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130004504A KR102023164B1 (en) 2013-01-15 2013-01-15 Method for monitoring os task of twin micom in rtos

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130004504A KR102023164B1 (en) 2013-01-15 2013-01-15 Method for monitoring os task of twin micom in rtos

Publications (2)

Publication Number Publication Date
KR20140092132A KR20140092132A (en) 2014-07-23
KR102023164B1 true KR102023164B1 (en) 2019-09-19

Family

ID=51738972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130004504A Active KR102023164B1 (en) 2013-01-15 2013-01-15 Method for monitoring os task of twin micom in rtos

Country Status (1)

Country Link
KR (1) KR102023164B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536350B (en) * 2014-12-31 2017-04-12 浙江中控技术股份有限公司 Work, standby and preemption type real-time multi-task controller and redundancy synchronous method thereof
CN111708670B (en) * 2020-06-10 2023-05-09 中国第一汽车股份有限公司 Method and device for determining task time parameters in real-time operation system and vehicle
KR102451821B1 (en) * 2020-12-14 2022-10-06 현대오토에버 주식회사 Bidirectional microcomputer monitoring method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334587A (en) 2006-06-14 2007-12-27 Denso Corp Abnormality monitoring program, recording medium and electronic apparatus
JP2012160033A (en) * 2011-02-01 2012-08-23 Keihin Corp Electronic controller for moving object

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100414059B1 (en) * 2001-09-28 2004-01-07 엘지전자 주식회사 System and method for monitoring using watchdog timer in rtos
KR101548134B1 (en) * 2009-10-01 2015-08-28 콘티넨탈 오토모티브 시스템 주식회사 Real-time monitoring system for stack and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334587A (en) 2006-06-14 2007-12-27 Denso Corp Abnormality monitoring program, recording medium and electronic apparatus
JP2012160033A (en) * 2011-02-01 2012-08-23 Keihin Corp Electronic controller for moving object

Also Published As

Publication number Publication date
KR20140092132A (en) 2014-07-23

Similar Documents

Publication Publication Date Title
WO2015169199A1 (en) Anomaly recovery method for virtual machine in distributed environment
US8738968B2 (en) Configuration based service availability analysis of AMF managed systems
US9405644B2 (en) Redundant automation system
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
CN102724083A (en) Degradable triple-modular redundancy computer system based on software synchronization
CN106326066B (en) A kind of method and its system of the monitoring adjustment of tasks of embedded system response performance
JP6971016B2 (en) Controls, control methods and programs
CN108153263B (en) DCS controller redundancy method and device
CN105556407A (en) Fault tolerant industrial automation control system
KR102023164B1 (en) Method for monitoring os task of twin micom in rtos
JP2000187600A (en) Watchdog timer system
JP5436422B2 (en) High integrity and high availability computer processing module
CN103890713A (en) Apparatus and method for managing register information in a processing system
US10572435B2 (en) Techniques of accessing serial console of BMC using host serial port
WO2015111142A1 (en) System analysis device, design defect analysis device, failure mode analysis device, failure tree analysis device, autonomous action device, and autonomous action control system
JP2003296133A (en) controller
US7428660B2 (en) Starting control method, duplex platform system, and information processor
US8099637B2 (en) Software fault detection using progress tracker
JP2016066139A (en) Vehicle control unit
CN117149482A (en) A method and device, electronic equipment, and medium for detecting thread status
KR102438148B1 (en) Abnormality detection apparatus, system and method for detecting abnormality of embedded computing module
JP7000797B2 (en) Startup management device, startup management system, startup management method, and startup management program
CN114509981B (en) Controller hardware redundancy control method and system
CN104268026A (en) Monitoring and management method and device for embedded system
JP2017174471A (en) System analysis device, design failure analysis device, failure mode analysis device, failure tree analysis device, autonomous operation device, and autonomous operation control system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130115

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20170728

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20130115

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190312

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190611

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20190911

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20190911

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220902

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20240829

Start annual number: 6

End annual number: 6