팜테크(FAMTECH)
CAN bus: Baud Rate, Bus Load(보드레이트, 캔통신, 캔버스, 버스 부하 계산) 본문
CAN bus: Baud Rate, Bus Load(보드레이트, 캔통신, 캔버스, 버스 부하 계산)
FAMTECH 2025. 8. 1. 08:28
목차
"관련제품 문의는 로고 클릭 또는 공지사항의 연락처를 통해 하실 수 있습니다."
CAN bus: Baud Rate and its calculation
CAN (Controller Area Network) 시스템에서 '보드율(baud rate)'과 '비트율(bit rate)'은 종종 같은 의미로 쓰이지만 실제로는 다릅니다.
- 보드율(baud rate)은 버스에서 1초에 일어나는 신호 변화(전압 레벨 전환) 횟수를 의미하며, 물리 계층의 전송 속도를 나타냅니다. 일반적으로 CAN 설정에서 'baud rate'라고 표시되는 값이 여기에 해당됩니다.
- 비트율(bit rate)은 1초에 버스로 전달되는 실제 비트 수를 의미합니다. 여기에는 데이터뿐만 아니라 식별자, 제어 필드, 오류 검사 비트 등 CAN 프레임의 모든 구성 요소가 포함됩니다. 각 비트는 샘플링과 동기화를 위해 여러 타이밍 구간으로 나뉘는데, 이는 타이밍 정확도에 영향을 줄 뿐 전체 비트율에는 영향을 주지 않습니다.
이 두 용어는 혼용되기 쉽지만, CAN 타이밍 설정이나 통신 문제를 진단할 때는 구분해서 이해하는 것이 중요합니다. 보오드율은 비트가 버스로 얼마나 빠르게 전송되는지를 나타내며, 단위는 bps(초당 비트 수)로 표시됩니다. 이는 노드 간 메시지 전송 속도에 직접적인 영향을 미칩니다.

CAN 버스는 직렬 방식의 멀티 마스터 통신 시스템입니다.
데이터를 하나의 통신선으로 한 번에 한 비트씩 전송하며, 네트워크에 연결된 어떤 노드(장치)든 버스가 비어 있으면 전송을 시작할 수 있습니다. 예를 들어, 500 kbps와 같은 일반적인 보오드율은 버스가 초당 최대 500,000비트를 전송할 수 있음을 의미합니다. 여기에는 식별자, 제어 필드, 데이터, 오류 검사 비트 등 CAN 메시지의 모든 구성 요소가 포함됩니다.
주요 보오드율 예시
- 125 kbps: 케이블 길이가 길거나 산업용 시스템에서 주로 사용
- 250 kbps: 건설 기계나 농업 장비 등 다양한 분야에서 사용
- 500 kbps: 대부분의 자동차 네트워크에서 표준으로 사용
- 1 Mbps: 고속 통신이나 시간 민감도가 높은 시스템에서 사용
대부분의 CAN 소프트웨어는 네트워크 요구사항에 맞게 버스 속도를 설정할 수 있도록 되어 있습니다. 예를 들어, 팜테크에서 제공하는 Influx Technology의 ReXdesk 소프트웨어는 지원되는 보오드율을 간단한 메뉴에서 선택할 수 있게 제공합니다.

메세지 전송 시간 및 Bus Load 계산
CAN 버스는 메시지당 최대 8바이트의 데이터 페이로드를 지원합니다. 하지만 메시지가 클수록 전송 시간이 길어지므로 지연이 늘어나고 초당 전송 가능한 전체 메시지 수는 줄어듭니다.

예를 들어, 비트율이 1 Mbit/s이고 표준 CAN 형식을 사용하며 평균 4바이트의 페이로드를 전송할 경우, 버스는 초당 약 10,000개의 메시지를 처리할 수 있습니다. 만약 각 메시지가 최대인 8바이트를 담는다면 전송 시간이 길어져 초당 약 7,200개로 줄어듭니다.

