문의 EN
기술 노트

전장 임베디드는 무엇이 다른가

차량 안의 전자장치는 같은 MCU와 같은 C 언어로 만들어도 요구가 다릅니다. 전원은 거칠고, 온도 범위는 넓고, 고장은 안전과 이어집니다. 전장 개발에서 처음부터 고려해야 할 기준을 개요 수준으로 정리했습니다.

읽는 시간 약 8분

1일반 임베디드와 무엇이 다른가

  • 전원 환경: 차량 전원은 이름만 12V(승용차), 24V(상용차)입니다. 엔진이 돌 때는 발전기 충전으로 전압이 더 높고, 시동을 거는 순간에는 크게 떨어집니다. 배터리 연결이 갑자기 끊기면 발전기의 에너지가 전원선에 큰 서지로 실립니다(부하 차단, 로드 덤프). 정비 중 배터리를 거꾸로 연결하거나 다른 차량으로 점프 시동을 거는 일도 있습니다.
  • 온도: 실내 장치도 영하 40도에서 영상 85도를 견뎌야 하는 경우가 많고, 엔진룸 장치는 더 높은 온도를 요구받습니다.
  • 진동·습기: 부품 납땜, 커넥터, 기판 고정이 오랜 진동을 견뎌야 합니다.
  • 수명: 차량은 10년 넘게 쓰입니다. 부품 공급도 그만큼 이어져야 합니다.
  • 안전: 제동, 조향, 구동과 관련된 장치의 고장은 사고로 이어질 수 있습니다. 그래서 설계와 검증 절차 자체를 규격으로 정해 둡니다(4장).

실무 기준

공조장치처럼 주행 안전과 직접 관련이 적은 장치도 전원 환경은 똑같이 거칩니다. 그래서 기능보다 먼저 전원 입력 보호와 시동 중 동작 조건을 정합니다.

2차량 네트워크

차 한 대에는 수십 개의 제어기(ECU)가 있고, 이들은 몇 갈래의 네트워크로 연결됩니다. 속도와 비용에 따라 쓰임이 나뉩니다.

네트워크특징주된 쓰임
CAN2선 차동 신호, 최대 1 Mbit/s, 한 번에 데이터 최대 8바이트. 메시지 ID가 곧 우선순위이고, 오류 검출과 오류가 잦은 노드를 스스로 끊는 기능이 있다구동, 차체, 편의 장치 등 차량 전반
CAN FDCAN을 확장해 데이터 구간을 더 빠르게(흔히 2~5 Mbit/s) 보내고, 한 번에 최대 64바이트를 보낸다데이터가 많은 제어기, 빠른 펌웨어 업데이트
LIN1선, 최대 20 kbit/s, 마스터 하나가 여러 슬레이브를 차례로 부르는 단순한 구조. 부품 비용이 낮다창문, 시트, 미러, 공조 장치의 작은 구동기·센서

CAN은 여러 노드가 동시에 보내려 하면 ID가 작은(우선순위가 높은) 메시지가 데이터 손실 없이 이기는 방식(중재)으로 동작합니다. 그래서 어떤 메시지에 어떤 ID를 줄지가 곧 시스템의 응답 시간을 정합니다. 서로 다른 네트워크는 게이트웨이 제어기가 이어 줍니다.

실무 기준

CAN 메시지의 ID 배분과 전송 주기는 개발 초기에 CAN DB(메시지와 신호의 ID, 주기, 비트 위치, 단위를 정의한 파일. 흔히 DBC 형식)로 정하고, 버스 부하에 여유를 남깁니다. 펌웨어, 시험 도구, 분석 도구가 같은 CAN DB를 쓰면 해석이 어긋나지 않습니다. 나중에 메시지를 추가할 때 우선순위가 꼬이는 것이 전장 통신에서 흔한 문제입니다.

그림 1. 속도가 다른 네트워크를 게이트웨이가 잇고, 정비 장비는 진단 포트를 통해 제어기와 통신합니다. 실제 구성은 차종마다 다릅니다.

3진단: UDS와 DTC

