[CAN] CAN Frame 구조
2022. 6. 13. 20:03ㆍ프로젝트 로그/TI C2000 Firmware Update via CAN
반응형
CAN Frame 구조
- SOF(Start Of Frame)
- 데이터를 전송하고자 하는 노드는 SOF를 송신함으로서 메시지 전송을 시작한다.
- SOF는 1bit로 구성되어 있으며 이 신호에 의해 모든 노드는 싱크되어 수신 및 응답 준비가 되야 한다.
- ID(Identifier) Field
- CAN에서의 ID는 메시지를 식별하는데 사용된다.
- CAN 2.0A(Standard)는 11bit, CAN 2.0B(Extension)는 29bit로 구성되어 있다.
- Control Field
- Control Field는 6bit로 구성되어 있으며, 첫번째(IDE), 두번째(R0) bit는 Standard Type인지 Extenstion Type인지를 구분하는데 사용된다.
- 나머지 4bit는 DLC(Data Length Code)로 이 코드 뒤에 오는 데이터의 바이트(bytes) 수량을 표시한다.
- Data Field
- DLC에 표시된 길이 만큼의 데이터 바이트가 전송 된다.
- 자신의 상태를 알리는 에러 프레임을 Data Field로 전송한다.
- 상태에 따라 6bit 이상의 High 신호 또는 Low 신호를 송신 함으로서 에러 프레임을 보낸다.
- 이런 이유로 High 혹은 Low로 같은 데이터를 6bit 이상 전송하면 안됨 --> 이런 경우를 위해 스터핑(Stuffing) 기법 사용
- 상태에 따라 6bit 이상의 High 신호 또는 Low 신호를 송신 함으로서 에러 프레임을 보낸다.
- 스터핑(Stuffing:끼워넣기)
- 연속해서 6bit 이상 같은 데이터를 전송해야 하는 경우, 5bit 이후 인위적으로 반대 값을 가진 비트(그림에서 S)를 채워 넣어서 에러 프레임이 아닌 데이터 프레임 임을 알려 준다.
- 수신 하는 장비 입장에서, 아래 그림 S bit를 무시 한다.
- CRC Field
- 메시지의 유효성 검증을 위한 방법으로 송신측에서 보내고자 하는 원래의 정보 이외에 별도의 데이터를 추가하여 전송하면, 수신측에서 이 데이터를 이용하여 메시지 유효성을 검증 한다.
- K-line, LIN 시스템에서는 Parity와 Checksum을 사용하고 있으나, CAN에서는 순환중복검사(CRC : Cyclic Redundancy Check)를 이용한다.
- Acknowledgement Field
- ACK 필드는 ACK bit와 ACK 구분자로 구성된다.
- 데이터를 수신하는 수신 노드가 응답해주는 것이며, 정상적으로 수신한 경우 '01' (ACK + ACK 구분자) 수신이 불량한 경우 '11'(ACK+ACK 구분자)가 된다.
- 파형 상으로 ACK는 아래 그림과 같이 다른 bit에 비해 진폭이 큰 특징을 가지고 있다.
- EOF
- 메시지의 끝을 나타내는 데이터이다.
- 7개의 High bit로 구성되어 있으며, 고정 값으로 데이터 필드에서 사용한 스터핑 규칙은 적용하지 않는다.
참고자료
https://dept.kookje.ac.kr/automobile/index.php?pCode=notice2&mode=fdn&idx=397&num=2
반응형
'프로젝트 로그 > TI C2000 Firmware Update via CAN' 카테고리의 다른 글
[TI TMS320F2837D] DSP SDRAM 사용하기 (0) | 2022.07.08 |
---|---|
[CAN]ISO-TP(ISO15765-2) 메시지 Frame #2 (0) | 2022.07.06 |
[CAN] ISO-TP(ISO15765-2) 메시지 종류 및 Frame #1 (0) | 2022.07.05 |
[CAN] CAN ISO-TP(ISO 15767-2) Addressing #2 (0) | 2022.06.16 |
[CAN] CAN ISO-TP(ISO 15767-2) Addressing #1 (0) | 2022.06.15 |