Difference between revisions of "CanServo/Protoco/T2-Message"

From HITEC_HELP
Jump to navigation Jump to search
Line 16: Line 16:
** Packet = packet body(max 7), tail byte (begin/end flag, packet seq: 4 bit, msg seq: 2 bit)
** Packet = packet body(max 7), tail byte (begin/end flag, packet seq: 4 bit, msg seq: 2 bit)
*** packet seq 의 최상위 bit는 toggle flag 자리를 사용
*** packet seq 의 최상위 bit는 toggle flag 자리를 사용
** 발신자 구분이 가능하면 crc 16, 불가능하면 crc 32 사용

Revision as of 08:26, 30 April 2026

개요

  • 여러 개의 T-Message 가 섞이는 경우, 수신 측에서 분석하기가 힘듭니다.
    • CRC16만으로는 16 비트 초과의 변질을 감지할 수 없습니다.
  • 완벽을 위한 필수 조건은 다음과 같습니다.
    • 발신자 구분 = CAN ID를 통해서 구분
    • 메시지마다 증가하는 시퀸스
    • 패킷마다 증가하는 시퀸스
    • 실제 전달하는 메시지의 길이
    • 체크섬
      • 발신자 구분이 가능하면 CRC 16, 구분이 불가능하면, CRC32 사용 권장.
  • Format
    • Message = L(2), crc(2 or 4), msg body(L byte)
    • Packet = packet body(max 7), tail byte (begin/end flag, packet seq: 4 bit, msg seq: 2 bit)
      • packet seq 의 최상위 bit는 toggle flag 자리를 사용