码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • STM32 CRC计算单元(循环冗余校验)


    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

  • 相关阅读:
    0704~springboot整合ES&RabbitMQ
    神经网络分类任务
    Scrapy----Scrapy简介
    【Houdini】使用Houdini的Karma渲染器渲染流体
    node.js室内装修风格选择系统毕业设计-附源码211552
    Spring MVC 高级框架的核心
    Visual Studio Code---介绍
    OpenCV [c++](图像处理基础示例程序汇总)
    基于Java演唱会购票系统设计实现(源码+lw+部署文档+讲解等)
    C/C++的内存管理
  • 原文地址:https://blog.csdn.net/m0_45463480/article/details/127952315
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号