CAN 비트 타이밍은 CAN 노드가 한 비트의 시간을 어떻게 나누고, 그 안의 어느 시점에 비트 값을 읽을지 정하는 규칙이다. 공칭 비트율 는 이상적인 송신 노드가 재동기화 없이 보내는 초당 비트 수이고, 공칭 비트 시간 는 그 역수다.[1]

세그먼트

공칭 비트 시간은 서로 겹치지 않는 네 세그먼트로 나뉜다.[1]

  • SYNC_SEG: 버스의 에지가 이 구간에 오리라고 기대하는 구간이다.
  • PROP_SEG: 버스 선의 신호 전파 시간과 송수신 회로(입력 비교기, 출력 드라이버)의 지연을 보상한다.
  • PHASE_SEG1, PHASE_SEG2: 에지의 위상 오차를 보상하며, 재동기화 때 늘거나 줄어든다.[1]

PROP_SEG의 길이 는 버스 선의 신호 전파 시간 , 입력 비교기 지연 , 출력 드라이버 지연 를 더한 값의 두 배다.[1]

신호가 갔다 돌아오는 전파 지연은 버스가 길수록 커진다. PROP_SEG의 길이 는 최대 전파 지연 보다 길어야() 하므로, 전파 지연이 공칭 비트율을 제한한다.[2]

샘플 포인트

버스 값을 읽어 비트 값으로 삼는 시점은 PHASE_SEG1의 끝이고, 이 시점을 샘플 포인트라 한다. 샘플 포인트에서 시작해 그다음 비트 값을 계산하는 데 쓰는 구간을 정보 처리 시간이라 한다.[1]

Time quantum

세그먼트의 길이는 time quantum(tq) 단위로 정한다. time quantum은 발진기 주기에서 얻는 고정 시간 단위로, 그 길이 는 최소 time quantum 과 프리스케일러 값 의 곱 이다. 은 정수이고, 적어도 1~32 범위에서 설정할 수 있다.[1]

Bosch CAN 2.0 규격은 SYNC_SEG를 1 tq로 두고, PROP_SEG와 PHASE_SEG1을 각각 1~8 tq로 설정할 수 있게 정한다. 한 비트의 tq 수는 적어도 8~25 범위에서 설정할 수 있어야 한다. 이 규격은 PHASE_SEG2를 PHASE_SEG1과 정보 처리 시간 가운데 큰 값으로 두고, 정보 처리 시간은 2 tq 이하로 정한다.[1]

ISO 11898-1:2024는 최소 time quantum을 그 노드에서 설정할 수 있는 가장 작은 time quantum으로, 노드 클록을 CAN 노드에서 비트 시간에 관련된 상태 기계를 맞추는 시간 기준으로 정의한다.[3]

컨트롤러 설정

MCP2515는 프리스케일러(BRP, Baud Rate Prescaler)와 세그먼트 길이를 설정 레지스터 CNF1~CNF3로 받는다. PROP_SEG, PHASE_SEG1, PHASE_SEG2의 길이는 각각 PRSEG, PHSEG1, PHSEG2 필드로 따로 설정한다. PHSEG2는 BTLMODE가 1일 때만 쓰이고, 0이면 PHASE_SEG2는 PHASE_SEG1과 정보 처리 시간 가운데 큰 값이 된다. MCP2515는 CNF2의 SAM 비트가 1이면 샘플 포인트에서 버스를 세 번 샘플링하고, 0이면 한 번 샘플링한다.[4]

STM32F10x의 bxCAN은 CAN_BTR 레지스터로 프리스케일러(BRP)를 받고, PROP_SEG와 PHASE_SEG1을 합친 BS1과 PHASE_SEG2에 해당하는 BS2를 설정한다.[5]

CAN FD와의 차이

CAN FD는 중재 구간과 데이터 구간에 비트율을 따로 두고, 각각 별도의 설정 레지스터와 프리스케일러로 비트 타이밍을 정한다.[6]

