기능안전과 aurix safety manual 개념 이해
기능안전 aurix safety mechanism 개념 이해
배경지식. 주요 용어는 아래글 참고
https://newbie-developer.tistory.com/m/443
◇ Fault(결함) 과 Failure(고장)
제품이 정상 동작 못하게 되는 상태가 고장
결함은 고장을 유발할 수 있는 비정상적 상태를 의미.
결함이 고장을 일으키는 것. 그러나 모든 결함이 고장을 일으키는 것은 아님.
고장이 좀 더 치명적인(?) 중요한 개념이라 볼 수 있다.
결함은 고장을 유발할 가능성이 있는 요소들(?)이랄까
◇ random hardware fault vs systematic fault
systematic은 일정한 조건에서 반복 재연 가능.
간단히 말하면 설계,제조 과정에서 뭔가 잘 못 만들어서 발생.
random 은 말 그대로 예측 불가하게 랜덤으로 발생하는 경우를 말함
◇ Mcu Safety mechanism & Safety Manual
mcu 제조사는 고장 분석 활동을 통해 mcu에서 발생할 수 있는 다양한 fault 들을 정리하여 고객에게 제공
ex)lock step 고장. 메모리 ecc 에러.sw stuck 등
해당 mcu를 사용하는 제품 개발자는, 그 mcu에 정의된 각각의 fault 들에 대해서 제품의 시스템 관점에서 분석한다.
해당 fault가 발생했을 경우, 우리 제품의 고장을 유발하는지 여부 분석
만약 유발한다면 이를 감지하여 적절한 리액션을 취하거나, 운전자에게 알리는 등의 조치를 해야함.
mcu의 fault 발생을 감지하고, 적절한 리액션을 취하는 것이 mcu safety mechanism이다.
앞에서 mcu 제조사에서 해당 mcu에 발생가능한 fault들을 나열한다고 했는데, 이 때 각 fault들을 감지할 수 있는 safety mechanism도 함께 마련함.
세이프티 메커니즘을 적용하기 위한 방법을 서술한 문서가 safety manual 이다.
◇ Aurix Sw개발자 업무(safety 메커니즘 적용)
Safety Mechanism 적용이 필요하다고 판단되는 fault에 대하여 safety mechanism 구현하여 적용 해야함
safety manual 내용을 참조하여 구현하면 된다.
모든 fault 가 다 그런것은 아니지만, aurix 대부분의 fault의 경우 fault를 mcu가 자체적으로 감지하고, 감지된 에러는 smu 모듈로 알람을 전달하게 돼있고 이게 aurix의 sm이다.
smu에 적절한 셋팅을 통해 각 fault 발생시의 reaction 셋팅 가능.
참고로 이 경우 mcu가 fault 감지하여 smu로 에러를 report 해주는 것까지가 sm이기 때문에, 그 이후 어떤 조치를 취할 것인지는 시스템 레벨에서 분석하고 결정되어.구현되야한다.
※ smu로 감지하는 fault들은 systematic한 원인으로 발생하는 경우도 있지만. 대부분 random hardware fault 와 연관이 깊다.
그러다보니 재연하기도 힘들고 테스트하기도 힘든(불가능한?) 부분이 있다.
ex) lockstep 에러. ecc 에러가 언제, 왜 발생하는건지 예측도 안되고 그러다보니 재연할 방법도 마땅히 없음
◇FIT 의 개념
한편, 우리 시스템의 고장을 유발할 수 있는 fault 이지만 마땅한 safety mechanism이 없거나, 혹은 여러이유로 safety mechanism 을 구현하지 않은 fault 들이 있을 수 있다.
이러한 fault들의 경우 고장률을 관리해야한다.
mcu 제조사는 각 fault 들에 대해 고장률이라는 정보도 사용자에게 제공한다.
고장률이란 말그대로 해당 mcu를 사용했을때 특정 fault가 얼마나 자주 발생할 수 있는지를 나타내는 수치다.이것은 각 FAULT 별로 수치가 다르다.
통계학적 기법, 경험적 자료 등 여러가지 방법론을 통해 고장률을 계산한다는데 구체적인건 나도 모르겠고. MCU 제조사가 제공하는 정보 이용하면 된다.
이때 고장률에 사용하는 단위가 FIT이다.
FIT 값이 1이면 제품을 10억 시간 가동했을때 1번 발생한다는 의미이다.
ASIL 등급이 높은 아이템 일 수록 요구되는 FIT 값이 낮다.
그러므로, ASIL이 높을수록 세이프티 메커니즘을 최대한 많이 적용하여 FIT을 낮춰야 할 것이다.
ex)
Fault1의 fit 값 : 1
Fault2의 fit 값 : 2
fault3의 fit 값 : 3
mcu fault 목록에는 나열되어있으나 우리 시스템에서 fault2는 관련이 없다고 판단한다면?
FIT 값은 4가 된다.
Fault3에 대해 적절한 safety mechanism을 적용하여 fault 발생하더라도 적절한 조치를 취하도록 구현했다면 ?
나머지 fault 1에 대한 fit만 적용하여 fit 값은 1이 된다.
◇ BIST(Built In Self Test) 개념
'자동차 임베디드 SW > Aurix MCU' 카테고리의 다른 글
Aurix Trap 발생시키기 (0) | 2024.09.05 |
---|---|
Aurix Contex Save Area 와 aurix trap 공부 (0) | 2024.09.04 |
Aurix Smu Test하기 (0) | 2024.07.12 |
Aurix SMU 헷갈리는 것 기록 (0) | 2024.07.04 |
Aurix Watchdog 기능 정리 (0) | 2024.06.19 |