정의

CAN 비트 타이밍은 한 비트의 시간을 시간 양자(time quantum)의 정수 배로 잡고, 그 안을 동기 세그먼트·전파 세그먼트·위상 버퍼 세그먼트 1·위상 버퍼 세그먼트 2 네 구간으로 나누어 표본 추출 시점과 재동기화 여지를 정하는 설정이다.[1]

CAN 버스에는 클럭 선이 없다. 노드마다 자기 발진기로 비트 시간을 만들어 내면서도 같은 비트율을 유지해야 하므로, 비트 시간의 내부 구조를 노드마다 프로그래밍해 맞춘다. 비트 인코딩과 동기화는 물리 코딩 서브레이어(PCS)의 일이고[2], 그 설정값을 담는 것이 CAN 컨트롤러의 비트 타이밍 레지스터다.

이 설정은 단순한 속도 조절 손잡이가 아니다. 어느 시점에 버스 레벨을 읽을지, 케이블과 부품의 지연을 얼마나 흡수할지, 노드 사이 클럭 오차를 얼마나 견딜지가 모두 여기서 결정된다. 설정이 조금 어긋나도 곧바로 통신이 멎지는 않지만, 중재처럼 여러 노드가 같은 비트를 동시에 다루는 구간에서 산발적인 오류로 드러난다.[1]

시간 양자와 비트 시간

시간 양자(tq)는 비트 시간의 기본 단위다. CAN 컨트롤러의 시스템 클럭을 보 레이트 프리스케일러(BRP)로 나눈 값이 tq가 되고, 네 세그먼트는 각각 tq의 정수 배 길이를 갖는다.[1] 따라서 비트 시간도 tq의 정수 배이며, 원하는 비트율의 역수가 시스템 클럭 주기의 정수 배로 떨어져야 설정이 성립한다.

비트 시간은 8 tq에서 25 tq 사이로 구성한다. 같은 비트율을 내는 조합이 여러 가지 나오므로, 아래 범위 안에서 물리적 지연과 발진기 오차를 함께 따져 하나를 고른다.

파라미터프로그래밍 범위비고
BRP1–32시간 양자의 길이를 정한다
Sync_Seg1 tq 고정버스 입력을 시스템 클럭에 동기시킨다
Prop_Seg1–8 tq물리적 지연 시간을 보상한다
Phase_Seg11–8 tq동기화로 일시적으로 늘어날 수 있다
Phase_Seg21–8 tq동기화로 일시적으로 줄어들 수 있다
SJW1–4 tq어느 위상 버퍼 세그먼트보다도 길 수 없다

이 표는 CAN 프로토콜이 요구하는 최소 프로그래밍 범위다. 개별 컨트롤러는 더 넓은 범위를 제공하기도 한다.

네 세그먼트

동기 세그먼트(Sync_Seg)는 버스 레벨의 에지가 놓이리라 기대되는 구간이다. 길이는 1 tq로 고정이며, 에지가 이 구간 밖에서 발생하면 그 거리가 곧 에지의 위상 오차가 된다.[1] 이 오차를 어떻게 처리하는지는 CAN 동기화에서 다룬다.

전파 세그먼트(Prop_Seg)는 네트워크 안의 물리적 지연을 보상하는 구간이다. 버스 선 위의 신호 전파 시간과 노드 내부 지연이 여기에 흡수된다.

위상 버퍼 세그먼트 1과 2(Phase_Seg1, Phase_Seg2)는 표본 추출 시점을 앞뒤에서 감싸며, 에지의 위상 오차를 보상하는 데 쓰인다. 동기화가 일어나면 Phase_Seg1은 늘어나고 Phase_Seg2는 줄어든다.[3]

표본 추출 시점

표본 추출 시점(sample point)은 비트 값을 읽어 확정하는 순간이다. 위치는 Phase_Seg1의 끝, 곧 두 위상 버퍼 세그먼트의 경계다.[3] 세그먼트 길이를 조정하면 이 지점이 비트 안에서 앞뒤로 움직이므로, 표본 추출 시점의 위치는 사실상 자유롭게 설정할 수 있다.

관행적으로 이 지점은 비트의 뒤쪽에 놓인다. 전형적인 값으로는 비트 폭의 75 % 지점이 쓰이고[4], 85 %에서 90 % 사이의 범위에 87.5 %를 표준값으로 두는 방식도 널리 쓰인다.[5] 뒤쪽에 두는 이유는 앞의 두 세그먼트에 있다. Prop_Seg와 Phase_Seg1을 합한 길이가 네트워크의 왕복 지연보다 길어야 다른 노드가 보낸 비트가 표본 추출 전에 도착하므로, 흡수해야 할 지연이 클수록 표본 추출 시점은 뒤로 밀린다.

Phase_Seg2의 길이에는 아래쪽 한계가 있다. 표본 추출 직후 컨트롤러가 다음에 내보낼 비트를 계산하는 데 걸리는 시간을 정보 처리 시간(IPT)이라 하는데, 구현에 따라 0 tq에서 2 tq 사이이며 Phase_Seg2는 이보다 짧게 설정할 수 없다.[1]

일부 구현은 한 비트를 세 번 표본 추출하는 모드를 제공한다. Phase_Seg1이 끝나기 전 0.5 tq 간격으로 두 번을 더 읽고 다수결로 비트 값을 정하는 방식이며, 디지털 저역 통과 필터처럼 동작한다. 대신 입력 지연이 1 tq 늘어나므로 Prop_Seg를 그만큼 더 잡아야 한다.

