Knowledge/Protocol
[CAN] Data Frame과 Remote Frame
VIR&US
2024. 11. 9. 00:56
반응형
목차
Controller Area Network(CAN)
Controller Area Network(CAN)은 Electronic control units (ECUs)간의 효율적인 통신을 가능하게 하도록 설계된 차량 bus 표준 중 하나 입니다.
CAN 통신은 BOSCH에서 1983년부터 개발에 착수해 1986년 미국 미시간주 디트로이트에서 열린 SAE(Society of Automotive Engineers)에서 공식적으로 발표되었다. 최초의 CAN Controller Chip은 인텔과 필립스에 의해 생산되었으며 1987년 시장에 출시되었습니다. 1991년 BOSCH는 CAN 2.0 Spec을 발표하였습니다.
CAN 표준
ISO 11898 (CAN, CAN-FD, CAN-XL, low/high speed physical layer, Low-power, wake-up function …)
Data Frame (2.0A Standard Format)
SOF (Start of Frame)
- 시작 신호, 1 bit의 ‘0(dominant)’로 구성되어 있습니다.
- Bus가 IDIE상태 일 때 만 전송 시작 가능합니다.
ID (IDENTIFIER)
- 11bit, 약속이 필요합니다. (ex. 송신기와 수신기 주소 등)
- 전송 충돌 시 우선순위를 판단합니다.
- CAN Arbitration, ID의 MSB 부터 ‘0’에 의해 우선순위가 결정됩니다. 다시 말해 ID가 낮을 수 록 우선순위가 높습니다.
- CSMA/AMP
2023.07.11 - [Knowledge/Protocol] - CSMA/CA + AMP이란?
RTR (Remote Transmission Request Bit)
- 0(Dominant): Data Frame
- 1(Recessive): Remote Frame
r1, r0
- Control field의 상위 2bit는 확장을 대비한 bit입니다.
- Extended Frame에서 r1은 IDE (Identifier Extension Bit)로 확장됩니다.
- CAN FD에서 r0는 FDF(Flexible Data Rate Format)로 확장 됩니다.
DLC(Data Length Code)
- 최대 8Byte까지, 1000보다 큰 경우 모두 8Byte를 의미합니다.
- 추후, CAN FD에서 64Byte까지 확장됩니다.
Data
- 0 ~ 8 Bytes, (= 0 ~ 64bit)
CRC Sequence
- 15bit
- CRC는 Cyclic redundancy check의 약자입니다.
CRC Delimiter
- 1bit, 1(Recessive)
- CRC Sequence를 구분하기 위함입니다.
ACK Slot
- 1bit, Transmitter(수신기)는 1(Recessive), Receiver는 문제없이 Frame를 수신한 경우 0(Dominant)를 보냅니다.
- ACK Slot은 앞 뒤로 1(Recessive) bit로 둘러 쌓여 있습니다.
- ACK Slot은 다른 메시지보다 진폭이 큼, 이를 통해 CAN의 전송속도를 파형으로 알 수 있습니다.
ACK Delimiter
- 1bit, 1(Recessive)
- ACK Slot를 구분하기 위함 입니다.
EOF(End of Frame)
- 7bit, 1(Recessive)
Remote Frame (2.0A Standard Format)
- Data Frame에서 Data field가 제외된 Frame입니다.
- Remote Frame은 Data를 포함하지 않습니다. Receiver가 Source로 부터 Data를 요청할 때 보내는 Frame입니다.
- RTR bit는 Data Frame과 달리 ‘1(Recessive)’ 입니다.
References
- CAN Specification, Version 2.0 (Robert Bosch GmbH)
- https://www.winstar.com.tw/kr/can-bus-interface-communication
- https://elearning.vector.com/mod/page/view.php?id=333
위 글이 CAN를 이해하시는데 많은 도움이 되셨길 바랍니다. Specifcation과 앞서 정리된 website들을 참고해 정리하였습니다.
출처를 표기했으나, 저작권 관련 문제시 해당 글은 언제든지 삭제될 수 있습니다.
728x90
반응형