본문 바로가기
자율주행 개발 프로세스/Functional Safety (ISO26262)

ISO26262 - Clock 의 Safety Mechanism 및 Diagnostic Coverage 정리

by 멘토_ 2022. 3. 19.
반응형

안녕하세요. 자율주행 SW 안전 전문가를 목표로하는 플라잉 준입니다.

 

이번에는 ISO26262 관련 E/E 시스템의 동기를 맞춰주는 Clock 에 대한 안전 매커니즘 (Safety Mechanism) 및 진단 커버리지 (Diagnostic Coverage) 에 대해 정리하겠습니다.

 

 

 

Clock

아시다시피 Clock 은 E/E 시스템 내에서 Processing Unit, Sensor, Actuator 등 여러 요소들의 동기를 맞춰주기 위한 신호를 생성하는 하드웨어 요소입니다.

 

자세한 설명은 클럭 싷노의 Wiki 내용으로 대체하도록 하겠습니다.

 

클럭 신호 - 위키백과, 우리 모두의 백과사전

이상적인 클럭 신호 클럭 신호(영어: clock signal)는 논리상태 H(high,논리 1)와 L(low,논리 0)이 주기적으로 나타나는 방형파(square wave) 신호를 말한다. 많은 경우 전자공학의 디지털 회로에서 클럭 신

ko.wikipedia.org

클럭 신호(영어: clock signal)는 논리상태 H(high,논리 1)와 L(low,논리 0)이 주기적으로 나타나는 방형파(square wave) 신호를 말한다.
많은 경우 전자공학의 디지털 회로에서 클럭 신호에 맞추어 신호의 처리를 하는 동기 처리를 위해 사용한다. 클럭은 순차회로(sequential circuit)의 플립플롭(flip-flop)에서 반드시 필요하다. 여러개의 플립플롭이 비동기 클럭(asynchronous clock)으로 동작하더라도 클럭입력(clock input)은 필요하다. 논리 회로가 커지면 여러 개의 클럭이 필요하므로 동기식(synchronous)와 비동기식(asynchronous)이 섞여 설계되어 동작한다. FPGA와 같은 큰 회로에서는 클럭 신호가 별도로 지정하는 경우도 있다.[1] 별도의 클럭 입력이 결정되어 있고, 내부에서 클럭 네트워크를 통해 각 논리 모듈로 전용 신호선이 존재한다.

 

Safety Mechanism & Diagnostic Coverage

 

Clock 동기를 맞주기 위한 클럭 신호를 생성하는 하드웨어 요소로 해당 기능에 대한 Failure mode 로 아래 2가지를 생각해 볼 수 있습니다.

  1. Incorrect frequency
  2. Jitter

위의 2 가지 Failure Mode 를 검출하기 위해 적용할 수 있는 안전 매커니즘은 다음과 같습니다.

  1. Watchdog with separate time base without time-window
  2. Watchdog with separate time base and time-window
  3. Logical monitoring of programme sequence
  4. Combination of temporal and logical monitoring of programme sequence
  5. Combination of temporal and logical monitoring of programme sequences with time dependency

아래에서 정리하는 안전 매커니즘에 대한 진단 커버리지는 낮음 (Low), 중간 (Medium), 높음 (Hgih)로 분류되며 수치로는 각각 60%, 90%, 99% 의 Coverage 를 의미하며 각 안전 매커니즘에 대한 설명은 아래의 형태로 정리하겠습니다.

 

Safety Mechanism (Diagnostic Coverage : Coverage)

목적 : 

설명 : 

예제 :

참고사항 :

 

Watchdog with separate time base without time-window (DC : 낮음 (Low, 60%))

목적 : 프로그램 시퀀스의 동작 (behaviour) 과 타당성 (plausibility) 을 모니터링 하여 잘못된 순서를 감지

설명 : 

Watchdog timer 와 같은 별도의 시간을 가지는 External timing element 를 주기적으로 트리거 하여  프로세서의 동작과 프로그램 시퀀스의 타당성을 모니터링한다.

  • 트리거 포인트를 프로그램에 올바르게 배치하는 것이 중요
  • 워치독은 고정된 기간에 트리거되지 않지만 최대 간격이 지정되어 최대 시간을 넘긴 경우, 조치가 취해진다.

 

Watchdog with separate time base and time-window (DC : 중간 (Medium, 90%))

목적 : 프로그램 시퀀스의 동작 (behaviour) 과 타당성 (plausibility) 을 모니터링 하여 잘못된 순서를 감지

설명 : 

Watchdog timer 와 같은 별도의 시간을 가지는 External timing element 를 주기적으로 트리거 하여  프로세서의 동작과 프로그램 시퀀스의 타당성을 모니터링한다.

  • 트리거 포인트를 프로그램에 올바르게 배치하는 것이 중요
  • Watchdog timer 에 대한 하한 및 상한이 제공되어 프로그램 순서가 예상보다 길거나 짧은 경우 조치가 취해진다.

 

Logical monitoring of programme sequence (DC : 중간 (Medium, 90%))

목적 : 개별 프로그램의 올바른 순서를 모니터링하기 위함

설명

개별 프로그램 섹션의 올바른 순서는 소프트웨어(counting procedure, key procedure)를 사용하거나 외부 모니터링 기능을 사용하여 모니터링한다.

  • 단일 또는 다중 지점 오류로 인해 경로가 완료되지 않거나 순서 없이 실행될 경우 위험을 초래할 수 있는 경로를 모니터링할 수 있도록 프로그램에 검사 지점을 배치하는 것이 중요
  • 시퀀스는 각 함수 호출 간에 업데이트되거나 프로그램 실행에 더 밀접하게 통합될 수 있음

 

Combination of temporal and logical monitoring of programme sequence (DC : 높음 (High, 99%))

목적 : 개별 프로그램의 올바른 순서 및 동작을 모니터링하기 위함

설명 : 해당 Mechanism 은 앞의 3개의 mechanism (Watchdog with separate time base without time-window, Watchdog with separate time base and time-window and Logical monitoring of programme sequence) 을 혼합한 Mechanism 으로, 개별 프로그램이 올바른 순서로 동작 하였을 때, watchdog 을 트리거하여 시간적, 논리적 흐름에 대해 모니터링 한다.

 

Combination of temporal and logical monitoring of programme sequences with time dependency (DC : 높음 (High, 90%))

목적 : 개별 프로그램의 올바른 순서, 동작, 실행 시간 간격을 모니터링하기 위함

설명 :

Program Flow Monitoring 전략은 소프트웨어 업데이트 지점이 정해진 시간 내에서 발생할 것으로 예상되는 곳에서 구현되어 외부 monitoring 장치에 의해 순서, 동작, 실행 시간을 모니터링한다.

 

정리

위에서 정리한 내용은 특정 도메인에서 프로젝트를 진행할 때 참고할 수 있는 내용 정도로 생각해 주시고 활용해주시면 감사하겠습니다 :)

 

긴글 읽어 주셔서 감사드립니다.

반응형