CAN 은 클럭선이 없다. 수신 측은 신호가 바뀌는 순간을 보고 자기 타이밍을 조정하는데, 같은 값이 계속되면 조정할 기회가 사라진다.
원본 1 1 1 1 1 1 1 1 ... 에지가 없다 → 동기를 잃는다
스터핑 1 1 1 1 1 0 1 1 1 ... 5개마다 반대 비트를 강제로 삽입
수신 측은 5개 연속 뒤의 비트를 자동으로 버린다. 데이터에는 영향이 없다.
부작용 둘
- 프레임 길이가 데이터에 따라 달라진다. 최악 길이로 타이밍을 계산해야 한다
- 스터핑 규칙 위반은 스터프 오류로 검출된다 — 오류 검출 수단이 하나 더 생기는 셈
어디에 적용되나
SOF 부터 CRC 까지만 적용되고, ACK·EOF 구간에는 적용되지 않는다. 로직 분석기로 파형을 셀 때 비트 수가 안 맞아 보이는 이유가 대개 이것이다.