ISO 11898-1:2024는 중재 구간의 단위 시간당 비트 수를 공칭 비트율, 한 비트의 길이를 공칭 비트 시간으로, 데이터 구간의 것을 각각 데이터 비트율과 데이터 비트 시간으로 정의한다. 비트율은 비트 부호화와 상관없이 세고, 비트 시간은 그 구간의 time quantum 수로 정한다.[3]

Bosch CAN FD 1.0은 두 비트율에 프리스케일러 값 (공칭 비트 시간)과 (데이터 비트 시간)를 따로 두어, time quantum의 길이도 둘이 된다. 세그먼트 길이의 범위도 두 비트율에서 아래 표처럼 다르다.[6]

세그먼트공칭 비트율데이터 비트율
SYNC_SEG1 tq1 tq
PROP_SEG1 tq부터 32 tq나 그 이상까지0~8 tq
PHASE_SEG11 tq부터 32 tq나 그 이상까지1~8 tq
PHASE_SEG2PHASE_SEG1과 정보 처리 시간 가운데 큰 값PHASE_SEG1과 정보 처리 시간 가운데 큰 값
정보 처리 시간2 tq 이하2 tq 이하

데이터 구간에서는 송신 노드가 자기 비트를 트랜시버를 거쳐 되읽는 지연이 비트 시간보다 길어질 수 있다. 그래서 트랜시버 지연 보상(TDC, Transceiver Delay Compensation)이 측정한 지연에 오프셋을 더해 보조 샘플 포인트(SSP, Secondary Sample Point)를 두고, 그 시점에 비트를 비교한다.[2][6]

Bosch CAN FD 1.0은 트랜시버 지연 보상을 CAN FD 노드가 지원해야 하는 선택 기능으로 두고, 데이터 구간의 송신 노드만 쓰게 정한다. 이 기능을 쓰는 송신 노드는 샘플 포인트에서 받은 비트 값을 무시한다. 보상할 지연은 송신하는 프레임마다 EDL 비트에서 r0 비트로 넘어가는 에지에서, 보낸 비트의 에지와 받은 비트의 에지 사이로 잰다. 보조 샘플 포인트는 잰 지연에 오프셋(예: 데이터 비트 시간의 절반)을 더해 tq 단위로 내림한 자리에 두며, 보낸 비트가 끝난 뒤에 놓일 수도 있다. 보조 샘플 포인트에서 찾은 비트 오류에는 그다음 샘플 포인트에서 대응한다.[6]

[1]
“CAN Specification Version 2.0,” Robert Bosch GmbH, 1991. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20171215103144/http://www.bosch-semiconductors.de:80/media/ubk_semiconductors/pdf_1/canliteratur/can2spec.pdf
[2]
“MCP25XXFD CAN FD Controller Module Family Reference Manual,” Microchip Technology Inc., 2020. Accessed: Sep. 25, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/ReferenceManuals/MCP25XXFD-CAN-FD-Controller-Module-Family-Reference-Manual-DS20005678E.pdf
[3]
ISO, “ISO 11898-1:2024 Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical coding sublayer (OBP preview).” 2024. Accessed: Sep. 25, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso:11898:-1:ed-3:v1:en
[4]
“MCP2515 Stand-Alone CAN Controller with SPI Interface,” Microchip Technology Inc., 2019. Accessed: Sep. 25, 2026. [Online]. Available: https://ww1.microchip.com/downloads/en/DeviceDoc/MCP2515-Stand-Alone-CAN-Controller-with-SPI-20001801J.pdf
[5]
“RM0008 Reference manual: STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm-based 32-bit MCUs,” STMicroelectronics, 2021. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20260827132512/https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
[6]
“CAN with Flexible Data-Rate Specification Version 1.0,” Robert Bosch GmbH, 2012. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20151211125301/http://www.bosch-semiconductors.de/media/ubk_semiconductors/pdf_1/canliteratur/can_fd_spec.pdf