2018.04.20 22:41

 

홈네트워크 통신연동할 때 쓴 후로 통신 프로토콜 짤 때 기본으로 잡고 가장 많이 썼던 구조입니다.(홈넷 통신 프로토콜과는 약간 다름)

간단하면서도 필요한 부분은 다 있어서 괜찮았습니다.

 

데이터 무결성차원에서 Check Sum과 Check Xor 자리에 CRC16을 사용하기도 하였고 HMAC을 사용하기도 하였습니다.(HMAC의 경우 앞 바이트만 잘라서 사용)

 

Byte

1

1

1

N

1

1

1

Data

0x02

Var.

Var.

Var.

Var.

Var.

0x03

Field

Start

Cmd

Length

Data N

Sum

Xor

End

 

 

Host쪽에서 CMD에서 0x01를 보내면 Slave쪽에서 최상위 비트에 1을 넣어서 0x81로 데이터를 보내는 방식을 사용하였고, CMD 1바이트로 부족한 경우가 많아 Data N 전까지의 데이터를 Header로 잡아 짝수 바이트로 맞추고 데이터 처리를 주로 하였습니다.

간단한 Return에는 Data에 값을 넣기보다 Header에 값을 넣어 처리해주는 게 더 간단해서(프로그램 짜기가 간단해서 ㅎㅎㅎ) 그렇게 자주 사용하였습니다. 

구조체로 잡아서 처리하는 경우 packed를 하지 않으면 데이터가 연달아 붙지 않아서 고생하는 경우가 생깁니다.

 

 

'초보의 아웅다웅 설계하기 > Back Data 수집하기' 카테고리의 다른 글

통신 프로토콜  (0) 2018.04.20
음계 주파수표  (0) 2013.04.25
모델 변경시 단가 산출하기  (0) 2010.08.08
생산 예상 단가 산출하기  (0) 2010.08.08
타사 모듈 메뉴얼 만들기  (0) 2010.08.03
수리내역 확인하기  (0) 2010.08.03
Posted by 초보 HW 엔지니어 로망와니

댓글을 달아 주세요