1 概述 SWM341 系列所有型号 CRC 模块操作均相同,主要应用于核实数据传输或者数据存储的正确性和完整性,使用前需使能 CRC 模块时钟。
CRC 模块分为 CRC-32 和 CRC-16 两个算法。
使用 CRC-32 多项式进行计算时,输入数据有效位宽可选择为 32Bit、16Bit、8Bit,使用 CRC-16 多项式进行计算时,输入数据有效位宽可选择 16Bit、8Bit。
2 特性
⚫ 支持 CRC-32 码多项式
◼ 生成多项式:X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
⚫ 支持 CRC-16 码多项式
◼ 生成多项式:X16+X12+X5+1
⚫ 多项式 x^8+x^2+x+1
⚫ 多项式 x^16+x^15+x^2+1
⚫ 支持输出结果设置,包括翻转、取反
⚫ 支持初始值自定义
⚫ 支持输入可选择取反
3模块结构框图
CRC 循环冗余检验结构框图如图所示:
4功能描述
计算步骤
⚫ 根据需求,通过 CR 寄存器选择 CRC 算法、输入数据有效位宽、输出结果
⚫ 根据需求,通过 INIVAL 寄存器设置 CRC 初始值
⚫ 通过 CR 寄存器使能 CRC 计算
⚫ 通过 DATAIN 寄存器向 CRC 计算单元输入要计算的数据
⚫ 通过 RESULT 寄存器读取计算结果
|