관리 메뉴

팜테크(FAMTECH)

CAN bus: Baud Rate, Bus Load(보드레이트, 캔통신, 캔버스, 버스 부하 계산) 본문

기초이론/캔통신(CAN Communication)

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(초당 비트 수)로 표시됩니다. 이는 노드 간 메시지 전송 속도에 직접적인 영향을 미칩니다.

     

     

    팜테크(FAMTECH), 캔통신 데이터 로거

     

     

    CAN 버스는 직렬 방식의 멀티 마스터 통신 시스템입니다.

     

    데이터를 하나의 통신선으로 한 번에 한 비트씩 전송하며, 네트워크에 연결된 어떤 노드(장치)든 버스가 비어 있으면 전송을 시작할 수 있습니다. 예를 들어, 500 kbps와 같은 일반적인 보오드율은 버스가 초당 최대 500,000비트를 전송할 수 있음을 의미합니다. 여기에는 식별자, 제어 필드, 데이터, 오류 검사 비트 등 CAN 메시지의 모든 구성 요소가 포함됩니다.

     

    주요 보오드율 예시

    • 125 kbps: 케이블 길이가 길거나 산업용 시스템에서 주로 사용
    • 250 kbps: 건설 기계나 농업 장비 등 다양한 분야에서 사용
    • 500 kbps: 대부분의 자동차 네트워크에서 표준으로 사용
    • 1 Mbps: 고속 통신이나 시간 민감도가 높은 시스템에서 사용

     

    대부분의 CAN 소프트웨어는 네트워크 요구사항에 맞게 버스 속도를 설정할 수 있도록 되어 있습니다. 예를 들어, 팜테크에서 제공하는 Influx Technology의 ReXdesk 소프트웨어는 지원되는 보오드율을 간단한 메뉴에서 선택할 수 있게 제공합니다.

     

     

    팜테크 - Baud rate 설정 화면

     

     

     

    메세지 전송 시간 및 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

     

     

     

     

     

     

     

    Comments