버스 접근 방식(Bus Access) — 공유된 통신 매체에 대해 어느 노드가 언제 점유하여 송신할 수 있는가를 규정하는 메커니즘. 자동차 버스 시스템은 크게 4가지 유형으로 분류된다.

4가지 유형

1. Event-driven (이벤트 주도)

  • 대표 버스: CAN(CSMA/CA), Ethernet IEEE 10Base-T (CSMA/CD)
  • 임의의 ECU사용 가능한 버스에 아무 시점에든 접근 가능.
  • 한 노드가 버스를 점유하면 다른 노드는 해제까지 대기.
  • 메시지 우선순위 부여로 트래픽을 제어 가능.
  • 동기화: Sender에 동기화.
  • 대표 프로토콜:
    • CSMA/CD(Carrier Sense Multiple Access / Collision Detection) — Ethernet
    • CSMA/CA(Carrier Sense Multiple Access / Collision Avoidance) — CAN. 2개 이상 ECU가 동시 접근 시 우선순위가 가장 높은 메시지가 생존.
    • CSMA/CR(Collision Resolution) — CSMA/CA와 동일한 비트 단위 중재 기법을 우선순위 경쟁에서 밀린 노드 관점으로 표현한 용어. CAN에서 충돌은 파괴되지 않고 해결됨을 강조.

2. Master-Slave

  • 대표 버스: LIN
  • 상위 노드(Master)가 데이터 전송을 통제.
  • 하위 노드(Slave)는 Master의 요청에 응답할 때만 버스 접근 가능.
  • 동기화: Master에 동기화.
  • 실제로는 “delegated token” 방식으로도 불림 — Master가 특정 신호(토큰)를 전송해 버스 접근권을 위임. Master는 두 개 이상의 schedule을 전환할 수 있어 시간적 거동은 상대적으로 유연.

3. Time-synchronous (시분할)

  • 대표 버스: FlexRay (TDMA 사용)
  • 각 노드가 주기적인 시간 창(time window/slot)을 할당받고, 해당 슬롯에서만 송신.
  • 시간 창이 노드에 고정적으로 할당 — 토큰이 전달되지 않는다.
  • 동기화: Global Clock에 동기화 → 글로벌 사이클.
  • TDMA: Time Division Multiple Access
  • 메시지는 고정 주기(cycle time)로 전송됨.

4. Token Passing

  • 대표 프로토콜: OSEK NM (Network Management)
  • 송신 권한(Token)이 노드 간 전달됨.
  • 토큰을 보유한 노드만 송신 가능 → 동시에 하나의 노드만 송신 보장.
  • 동기화: Sender에 동기화.

타이밍 예시

방식시간 축 특성
CSMA (CAN)임의 시점 접근, 우선순위 기반 충돌 회피 (예: 0x20, 0x60, 0x80)
Master/Slave (LIN)Master가 정한 schedule로 순회 (1-2-3-4-1-2-3-4...)
TDMA (FlexRay)고정된 Global Cycle 내 슬롯 (1 2 3 4)

CSMA vs TDMA 철학 비교

  • CSMA (CAN): 이벤트 주도. 계획·순서·스케줄 없음. 신호 변화 발생 시 해당 ECU가 즉시 접근. 동시 접근 시 우선순위가 높은 메시지가 승리.
  • TDMA (FlexRay): 시간 주도. 각 메시지에 고정 슬롯 예약. 고정 반복 주기(cycle time)로 전송.
  • Master/Slave (LIN): schedule 기반이지만 Master가 schedule을 전환할 수 있어 CSMA와 TDMA의 중간적 거동.

CAN CSMA/CA 세부 동작

기본 접근 규칙

  • 각 네트워크 노드는 버스가 idle일 때 언제든 전송 시작 가능.
  • Bus idle 판정: recessive 레벨이 11비트 시간 연속 → idle (1 MBaud CAN 기준 11µs).
  • 두 송신 요청이 서로 다른 시점에 발생하면, 늦은 요청은 버스가 busy이므로 우선순위와 무관하게 대기.
  • 일단 버스가 busy가 되면 (첫 Identifier 비트 시작) 다른 노드는 다음 idle까지 대기.

Start of Frame (SOF)

  • 모든 CAN 메시지는 논리 0(dominant)로 시작 → bus idle의 논리 1(recessive)과 구분.
  • SOF 후 Identifier 비트가 순차 전송됨.

Bit-by-Bit 중재

둘 이상의 노드가 동시에 전송을 시작하면 비트 동기 전송중재가 동시 진행된다. 각 송신 노드는 자신이 보낸 비트와 버스에서 읽은 비트를 비교:

Sender 비트버스 비트동작
00Continue
01Transmission Error
10Stop and change to reception mode (패배)
11Continue
  • Wired-AND (Bus Logic): 한 노드라도 0(dominant)을 송신하면 버스는 0.
  • 우선순위: Identifier 수치의 역수 → 0x000 최고 / 0x7FF 최저 (11-bit Standard).
  • 중재에서 이긴 노드는 다른 노드의 존재를 인식하지 못한 채 전송을 이어가며, 전송 지연이 없다.
  • 진 노드는 요청을 취소하지 않고 다음 idle 시 재시도.

→ 자세한 중재 로직은 CAN 중재 참조.

점유 시간 제한

CAN 메시지는 최대 페이로드 8바이트로 버스를 짧게 점유 → 낮은 우선순위 메시지의 대기 시간도 상한이 있음.

Ethernet CSMA/CD 세부 동작

CSMA/CD — 초기 Ethernet(10 Mbps)에서 충돌을 탐지한 뒤 임의 시간 대기 후 재전송하는 방식. 스테이션이 채널 상태를 감지한 후 전송하되, 충돌이 발생하면 감지해 복구한다.

  • CS: 회선 사용 여부 감지.
  • MA: 미사용 시 누구든 접근 가능.
  • CD: 프레임 전송 중 충돌 여부 조사.

알고리즘 흐름

  1. 시작 → 재시도 카운터 .
  2. 채널 사용 중? → Yes면 대기, No면 다음 단계.
  3. 프레임 전송.
  4. 충돌 발생? → No면 완료.
  5. Jam 신호 전송.
  6. ? → Yes면 비정상 종료, No면 다음 단계.
  7. 범위에서 임의의 수 선택.
  8. 만큼 대기 후 2번으로 복귀.

재전송 백오프

  • 최대 회 재시도. 초과 시 전송 실패.
  • 충돌이 반복될수록 범위가 넓어져 백오프 시간이 지수적으로 증가 → 매체 혼잡도에 따라 트래픽 자동 조절.
  • Slot Time = (왕복 전파 시간을 포괄).

현대 Ethernet에서의 한계

  • CSMA/CD는 초기 10 Mbps Ethernet에서만 사용.
  • 고속·기가비트 Ethernet, Full Duplex, Switch 기반 Star 토폴로지 전환으로 더 이상 사용되지 않음.
  • 현재 Ethernet의 지연·손실은 Switch 내부 큐에서 발생 (특정 포트로 집중된 트래픽).

ACK 메커니즘 비교

프로토콜ACK 계층응답 시점
CANData Link (ACK Slot)1 Bit Time 내
Ethernet상위 계층 (TCP 등)프레임 단위

같이 보기