...
POST No. 2590602
Protocol 2.0 이해
2019-08-13 14:38:33 htchoiphd

안녕하세요. 해당 문서를 보고 대략 내용을 이해를 했습니다. 

그런데, 혼동이 되는 부분이, 4. Packet의 처리인데,

 

다른 부분에서 이해하여 만든(header1 부터 CRC까지) 패킷을 보낼때 다시 0xFD를 추가하고 CRC를 다시 계산하라는 의미인지,

그냥 보내면 다이나믹 셀에서 처리한다는 의미인지 설명을 부탁드리겠습니다.

 

감사합니다.

2019-08-13 14:38:33
htchoiphd
2019-08-13 15:01:50 유기웅

안녕하세요.

 

Byte Stuffing를 알아보시면 이해가 되실꺼 같습니다. 

Byte Stuffing는 프로토콜 프레임의 시작과 끝을 알리는 방법으로 수신자가 데이터와 동일한 패턴의 Flag를 혼동하지 않도록 데이터의 끝마다 특정 값을 추가 하는 방법입니다. 

이 때, 수신자는 추가된 특정문자를 제외하고 본래 존해하는 데이터만을 받아 들입니다. 

 

감사합니다.

2019-08-13 15:01:50
ykw4463
2019-08-14 10:11:49 손의형

부연설명을 드리자면, 0xFD는 헤더(0xFF 0xFF 0xFD)를 제외한 데이터 내부에 헤더와 똑같은 형태의 연속된 데이터가 나타날 경우 헤더와 구분하기 위해 헤더와 똑같이 생긴 데이터의 끝부분에 삽입되는 바이트입니다.

이것을 Byte Stuffing이라고 정의하며, 다이나믹셀 내부에서도 바이트 스터핑을 처리하기 위한 데이터 파싱 설계가 되어있습니다.

다이나믹셀로 데이터를 보내는 제어기 단에서 로보티즈가 제공하는 라이브러리(다이나믹셀 SDK 등)를 사용하지 않고 프로그램을 만드신다면 바이트 스터핑을 구현하셔야 정상적인 통신이 가능합니다.

감사합니다.

2019-08-14 10:11:49
will_son
답변달기
웹에디터 시작 웹 에디터 끝