주소 지정 방식(Addressing) — 공유 버스 위에서 프레임의 송·수신 대상을 식별하는 방법. 자동차 버스에서는 Node Addressing과 Broadcast Addressing 두 가지가 사용된다.
Node Addressing (노드 주소 지정)
- 프레임 구조:
[ DA (Destination Address) | SA (Source Address) | Data | Redundancy ] - 두 특정 노드 간 정보 전송에 사용 (1:1, Peer-to-Peer / P2P).
- 수신자 노드를 고유하게 지정하기 위해 목적지 주소(DA)가 항상 포함됨.
- 수신자가 송신 주체를 파악할 수 있도록 소스 주소(SA)를 추가하기도 함.
- 전제 조건: 네트워크 내 모든 노드가 사전에 정의된 고유 주소를 가져야 함.
Broadcast Addressing (브로드캐스트 주소 지정)
- 프레임 구조:
[ Identifier | Data | Redundancy ] - 각 메시지에 내용을 식별하는 ID(Identifier)를 부여 → 송신자·수신자가 아니라 메시지 내용을 지정.
- 정보는 두 특정 노드 사이가 아니라 모든 노드에게 수신됨(1:n). 각 노드는 Identifier로 자신이 처리할 메시지인지 판단.
- 복수 수신자가 동일 데이터를 필요로 할 때 다회 전송을 회피 → 전송 속도 향상.
- Message Addressing이라고도 한다.
부하 비교
송신 노드 수 n이 모든 다른 노드에게 1회씩 메시지를 보낸다고 가정할 때:
| 방식 | 메시지 수 | 부하 증가 양상 |
|---|---|---|
| Peer-to-Peer | 노드 수의 제곱에 근사 — 저대역폭 버스에 불리 | |
| Broadcast | 노드 수에 선형 증가 |
→ 이 이유로 CAN, LIN, FlexRay는 브로드캐스트 주소 지정을 채택.
자동차 버스 시스템별 채택 방식
CAN/LIN/FlexRay에서 P2P가 필요하면 상위 프로토콜(transport protocol 등)을 추가해야 한다.
CAN 브로드캐스트의 구체 구현
Identifier 폭 — Standard vs Extended
CAN Identifier는 2가지 포맷을 지원한다:
| 포맷 | ID 폭 | ID 범위 | 대표 응용 |
|---|---|---|---|
| Standard Format | 11 bit | 0x000 ~ 0x7FF (2048개) | 일반 자동차 CAN 메시지 |
| Extended Format | 29 bit | 최대 약 536M개 | SAE J1939 계열 (상용차·선박·농기계) |
- Standard와 Extended 프레임은 동일 버스에서 공존 가능. 중재 시 IDE 비트에서 Standard가 우선.
- 자세한 프레임 구조는 CAN 프레임, 중재 동작은 CAN 중재 참조.
단일 송신자 규칙
CAN에서 하나의 Identifier는 정확히 하나의 노드에서만 발원한다. 한 노드는 여러 Identifier를 송신할 수 있지만, 각 Identifier의 송신 소스는 유일하다. 이는 bit-by-bit 중재 로직의 전제 조건이다.
수신 측 필터링
브로드캐스트 특성상 모든 메시지가 모든 노드에 도달하므로, 각 노드는 Acceptance Filter 로 처리할 메시지를 선별한다.
- 모든 메시지는 모든 CAN Controller에 의해 수신·검사된다 (필터 통과 여부와 무관, 에러 감지 일관성을 위해).
- 필터는 상위 애플리케이션 전달 여부만 결정.
통신 매트릭스
CAN 네트워크의 Tx/Rx 관계는 표 형태인 통신 매트릭스 로 정의되며, 각 노드의 수락 필터 설정은 매트릭스의 Rx 항목에서 유도된다.