Automotive Study

자동차 전장 기능 안전: TC387 FMEDA 역할 분담 및 안전 메커니즘 이해

AI Humanoid 2025. 4. 23. 21:25

TC387 FMEDA 적용을 위한 BSW 개발자의 역할 정리 (AUTOSAR 기반)

인피니언 TC387을 사용하는 시스템에서, FMEDA를 위해 적용해야 하는 Safety Mechanism은 대부분 이미 MCAL / SafeTLib 형태로 구현되어 있습니다. 하지만 이를 실질적으로 적용하는 주체는 바로 BSW 개발자입니다.

특히 ASW는 AUTOSAR를 사용하지 않고, BSW는 AUTOSAR 기반이라면 BSW 개발자의 역할은 더욱 중요해집니다. 아래에 각 Safety Mechanism별로 해야 할 일을 정리했습니다.

✅ 메커니즘별 해야 할 일

메커니즘 BSW 개발자가 해야 할 일 사용 도구 / API
SM(HW)
예: WDT, Clock Monitor, ECC
① SMC.xml 또는 SafeTLib 설정에서 해당 기능 Enable
② MCAL 또는 SafeTLib에서 초기화 코드 구현
③ 진단 상태 읽기 및 에러 이벤트 처리
④ ASW에 전달 가능한 API 구현
SMC.xml
SafeTLib
MCAL
IfxConfigWizard
SM(SW)
예: CRC, Task Alive Monitor
① SafeTLib 또는 직접 구현 방식으로 진단 로직 포함
② 주기 설정 및 에러 발생 조건 정의
③ 진단 결과 전달을 위한 인터페이스 구성
Ifx_SafetyLib
Wdg, Mcu 모듈
BSW Task
SMC(SW)
예: WDT Init, BIST 설정
① SMC.xml에 설정값 입력
② 설정값에 따라 MCAL/SafeTLib에서 초기화 코드 생성
③ 설정 반영 여부를 기능안전 담당자에게 문서화 제공
SMC.xml
EB Tresos, DaVinci Configurator
SafeTLib 설정 툴
ESM(HW)
예: 외부 Watchdog, Voltage Supervisor
① 외부 입력 신호(GPIO 등)를 수신할 포트 설정
② 이벤트 감지 및 인터럽트 구성
③ 상태 전달 API 구현 또는 Dem 이벤트 등록
Port, Dio, AdcIf
Interrupt 설정
CanIf (필요 시)
ESM(SW)
예: Heartbeat, Gateway Cross Check
① CAN 수신 기반 상태 확인 로직 구현
② 일정 주기 이상 heartbeat 미수신 감지
③ 오류 발생 시 Dem 등록 또는 상태 API 호출
CanIf, Com, Dem, EcuM
Custom Diagnostics 모듈

✅ 협업 항목 (기능안전팀, ASW팀)

항목 협업 대상 협업 이유
SM 적용 여부 확인 및 증빙 기능안전 담당자 (FuSa) FMEDA에 적용됨(YES)으로 인정받기 위해 설정, 로그, 커버리지 문서 필요
진단 API 연동 사양 정의 ASW 개발자 ASW가 진단 상태를 API로 수신하기 위해 사양서 공유 필요
GPIO 핀 매핑 및 인터럽트 설정 HW 개발자 ESM(HW) 신호가 MCU 핀에 정확히 연결되었는지 확인 필요

📌 실무 팁

  • SMC 설정이 누락되면 적용 안 된 것으로 간주됩니다. SMC.xml과 SafeTLib 설정 스냅샷을 문서로 남겨두세요.
  • 기능안전 담당자에게는 진단기능 적용 여부와 적용 방식, API 연계 방식을 상세히 설명한 문서나 캡처를 제공해야 합니다.
  • ASW와의 API 연동은 명확한 사양서를 기반으로 구현되어야 하며, FMEDA 내 ASIL 흐름 추적 가능하게 구성되어야 합니다.

1. 사전 이해 및 요구사항 분석:

  • 기능 안전 요구사항 확인: 시스템 및 기능 안전 담당자가 정의한 안전 목표(FSG), 안전 요구사항(Safety Requirements)을 상세히 파악합니다. 각 안전 메커니즘이 어떤 위험을 완화하고 어떤 안전 목표를 달성하는 데 기여해야 하는지 이해해야 합니다.
  • TC387 안전 매뉴얼 및 데이터시트 분석: 인피니언 TC387의 안전 매뉴얼과 데이터시트를 통해 내장된 하드웨어 안전 기능(SM(HW))의 종류, 동작 방식, 설정 레지스터 등을 상세히 파악합니다. 외부 안전 칩(ESM(HW))의 인터페이스 방식 및 동작 원리도 이해해야 합니다.
  • AUTOSAR Safe State Handling: AUTOSAR에서 정의하는 Safe State Handling 메커니즘을 이해하고, 시스템의 안전 상태 전환 및 오류 처리 전략을 파악합니다.

