CAN 프로토콜 프레임의 종류

ET의 정보 /IT정보|2021. 4. 3. 17:20

CAN 통신

CAN 통신은 "Controller Area Network"의 약자입니다. CAN은 ISO11898 표준에 정의된 통신 프로토콜입니다.

 

CAN 버스는 브로드 캐스트 유형의 버스입니다. 이는 특정 노드에 메시지를 보내지 않고 모든 노드가 모든 메시지를 수신할 수 있음을 의미합니다. 그러나 CAN 하드웨어는 특정 메시지에만 반응할 수 있도록 로컬 필터링을 제공합니다.

 

CAN 메시지

앞서 언급했듯 CAN 버스는 브로드 캐스트 유형의 버스입니다.

 

CAN은 짧은 메시지를 사용합니다. 최대 유틸리티 로드는 94bit이며 메시지에는 명시적인 주소가 없고 내용 주소가 지정되어 있습니다. 즉 암시적으로 주소를 결정합니다.

 

CAN 메시지 유형

1. 데이터 프레임

2. 원격 프레임

3. 오류 프레임

4. 과부하 프레임

 

 

데이터 프레임

데이터 프레임은 가장 일반적인 메시지 유형입니다.

-두 개 이상의 노드가 버스를 두고 경쟁할 때 메시지의 우선순위를 결정하는 중재 필드. 중재 필드에는 아래가 포함됩니다.

1.CAN 2.0A의 경우 11bit 식별자와 1bit인 RTR 비트가 데이터 프레임에 주로 사용됩니다.

2.CAN 2.0B의 경우 29bit 식별자 및 RTR 비트

 

-0-8byte의 데이터를 포함하는 데이터 필드

-메시지의 대부분에 대해 계산된 15bit 체크섬을 포함하는 CRC필드, 체크섬은 오류 감지에 사용됩니다.

-승인 슬롯: 메시지를 올바르게 수신할 수 있었던 모든 CAN 컨트롤러는 각 메시지 끝에 승인 비트를 보냅니다. 송신부는 승인 비트가 있는지 확인하고 승인이 감지되지 않으면 메시지를 다시 전송합니다.

 

 

원격 프레임

원격 프레임은 두 가지 차이점을 제외하고는 데이터 프레임과 동일합니다.

-원격 프레임으로 명시적으로 표시됩니다.

-데이터 필드가 필요 없습니다.

 

원격 프레임의 목적은 해당 데이터 프레임의 전송을 요청하는 것입니다. 예를 들어 노드 A가 중재 필드를 234로 설정된 원격 프레임을 전송하면 노드 B가 중재 필드로 234로 설정된 데이터 프레임으로 응답합니다.

 

원격 프레임은 요청-응답 유형의 버스 트래픽 관리를 구현하는 데 사용할 수 있습니다. 그러나 CAN표준이 원격 프레임의 동작을 규정하지 않기 때문에 거의 사용되지 않습니다.

 

 

오류 프레임

오류 프레임은 동일한 값의 6bit인 오류 플래그와 8bit 반전 비트로 구성합니다.

 

 

과부하 프레임

오류 프레임과 유사하며 과부하 된 노드에 의해 전송됩니다. 최신의 CAN 컨트롤러는 과부하가 잘 일어나지 않기 때문에 자주 사용되지 않습니다.

댓글()