정비소의 진단 장비는 진단 포트를 통해 제어기와 대화합니다. 이때 쓰는 약속이 UDS(ISO 14229, 통합 진단 서비스)입니다. 진단 장비가 서비스 번호로 요청을 보내면 제어기가 응답합니다. 긴 메시지는 CAN의 8바이트 단위로 나누어 보내는 규칙(ISO 15765-2)을 함께 씁니다.

서비스하는 일
0x10 진단 세션 제어일반·확장·프로그래밍 모드 전환
0x11 ECU 리셋제어기 재시작
0x19 DTC 정보 읽기 / 0x14 진단 정보 지우기고장 코드 조회와 삭제
0x22 / 0x2E 데이터 읽기·쓰기지정 번호(DID)의 값 읽기·쓰기
0x27 보안 접근쓰기·프로그래밍 전 인증
0x31 루틴 제어제어기 안의 시험 동작 실행
0x34 · 0x36 · 0x37펌웨어 내려받기 요청 · 데이터 전송 · 전송 종료

DTC(고장 코드)는 제어기가 스스로 이상을 감지했을 때 남기는 기록입니다. 코드 번호와 함께 현재 발생 중인지, 확정된 고장인지 같은 상태와, 고장 당시의 전압·온도 같은 상황 정보를 저장해 정비에 씁니다.

OBD-II는 배출가스 관련 고장을 점검하려고 법규로 정한 진단 체계입니다. 진단 포트의 모양과 기본 요청이 표준화되어 있어, 진단 포트에 연결하는 외부 장치가 차량 속도, 엔진 회전수(RPM) 같은 주행 정보를 읽을 수 있습니다.

실무 기준

진단은 다 만든 뒤 붙이는 기능이 아닙니다. 어떤 이상을 어떤 조건에서 고장으로 확정할지가 진단 설계이고, 이는 제어 로직과 함께 정해야 합니다. 차량 진단 포트에 연결하는 장치를 개발해 보면, 짧은 시간에 많은 요청과 응답을 놓치지 않고 처리하는 구조가 성능을 결정합니다.

4안전 규격: ISO 26262와 ASIL

ISO 26262는 도로 차량의 전기·전자 시스템에 대한 기능 안전 국제 규격입니다. "고장이 나도 위험해지지 않게" 만드는 절차를 개념 단계부터 생산, 폐기까지 정해 둡니다.

핵심은 ASIL(자동차 안전 무결성 수준)입니다. 장치가 고장 났을 때의 위험을 세 가지로 평가합니다.

  • 심각도: 사고가 나면 얼마나 다치는가
  • 노출: 그런 운전 상황이 얼마나 자주 있는가
  • 제어 가능성: 운전자가 위험을 피할 수 있는가

이를 조합해 ASIL A부터 D까지 정하고(D가 가장 엄격), 안전과 관련이 없으면 QM(일반 품질 관리)으로 분류합니다. 등급이 높을수록 요구사항 추적, 설계 방법, 시험 범위, 문서화 수준이 높아집니다.

실무 기준

개발을 시작할 때 이 장치가 기능 안전 대상인지, 대상이라면 어느 등급인지를 고객과 먼저 확인합니다. 등급에 따라 필요한 절차와 문서, 일정과 비용이 크게 달라지기 때문입니다.

5코딩 규칙: MISRA C

C 언어에는 컴파일러마다 결과가 다르거나, 규격상 결과가 정해지지 않은 동작이 많습니다. 일반 프로그램에서는 넘어갈 수 있는 문제가 차량에서는 오동작이 됩니다. MISRA C는 이런 위험한 사용을 제한하는 코딩 규칙 모음으로, 자동차와 같이 신뢰성이 중요한 분야에서 널리 쓰입니다. 현재 판은 MISRA C:2012와 그 개정 사항을 묶은 MISRA C:2023입니다.

  • 규칙은 반드시 지켜야 하는 것(Mandatory), 지켜야 하는 것(Required), 권고(Advisory)로 나뉩니다.
  • 규칙 위반 여부는 대부분 정적 분석 도구로 검사합니다.
  • 꼭 필요해 규칙을 벗어날 때는 이유와 영향을 문서로 남깁니다(편차 관리).

실무 기준

