CAN FRAME

이채윤·2022년 9월 2일
0

임베디드

목록 보기
61/70

<CAN FRAME 종류>

[CAN Remote Frame_Standard Frame]

  • 메시지 ID 11 Bit (과거에는 충분한 크기의 범위였지만 자동차가 보다 전장화됨에 따라 메시지가 더 많이 필요해져서 더 넓은 메시지 ID의 범위를 가진 프레임이 필요하게 되었다. 이와 같은 이유로 나타난 것이 Extended Frame 이다.)
  • Data Field 없음
  • Remote Frame은 메시지를 제대로 수신하지 못해서 해당 메시지의 재전송이 필요한 경우 전송되는 프레임 (다만, 자동차에서는 잘 사용되지 않음) → 자동차는 주기적으로 메시지를 송수신하는 방식을 주로 사용하고 있기 때문에 Data를 제대로 수신하지 못했을 경우에는 다음 차례에서 Data를 수신하면 되기 때문

[CAN Remote Frame_Extended Frame]

  • 메시지 ID 29 Bit
  • Data Field 없음
  • Remote Frame은 메시지를 제대로 수신하지 못해서 해당 메시지의 재전송이 필요한 경우 전송되는 프레임 (다만, 자동차에서는 잘 사용되지 않음) → 자동차는 주기적으로 메시지를 송수신하는 방식을 주로 사용하고 있기 때문에 Data를 제대로 수신하지 못했을 경우에는 다음 차례에서 Data를 수신하면 되기 때문

[CAN Data Frame_Standard Frame]

  • 메시지 ID 11 Bit (과거에는 충분한 크기의 범위였지만 자동차가 보다 전장화됨에 따라 메시지가 더 많이 필요해져서 더 넓은 메시지 ID의 범위를 가진 프레임이 필요하게 되었다. 이와 같은 이유로 나타난 것이 Extended Frame 이다.)
  • Data Field 있음
    • 0~8 byte

[CAN Data Frame_Extended Frame]

  • 메시지 ID 29 Bit
  • Data Field 있음
    • 0~8 byte

[CAN data frame_Extended Frame]

  • data frame_(extended) → 현재 사용중

  • CAN data frame은 데이터에 대한 포장이라고 말할 수 있다.
    • Header
      • SOF = Start Of Frame
        • 메시지의 시작을 알림
        • (1 bit) 논리값 0 가짐
        • SOF가 구리선에 닿는 순간 하강 에지를 기준으로 동기화를 시작 (모든 ECU들이 동기화를 시작)
      • Arbitration Field
        • ID = Identifier
        • SRR = Substitute Remote Request
          • SRR 비트는 중재 필드에 속해 있음
          • 0의 값을 가짐
        • IDE = Identifier Extension Bit
          • CAN Standard 프레임과 CAN Extended 프레임 구분
          • 0 → Standard Id
          • 1 → Extended Id
        • RTR = Remote Transmission Request
          • RTR은 원격 요청 신호 이다.
          • 0 → 다음 메시지들이 DATA Frame
          • 1 → ID에 해당하는 신호를 요청하는 메시지
      • Ctrl Field
        • r0, r1 = Reserved Bit
          • 추후에 추가될 기능을 위해 남겨둔 예약비트
          • 모두 0의 값을 가짐
        • DLC = Data Length Code
          • DLC는 이 코드 뒤에 올 데이터 바이트의 수량을 표시 → 0x08
    • Data
    • Tail
      • CRC
        • 16bit (끝을 알리는 “1”의 값을 가지는 비트 포함) 의 Checksum → 메시지 상의 에러 유무를 나타냄
      • ACK = 승인
        • 메시지를 정확히 수신한 모든 CAN 컨트롤러는 ACK 비트를 전송 (ACK가 발견되지 않은 경우에는 재 전송을 시도)
        • 2 bit로 구성
          • 첫 번째 비트 = 0
          • 두 번째 비트 = 1
      • EOF = End Of Frame
        • 7 bit로 구성
          • 모두 1의 값을 가짐

0개의 댓글