STM32循环冗余校验计算单元

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

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32循环冗余校验计算单元

    发表评论