임베디드 용어 사전
신뢰성

안전 상태

고장을 감지했을 때 시스템이 들어가야 할 미리 정해 둔 상태. 마지막 값을 유지하는 것은 안전 상태가 아니다.

"이상하면 어떻게 할 것인가" 를 미리 정해 두는 것이다.

잘못된 대응   마지막 값을 그대로 유지한다     오래된 값이 더 위험할 수 있다
올바른 대응   출력을 정해진 값으로 두고
             사용자에게 알리고
             필요하면 기능을 중단한다

어디서 정하나

전원이 들어오기 전 · 리셋 직후   외부 저항이 정한다. 회로 설계의 몫이다
초기화 중                     핀을 안전한 방향으로 먼저 잡는다
운전 중 고장 감지 시            펌웨어가 전이시킨다
워치독 리셋 후                 리셋 원인을 읽고 안전하게 재시작한다

첫 줄이 중요하다 — MCU 가 아직 안 깨어난 순간에도 시스템은 안전해야 한다. 모터 드라이버 인에이블 핀에 풀다운을 두는 이유가 그것이다.

통신이 끊겼을 때

타임아웃을 정해 두고, 넘으면 안전 상태로 간다
"조용히 마지막 값을 계속 쓰는" 구현이 사고의 전형적 원인이다

기록을 남긴다

안전 상태로 들어간 이유를 백업 레지스터나 플래시에 남겨야 현장에서 원인을 안다. 남기지 않으면 "가끔 멈춘다" 라는 재현 불가 보고만 돌아온다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 신뢰성 — 현장에서 멈추지 않게