발길이 닿는 대로
article thumbnail
반응형

이번 포스팅에서는 차량에서 ECU간에 사용하는 통신 방법인 CAN 통신에 대해 정리해보려고 합니다.

저번 포스팅에서 다뤘던 자동차의 브레이크 마스터 실린더와 플런저에 대해 궁금하신 분은 아래 포스팅을 참고하시면 좋을것 같습니다!

 

자동차 브레이크 마스터 실린더와 플런저 뜯어보기

지난 포스팅에서는 자동차의 유압 브레이크 시스템에 대해서 작성했었습니다. 전자 유압 브레이크 시스템 (One Box Brake System) 뜯어보기운이 좋게도 자동차 샤시 전장 설계실에서 인턴 기회를 얻

mlngwandev.tistory.com


동기(Synchronous) 통신

정의

  • 송신 측과 수신 측이 공유된 클록 신호를 기준으로 데이터를 주고 받는 방식
  • 데이터와 클록이 물리적으로 동기화되어 있어 비트 경계가 정확함

특징

  • 클록 라인이 별도로 필요
  • 전송 속도가 빠르고 오류율이 낮음
  • 일반적으로 마스터-슬레이브 구조를 사용
  • 전송 지연이 일정
  • 실시간성이 높음

예시

  • SPI, I²C, UART(동기 모드) 등

 

비동기(Asynchronous) 통신

정의

  • 송,수신 측이 공유 클록 없이 내부 클록으로 동작
  • Start 비트와 Stop비트 또는 다른 동기화 신호를 사용해 타이밍을 맞춤

특징

  • 클록 라인이 필요 없어서 배선이 단순
  • 속도는 동기 방식보다 다소 느림
  • 타이밍은 프레임 단위로 맞춤
  • 지연이 일정하지 않을 수 있음
  • 멀티마스터 구조 지원 가능

예시

  • UART(비동기 모드), RS-232, RS-485, CAN, LIN 등

동기 vs 비동기 비교

항목 동기 비동기
클록 공유 클록 사용 각 노드 내부 클록 사용
배선 데이터 + 클록 데이터만
속도 빠름 비교적 느림
구조 주로 Master - Slave 멀티마스터 가능
타이밍 전송 타이밍 일정 전송 타이밍 변동 가능
예시 SPI, I²C UART(비동기), CAN,LIN

 

차량 유압 제어 브레이크에서 CAN 비동기 방식

개념

  • CAN 비동기 통신 : 공통 클록 없이, 프레임 시작 비트와 비트 단위 재동기화로 타이밍 맞춰 송,수신
  • 유압 제어 브레이크 시스템 : ABS, ESC, TCS, 회생 제동 통합 제어 등 다양한 ECU가 브레이크 유압을 실시간 조절
차량에서는 브레이크 제어 ECU(HECU, ESC ECU 등) 차체 제어 ECU, 엔진/모터 ECU, 센서 노드가 CAN 비동기 방식으로 연결되어 제동 관련 데이터를 교환

 

비동기 방식이 필요한 이유

  • 브레이크 제어 상황은 이벤트 기반
    • 평상시에는 데이터량이 적지만, 제동/미끄러짐 발생 시에는 짧은 시간 안에 집중적 전송이 필요
  • CAN 비동기 특성
    1. 중앙 클록 불필요 → ECU 간 배선 단순화, 유지 보수 용이
    2. 우선 순위 기반 메시지 전송 → ABS, ESC 개입 명령(ID 낮음)이 다른 일반 상태 메시지보다 먼저 버스를 점유
    3. 멀티마스터 → 센서, 제어기 모두 필요 시 즉시 송신 가능

 

실제 동작 예시

  1. 제동 요청 인지
    • 운전자가 페달 밟음 → 브레이크 페달 센서 ECU가 CAN 메시지로 제동 요청 전송
  2. 센서 데이터 공유
    • 휠 속도 센서 ECU, yaw rate 센서 ECU 등이 실시간 데이터 프레임 송신
  3. 제동압 제어 명령
    • ABS/ESC 작동 시 해당 프레임이 우선 순위(ID 낮음)로 중재에서 승리해 가장 먼저 전송
    • 유압 제어 밸브(IV,OV, 모터 펌프)에 대한 명령 프레임을 송신

 

차량 유압 제어에서 CAN 비동기 방식이 주는 장점

  • 신속성 : 가장 우선 순위가 높은(=ID가 가장 낮은) 제동 제어 메시지가 다른 덜 중요한 메시지를 기다리지 않고 즉시 전송
  • 유연성 : 제동 관련 ECU가 다수여도 중앙 제어기 없이 직접 데이터 교환이 가능
  • 안정성 : CRC, ACK, 에러 프레임 통한 오류 검출 가능 → 잘못된 제동 명령 방지
  • 확장성 : 새로운 제동 보조 시스템 추가 시에도 쉽게 연결이 가능
주의점
클록 동기화가 없으므로 각 ECU의 클록 정확도와 비트 타이밍 설정이 중요
버스 부하가 높은 경우(많은 노드가 동시에 송신) 우선 순위가 낮은 메시지는 지연 발생 가능성이 높으므로 제동 보조 관련 메시지는 반드시 낮은 ID값 부여

 

반응형
profile

발길이 닿는 대로

@mlngwan

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!