해당 포스팅에서는 차량 기능안전 표준인 ISO 26262 관련하여, 차량 E/E 시스템의 하드웨어 구성 요소 중 Processing Unit 과 관련된 Failure mode 를 정리합니다.
Overview - MCU Component
위의 그림은 MCU 의 일반적인 요소들과 그들의 관계를 나타내며 각각의 요소에 대한 설명은 다음과 같습니다.
- HW Element 1.1
- MCU 에 연결된 하드웨어 요소로부터 정보를 수신할 수 있도록 하는 인터페이스 처리 요소
- HW Element 1.2
- 기능적 관점에서 Hardware Element 1.1 과 동일한 기능을 하는 인터페이스 처리 요소
- HW Element 2
- External Element 2 를 제어하는데 사용되는 요소
- Control
- HW Element 1.1 및 1.2 의 연결을 제어할 수 있는 선택 신호를 제공하는 요소
- Data SRAM
- Software Element 의 변수를 저장하는 메모리 (소프트웨어와 DMA 사이 및 소프트웨어 요소 자체 사이의 통신 버퍼를 포함)
- Code ROM
- Software Element 에 의해 실행되는 코드와 Software Element 에서 사용하는 상수 데이터를 포함하는 읽기 전용 메모리 (Read Only Memory)
- Watchdog Interface
- External Watchdog 과 통신하는 요소
- DMA (Direct Memory Access) hardware element
- DMA 는 각 Software Element 에서 사용할 수 있으며 주소 지정 가능한 모든 리소스 (메모리, 구성 레지스터) 에 대한 읽기 및 쓰기 접근 권한이 있는 요소
- EVR ( Embedded Voltage Regulator)
- "External Power Supply (e.g. ignition, battery)" 에 의해 전원이 공급되는 입력 / 출력 패드를 제외하고 MCU 내부의 각 하드웨어 요소에 전원 공급을 제공하는 요소
- Reset Generation & Distribution
- Hardware or Software 요소에 의해 제어되는 외부 초기화 소스 또는 내부 초기화 동작에서 발생하는 명령을 기반으로 MCU 의 초기화 상태를 제어 하는 요소
- Clock Generation & Distribution
- "External Clock Source "를 사용하여 PLL을 기반으로 각 하드웨어 요소에 대해 의도한 클럭을 제공하는 요소
- Test Control & Distribution
- MCU 생산 테스트에 필요한 테스트 제어 및 신호 분배를 해주는 요소
위에서 설명한 MCU 의 전체 요소 중 Processing Unit 의 Failure Mode 와 관련된 요소는 아래와 같습니다.
- CPU
- DMA
- Interrupt Control Unit
- Shared Bus
Processing Unit 의 Failure Mode
특정 하드웨어 요소의 Failure mode 는 시스템에 할당된 기능 및 안전 요구사항에 따라 다릅니다. 이에, 통합하는 시스템을 기반으로 특정 Failure mode 는 안전 요구 사항을 위반할 수도 있고 그렇지 않을 수도 있습니다.
아래에서 설명하는 Processing Unit 의 Failure mode 는 특정 시스템을 대상으로 정리한 Failure mode 가 아닌 일반적으로 고려할 수 있는 Failure mode 를 정리합니다.
정리한 Failure mode 및 Component 의 H/W Part 는 일반적으로 참조할 수 있는 내용이며 경우에 따라 내용을 삭제, 추가 할 수 있습니다.
Processing Unit 의 Failure mode 는 다음의 형태로 정리합니다.
Component 명
- H/W Part : H/W Part 명
- 기능 : 해당 H/W Part 의 기능
- Failure Mode
- Failure Mode 1
- Failure Mode 2
- 참고사항
- XX
CPU
- H/W Part : Central Processing Unit (CPU)
- 기능 : CPU 는 주어진 Instruction Set 아키텍처에 따라 주어진 명령 흐름을 실행
- Failure Mode
- Given instruction flow not executed (total omission)
- Given instruction flow not executed due to program counter hang up
- Given instruction flow not executed due to instruction fetch hang up
- Un-intended instructions flow executed (commission)
- Incorrect instruction flow timing (too early/late)
- Incorrect instruction flow result
- Given instruction flow not executed (total omission)
- H/W Part : CPU Interrupt Handler circuit
- 기능 : CPU Interrupt Handler circuit 은 인터럽트 요청에 맞춰 interrupt serivce routine (ISR) 을 실행
- Failure Mode
- ISR not executed (omission/too few)
- Un-intended ISR execution (commision/too many)
- Delayed ISR execution (too early/late)
- Incorrect ISR execution
- H/W Part : CPU Memory Management Unit
- 기능 : Memory Management Unit (MMU) 는 아래 2가지 기능을 수행
- 가상 주소를 물리적 주소로 변환 (Translation)
- 메모리 접근 권한 제어 (access)
- Failure Mode - Translation
- Address translation not executed
- Address translation when nore requested
- Delayed address translation
- Translation with incorrect physical address
- Failure Mode - Access
- Un-intended blocked access
- Un-intended allowed access
- Delayed access
- 기능 : Memory Management Unit (MMU) 는 아래 2가지 기능을 수행
Interconnects
- H/W Part : Interrupt Controller Unit
- 기능 : 하드웨어 또는 소프트웨어 기반 인터럽트 이벤트를 우선순위에 따라 CPU 에 인터럽트 요청 전달
- Interrupt Controller 는 여러 CPU 에 서비스 제공 가능
- Failure Mode
- Interrupt request to CPU missing
- Interrupt request to CPU without triggering event
- Interrupt request too early/late
- Interrupt request sent with incorrect data
- 기능 : 하드웨어 또는 소프트웨어 기반 인터럽트 이벤트를 우선순위에 따라 CPU 에 인터럽트 요청 전달
- H/W Part : DMA
- 기능 : DMA 는 요청 시 소스 주소에서 목적지 주소로 데이터를 이동하고 데이터 전송 완료를 알림
- 메시지 : 전송된 데이터 지합
- Failure Mode
- No requested data transfer. The message is not sent as intended to the destination address.
- Data transfer without a request.
- Data transfer too early/late.
- Incorrect output
- 기능 : DMA 는 요청 시 소스 주소에서 목적지 주소로 데이터를 이동하고 데이터 전송 완료를 알림
- H/W Part : Internal Communication (Buses and Interconnects)
- 기능 : 버스 마스터에서 시작된 버스 트랜잭션을 대상 주소로 전달
- 트랜잭션 : 버스 프로토콜에 의해 정의된 주어진 데이터 세트
- Failure Mode
- Requestyed transaction not delivered
- Transaction delivered without a request
- Transaction delivered with incorrect timing
- Transaction delivered with incorrect data
- 기능 : 버스 마스터에서 시작된 버스 트랜잭션을 대상 주소로 전달
Memory
- 아래 포스팅에서 확인
정리
앞에서도 언급하였지만, 위에서 정리한 Processing Unit 에 대한 Failure mode 는 일반적으로 고려할 수 있는 Failure mode 입니다.
특정 프로젝트를 진행하며 Failure mode 를 도출할 때 참조 할 수 있는 내용으로 실제 시스템의 기능 및 안전 요구 사항에 맞춰 해당 내용을 추가 또는 제거하여 사용할 수 있습니다.
앞서 정리한 Failure mode 에 Failure mode 를 추가 하였을 경우에는 문제가 없지만, 만약 위에서 정리한 Failure mode 를 안전과 관련이 없는 것으로 분류 하여 제거하였을 경우에는 뒷받침 할 수 있는 안전 분석에 대한 근거를 제시할 필요가 있을 수도 있습니다. (고객의 요구로 인해)
'자율주행 개발 프로세스 > Functional Safety (ISO26262)' 카테고리의 다른 글
ISO26262 - E/E System 에 적용 가능한 Safety Mechanism 및 Diagnostic coverage (0) | 2022.03.17 |
---|---|
ISO26262 - Sensor 의 Failure Mode 정리 (0) | 2022.03.14 |
ISO26262 - Power Supply 의 Failure Mode 정리 (0) | 2022.03.14 |
ISO26262 - Memory 의 Failure Mode 정리 (0) | 2022.03.14 |
ISO26262 - Digital I/O 의 Failure Mode 정리 (0) | 2022.03.12 |