[CortexM0--stm32f0308]CRC简述

来源:互联网 发布:富阳司法拍卖淘宝网 编辑:程序博客网 时间:2024/05/21 14:57

问题描述

CRC,即循环冗余码校验,是一种对传输/存储数据的完整性进行检查的校验算法。因为在许多地方可能都会用到,所以stm32f0308就将这个算法用一个CRC硬件计算单元实现在了IC中,当有应用要用到CRC时,那么就可以通过软件来控制该硬件单元实现需求。

CRC计算单元

框图如下:
这里写图片描述
具体的实现是在IC内部的,这个无法得知,因此只需要知道如何使用即可,而且使用上很简单。将需要进行计算的源数据从Data register(input)写入,启动CRC计算单元计算,应当就能在Data register(output)中读到计算后的结果咯。
其实stm32f0308的CRC Data register的input和output使用的是同一个register,因为必须先输入,再得到输出,然后才能继续下一个输入……从这个过程可以看到,input和output并不是同时在使用的,那么直接用一个register复用两种功能,就OK。该register可以32 bit操作,也可16 bit, 8 bit的操作,这样可满足不同的需求了。

0 0
原创粉丝点击