STM32第三篇
- 【1】STM32 CRC计算单元
- 【2】STM32 CRC简介
- 【3】STM32 CRC主要特性
- 【4】STM32 CRC功能描述
- 【5】STM32 CRC寄存器
- 【6】STM32 数据寄存器(CRC_DR)
- 【7】STM32 独立数据寄存器(CRC_IDR)
- 【8】STM32 控制寄存器(CRC_CR)
- 【9】STM32 CRC寄存器映像
【1】STM32 CRC计算单元
【1】小容量产品是指
闪存存储器
容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103××微控制器。
【2】中容量产品是指闪存存储器
容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103×x微控制器。
【3】大容量产品是指闪存存储器容
量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。
【4】互联型产品是指STM32F105xx和STM32F107xx微控制器。
除非特别说明,本章描述的模块适用于整个STM32F10xxx微控制器系列。
【2】STM32 CRC简介
循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任一32位全字的CRC计算结果。
在其他的应用中,CRC技术主要应用于核实数据传输或者数据存储的正确性和完整性。
标准EN/IEC60335-1即提供了一种核实闪存存储器完整性的方法。
CRC计算单元
可以在程序运行时计算出软件的标识
,之后与在连接时生成的参考标识比较,然后存放在指定的存储器空间
。
【3】STM32 CRC主要特性
- 使用CRC-32(以太网)多项式:Ox4C11DB7
- ×32+×26+×23+×22+×16+×12+×11+×10+×8+X7+×4+×2 +X+1
- 一个32位数据寄存器用于输入/输出
- CRC计算时间:4个AHB时钟周期(HCLK)
- 通用8位寄存器(可用于存放临时数据)
【4】STM32 CRC功能描述
CRC计算单元含有1个32位数据寄存器:
- 对该寄存器进行写操作时,作为输入寄存器,可以输入要进行CRC计算的新数据。
- 对该寄存器进行读操作时,返回上一次CRC计算的结果。
每一次写入数据寄存器,其计算结果是前一次CRC计算结果和新计算结果的组合(对整个32位字进行CRC计算,而不是逐字节地计算)。
在CRC计算期间会暂停
CPU
的写
操作,因此可以对寄存器CRC_DR进行背靠背写入或者连续地写-读操作。
可以通过设置寄存器CRC_CR
的RESET位来重置寄存器CRC_DR
为0xFFFF FFFF。该操作不影响寄存器CRC_IDR
内的数据。
【5】STM32 CRC寄存器
CRC计算单元包括2个数据寄存器和1个控制寄存器
【6】STM32 数据寄存器(CRC_DR)
【7】STM32 独立数据寄存器(CRC_IDR)
【8】STM32 控制寄存器(CRC_CR)
【9】STM32 CRC寄存器映像
下一篇 电源控制PWR