왜 내 CAN 장치가 버스 오프 상태로 변경됩니까?

업데이트 됨 May 8, 2024

해당 제품

하드웨어

  • PXI CAN Interface Module
  • C Series CAN Interface Module

드라이버

  • NI-XNET

문의사항

CAN 어플리케이션이 왜 정기적으로 "버스 오프(Bus Off)" 상태로 전환됩니까?

해결책

수신된 에러 프레임 수가 많아져서 CAN이 버스 오프 상태에 있을 수 있습니다. "전송 에러 카운터"가 255를 초과하면 CAN 인터페이스가 이 상태로 전환됩니다. CAN 인터페이스가 네트워크상의 다른 장치에 악영향을 미치지 않도록 통신이 즉시 중지됩니다. CAN 인터페이스가 버스 오프 상태로 전환되면 인터페이스의 통신이 중지됩니다. 인터페이스의 모든 NI-XNET 세션은 더 이상 프레임값을 수신하거나 전송하지 않습니다. CAN 인터페이스와 모든 세션을 다시 시작하려면 XNET Start.vi를 호출하십시오.

CAN 인터페이스에서 통신이 시작되면 전송 에러 카운터는 0에서 시작합니다. 카운터는 전송된 프레임에 대해 에러가 감지되면 증가하고 프레임이 성공적으로 전송되면 감소합니다. 카운터는 성공적 전송으로 인해 감소하는 값보다 에러로 인해 증가하는 값이 더 큽니다. 일반적으로 특정 비율의 프레임(약 1/8)에 에러가 발생할 때 카운터가 증가합니다.

통신 상태가 버스 오프로 전환되면 더 이상 전송 에러 카운터가 유효하지 않습니다.