Skip to content
RFrftools.io
Protocols2026년 3월 23일2분 읽기

CAN 버스 비트 타이밍: 정밀 구성

다양한 마이크로컨트롤러 클럭 속도 및 전송 속도에서 안정적인 임베디드 통신을 위해 정확한 CAN 버스 타이밍 파라미터를 계산하는 방법을 알아보십시오.

목차

CAN 버스 비트 타이밍에 대한 이해: 단순한 숫자 그 이상

CAN 버스 타이밍은 추상적인 이론이 아닙니다. CAN 버스 타이밍은 임베디드 시스템이 안정적으로 통신하는지 아니면 제대로 통신하는지 여부를 결정하는 중요한 기반입니다.비트 타이밍을 부수적인 문제로 여기는 엔지니어는 대개 미스테리한 통신 오류를 디버깅하게 됩니다.

정확한 타이밍이 중요한 이유

모든 CAN 버스 전송은 세심하게 짜여진 전기 신호입니다.마이크로컨트롤러의 클록, 선택한 전송 속도 및 세그먼트 구성이 모두 상호 작용하여 강력한 통신 프로토콜을 생성합니다.파라미터 하나가 잘못되면 간헐적으로 오류가 발생하여 정신을 잃을 수 있습니다.

코어 타이밍 컴포넌트

CAN 버스 비트 타이밍은 몇 가지 주요 세그먼트로 나뉩니다.

  • 시간 양자 (TQ): 기본 시간 단위
  • 싱크 세그먼트: 모든 노드가 동기화되는 곳
  • 전파 세그먼트: 물리적 회선 지연을 고려합니다.
  • 위상 버퍼 세그먼트: 클록 드리프트 및 에지 포지셔닝을 보정합니다.

계산 예제: 16MHz 클록에서 500kbps

구체적인 시나리오를 살펴보겠습니다.16MHz 시스템 클록에서 500kbps의 속도로 CAN을 실행하는 차량 원격 측정 시스템을 설계한다고 가정해 보겠습니다.

CAN 버스 비트 타이밍 계산기를 열면 다음을 수행할 수 있습니다.
  1. 시스템 클록으로 16MHz를 선택합니다.
  2. 500kbps의 전송 속도를 선택하세요
  3. 샘플 포인트 백분율로 실험해 보세요.

계산기는 최적의 세그먼트 구성을 동적으로 보여줍니다.500kbps 예제의 경우 다음과 같이 보일 수 있습니다.

  • 타임 퀀텀: 125ns
  • 공칭 비트 타임: 2µs
  • 싱크 세그먼트: 1TQ
  • 전파 세그먼트: 2TQ
  • 페이즈 버퍼 1:7 TQ
  • 페이즈 버퍼 2:6 TQ
  • 프리스케일러: 8

일반적인 타이밍 실수

대부분의 엔지니어는 다음과 같은 중대한 오류를 범합니다.

  1. 샘플 포인트 무시: 기본 68~ 75% 의 샘플 포인트를 그대로 사용하지 마세요.특정 하드웨어에 정밀한 튜닝이 필요할 수 있습니다.
  2. 클록 불일치: 모든 마이크로컨트롤러가 CAN 타이밍을 동일하게 처리하는 것은 아닙니다.특정 MCU의 기능을 항상 확인하십시오.
  3. 노이즈 마진: 타이밍은 단순히 수학적인 것이 아니라 전기적 노이즈를 차단하는 강력한 신호 창을 만드는 것입니다.

고급 고려사항

Tbit=TQ∗(1+PropSeg+PS1+PS2)T_{bit} = TQ * (1 + PropSeg + PS1 + PS2)

이 방정식은 간단해 보이지만 구현하려면 각 세그먼트가 전체 버스 신뢰성에 어떻게 기여하는지 이해해야 합니다.

실용 팁

  • 보수적으로 시작하세요: 표준 구성으로 시작하세요
  • 실제 버스 성능 측정
  • 오실로스코프를 사용하여 타이밍 에지를 확인합니다.
  • 온도 범위에서 테스트

지금 사용해 보세요

CAN 버스 비트 타이밍 계산기 열기및 특정 통신 파라미터를 입력하십시오.계산만 하지 말고 각 숫자가 시스템 안정성에 어떤 영향을 미치는지 이해하십시오.

자주 묻는 질문

CAN 버스 샘플 포인트는 일반적으로 공칭 비트 시간의 68-75% 사이로 설정된 각 비트 시간 동안 비트 값을 읽는 곳입니다.최적의 백분율은 특정 하드웨어에 따라 다르며 신호 신뢰성과 노이즈 제거에 영향을 미치므로 기본값을 그대로 사용하는 것보다 조정해야 합니다.
500kbps CAN 버스의 경우 공칭 비트 시간은 2µs이며, 이를 싱크 세그먼트 (1TQ), 전파 세그먼트 및 위상 버퍼 세그먼트에 걸쳐 시간 양자 (TQ) 로 나누어야 합니다.예를 들어 16MHz 클록과 8의 프리스케일러를 사용하면 전체 비트 타임에 대해 총 16TQ (1+2+7+6) 의 세그먼트를 포함하는 125ns TQ를 얻을 수 있습니다.
TQ (Time Quantum) 는 시스템 클럭 주파수를 프리스케일러 값으로 나누어 계산한 CAN 버스 비트 타이밍의 기본 시간 단위입니다.모든 CAN 비트 타이밍 세그먼트 (동기화, 전파 및 위상 버퍼) 는 이 TQ 값의 배수로 표현됩니다.
CAN 버스 비트 타이밍은 동기화 세그먼트 (노드를 동기화하는 위치), 전파 세그먼트 (물리적 와이어 지연을 고려함), 위상 버퍼 세그먼트 1 및 위상 버퍼 세그먼트 2 (둘 다 클록 드리프트 및 에지 포지셔닝을 보상함) 의 네 가지 주요 세그먼트로 구성됩니다.이러한 세그먼트는 T_bit = TQ × (1+ PropSeg+ PS1 + PS2) 공식에 따라 결합됩니다.

관련 기사