네트워크를 통해 통신을 하다보면 마지막에 CRC 검사를 보내주는 모습을 종종 볼 수 있다.
CRC(cyclic redundancy check)란 순환중복검사로 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말한다.
데이터를 전송하기 전에 주어진 데이터의 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고, 데이터 전송이 끝난 후 받은 데이터의 값으로 다시 CRC 값을 계산하게 된다. 그래서 계산한 두 값을 비교하여 두 값이 다르면 데이터 전송 과정에서 잡음 등에 의해 오류가 생겼다는 걸 알 수 있다.
여기서 계산은 간단하게 보면 수학적 계산이라고 생각하면 되고 XOR에 기반한다고 한다.
자세한 건 위키백과를 참고하도록 하자.
https://ko.wikipedia.org/wiki/%EC%88%9C%ED%99%98_%EC%A4%91%EB%B3%B5_%EA%B2%80%EC%82%AC
'Embedded system' 카테고리의 다른 글
시리얼 통신 시 오실로스코프로 char 확인하는 방법 (0) | 2023.04.12 |
---|---|
Arduino USB Host Shield (0) | 2023.02.03 |
How to use DWM3000EVB with NORDIC 52480 (0) | 2023.01.03 |
saleae logic analyzer (0) | 2022.12.19 |
influxDB (0) | 2022.12.12 |
네트워크를 통해 통신을 하다보면 마지막에 CRC 검사를 보내주는 모습을 종종 볼 수 있다.
CRC(cyclic redundancy check)란 순환중복검사로 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 말한다.
데이터를 전송하기 전에 주어진 데이터의 값에 따라 CRC 값을 계산하여 데이터에 붙여 전송하고, 데이터 전송이 끝난 후 받은 데이터의 값으로 다시 CRC 값을 계산하게 된다. 그래서 계산한 두 값을 비교하여 두 값이 다르면 데이터 전송 과정에서 잡음 등에 의해 오류가 생겼다는 걸 알 수 있다.
여기서 계산은 간단하게 보면 수학적 계산이라고 생각하면 되고 XOR에 기반한다고 한다.
자세한 건 위키백과를 참고하도록 하자.
https://ko.wikipedia.org/wiki/%EC%88%9C%ED%99%98_%EC%A4%91%EB%B3%B5_%EA%B2%80%EC%82%AC
'Embedded system' 카테고리의 다른 글
시리얼 통신 시 오실로스코프로 char 확인하는 방법 (0) | 2023.04.12 |
---|---|
Arduino USB Host Shield (0) | 2023.02.03 |
How to use DWM3000EVB with NORDIC 52480 (0) | 2023.01.03 |
saleae logic analyzer (0) | 2022.12.19 |
influxDB (0) | 2022.12.12 |