임베디드 면접 용어 사전
필드버스arbitration · 아비트레이션

비트 아비트레이션

CAN에서 ID가 작은(우성 비트가 많은) 프레임이 버스를 얻는 중재 방식. 진 노드는 데이터 손실 없이 재시도한다.

CAN에서 여러 노드가 동시에 전송을 시작했을 때 충돌 없이 우선순위를 가리는 방식 (bitwise arbitration, CSMA/CD+AMP).

원리 — 와이어드 AND

  • Dominant(0) 가 Recessive(1) 를 이긴다
  • 한 노드라도 0을 보내면 버스는 0

각 노드는 자기가 보낸 비트와 실제 버스 상태를 비교한다 1을 보냈는데 버스가 0이면 → "누가 나보다 우선순위가 높다" → 즉시 물러난다

동작 예

노드 A: ID 0x123 = 001 0010 0011 노드 B: ID 0x456 = 100 0101 0110

비트:   1   2   3   ...
A 송신: 0   0   1
B 송신: 1   ← 여기서 B는 1을 보냈는데 버스는 0(A 때문에)
             → B가 즉시 송신을 중단하고 수신 모드로 전환

A는 자기 비트와 버스가 일치하므로 계속 전송 → 그대로 완주

A는 자기가 경쟁했다는 사실조차 모른다. 중단 없이 그대로 보낸다.

왜 뛰어난가 — 비파괴적 중재

이더넷의 CSMA/CD 충돌 감지 → 양쪽 다 중단 → 무작위 시간 대기 → 재시도

  • 대역폭 낭비, 지연이 확률적

CAN의 비트 아비트레이션 충돌 자체가 없다. 승자는 그대로 완주

  • 낭비 0, 지연이 결정적

"충돌을 해결하는 것이 아니라 애초에 발생하지 않게 한다." 이것이 CAN이 실시간 제어에 쓰이는 핵심 이유다.

ID가 곧 우선순위

ID 값이 작을수록 우선순위가 높다

  • 0x000 = 최고 우선순위 (앞자리가 0이 많다 = dominant가 많다)
  • 0x7FF = 최저 우선순위

차량에서의 ID 할당 예

  • 0x000~0x0FF : 엔진·브레이크 등 안전 관련 — (최우선) 0x100~0x2FF : 파워트레인 제어 0x300~0x5FF : 편의 장치

  • 0x600~0x7FF : 진단·정보 — (최하위)

ID 설계가 곧 실시간 설계다. 나중에 바꾸기 어려우므로 시스템 설계 초기에 우선순위 체계를 확정해야 한다.

전제 조건 — 물리적 제약

아비트레이션이 성립하려면 한 비트 시간 안에 신호가 버스 양 끝을 왕복해야 한다.

  • 모든 노드가 같은 비트를 동시에 보고 판단해야 하기 때문
  • 전파 지연 × 2 < 비트 시간
  • 이것이 "속도 × 거리가 일정"한 이유

1Mbps에서 1비트 = 1μs이고, 신호는 약 5ns/m로 전파되므로 왕복 40m가 대략 한계다.

문제 ① — 우선순위 기아

높은 우선순위 메시지가 계속 나오면 낮은 우선순위 메시지는 영영 전송되지 못할 수 있다

대응

  • 버스 부하율을 30~50% 이하로 유지 (안전 관련은 30% 이하)
  • 주기적 메시지의 전송 주기를 분산 (동시 발생 방지)
  • 최악 응답 시간 분석(WCRT)으로 검증

버스 부하 계산이 CAN 시스템 설계의 핵심 작업이다.

문제 ② — 같은 ID를 두 노드가 쓰면

  • 같은 ID로 서로 다른 데이터를 동시에 보내면
  • 아비트레이션 구간을 통과한 뒤 데이터 구간에서 비트가 어긋난다
  • 비트 모니터링 오류 → 에러 프레임 → 재전송 → 또 충돌
  • 무한 반복 → 두 노드 모두 Bus Off

ID는 시스템 전체에서 유일해야 한다. CAN 네트워크 설계 문서(DBC 파일)로 관리하는 이유다.

RTR과 원격 프레임

RTR 비트 = 1 → "이 ID의 데이터를 보내 주세요" 라는 요청 데이터 프레임(RTR=0)이 원격 프레임(RTR=1)보다 우선한다. 같은 ID면 데이터를 가진 쪽이 이긴다. 요즘은 잘 쓰지 않는 기능이다.

CAN FD에서

아비트레이션 구간 : 기존 속도 (예: 500kbps) — 중재를 위해 느려야 한다

  • 데이터 구간 — : 고속 전환 (예: 2~8Mbps) — 승자가 정해졌으니 빨라도 된다

중재가 끝난 뒤에는 경쟁이 없으므로 속도를 올릴 수 있다는 발상이다. CAN FD의 핵심 아이디어이며, 아비트레이션 원리를 이해해야 납득된다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 필드버스·산업 통신 — CAN(아비트레이션·종단저항)·LIN·RS-485·Modbus·BLE