정의

배선 고장은 CAN_H·CAN_L 두 선 자체가 끊기거나 다른 전위에 붙는 물리 계층 고장이다. 고장 허용 트랜시버는 고장 종류를 판별해, 차동 전송을 그대로 유지하거나 남은 한 선을 쓰는 단선 전송으로 전환해 통신을 이어 간다.[1]

CAN의 오류 처리 대부분은 데이터 링크 계층이 프레임 단위로 하는 일이다. 그러나 배선 자체가 끊기거나 전원·접지에 붙어 버리면 상위 계층의 검사로는 복구할 수 없다. 고장 허용 트랜시버는 이런 상황을 물리 계층에서 감지해 대응 모드를 바꾼다. 차동 전송이 살아남는 고장과 단선 전송으로 내려가는 고장은 서로 다르다.

고장 유형

아래는 ISO 11898-3 계열 고장 허용 트랜시버의 한 품목인 TJA1055가 구분하는 아홉 가지 배선 고장이다.[1] 고장별 대응은 품목마다 다를 수 있으므로, 실제 네트워크를 볼 때는 쓰인 트랜시버의 데이터시트로 확인해야 한다.

유형고장수신 모드
단선CAN_H 단선차동 유지
단선CAN_L 단선차동 유지
단락CAN_H가 배터리 전원에 단락CAN_L 단선 전송
단락CAN_H가 공급 전압에 단락CAN_L 단선 전송
단락CAN_H가 접지에 단락차동 유지
단락CAN_L이 배터리 전원에 단락CAN_H 단선 전송
단락CAN_L이 공급 전압에 단락차동 유지
단락CAN_L이 접지에 단락CAN_H 단선 전송
두 선 단락CAN_H와 CAN_L이 서로 단락CAN_H 단선 전송

아홉 가지 중 네 가지 — 두 선의 단선, CAN_H의 접지 단락, CAN_L의 공급 전압 단락 — 에서는 출력 드라이버와 종단이 그대로 유지되고 수신도 차동 모드에 머문다. 이 고장들은 진행 중인 전송을 깨뜨리지 않는다.

나머지 고장에서는 단선 전송으로 내려간다. 이때는 차동 전송이 주던 잡음 상쇄가 사라지므로 전자파 내성과 방사 특성이 모두 나빠진다. 즉 단선 전송은 정상 동작이 아니라 통신을 놓치지 않기 위한 임시 모드다.

검출과 신호

고장이 검출되면 트랜시버는 오류 출력 핀을 활성화하고, 고장이 해소되면 되돌린다.[1] 다만 단선 고장은 송신 노드와 수신 노드 사이 구간이 끊겼을 때에만 검출·신호되므로, 단선 상황에서 오류 출력은 대체로 토글한다.

일부 고장은 검출에 지연을 둔다. CAN_H가 배터리 전원이나 공급 전압에 단락된 경우가 그렇고, 외부 고주파 전자기장에 의한 오검출을 피하려는 조치다.

종단 상실

배선이 멀쩡해도 종단 저항이 빠지면 반사가 신호를 판정 임계 부근에서 흔들어 오류를 만든다.[2] 트랜시버의 배선 고장 검출은 이 상황을 잡지 않으므로 별도로 확인해야 한다.

배선이 아니라 트랜시버 자체의 선택지는 CAN 트랜시버에서 다룬다.

[1]
NXP Semiconductors, “TJA1055 enhanced fault-tolerant CAN transceiver,” NXP Semiconductors, Product data sheet Rev. 5, 2013. [Online]. Available: https://www.nxp.com/docs/en/data-sheet/TJA1055.pdf
[2]
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