본문 바로가기

[INTERFACE]/CAN

CAN 통신


CAN통신 메세지 구조

 
  • CAN은 다중통신망(Multi Master Network)이며 CSMA/CD+AMP(Carrier Sense Multiple Access / Collision Detection with Arbitration on Message Priority) 방식을 이용한다.
  • 먼저 CAN Node에 메시지를 보내기 전에 CAN 버스라인이 사용중 인지를 파악한다.
  • 또한 메시지간 충돌 검출을 수행합니다. 이러한 방식은 이더넷 통신 방식과 유사합니다.
  • 어떠한 Node(시스템)로부터 보내어진 데이터 메시지는 송신측이나 수신측의 주소를 포함하지 않는다. 11~
  • 대신에 각 노드의 데이터 메시지 항목에 CAN 네트웍상에서 각각의 노드(시스템)를 식별할 수 있도록 각 노드(시스템) 마다 유일한 식별자(ID-11bit 또는 29bit)를 가지고 있다.
  • 네트웍상에 연결된 모든 노드(CAN Controller 시스템)는 네트웍상에 있는 메시지를 수신한 후 자신에게 필요한 메시지인지를ㅊㅁ 식별자를 통하여 평가한 후 자신이 필요로 하는 식별자의 메시지인 경우만 취하고 그렇지 않은 경우의 메시지는 무시한다.
  • 네트웍상(CAN 통신 라인)에 흘러 다니는 여러 노드의 데이터들이 동시에 사용자가 필요로하는 노드로 유입되는 경우에 식별자의 숫자를 비교하여 먼저 취할 메시지의 우선순위를 정한다. 식별자의 숫자가 낮은 경우가 우선순위가 가장 높다. (식별자가 1 인 경우가 10 인 경우보다 우선순위가 높음)
  • 우선순위가 높은 메시지가 CAN 버스의 사용 권한을 보장 받으며 이때 낮은 순위의 메시지는 자동적으로 다음 버스 사이클에 재전송을 수행한다. 이때 까지도 높은 우선순위를 가진 메시지가 완료되지 않은 상태이면 전송을 완료할 때까지 대기하고 있는다.
  • 각 CAN 메시지는 11 비트의 식별자(CAN 2.0A) 또는 29 비트의 식별자(CAN 2.0B)를 가지며 CAN 메시지의 맨 처음 시작부분에 위치한다.
  • 더불어 식별자는 메시지의 형태를 식별시켜 주는 역할과 메시지의 우선 순위를 부여하는 역할을 한다.

CAN Bus 속도 및 캐이블 길이

반응형