CAN 통신은 다중 통신망(Multi Master Network)이며 CSMA/CD+AMP(Carrier Sense Multiple Access / Collision Detection with Arbitration on Message Priority) 방식을 이용한다.
CAN Node에 메시지를 보내기 전에 CAN 버스라인이 사용 중인지를 파악한다.
또한 메시지 간의 충돌 검출을 수행한다. 이러한 방식은 이더넷 통신 방식과 유사하다.
어떠한 Node로부터 보내어진 데이터 메시지는 송신 측이나 수신 측의 주소를 포함하지 않는다.
대신에 각 노드의 데이터 메시지 항목에 CAN 네트워크 상에서 노드를 식별하기 위한 식별자(ID, 2.0A : 11bits, 2.0B : 29bits)를 가진다.
네트워크 상에 연결된 모든 노드는 네트워크 상에 있는 메시지를 수신한 후 자신에게 필요한 메시지인지를 식별자를 통해 판단한다.
자신이 필요로 하는 식별자의 메시지인 경우만 취하고 그렇지 않은 경우의 메시지는 무시한다.
네트워크 상에 흘러 다니는 여러 노드의 데이터들이 동시에 사용자가 필요로 하는 노드로 유입되는 경우에 식별자의 숫자를 비교하여 먼저 취할 메시지의 우선순위를 정한다.
식별자의 숫자가 낮을수록 우선순위가 높다.
예를 들어 식별자가 1인 경우가 10인 경우보다 우선순위가 높다.
(우선순위가 어떻게 결정되는지 알고 싶다면 밑에 링크 클릭!)
우선순위가 높은 메시지는 CAN 버스의 사용 권한을 보장받으며 이때 낮은 순위의 메시지는 자동적으로 다음 버스 사이클에 재전송을 수행한다.
'프로젝트 > CAN_OBDII' 카테고리의 다른 글
CAN 통신 프레임(Frame) 타입 (0) | 2022.01.25 |
---|---|
CAN 통신 우선순위 결정 방법 (0) | 2022.01.25 |
CAN 통신 메시지 구조 (0) | 2022.01.25 |
CAN 규격에 따른 종류 (0) | 2022.01.25 |
CAN 통신 프로토컬(Controller Area Network) (0) | 2022.01.20 |
댓글