반응형
CAN 통신에는 4가지 프레임 타입을 정의하고 있다.
데이터 프레임(data frame)
각 노드로 전송되는 데이터가 들어 있는 프레임
CAN 2.0A, CAN 2.0B 두 가지의 포맷으로 구성
Aribitration Field의 RTR 값이 0이면 해당 메시지 프레임이 데이터 프레임임을 인지.
CAN 2.0A | CAN 2.0B |
리모트 프레임(remote frame)
다른 노드로부터의 데이터 전송 요구를 알리는 프레임
Aribitration Field의 RTR 값이 1이면 해당 메시지 프레임이 리모트 프레임임을 인지.
에러 프레임(error frame)
Bus Error가 검출되었음을 알리는 프레임
- Bit Error
전송된 Bit의 상태를 Bus 상에서 관측하여 다른 경우 발생
단 ACK Field, Arbitration Field의 경우는 제외 - Stuff Error
같은 값을 가지는 Bit가 연속해서 6개 이상인 경우 발생 - CRC Error
수신된 CRC 값이 수신단에서 계산된 값과 다르면 발생 - Form Error
각 Field의 Fixed Bit Form에 위배될 때
EOF, Interframe Space, ACK/CRC delimiter에서 Dominant Bit가 관측될 때 - Acknowledgement Error
송신단에서 ACK Slot동안에 Dominant Bit을 관측하지 못하는 경우 발생
오버로드 프레임(overload frame)
수신된 데이터의 처리에 시간이 더 필요함을 알리는 프레임
수신단의 내부 상태가 Next Data Frame/Remote Frame의 전송 지연을 필요로 하는 경우에 발생
Intermission Field에서 Dominant Bit가 검출된 경우에 발생
- Overload Flag : 6개의 연속된 Dominant Bits
- Superposition : Overload Frame의 Dominant Bit가 Intermission Field에서 감지되어 타 Node에서 Overload Frame 전송
- Overload Delimiter : 6개의 연속된 Recessive Bits
그러나 실제로 CAN에서는 데이터 프레임과 에러 프레임을 제외하고는 잘 사용되지 않는다.
728x90
'프로젝트 > CAN_OBDII' 카테고리의 다른 글
CAN 통신 모듈(MCP2515) (0) | 2022.01.26 |
---|---|
Can Controller, CAN Transceiver (0) | 2022.01.25 |
CAN 통신 우선순위 결정 방법 (0) | 2022.01.25 |
CAN 통신 동작 원리 (0) | 2022.01.25 |
CAN 통신 메시지 구조 (0) | 2022.01.25 |
댓글