KR101977955B1 - 마이크로컨트롤러 유닛 감시 장치 및 방법 - Google Patents

마이크로컨트롤러 유닛 감시 장치 및 방법 Download PDF

Info

Publication number
KR101977955B1
KR101977955B1 KR1020160168554A KR20160168554A KR101977955B1 KR 101977955 B1 KR101977955 B1 KR 101977955B1 KR 1020160168554 A KR1020160168554 A KR 1020160168554A KR 20160168554 A KR20160168554 A KR 20160168554A KR 101977955 B1 KR101977955 B1 KR 101977955B1
Authority
KR
South Korea
Prior art keywords
unit
command
read
write
counting
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
KR1020160168554A
Other languages
English (en)
Other versions
KR20180067134A (ko
Inventor
방현석
이지행
Original Assignee
현대오트론 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대오트론 주식회사 filed Critical 현대오트론 주식회사
Priority to KR1020160168554A priority Critical patent/KR101977955B1/ko
Publication of KR20180067134A publication Critical patent/KR20180067134A/ko
Application granted granted Critical
Publication of KR101977955B1 publication Critical patent/KR101977955B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

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

Abstract

본 발명에 따른 마이크로컨트롤러 감시 장치는, 제 1 통신부, 제 1 카운팅부 및 비교부를 포함하는 구동 반도체; 및 제 2 통신부, 제 2 카운팅부 및 리셋부를 마이크로컨트롤러 유닛을 포함하며, 상기 제 2 카운팅부는 상기 제 2 통신부가 상기 제 1 통신부에 명령을 송신할 때에 상기 송신할 명령을 카운팅하고, 상기 제 1 카운팅부는 제 2 통신부로부터 명령을 수신하고, 상기 수신한 명령을 카운팅하며, 상기 비교부는 상기 제 2 카운팅부에서 카운팅된 회수 또는 기준 회수와 상기 제 1 카운팅부에서 카운팅된 회수를 비교하여 임계치 이상의 오차를 가지는 경우에 상기 리셋부에 리셋 명령을 출력하도록 구성될 수 있다. 따라서, 본 발명에 따르면, 신규한 방법으로 마이크로컨트롤러 유닛의 정상 동작 여부를 감시할 수 있다. 이를 통해 기존 이용되는 워치독에 본 발명에 따른 구성을 추가하여 기능 안전 진단 커버리지를 향상시킬 수 있다.

Description

마이크로컨트롤러 유닛 감시 장치 및 방법{Apparatus and method for monitoring Microcontroller Unit}
본 발명은 마이크로컨트롤러 유닛(Micro-Controller Unit, MCU)의 동작 감시에 관한 것으로, 보다 상세하게는 마이크로컨트롤러 유닛이 정상적으로 동작하는지를 감시하는 장치 및 방법에 관한 것이다.
최근 자동차는 마이크로컨트롤러 유닛을 내장한 많은 전자 제어 장치들을 사용하고 있으며, 그 사용이 점차 증가하고 있는 추세이다. 차량 내 마이크로컨트롤러 유닛은 자동차의 각 장치들을 제어하는 기능을 중요한 역할을 수행한다.
그러나, 마이크로컨트롤러 유닛은 가끔 오작동 또는 이상 신호 발생으로 인한 기능 정지가 발생하는 경우들이 있다. 마이크로컨트롤러 유닛의 오작동은 승차한 사람들의 안전에 심각한 영향을 미칠 수 있으므로, 항상 정상적인 작동을 해야 한다. 따라서, 마이크로컨트롤러 유닛이 계속 정상 작동하고 있는지 주기적으로 체크할 필요가 있다.
일반적으로, 마이크로컨트롤러 유닛의 이상 유무를 감시하기 위하여, 와치 독을 이용한다. 예를 들면, 주기적으로 트리거 신호를 확인하는 피리어드(Period) 워치독, 트리거 신호의 시간 윈도우를 갖는 윈도우 와치 독, 주어진 질문에 답변을 진행하는 Q & A 와치 독 등이 있다.
한편, 차량에 구현되어 있는 다양한 제어기들, 예컨대, 변속기 등의 구동 반도체 등은 안전을 위한 사전 보호, 진단 등 다수의 기능을 이미 포함하고 있다. 그러나 자동차의 전자 제어 장치의 기술분야에서는 최근 차량의 안정성을 더욱 강조하고 있는 추세이므로, 기존 와치 독 외 차량의 안전성을 증가시킬 수 있는 추가적인 감시 기법들이 계속하여 개발되고 있다.
본 발명은 상기와 같은 요구에 부응하기 위하여 안출된 것으로, 자동차 내부의 각종 제어기 예컨대, 변속기 등의 구동 반도체에서의 마이크로컨트롤러 유닛의 정상 동작을 감시할 수 있는 신규한 감시 장치 및 방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위하여, 본 발명에 따른 마이크로컨트롤러 유닛 감시 장치는, 제 1 통신부, 제 1 카운팅부 및 비교부를 포함하는 구동 반도체; 및 제 2 통신부, 제 2 카운팅부 및 리셋부를 포함하는 마이크로컨트롤러 유닛을 포함하며, 상기 제 2 카운팅부는 상기 제 2 통신부가 상기 제 1 통신부에 명령을 송신할 때에 상기 송신할 명령을 카운팅하고, 상기 제 1 카운팅부는 상기 제 2 통신부로부터 명령을 수신하고, 상기 수신한 명령을 카운팅하며, 상기 비교부는 상기 제 2 카운팅부에서 카운팅된 회수 또는 기준 회수와 상기 제 1 카운팅부에서 카운팅된 회수를 비교하여 임계치 이상의 오차를 가지는 경우에 상기 리셋부에 리셋 명령을 출력하도록 구성될 수 있다.
이 경우, 상기 구동 반도체는 비교 제어 모듈을 포함하는 감시 제어부를 더 포함하며, 상기 제 2 카운팅부는 카운팅된 회수가 기준 회수에 도달하면 비교 명령을 출력하고, 상기 비교 제어 모듈은 상기 비교 명령을 수신하여 상기 비교부로 하여금 상기 제 2 카운팅부에서 카운팅된 회수 또는 기준 회수와 상기 제 1 카운팅부에서 카운팅된 회수를 비교하도록 제어할 수 있다.
또한, 상기 감시 제어부는 읽기 및 쓰기 제어 모듈을 더 포함하며, 상기 제 1 카운팅부는 읽기 카운팅부 및 쓰기 카운팅부를 포함하며, 상기 읽기 및 쓰기 제어 모듈은 상기 수신한 명령을 읽기 명령 또는 쓰기 명령으로 분류하고, 상기 읽기 명령은 상기 읽기 카운팅부에 의하여 카운팅되고, 상기 쓰기 명령은 상기 쓰기 카운팅부에 의하여 카운팅될 수 있다.
또한, 상기 읽기 및 쓰기 제어 모듈은 읽기 및 쓰기 플래그 판독 모듈을 포함하며, 상기 읽기 및 쓰기 플래그 판독 모듈은 상기 수신한 명령의 읽기 및 쓰기 플래그를 판독하여 상기 수신한 명령을 읽기 명령 또는 쓰기 명령으로 분류할 수 있다.
또한, 상기 읽기 및 쓰기 제어 모듈은 모드 필터링 모듈을 포함하며, 상기 구동 반도체의 복수의 모드 중 어느 하나의 모드의 명령만을 카운팅하도록 필터링하여 상기 읽기 및 쓰기 플래그 판독 모듈에 출력할 수 있다.
또한, 상기 구동 반도체의 복수의 모드는 구동 준비 모드, 구동 모드 및 진단 모드를 포함하며, 상기 모드 필터링 모듈은 상기 구동 모드의 명령만을 카운팅하도록 필터링하여 상기 읽기 및 쓰기 플래그 판독 모듈에 출력할 수 있다.
또한, 상기 구동 반도체는 로그 저장부를 더 포함하며, 상기 감시 제어부는 상기 수신한 명령에 오류가 있는 경우에 상기 로그 저장부에 상기 수신한 명령을 저장할 수 있다.
또한, 상기 구동 반도체는 변속기 구동 반도체일 수 있다.
한편, 본 발명에 따른 마이크로컨트롤러 유닛 감시 방법은, 마이크로컨트롤러 유닛 및 구동 반도체를 포함하는 마이크로컨트롤러 유닛 감시 장치에서, 상기 마이크로컨트롤러 유닛로부터 상기 구동 반도체에 명령 신호를 송신하고 상기 명령 신호를 카운팅하는 단계; 상기 구동 반도체에서 상기 명령 신호를 수신하고, 상기 수신한 명령 신호를 카운팅하는 단계; 상기 송신한 명령 신호의 카운팅 회수 또는 기준 회수와 상기 수신한 명령 신호의 카운팅 회수를 비교하는 단계; 및 상기 비교하는 단계의 비교 결과에 기초하여 상기 마이크로컨트롤러 유닛을 리셋하는 단계를 포함할 수 있다.
또한, 상기 마이크로컨트롤러 유닛에서 상기 송신한 명령 신호의 카운팅된 회수가 기준 회수에 도달하면 비교 명령을 출력하고, 상기 구동 반도체에서 상기 송신한 명령 신호의 카운팅된 회수 또는 기준 회수와 상기 수신한 명령 신호의 카운팅된 회수를 비교하도록 제어할 수 있다.
또한, 상기 수신한 명령 신호는 읽기 명령 또는 쓰기 명령으로 분류되고, 상기 읽기 명령 및 상기 쓰기 명령은 각각 카운팅될 수 있다.
또한, 상기 읽기 명령 및 상기 쓰기 명령은 상기 수신한 명령 신호의 읽기 및 쓰기 플래그를 판독하여 분류될 수 있다.
또한, 상기 수신한 명령 신호는 상기 구동 반도체의 복수의 모드 중 어느 하나의 모드의 명령만을 카운팅하도록 필터링될 수 있다.
또한, 상기 구동 반도체의 복수의 모드는 구동 준비 모드, 구동 모드 및 진단 모드를 포함하며, 상기 수신한 명령 신호는 상기 구동 모드의 명령만을 카운팅하도록 필터링될 수 있다.
또한, 상기 수신한 명령 신호에 오류가 있는 경우에 상기 수신한 명령 신호를 저장하는 단계를 더 포함할 수 있다.
또한, 상기 구동 반도체는 변속기 구동 반도체일 수 있다.
본 발명에 따르면, 신규한 방법으로 마이크로컨트롤러 유닛의 정상 동작 여부를 감시할 수 있다. 이를 통해 기존 이용되는 워치독에 본 발명에 따른 구성을 추가하여 기능 안전 진단 커버리지를 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 마이크로컨트롤러 유닛 감시 장치의 구성을 나타낸 블럭도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있는 것으로, 이하의 실시예는 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 또한, 설명의 편의를 위하여 도면에서는 구성 요소들이 그 크기가 과장 또는 축소될 수 있다.
그러나, 이하의 실시예는 이 기술분야에서 통상적인 지식을 가진 자에게 본 발명이 충분히 이해되도록 제공되는 것으로서 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 기술되는 실시예에 한정되는 것은 아니다.
도 1은 본 발명의 실시예에 따른 마이크로컨트롤러 유닛 감시 장치의 구성을 나타낸 블럭도이다.
본 발명의 실시예에 따른 마이크로컨트롤러 유닛 감시 장치는 마이크로컨트롤러 유닛(100) 및 구동 반도체(200)을 포함한다.
구동 반도체(200)는 제 1 통신부(210), 제어부(220), 로그 저장부(230), 제 1 카운팅부(240), 및 비교부(250)를 포함한다. 그리고, 구동 반도체(200)는 마이크로컨트롤러 유닛(100)과 연결된다. 이 경우, 구동 반도체(200)는 예컨대, 변속기 제어기의 솔레노이드 구동 IC 일 수 있다. 또는 구동 반도체(200)는 기타 차량 내의 구동 IC일 수 있다.
한편, 마이크로컨트롤러 유닛(100)은 구동 반도체(200)의 마이크로컨트롤러 유닛 감시 관련 부분에 대응하여 제 2 통신부(110), 제 2 카운팅부(120) 및 리셋부(140)를 포함한다.
제 1 통신부(210)는 마이크로컨트롤러 유닛(100)으로부터 예를 들어, 변속기 솔레노이드의 전류 변경과 같은 구동 명령을 수신할 수 있다. 이 경우, 제 1 통신부(210)는 예를 들어, SPI(Serial Peripheral Interface) 통신으로 구현될 수 있다. 일반적으로, SPI 통신은 마스터와 슬레이브로 구현되는데, 마스터가 클럭을 공급해주고, 슬레이브에 인에이블(Enable) 신호(칩 셀렉트(Chip select) 신호)를 제공하여 인에이블 신호가 인가된 상태에서 마스터와 슬레이브간 통신이 진행된다. 마스터 1개에는 복수의 슬레이브가 접속될 수 있으며, 전체적인 통신 및 슬레이브 선택은 마스터가 담당한다.
본 실시예의 경우, 마스터의 역할은 마이크로프로세서 유닛(100)의 제 2 통신부(110)가 담당하며, 구동 반도체(200)의 제 1 통신부(210)는 슬레이브의 역할을 수행한다.
한편, 감시 제어부(220)는 제 1 통신부(210)와 제 2 통신부(110) 사이의 통신 라인을 공유하는 공유 통신 라인(215)를 통하여 제 1 통신부(210)과 제 2 통신부(110) 사이의 통신을 모니터링 할 수 있다.
이하에서는 도 2를 참조하여 감시 제어부(220)의 상세 동작을 설명한다.
도 2를 참조하면, 감시 제어부(220)는 수신부(222), 읽기/쓰기 제어 모듈(225) 및 비교 제어 모듈(229)를 포함할 수 있다.
수신부(222)는 제 1 통신부(210)와 제 2 통신부(110) 사이의 통신을 공유 통신 라인(215)를 통하여 수신하고, 읽기/쓰기 제어 모듈(225) 및 비교 제어 모듈(229)로 출력한다. 또한, 수신부(222)는 통신에 오류가 있는 경우, 예를 들어, CRC 체크 등을 통하여 통신의 오류가 확인된 경우에는 로그 저장부(230)에 저장할 수 있다.
한편 읽기/쓰기 제어 모듈(225)은 모드 필터링 모듈(226) 및 읽기/쓰기 플래그 판독 모듈(227)을 포함한다. 모드 필터링 모듈(226)은 상기 출력된 통신의 모드를 판독하여 특정 모드(예컨대, 구동 모드)의 읽기/쓰기 데이터 만을 카운팅하도록 필터링할 수 있다.
예를 들어, 구동 반도체(200)는 3가지 모드로 구동될 수 있다. 예컨대, 상기 3가지 모드는 구동 준비 모드, 구동 모드 및 진단 모드이다. 통신 수단이 SPI 통신인 경우, 예컨대, 30 비트의 데이터를 읽고 쓸 수 있다. 이 때, 예를 들어, 구동 준비 모드는 0x00번지부터 0x10번지에서 명령을 읽고 쓰며, 구동 모드는 0x11번지부터 0x27번지까지, 진단 모드는 0x28번지부터 0x30번지까지 데이터를 읽고 쓸 수 있다.
이 때, 모드 필터링 모듈(226)은 구동 모드의 읽기/쓰기 데이터만을 카운팅하도록 필터링하여 읽기/쓰기 플래그 판독 모듈(227)에 출력할 수 있다.
읽기/쓰기 플래그 판독 모듈(227)은 SPI의 통신 패킷 중 읽기/쓰기를 나타내는 플래그를 판독하고, 상기 플래그에 기초하여 쓰기 카운팅부(242) 또는 읽기 카운팅부(244)에 수신한 명령을 분류하여 출력할 수 있다. 예를 들어, 읽기/쓰기 플래그 판독 모듈(227)는 통신 패킷에 있는 읽기/쓰기 플래그 값에 따라 읽기 명령의 경우에는 제 1 카운팅부(240)의 읽기 카운팅부(244)로 출력하고, 쓰기 명령의 경우에는 제 1 카운팅부(240)의 쓰기 카운팅부(242)로 출력한다.
그 후, 쓰기 카운팅부(242)는 쓰기 명령의 수를 카운팅하고 읽기 카운팅부(244)는 읽기 명령의 수를 카운팅할 수 있다. 이러한 카운팅 회수는 비교부(250)로 출력된다.
한편, 도 1을 다시 참조하면, 마이크로컨트롤러 유닛(100)의 제 2 통신부(110)가 제 1 통신부(210)로 명령을 전송하는 경우에 제 2 카운팅부(120)는 전송하려고 하는 명령의 플래그에 따라 쓰기 명령인 경우에는 쓰기 카운팅 모듈(122)을 통하여, 읽기 명령인 경우에는 읽기 카운팅 모듈(124)를 통하여 카운팅을 수행한다.
이 경우, 쓰기 카운팅 모듈(122) 및 읽기 카운팅 모듈(124)에서 쓰기 또는 읽기 명령 회수가 일정 기준 회수에 도달하게 되면, 쓰기 카운팅 모듈(122) 및 읽기 카운팅 모듈(124)은 제 2 통신부(110)를 통하여 비교 명령 신호를 구동 반도체(200)에 출력하게 된다.
구동 반도체(200)의 비교 제어 모듈(229)는 수신부(222)를 통하여 비교 명령 신호를 수신하고, 비교부(250)에 비교 제어 명령을 출력하게 된다. 이 경우, 비교 제어 명령은 마이크로컨트롤러 유닛(100)의 읽기 명령의 회수를 비교할 것인지 또는 쓰기 명령의 회수를 비교할 것인지에 대한 읽기/쓰기 지정 명령을 포함할 수 있다.
이 경우, 비교부(250)는 읽기 카운팅부(244) 또는 쓰기 카운팅부(242)에서 카운팅한 회수와, 마이크로컨트롤러 유닛에서 카운팅한 읽기 또는 쓰기 명령 회수 또는 상술한 기준 회수와 비교하여 차이가 있는지 여부를 판정한다.
이 경우, 읽기 카운팅부(244) 또는 쓰기 카운팅부(242)에서 카운팅한 회수와 마이크로컨트롤러 유닛(100)으로부터 송신된 회수의 오차가 임계치 이상인 경우에는 마이크로컨트롤러 유닛(100)의 리셋부(130)에 리셋 명령을 전송할 수 있다. 이 때, 동일하지 않은 경우 리셋 명령이 전송되도록 상기 임계치를 0으로 설정할 수도 있다.
또는, 읽기 카운팅부(244) 또는 쓰기 카운팅부(242)에서 카운팅한 회수를 미리 정해진 기준 회수와 비교하여 오차가 임계치 이상인 경우에 리셋 명령을 송신할 수도 있다. 이 때, 동일하지 않은 경우 리셋 명령이 전송되도록 상기 임계치를 0으로 설정할 수도 있다.
따라서, 본 발명에 따르면, 통신 명령의 송 수신 회수를 비교하여 통신 명령의 유효성을 기초로 마이크로컨트롤러 유닛의 정상 동작 여부를 감시할 수 있다. 이를 통해 기존 이용되는 워치독에 본 발명에 따른 구성을 추가하여 기능 안전 진단 커버리지를 향상시킬 수 있다.
이하에서는 도 3에 기초하여, 본 발명에 따른 마이크로컨트롤러 유닛 감시 방법을 상세히 설명한다.
최초에 마이크로컨트롤러 유닛(100)의 감시 모드가 시작된 후(S310), 마이크로 컨트롤러 유닛(100)에서 명령 신호 송신을 카운팅하고 신호를 구동 반도체(200)로 송신한다. 이 때, 읽기 명령은 읽기 명령대로, 쓰기 명령은 쓰기 명령대로 별도로 카운팅할 수 있다.
이 때, 구동 반도체(200)는 수신한 신호의 오류 여부를 판별할 수 있다(S330). 이 경우, 예컨대, 오류 여부는 CRC (Cyclic Redundancy Check) 등의 오류 체크 방법 등을 통하여 확인할 수 있다. 이 경우, 오류가 있는 경우에는 로그 저장부(230)에 오류 신호를 저장할 수 있다(S340).
한편, 오류가 없는 경우에는 모드 필터링을 거치고 수신신호의 카운팅과정을 단계를 수행할 수 있다(S350).
보다 구체적으로, 예를 들어, 구동 반도체(200)는 3가지 모드를 구비할 수 있다. 상기 3가지 모드는 구동 준비 모드, 구동 모드 및 진단 모드일 수 있다.
이 경우, 예를 들면, 모드 필터링 모듈(226)은 구동 모드의 명령만을 카운팅하도록 필터링할 수 있다.
그리고, 필터링된 명령 데이터 중에서 읽기/쓰기를 나타내는 플래그를 판독하여, 읽기 명령인지, 쓰기 명령인지 분류한 후, 읽기 명령은 읽기 카운팅부(244)로, 쓰기 명령은 쓰기 카운팅부(242)로 출력한다. 이 후, 읽기 카운팅부(244) 및 쓰기 카운팅부(242)에서 읽기 명령 및 쓰기 명령에 대한 카운팅이 수행된다.
한편, 마이크로컨트롤러 유닛(100)은 읽기 명령 또는 쓰기 명령의 카운팅 값이 기준 회수에 도달했는지를 확인한다(S360). 기준 회수(설정 값)에 도달하면, 마이크로컨트롤러 유닛(100)는 비교 명령 신호를 구동 반도체(200)에 출력한다(S370).
이 경우, 쓰기 카운팅 모듈(122) 및 읽기 카운팅 모듈(124)에서 쓰기 또는 읽기 명령 회수가 일정 회수에 도달하게 되면, 쓰기 카운팅 모듈(122) 및 읽기 카운팅 모듈(124)은 제 2 통신부(110)를 통하여 비교 명령 신호를 구동 반도체(200)에 출력하게 된다.
구동 반도체(200)의 비교 제어 모듈(229)는 수신부(222)를 통하여 비교 명령 신호를 수신하고, 비교부(250)에 비교 제어 명령을 출력하게 된다. 이 경우, 비교 제어 명령은 마이크로컨트롤러 유닛(100)의 읽기 명령의 회수를 비교할 것인지 또는 쓰기 명령의 회수를 비교할 것인지에 대한 읽기/쓰기 지정 명령을 포함할 수 있다.
한편, 비교 제어 모듈(229)는 상기 비교 명령 신호를 비교부(250)에 전달하여 읽기 또는 쓰기 명령 값의 비교를 수행한다(S380).
이 경우, 비교부(250)는 비교 제어 모듈에서 지정한 읽기 또는 쓰기 명령 회수를 읽기 카운팅부(244) 또는 쓰기 카운팅부(242)에서 카운팅한 회수와 비교하여 회수의 차이가 있는지 여부를 판정한다.
마지막으로, 비교 연산 결과, 동일하거나, 또는 임계치 내의 오차를 가지는 경우에는 마이크로컨트롤러 유닛(100)의 동작이 정상이므로, 다시 단계(S320)에서 단계(S370)을 반복한다.
그러나, 읽기 카운팅부(244) 또는 쓰기 카운팅부(242)에서 카운팅한 회수와 마이크로컨트롤러 유닛(100)으로부터 송신된 회수가 동일하지 않거나, 임계치 이상의 오차를 가지는 경우에는 마이크로컨트롤러 유닛(100)의 리셋부(130)에 리셋 명령을 전송할 수 있다.
또는, 읽기 카운팅부(244) 또는 쓰기 카운팅부(242)에서 카운팅한 회수를 미리 정해진 회수와 비교하여 동일하지 않거나, 임계치 이상의 오차를 가지는 경우에 리셋 명령을 송신할 수도 있다.
리셋부(130)는 비교부(250)로부터 리셋 신호를 수신하면, 상기 리셋 신호에 기초하여 마이크로컨트롤러 유닛(100)을 리셋시킬 수 있다. 이 경우, 마이크로컨트롤러 유닛(100)은 리셋 신호를 수신하여 인터럽트를 발생시켜서 리셋 동작을 수행할 수도 있으나, 바람직하게는 바로 리셋 신호에 응답하여 리셋을 수행하도록 구성될 수 있다.
이하에서는 변속기 구동 반도체의 예를 들어서 본 발명의 실시예를 구체적으로 설명한다. 단, 본 발명은 이에 제한되는 것은 아니다.
변속기 구동 반도체의 SPI 통신 가능한 주소 영역이 0x00~0x30 번지이고, 구동 반도체가 구동 준비 모드, 구동 모드 및 진단 모드를 가지는 경우를 예시로 상술한 비교의 예시를 설명한다. 이 경우, 구동 준비 모드에서는 0x00~0x10번지를 이용하여 초기 구동을 위한 설정을 하고, 구동 모드에서는 0x11~0x27번지를 이용하여 구동 명령을 송수신하고, 진단 모드에서는 0x28~0x30번지를 이용해 구동 반도체의 상태를 진단할 수 있다고 가정한다.
이 경우, 모드 필터링 모듈(226)은 구동 모드 즉, 명령이 0x11~0x27번지를 통하여 송수신되는 경우를 필터링한다.
이 때, 마이크로컨트롤러 유닛(100)은 기준 회수, 예를 들어 10회만큼 구동 반도체에 SPI 통신으로 구동 모드의 쓰기 명령을 수행한 후, 비교 명령 신호를 구동 반도체(200)에 송신 할 수 있다.
이 경우, 구동 반도체(200)에서 10번 중 9번을 0x11~0x27번지를 통하여 쓰기 명령을 수신하고, 1번을 어떤 오류 등으로 인하여 0x00~0x10번지를 통하여 수신하였다고 하면, 구동 반도체(200)의 쓰기 카운팅부(242)는 모드 필터링 모듈(226)에 의하여 9번만 쓰기 명령을 받은 것으로 카운팅할 수 있다.
이 때, 비교부(250)는 예를 들어, 쓰기 카운팅부(242)의 카운팅한 회수와 기준 회수와 동일하지 않기 때문에 리셋부(130)에 리셋 신호를 출력할 수 있다.
예를 들어, 변속기 솔레노이드의 오프셋(Offset) 전류를 측정하는 동작은 구동 준비 모드에 실행되어야 하는데, 어떤 오류로 인하여 0x11~0x27번지를 통하여 명령이 수신된 경우, 카운트 숫자의 차이가 발생하게 되어 리셋 신호가 출력될 수 있다.
또 다른 예로, 변속기 솔레노이드 전류량 변화는 구동 모드일 때 실행되어야 하는데, 어떤 오류로 인하여 0x00~0x10번지를 통하여 수신된 경우에는 명령이 카운팅되지 않아서 카운팅 숫자의 차이가 발생하게 되어 리셋 신호가 출력될 수 있다.
따라서, 본 발명에 따르면, 통신의 유효성을 확인하면서 마이크로컨트롤러 유닛의 정상 동작 여부를 감시할 수 있다. 이를 통해 기존 이용되는 워치독에 본 발명에 따른 구성을 추가하여 기능 안전 진단 커버리지를 향상시킬 수 있다.
한편, 본 발명의 상세한 설명 및 첨부도면에서는 구체적인 실시예에 관해 설명하였으나, 본 발명은 개시된 실시예에 한정되지 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다. 따라서, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들을 포함하는 것으로 해석되어야 할 것이다.
100: 마이크로컨트롤러 유닛
110: 제 2 통신부
120: 제 2 카운팅부
130: 리셋부
200: 구동 반도체
210: 제 1 통신부
220: 감시 제어부
230: 로그 저장부
240: 제 1 카운팅부
250: 비교부

Claims (16)

  1. 제 1 통신부, 제 1 카운팅부 및 비교부를 포함하는 구동 반도체; 및
    제 2 통신부, 제 2 카운팅부 및 리셋부를 포함하는 마이크로컨트롤러 유닛을 포함하며,
    상기 제 2 카운팅부는 상기 제 2 통신부가 상기 제 1 통신부에 명령을 송신할 때에 상기 송신할 명령을 카운팅하고,
    상기 제 1 카운팅부는 상기 제 2 통신부로부터 명령을 수신하고, 상기 수신한 명령을 카운팅하며,
    상기 비교부는 상기 제 2 카운팅부에서 상기 제 2 통신부가 상기 제 1 통신부에 명령을 송신할 때에 상기 송신할 명령이 카운팅된 회수 또는 기준 회수와 상기 제 1 카운팅부에서 상기 제 2 통신부로부터 상기 수신한 명령이 카운팅된 회수를 비교하여 임계치 이상의 오차를 가지는 경우에 상기 리셋부에 리셋 명령을 출력하도록 구성되는,
    마이크로컨트롤러 유닛 감시 장치.
  2. 제 1 항에 있어서,
    상기 구동 반도체는 비교 제어 모듈을 포함하는 감시 제어부를 더 포함하며,
    상기 제 2 카운팅부는 카운팅된 회수가 기준 회수에 도달하면 비교 명령을 출력하고, 상기 비교 제어 모듈은 상기 비교 명령을 수신하여 상기 비교부로 하여금 상기 제 2 카운팅부에서 카운팅된 회수 또는 기준 회수와 상기 제 1 카운팅부에서 카운팅된 회수를 비교하도록 제어하는,
    마이크로컨트롤러 유닛 감시 장치.
  3. 제 2 항에 있어서,
    상기 감시 제어부는 읽기 및 쓰기 제어 모듈을 더 포함하며,
    상기 제 1 카운팅부는 읽기 카운팅부 및 쓰기 카운팅부를 포함하며,
    상기 읽기 및 쓰기 제어 모듈은 상기 수신한 명령을 읽기 명령 또는 쓰기 명령으로 분류하고, 상기 읽기 명령은 상기 읽기 카운팅부에 의하여 카운팅되고, 상기 쓰기 명령은 상기 쓰기 카운팅부에 의하여 카운팅되는,
    마이크로컨트롤러 유닛 감시 장치.
  4. 제 3 항에 있어서,
    상기 읽기 및 쓰기 제어 모듈은 읽기 및 쓰기 플래그 판독 모듈을 포함하며, 상기 읽기 및 쓰기 플래그 판독 모듈은 상기 수신한 명령의 읽기 및 쓰기 플래그를 판독하여 상기 수신한 명령을 읽기 명령 또는 쓰기 명령으로 분류하는,
    마이크로컨트롤러 유닛 감시 장치.
  5. 제 4 항에 있어서,
    상기 읽기 및 쓰기 제어 모듈은 모드 필터링 모듈을 포함하며, 상기 구동 반도체의 복수의 모드 중 어느 하나의 모드의 명령만을 카운팅하도록 필터링하여 상기 읽기 및 쓰기 플래그 판독 모듈에 출력하는,
    마이크로컨트롤러 유닛 감시 장치.
  6. 제 5 항에 있어서,
    상기 구동 반도체의 복수의 모드는 구동 준비 모드, 구동 모드 및 진단 모드를 포함하며,
    상기 모드 필터링 모듈은 상기 구동 모드의 명령만을 카운팅하도록 필터링하여 상기 읽기 및 쓰기 플래그 판독 모듈에 출력하는,
    마이크로컨트롤러 유닛 감시 장치.
  7. 제 2 항에 있어서,
    상기 구동 반도체는 로그 저장부를 더 포함하며,
    상기 감시 제어부는 상기 수신한 명령에 오류가 있는 경우에 상기 로그 저장부에 상기 수신한 명령을 저장하는,
    마이크로컨트롤러 유닛 감시 장치.
  8. 제 1 항에 있어서,
    상기 구동 반도체는 변속기 구동 반도체인,
    마이크로컨트롤러 유닛 감시 장치.
  9. 마이크로컨트롤러 유닛 및 구동 반도체를 포함하는 마이크로컨트롤러 유닛 감시 장치에서,
    상기 마이크로컨트롤러 유닛로부터 상기 구동 반도체에 명령 신호를 송신하고 상기 명령 신호를 카운팅하는 단계;
    상기 구동 반도체에서 상기 명령 신호를 수신하고, 상기 수신한 명령 신호를 카운팅하는 단계;
    상기 송신한 명령 신호의 카운팅 회수 또는 기준 회수와 상기 수신한 명령 신호의 카운팅 회수를 비교하는 단계; 및
    상기 비교하는 단계의 비교 결과에 기초하여 상기 마이크로컨트롤러 유닛을 리셋하는 단계를 포함하는,
    마이크로컨트롤러 유닛 감시 방법.
  10. 제 9 항에 있어서,
    상기 마이크로컨트롤러 유닛에서 상기 송신한 명령 신호의 카운팅된 회수가 기준 회수에 도달하면 비교 명령을 출력하고, 상기 구동 반도체에서 상기 송신한 명령 신호의 카운팅된 회수 또는 기준 회수와 상기 수신한 명령 신호의 카운팅된 회수를 비교하도록 제어하는,
    마이크로컨트롤러 유닛 감시 방법.
  11. 제 10 항에 있어서,
    상기 수신한 명령 신호는 읽기 명령 또는 쓰기 명령으로 분류되고, 상기 읽기 명령 및 상기 쓰기 명령은 각각 카운팅되는,
    마이크로컨트롤러 유닛 감시 방법.
  12. 제 11 항에 있어서,
    상기 읽기 명령 및 상기 쓰기 명령은 상기 수신한 명령 신호의 읽기 및 쓰기 플래그를 판독하여 분류되는,
    마이크로컨트롤러 유닛 감시 방법.
  13. 제 12 항에 있어서,
    상기 수신한 명령 신호는 상기 구동 반도체의 복수의 모드 중 어느 하나의 모드의 명령만을 카운팅하도록 필터링되는,
    마이크로컨트롤러 유닛 감시 방법.
  14. 제 13 항에 있어서,
    상기 구동 반도체의 복수의 모드는 구동 준비 모드, 구동 모드 및 진단 모드를 포함하며,
    상기 수신한 명령 신호는 상기 구동 모드의 명령만을 카운팅하도록 필터링되는,
    마이크로컨트롤러 유닛 감시 방법.
  15. 제 10 항에 있어서,
    상기 수신한 명령 신호에 오류가 있는 경우에 상기 수신한 명령 신호를 저장하는 단계를 더 포함하는,
    마이크로컨트롤러 유닛 감시 방법.
  16. 제 9 항에 있어서,
    상기 구동 반도체는 변속기 구동 반도체인,
    마이크로컨트롤러 유닛 감시 방법.
KR1020160168554A 2016-12-12 2016-12-12 마이크로컨트롤러 유닛 감시 장치 및 방법 Active KR101977955B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160168554A KR101977955B1 (ko) 2016-12-12 2016-12-12 마이크로컨트롤러 유닛 감시 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160168554A KR101977955B1 (ko) 2016-12-12 2016-12-12 마이크로컨트롤러 유닛 감시 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180067134A KR20180067134A (ko) 2018-06-20
KR101977955B1 true KR101977955B1 (ko) 2019-05-13

Family

ID=62769754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160168554A Active KR101977955B1 (ko) 2016-12-12 2016-12-12 마이크로컨트롤러 유닛 감시 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101977955B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210010761A (ko) 2019-07-19 2021-01-28 삼성전자주식회사 시스템 온 칩 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222168A (ja) 1999-02-03 2000-08-11 Nec Miyagi Ltd Fifoメモリ監視装置
JP2012089073A (ja) 2010-10-22 2012-05-10 Denso Corp 電子制御装置、及び、これを用いた電動パワーステアリング装置
JP2015042072A (ja) * 2013-08-22 2015-03-02 日立オートモティブシステムズ株式会社 自動車用の電子制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150004232A (ko) * 2013-07-02 2015-01-12 현대오트론 주식회사 와치독 장치 및 그 제어 방법
KR101526874B1 (ko) * 2013-08-12 2015-06-09 현대오트론 주식회사 양방향 와치독 장치 및 그 제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222168A (ja) 1999-02-03 2000-08-11 Nec Miyagi Ltd Fifoメモリ監視装置
JP2012089073A (ja) 2010-10-22 2012-05-10 Denso Corp 電子制御装置、及び、これを用いた電動パワーステアリング装置
JP2015042072A (ja) * 2013-08-22 2015-03-02 日立オートモティブシステムズ株式会社 自動車用の電子制御装置

Also Published As

Publication number Publication date
KR20180067134A (ko) 2018-06-20

Similar Documents

Publication Publication Date Title
EP2499571B1 (en) Advanced communication controller unit and method for recording protocol events
CN105745871B (zh) 具有以太网总线系统的车辆和用于运行这样的总线系统的方法
US20180144119A1 (en) Misuse detection method, misuse detection electronic control unit, and misuse detection system
US11621967B2 (en) Electronic control unit, electronic control system, and recording medium
JP6203365B2 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法
JP5071151B2 (ja) 通信システム、その異常推定方法、及び情報読出装置
CN107534592B (zh) 用于保护数据总线收发器的配置数据的方法、数据总线收发器和数据总线系统
CN112261026B (zh) 不正常检测方法、不正常检测电子控制单元以及不正常检测系统
US11016925B2 (en) Protocol-tolerant communications in controller area networks
CN116979985A (zh) Can模块、can收发器、can系统和用于can模块的方法
KR101977955B1 (ko) 마이크로컨트롤러 유닛 감시 장치 및 방법
WO2014039032A1 (en) Method and apparatus for isolating a fault-active controller in a controller area network
US20130254442A1 (en) Data filter
CN113624321B (zh) 一种基于振动监测的实时在线保护系统及方法
JP3106927B2 (ja) 通信システム
JP2006253921A (ja) 車両用ネットワークシステム
CN116094531B (zh) Sent信号接收系统、芯片
JP6956867B2 (ja) センサクロック信号を監視する装置および方法
JP2011123569A (ja) 処理装置
US20060200299A1 (en) Signal processing device and control unit for cooperating with a signal processing device
WO2007119424A1 (ja) 電気機器および電気機器における通信機能正常判定方法
JP2017007539A (ja) 制御装置
KR101509907B1 (ko) 차량 제어기의 상태 진단 방법 및 그 시스템
US20200195538A1 (en) Communication system
JP2020102771A (ja) 電子制御装置、電子制御装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20161212

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20181031

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: 20190408

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20190507

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20190508

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220426

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230424

Start annual number: 5

End annual number: 5