강좌 & 팁
글 수 2,412
2011.05.15 17:12:48 (*.172.216.240)
55674
6. - CRC Check -
CRC Check Field 구성은 다음과 같습니다.
6.1 Error Check Field
- Field 구성은 2 bytes 로 구성됩니다.
- 전송 순서는 하위 1 byte + 상위 1 byte 순 입니다.
- CRC Check Method 는 CRC-16( X^16 + X^15 + X^2 + 1 ) 입니다.
6.2 CRC 생성 절차
1) 16bit register(0xFFFF)를 CRC Register(임의의 변수)에 치환합니다.
2) CRC Register 와 보낼 data(Start, Parity, Stop bit 를 제외한 8 bit)를 XOR 처리 한 후 이를 CRC Register 에 치환합니다.
3) CRC Register 를 우측으로 1 bit Shift 합니다.
4) Shift 후 carry 가 ‘0’이면, 3)항으로 리턴.
carry 가 ‘1’이면, CRC Register 와 0xA001(POLY : polynomial value)을 XOR 처리 하고 CRC Register 에 치환 후 3)항으로 리턴.
5) 3)항과 4)항의 반복 수행을 8 회 실시 합니다.
6) 8 회 실시 후 최종 data 를 CRC Register 에 치환합니다.
7) 1) ~ 6)항 까지는 1byte 데이터에 대한 CRC 이며, 실제 요청이나 응답 frame 은 N byte 의 데이터가 전송되므로, 1) ~ 6)항 반복을 N-2 회(-2 : Error CHK Field) 실시 합니다.