CRC校验

CRC校验
THEDICRC
什么是CRC?
CRC(循环冗余校验)是一种常用的数据校验算法,主要用于检测数据在传输或存储过程中是否发生了错误。它通过对数据内容进行特定数学处理(多项式除法),生成一个短小的校验码(CRC码),附加在数据后面
一起发送。
CRC在数据传输中的作用
检测数据错误
数据在传输过程中(如串口、网络、存储介质等)可能由于噪声、干扰、硬件故障等原因发生比特翻转、丢失或插入。
CRC能检测绝大多数常见的传输错误,尤其擅长发现突发错误(连续的多个比特发生错误)。
提高数据可靠性
发送方
:对原始数据使用CRC算法生成校验码,将其和数据一起发送。接收方
:收到数据后,用相同算法计算CRC码,与接收到的CRC码对比。
如果一致,说明数据很可能没有出错;如果不一致,说明数据被破坏,接收方可以丢弃数据或请求重发。
应用场景
各类串口通信(如UART、CAN、Modbus等)、网络协议(如以太网帧)以及闪存、硬盘等存储设备都广泛使用CRC作为数据完整性校验手段。
以及我们的固件升级
与启动安全
也会使用CRC校验
CRC原理与实现
百度