메시지 전송 시간 계산하기
비트 하나를 전송하는 데 걸리는 시간은 아래 공식을 사용해 계산할 수 있습니다. 이를 통해 메시지의 크기에 따라 전체 전송 시간을 추정할 수 있습니다. 비트 시간을 알면 프레임 길이에 따라 전체 CAN 프레임의 전송 시간을 계산할 수 있습니다. 표준 CAN 프레임(8바이트 데이터 기준)은 약 125비트 정도입니다.
예를 들어:
- 250 kbps → 1비트 = 4µs → 프레임 전송 시간 = 4 × 125 = 500µs
- 500 kbps → 1비트 = 2µs → 프레임 전송 시간 = 2 × 125 = 250µs
버스 부하 계산하기
초당 전송하는 메시지 수와 메시지당 데이터 바이트 수를 알면, 총 데이터 부하(초당 바이트)를 계산할 수 있습니다. 이 값이 버스 부하를 계산할 때 사용됩니다.

예를 들어, 초당 500개의 메시지를 보내고 각 메시지가 4바이트라면, 500 × 4 = 초당 2,000바이트가 됩니다.
버스 부하는 전체 대역폭 중 얼마를 사용하고 있는지를 나타내며, 보통 퍼센트(%)로 표시됩니다.

실제 시스템에서는 특히 고우선순위 메시지를 사용할 경우, CAN 버스는 보통 70~80% 정도의 부하까지 안정적으로 동작합니다.
혼합된 메시지 간격에서 버스 부하 추정하기
CAN 버스에 어느 정도의 부하가 걸리는지 계산하려면, 초당 버스로 전송되는 전체 비트 수를 알아야 합니다. 이를 위해서는 아래를 확인해야 합니다.
- 프레임이 얼마나 자주 전송되는지
- 한 번에 몇 개의 프레임이 전송되는지
- 각 프레임이 버스에서 몇 비트를 차지하는지
예를 들어, CAN 프레임 하나가 약 76비트라고 가정해봅시다. 여기에는 실제 데이터뿐만 아니라 식별자, 제어 비트, CRC 등 부가 정보가 포함됩니다. 32비트(4바이트) 데이터 전송 시 자주 쓰이는 추정치입니다.

따라서 전체적으로 시스템은 초당 약 117,800비트를 CAN 버스로 전송하려고 시도하는 것입니다.
그래서 250 kbps에서는 버스 용량의 거의 절반을 사용하게 됩니다. 반면, 500 kbps에서는 4분의 1도 사용하지 않기 때문에 다른 트래픽을 처리할 여유가 충분히 남습니다.
참고: 이 계산은 앞서 소개한 초당 비트 수를 바로 사용하는 공식과 혼동하지 마세요. 두 방식 모두 맞는 방법이며, 출발점이 다를 뿐입니다.
이미 초당 바이트 수를 알고 있다면 위 공식을 사용하고, 비트로 변환하려면 8을 곱하면 됩니다. 이미 초당 비트 수를 계산했다면, 바이트 변환은 생략하고 바로 비트율로 나누면 됩니다.
아래 이미지는 팜테의 Rebel LT와 CT 시리즈에서 제공하는 실시간 로깅 및 트레이스 뷰어 화면입니다. 여기서는 비트율, 총 버스 부하, 초당 부하, 메시지 활동 등의 주요 파라미터를 볼 수 있습니다. 송신(Rx)과 수신(Tx) 메시지뿐만 아니라 오류 프레임과 그 빈도, 전체 부하까지 모니터링할 수 있습니다.

해당 내용과 관련해서 팜테크에서 시스템 솔루션을 제공하고 있습니다. 관심 있으시면 아래 홈페이지 또는 연락처를 통해 문의 주시면 됩니다. :)
https://famtech.co.kr/sub04/01_01.php
팜테크
진동센서, 진동시험기, 충격시험기, 쉐이커, 소음측정, 내구성 해석, Data Acquisition 취급. 팜테크
famtech.co.kr