규칙을 "적용해 작성하는 것"과 "준수를 주장하는 것"은 다릅니다. 준수를 주장하려면 정해진 개발 절차와 편차 관리 문서가 갖춰져야 합니다. 요구 수준을 처음에 고객과 맞춰 두면 뒤에서 다시 고치는 일이 없습니다.

6부품과 전원 설계

차량용 등급 부품: 차량에 쓰는 반도체는 AEC(자동차 전자 부품 협의회)의 시험 기준을 통과한 부품을 고르는 것이 일반적입니다. 집적회로는 AEC-Q100, 개별 반도체는 AEC-Q101, 저항·콘덴서 같은 수동 부품은 AEC-Q200입니다. AEC-Q100은 동작 온도에 따라 등급을 나눕니다.

등급동작 온도
Grade 0-40 ~ 150 °C
Grade 1-40 ~ 125 °C
Grade 2-40 ~ 105 °C
Grade 3-40 ~ 85 °C

전원 보호

  • 역전압 보호: 배터리를 거꾸로 연결해도 부품이 상하지 않게 다이오드나 MOSFET으로 막습니다.
  • 과전압·서지 보호: 부하 차단 서지와 각종 과도 전압을 TVS 다이오드 등으로 흡수하고, 전원 부품은 충분한 입력 내압을 가진 것을 고릅니다.
  • 시동 중 전압 강하: 전압이 떨어지는 동안 꺼져도 되는지, 동작을 유지해야 하는지 정하고 그에 맞게 전원 회로를 설계합니다.

슬립·웨이크업: 시동이 꺼진 동안에도 제어기는 배터리에 연결되어 있습니다. 대기 전류가 크면 며칠 만에 배터리가 방전됩니다. 평소에는 깊은 절전 상태로 있다가 CAN·LIN 신호나 스위치 입력으로 깨어나는 구조를 설계합니다.

실무 기준

차량 장치의 "배터리가 방전된다"는 불만은 대부분 대기 전류 설계에서 나옵니다. 회로 단계에서 절전 상태의 전류 경로를 하나씩 확인합니다.

7AUTOSAR 개요

AUTOSAR는 차량 제어기 소프트웨어의 구조와 인터페이스를 표준화한 것입니다. MCU 기반 제어기용 Classic Platform은 기본 소프트웨어(통신, 진단, 메모리, OS 등)와 응용 소프트웨어 사이에 정해진 연결 계층(RTE)을 두어, 응용 소프트웨어를 다른 제어기로 옮기기 쉽게 합니다. 고성능 프로세서용으로는 Adaptive Platform이 있습니다. 완성차 제조사에 직접 납품하는 제어기에서는 AUTOSAR 기반 개발을 요구받는 경우가 많습니다. 반대로 소량의 독자 제품이나 애프터마켓 장치에는 도구와 구성 비용이 과할 수 있어, 글 1에서 설명한 계층 구조로 충분한 경우도 많습니다. 상업적으로 적용할 때는 AUTOSAR 파트너십 조건과 도구 비용도 함께 확인해야 합니다.

8차량 전원 시험 규격: ISO 7637, ISO 16750

차량 전원 환경을 실험실에서 재현하는 국제 규격입니다.

  • ISO 7637-2: 전원선을 타고 들어오는 짧은 과도 전압(유도성 부하 차단, 스위칭 등)을 펄스 형태로 정해 장치에 가하는 시험입니다.
  • ISO 16750: 차량 전자장치의 환경 조건과 시험을 정합니다. 2부는 전기 부하(동작 전압 범위, 시동 시 전압 강하, 역전압, 부하 차단 서지), 3부는 기계 부하(진동·충격), 4부는 기후 부하(온도·습도)를 다룹니다. 부하 차단 서지 시험은 보호되지 않은 상태에서 12V 계통은 약 100V, 24V 계통은 약 200V에 이르는 파형까지 다룹니다.

실제 개발에서는 완성차 제조사가 이 규격을 바탕으로 더 구체적인 사내 시험 규격을 줍니다.

실무 기준

시험 규격을 설계 입력으로 먼저 받으면 보호 회로와 부품 내압을 한 번에 정할 수 있습니다. 시험 단계에서 처음 규격을 받으면 회로를 다시 고치는 일이 생깁니다.