打印
[资源共享]

芯圣的循环冗余校验CRC 计算单元

[复制链接]
539|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯圣电子官方QQ 于 2023-7-20 10:21 编辑

1 简介
本模块支持计算CRC 值和检验CRC 值,循环冗余校验(CRC)计算单元是根据
固定的生成多项式得到任一32 位全字的CRC 计算结果,用于验证数据传输或存
储的正确性和完整性。
2 CRC 主要功能
 CRC 编码
 一个32 位数据寄存器用于输入/ 输出
 CRC 计算时间:4 个AHB 时钟周期(HCLK)
 通用8 位寄存器(可用于存放临时数据)
 使用CRC-32 多项式:0x4C11DB7
= X 32  X 26  X 23  X 22  X16  X12  X11  X10  X 8  X 7  X 4  X 2  X 1
下图为CRC计算单元框图



3 CRC 功能描述
CRC 主要功能:
CRC 编码,对CRC_DATA 寄存器进行写操作,会生成CRC 编码的值;
可以通过设置寄存器CRC_CR 的RESET 位来重置寄存器CRC_DR 为0xFFFF
FFFF。该操作不影响寄存器CRC_IDR 内的数据。
在CRC 计算期间会暂停CPU 的写操作,因此可以对寄存器CRC_DR 进行连续
的写-读操作。
4 CRC 寄存器
CRC 计算单元包括2 个数据寄存器和1 个控制寄存器。
4.1 数据寄存器(CRC_DR)
地址偏移: 0x00
复位值: 0xFFFF FFFF


4.2 独立数据寄存器(CRC_IDR)
地址偏移: 0x04
复位值: 0x0000 0000


4.3 控制寄存器(CRC_CR)
地址偏移: 0x08
复位值: 0x0000 0000




使用特权

评论回复
沙发
两只袜子| | 2023-4-25 10:31 | 只看该作者
感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

196

主题

2037

帖子

1

粉丝