본문 바로가기
자동차 임베디드 SW/CAN통신 & LIN통신

CAN 통신 BaudRate과 Bus Load

by 존버매니아.임베디드 개발자 2022. 6. 18.
반응형

BaudRate는 통신속도를 의미한다.
1초에 몇 bit의 데이터를 전송하는지를 의미하는 단위가 bps 이다.
1초에 1000bit면 1kbps
1초에 1,000,000 bit면 1Mbps 이다.

가장 중요한 사실은 같은 CAN BUS에 통신을 참여하고 있는 대상은 모두 BaudRate을 통일해서 사용해야한다는 것이다.

앞서 말했듯이 CAN 통신은 BUS에 연결된 모든 제어기들이 BroadCast로 동작하기 때문에 모든제어기들의 BaudRate을 통일해서 사용해야한다.

ㅡㅡㅡ
그리고 CAN 통신에서 사용가능한 최대 속도는 통신에 사용되는 실제 전선의 물리적인 길이에 따라 달라지게 되는데..
암튼 일반적으로 250kbps 또는 500kbps를 사용한다.

ㅡㅡㅡㅡㅡ
한편 bus load가 무엇인고하니..
캔통신은 bus 토폴로지라 모든제어기들이 같은 전선을 사용해서 통신을 한다.
그래서 단점이 있는데 한번에 하나의 메세지만 존재할 수 있다는 것이다.

예를들어 버스에 제어기 1,2,3,4가 있는데
제어기1이 제어기2에게 메세지를 보내고싶다.

그리고 제어기3은 4에게 메세지를 보내고싶다.

통신선이 별도로 있다면 이 두개의 메세지를 동시에 쏘면 될텐데 한번에 한개의 메세지만 보낼 수 있기 때문에 한번에 메세지 한개를 보내고, 다른 하나는 기다렸다가 메세지를 보내야된다.

그럼 버스 로드는 무엇이냐?
점유율이라고 얘기 할 수 있겠다.
버스에 실제로 메세지가 존재하는 기간을 의미한다. 볼 점유율 같은 개념이랄까?
단위는 %다.

만약 통신속도가 100bps 라고 가정해보자.
그리고 메세지 1개의 크기가 10bit라고 가정하자.

그러면 메세지 1개를 보내는데 0.1초가 들것이다.

1초에 메세지 1개씩만 보내면?
1초 동안 메세지가 실제로 전송되는 기간은 0.1초 이므로 이 때 버스로드는 10%다.

만약 1초에 메세지 2개를 보내면? 버스로드는 20%다.

이것이 버스로드의 개념이고 자동차 제조사는 일반적으로 버스 로드 상한선을 정의해두고 사용한다


신입사원이 알아야 할 CAN 통신의 모든 것
강의를 진행하고 있습니다.
무료샘플 강의도 있으니 들어보면 도움이 되실겁니다.
https://inf.run/abvS


반응형