전파 세그먼트와 왕복 지연

Prop_Seg가 보상해야 하는 것은 편도 지연이 아니라 왕복 지연이다. CAN의 비파괴적 비트 단위 중재와 수신자가 채워 주는 확인 응답 비트는, 전송 중인 노드가 다른 노드가 보낸 dominant 비트를 같은 비트 시간 안에 되읽을 수 있어야 성립하기 때문이다.[1] 그래서 Prop_Seg는 버스 선 지연과 노드 출력·입력 지연을 합한 값의 두 배 이상이어야 한다.

지연의 구성 요소는 케이블과 부품 양쪽에서 온다. twisted pair 케이블의 전파 지연은 대략 5 ns/m이고, CAN 컨트롤러가 50 ns에서 75 ns, 트랜시버가 100 ns에서 250 ns를 더한다.[4] 갈바닉 절연을 넣으면 절연 소자 지연이 경로마다 추가된다. 이 값들의 합은 한 비트 시간의 작은 일부여야 한다.

이 요구가 비트율과 버스 길이의 상충을 만든다. 케이블이 40 m라면 왕복만으로도 약 400 ns가 들고, 여기에 부품 지연이 얹히면 1 Mbit/s에서의 1 µs 비트 시간 중 상당 부분이 Prop_Seg로 넘어간다. 비트율을 올리면 비트 시간이 줄어드는데 왕복 지연은 그대로이므로, 결국 버스를 짧게 만들어야 한다. 배선 길이·스터브·종단 쪽의 구체적 제약은 CAN 버스 종단에서 다룬다.

전파 세그먼트를 짧게 잡으면 발진기 오차를 흡수할 위상 버퍼 세그먼트를 넓게 쓸 수 있지만, 그만큼 버스가 짧아야 한다. 예를 들어 Prop_Seg를 비트 시간의 10 %만 할당하는 구성은 125 kbit/s에서 버스 길이 40 m 정도까지에 쓸 수 있다.

컨트롤러 레지스터 표기

데이터시트와 드라이버 코드에서는 네 세그먼트가 그대로 보이지 않는다. 대부분의 구현은 Prop_Seg와 Phase_Seg1을 더한 값을 TSEG1으로, Phase_Seg2를 TSEG2로 묶어 한 레지스터에 담고, SJW와 BRP를 다른 레지스터에 담는다.[1] 그래서 레지스터에서 곧바로 읽어 낼 수 있는 경계는 표본 추출 시점이고, Prop_Seg와 Phase_Seg1을 어떻게 나눴는지는 드러나지 않는다.

값을 쓸 때도 주의가 필요하다. TSEG1·TSEG2·SJW·BRP는 모두 기능값보다 1 작은 수로 프로그래밍한다. 예컨대 기능값 1에서 4 사이인 SJW는 0에서 3 사이의 두 비트로 표현된다.

설정값의 출처

ISO 11898-1[6]ISO 11898-2[7]는 반도체 제조사를 향한 문서라 장치·시스템 설계 사양을 담지 않는다.[5] 그래서 상호 운용을 위한 실제 설정값 — 발진기 주파수, 표본 추출 시점의 허용 범위, 레지스터의 프로그래밍 폭 — 은 CiA 601 시리즈 같은 별도 권고 문서가 제시한다. 한 네트워크 안의 모든 노드는 같은 비트 타이밍 설정을 쓰는 것이 바람직하며, 시스템 클럭이 서로 다른 노드들은 같은 비트율을 내기 위해 서로 다른 레지스터 값을 갖게 된다.[1]

[1]
F. Hartwich and A. Bassemir, “The Configuration of the CAN Bit Timing,” in 6th International CAN Conference (iCC), Turin, Italy, 1999. Accessed: Aug. 25, 2026. [Online]. Available: https://kvaser.com/wp-content/uploads/2014/08/boschcia99-can-bit-timing.pdf
[2]
CAN in Automation, “CAN knowledge: from physical layer to application layer and beyond.” 2026. Accessed: Aug. 24, 2026. [Online]. Available: https://www.can-cia.org/can-knowledge
[3]
P. Richards, “Understanding Microchip’s CAN Module Bit Timing,” Microchip Technology, Application note AN754, 2001. Accessed: Aug. 25, 2026. [Online]. Available: https://ww1.microchip.com/downloads/en/Appnotes/00754.pdf
[4]
S. Corrigan, “Controller Area Network physical layer requirements,” Texas Instruments, Application report SLLA270, 2008. [Online]. Available: https://www.ti.com/lit/an/slla270/slla270.pdf
[5]
H. Zeltwanger, “Recommendation for the CAN FD bit-timing,” CAN Newsletter, no. 1, pp. 28–32, 2018, Accessed: Aug. 25, 2026. [Online]. Available: https://www.can-cia.org/fileadmin/cia/documents/publications/cnlm/march_2018/18-1_p28_recommendation_for_the_canfd_bit-timing_holger_zeltwanger_cia.pdf
[6]
International Organization for Standardization, “ISO 11898-1:2024 Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical coding sublayer.” ISO catalogue entry, 2024. [Online]. Available: https://www.iso.org/standard/86384.html
[7]
International Organization for Standardization, “ISO 11898-2:2026 Road vehicles — Controller area network (CAN) — Part 2: High-speed physical medium attachment (PMA) sublayer.” ISO catalogue entry, 2026. [Online]. Available: https://www.iso.org/standard/90697.html