2. SM(HW) 적용:

  • MCAL 설정: AUTOSAR Configuration Tool (예: EB tresos Studio, DaVinci Configurator Pro)를 사용하여 MCAL 모듈들을 설정합니다.
    • MCU (Microcontroller Unit) 드라이버: 클럭, 인터럽트 컨트롤러 등을 설정하여 SM(HW) 기능 활성화에 필요한 기본적인 환경을 구성합니다.
    • Safety 관련 MCAL 드라이버:
      • CPU Safety: CPU 자가 진단 (Lock-Step Core 비교, ECC 등) 관련 설정을 활성화하고 필요한 파라미터를 설정합니다.
      • Memory Protection Unit (MPU): 보호할 메모리 영역, 접근 권한 등을 설정합니다.
      • Watchdog Timer (WDT): 내부 하드웨어 워치독의 타임아웃 값, 모드 등을 설정합니다.
      • Clock Monitoring: 클럭 주파수 감시 기능 활성화 및 임계값 설정 등을 수행합니다.
      • ADC Self-Test, Sensor Monitoring (해당하는 경우): 아날로그 주변 장치 자체 진단 기능 등을 설정합니다.
    • 각 SM(HW) 기능 활성화 및 설정에 필요한 콜백 함수 (예: 오류 처리 루틴)를 구현합니다.
  • BSW Safety Service Integration: MCAL에서 감지된 하드웨어 오류를 BSW Safety Service 모듈과 연동하여 오류 상태를 보고하고 관리합니다.

3. SM(SW) 적용:

  • BSW Safety Service 개발: AUTOSAR BSW Safety Service 모듈을 사용하여 소프트웨어적인 안전 메커니즘을 구현합니다.
    • Redundancy: 소프트웨어 중복 실행, 데이터 복제 등을 구현합니다.
    • Software Watchdog: 태스크 실행 시간 감시, 제어 흐름 모니터링 등을 소프트웨어적으로 구현합니다.
    • Plausibility Checks: 센서 데이터, 내부 변수 등의 유효성 검사를 구현합니다.
    • Error Handling: 오류 감지 시 안전한 상태로 전환하거나 오류를 로깅/보고하는 메커니즘을 구현합니다.
  • RTE (Runtime Environment) Integration: 개발된 SM(SW) 기능들이 RTE를 통해 ASW (Application Software)와 연동될 수 있도록 인터페이스를 정의하고 통합합니다.

4. SMC(SW) 적용 (Safety Mechanism Configuration):

  • BSW Parameter Definition: AUTOSAR Configuration Tool을 사용하여 SM(HW) 및 SM(SW)의 동작 방식을 결정하는 설정 파라미터들을 정의합니다. 이는 주로 BSW 모듈의 파라미터 설정으로 이루어집니다.
    • 예: 하드웨어 워치독의 타임아웃 값, 소프트웨어 워치독의 감시 대상 태스크 ID 및 타임아웃 값, MPU 보호 영역 설정 값 등.
  • BSW Module Configuration: 정의된 파라미터들을 각 BSW 모듈의 설정 섹션에 적절한 값으로 설정합니다. 이러한 설정은 시스템 요구사항 및 안전 분석 결과를 반영해야 합니다.
  • Configuration Management: 설정 변경 이력을 관리하고, 런타임 시 설정 값을 안전하게 로딩하고 사용하는 메커니즘을 구현합니다.

5. ESM(HW) 적용:

  • MCAL 드라이버 개발/설정: 외부 안전 칩(예: 외부 워치독 IC)과의 통신을 위한 MCAL 드라이버를 개발하거나 설정합니다. 이는 주로 SPI, I2C, GPIO 드라이버를 사용하여 이루어집니다.
  • BSW Service 개발: 외부 안전 메커니즘의 기능을 활용하기 위한 BSW 서비스를 개발합니다. 예를 들어, 외부 워치독에 주기적으로 핑(ping) 신호를 보내는 서비스, 외부 안전 센서로부터 데이터를 읽어오는 서비스 등을 구현합니다.
  • Error Handling: 외부 안전 메커니즘에서 오류가 감지되었을 경우 (예: 외부 워치독 타임아웃) 이를 감지하고 적절한 오류 처리 루틴을 수행합니다.

6. 통합 및 테스트:

  • BSW Module Integration: 개발 및 설정된 각 BSW 모듈들을 AUTOSAR 아키텍처에 따라 통합합니다.
  • Unit Testing: 각 BSW 모듈 및 안전 기능들이 개별적으로 정확하게 동작하는지 테스트합니다.
  • Integration Testing: 여러 BSW 모듈 및 ASW 컴포넌트들이 함께 연동하여 안전 요구사항을 만족하는지 테스트합니다.
  • System Testing: 실제 타겟 하드웨어에서 전체 시스템의 안전 기능을 검증합니다.

7. 문서화:

  • 적용된 SM(HW), SM(SW), SMC(SW), ESM(HW), ESM(SW)의 설계, 구현, 설정, 테스트 결과를 상세하게 문서화합니다. 이는 FMEDA 분석 및 안전 감사의 중요한 자료가 됩니다.

핵심적으로 BSW 개발자는 AUTOSAR 환경에서 MCAL 설정을 통해 하드웨어 안전 기능을 활성화하고 제어하며, BSW Safety Service를 통해 소프트웨어적인 안전 메커니즘을 구현하고 관리합니다. SMC(SW)는 이러한 안전 메커니즘들의 동작 방식을 결정하는 중요한 설정 요소이므로, AUTOSAR Configuration Tool을 통해 정확하게 설정해야 합니다. ESM(HW)의 경우, 통신 드라이버 개발 및 BSW 서비스 구현을 통해 활용하게 됩니다.