STM32单片机选型方法
一.STM32单片机选型方法
1.首先要确定需求:
性能需求:根据应用的复杂度和性能要求,选择合适的CPU性能和主频。
内存需求:确定所需的内存大小,包括RAM和Flash存储空间。
外设需求:根据应用所需的功能,选择具有相应外设的单片机,如USB、CAN、ADC、DAC、I2C、SPI等。
电源需求:考虑单片机的电源电压范围和功耗要求。
2.需求确定后就可以到官网进行选型
(1)网址:https://www.stmcu.com.cn/Product/pro_detail/PRODUCTSTM32/product
(2)不同系列介绍
STM32F系列:适用于通用应用,提供不同的性能和外设选项。
STM32L系列:低功耗系列,适用于电池供电的应用。
STM32H系列:高性能系列,适用于需要高处理能力的应用。
STM32W系列:无线系列,集成无线通信模块。
(3)具体参数选项选型
(4)导出选型表
上图中的表格还可以单击右上方的导出按钮导出表格为excel文档,离线进行选型。
二.STM32单片机模块名词解释
1.STM32微控制器中的定时器可以分为以下几种类型
16位定时器:这些定时器具有16位的计数器,可以用来进行时间测量、PWM信号生成、输入捕获等。16位定时器的计数范围为0到65535,适合于需要较高精度但计数范围有限的应用。
32位定时器:这些定时器具有32位的计数器,相比于16位定时器,32位定时器具有更大的计数范围,可以用来进行长时间的测量或者需要更高精度的应用。32位定时器的计数范围为0到4294967295。
电机控制定时器(16-bit):这些定时器专为电机控制应用设计,具有高级控制功能,如死区时间生成、互补输出、紧急停止等。它们通常具有多个通道,可以用来控制电机的速度和位置。
低功耗定时器:这些定时器专为低功耗应用设计,可以在微控制器进入低功耗模式时继续运行。它们通常具有较低的功耗,适合于需要长时间运行的电池供电应用。
高分辨率定时器:这些定时器具有高分辨率,可以用来进行精确的时间测量或者生成高精度的PWM信号。它们通常具有更高的计数频率,可以提供纳秒级的时间分辨率。
2.读取步进电机编码器计数,stm32通用定时器满足要求吗?
STM32微控制器中的通用定时器通常可以满足读取步进电机编码器计数的要求。通用定时器具有输入捕获功能,可以用来捕获外部信号的边沿,并记录当前的计数值。
通过比较连续捕获到的计数值,可以计算出编码器在一定时间内旋转的步数,从而得到电机的速度和位置信息。
在使用通用定时器读取编码器计数时,需要注意以下几点:
定时器时钟配置:需要根据编码器的分辨率和最大旋转速度来配置定时器的时钟频率,以确保定时器具有足够的分辨率和计数范围。
输入捕获配置:需要配置定时器的输入捕获通道,以捕获编码器信号的边沿。通常需要配置两个输入捕获通道,分别捕获编码器A相和B相的信号,以实现正反转的检测。
中断处理:为了实时处理编码器的信号,通常会使用中断来响应输入捕获事件。在中断服务程序中,可以读取定时器的捕获值,并计算出电机的速度和位置。
滤波处理:为了提高输入信号的抗干扰能力,可能需要对编码器信号进行滤波处理。STM32定时器通常提供了数字滤波器,可以用来滤除输入信号中的噪声。
3.STM32单片机中包含了多种不同的硬件模块和功能,以下是一些主要模块的解释:
比较器:STM32单片机中的比较器是一种模拟电路,用于比较两个模拟电压的大小。当一个电压高于另一个电压时,比较器的输出会发生变化,可以用来实现信号的阈值检测、ADC的窗口比较等功能。
放大器**:STM32单片机中的放大器通常指的是运算放大器(Op-Amp),可以用来放大模拟信号。STM32的运算放大器可以配置为多种工作模式,如跟随器、反相放大器、同相放大器等,用于模拟信号的处理和转换。
SAI:Serial Audio Interface(SAI)是一种专为音频数据传输设计的串行通信接口。STM32的SAI模块可以用来传输音频数据,支持I2S协议,适用于音频播放和录音等应用。
DCMI:Digital Camera Interface(DCMI)是一种专为数字相机设计的接口,用于接收来自摄像头的数据。STM32的DCMI模块可以用来接收和处理摄像头输出的图像数据,适用于图像采集和处理等应用。
SWPMI:Single Wire Protocol Master Interface(SWPMI)是一种单线通信接口,用于与外部设备进行通信。STM32的SWPMI模块可以用来与支持单线协议的外设进行数据交换,简化了通信接口的设计。
Math Accelerator:数学加速器是一种硬件加速模块,用于加速数学运算,如浮点运算、三角函数计算等。STM32的数学加速器可以提高数学运算的效率,适用于需要高速数学处理的应用。
RF:Radio Frequency(RF)模块指的是无线通信模块,用于实现无线数据传输。STM32的RF模块可以与外部RF收发器配合使用,实现无线通信功能,适用于无线传感器网络、远程控制等应用。
Trust'Zone:Trust'Zone是一种安全技术,用于在单片机内部创建一个安全的执行环境。STM32的Trust'Zone技术可以保护敏感数据和代码,防止未授权访问和篡改,适用于安全要求较高的应用。
TRNG:True Random Number Generator(TRNG)是一种真随机数生成器,用于生成不可预测的随机数。STM32的TRNG模块可以用来生成用于加密和安全应用的随机数,提高系统的安全性。
OTFDEC:On-The-Fly Decryption(OTFDEC)是一种实时解密技术,用于在数据读取时自动解密存储在闪存中的加密数据。STM32的OTFDEC模块可以提高数据的安全性,同时减少CPU的负担。
PKA:Public Key Accelerator(PKA)是一种公钥加速器,用于加速公钥加密算法的运算,如RSA、ECC等。STM32的PKA模块可以提高公钥加密和签名的效率,适用于安全通信和身份验证等应用。
AES/DES:Advanced Encryption Standard(AES)和Data Encryption Standard(DES)是两种常用的对称加密算法。STM32的AES/DES模块可以用来加密和解密数据,提高数据的安全性。
SHA/HMAC:Secure Hash Algorithm(SHA)和Hash-based Message Authentication Code(HMAC)是两种常用的加密哈希函数。STM32的SHA/HMAC模块可以用来生成数据的哈希值,用于数据完整性验证和消息认证等应用。
4.STM32单片机中有型号支持I2C和I3C是两种不同的通信协议,以下是I2C和I3C的主要区别:
通信方式**:
- **I2C**(Inter-Integrated Circuit)是一种串行通信协议,它使用两条线(SDA和SCL)进行数据传输和时钟同步。I2C支持多个主设备和多个从设备,通过地址来区分不同的设备。
- **I3C**(Improved Inter-Integrated Circuit)是I2C的改进版,它保留了I2C的基本通信机制,同时增加了一些新的特性,如更高的数据传输速率、动态地址分配、主从角色切换等。I3C还引入了第三条线(DCAP),用于动态地址分配和控制信号传输。
数据速率**:
- **I2C**的数据传输速率通常在几百kbps到几Mbps之间,具体速率取决于I2C总线的配置和电路的设计。
- **I3C**的数据传输速率比I2C更高,可以达到几十Mbps甚至更高,这使得I3C更适合于高速数据传输的应用。
地址分配**:
- **I2C**的地址分配是静态的,每个设备在设计时就分配了一个固定的7位或10位地址。
- **I3C**支持动态地址分配,设备可以通过DCAP线进行地址协商,从而简化了地址管理的复杂性。
主从角色**:
- **I2C**的主从角色是固定的,主设备负责发起通信并控制数据传输的过程。
- **I3C**支持主从角色切换,设备可以根据需要切换为主设备或从设备,这为通信提供了更高的灵活性。
应用场景**:
- **I2C**广泛应用于低速到中速的通信场合,如传感器数据采集、显示屏控制等。
- **I3C**由于其更高的数据传输速率和更灵活的通信机制,适用于高速数据传输和复杂系统中的设备管理。
5.在STM32系列处理器中有的型号有GPU功能
GPU(图形处理单元)主要负责图形数据的处理和显示,这包括2D和3D图形的渲染。STM32MP157是一款集成了3D GPU的处理器,它搭载了Vivante GC7000ULX3D图形引擎,支持OpenGL ES 2.0和OpenVG 1.1标准。
STM32MP157的3D GPU是基于Vivante技术,具有以下特性:
硬件架构:Vivante GC7000ULX3D图形引擎
支持的图形标准:OpenGL ES 2.0, OpenVG 1.1
主要应用:3D图形渲染,如游戏、动画和复杂图形用户界面(GUI)
6.STM32单片机配置特别说明(个别型号最大支持)
uart最多可以达到十个;
Cortex-M7的主频最大可以达到600M;
12位ADC通道最多可以达到42个,14位ADC通道最多的可以达到27个
相关文章:

STM32单片机选型方法
一.STM32单片机选型方法 1.首先要确定需求: 性能需求:根据应用的复杂度和性能要求,选择合适的CPU性能和主频。 内存需求:确定所需的内存大小,包括RAM和Flash存储空间。 外设需求:根据应用所需的功能&…...

gsap动画库的实践
先看效果: gsap动画库 安装插件:npm install gsap <template><div><h1 style"text-align: left">gsap的用法</h1><h1 style"text-align: left">https://gsap.com/resources/get-started</h1>&…...

LeetCode | 387.字符串中的第一个唯一字符
这道题可以用字典解决,只需要2次遍历字符串,第一次遍历字符串,记录每个字符出现的次数,第二次返回第一个出现次数为1的字符的下标,若找不到则返回-1 class Solution(object):def firstUniqChar(self, s):""…...

textarea 中的内容在word中显示换行不起作用
js文本换行在word显示 在JavaScript中,处理文本换行以确保它在Word中正确显示,通常需要将文本中的换行符转换为Word可识别的格式。在HTML中,换行通常是通过<br>标签来实现的,而在Word中,换行通常由段落标签<…...

Python 测试用例
在Python中编写测试用例通常使用unittest模块,这是Python标准库的一部分,专门用于编写和运行测试。下面是一个简单的测试用例的例子,展示了如何使用unittest模块来测试一个函数。 假设我们有一个简单的函数,用于计算两个数的和&a…...

树莓派等Linux开发板上使用 SSD1306 OLED 屏幕,bullseye系统 ubuntu,debian
Raspberry Pi OS Bullseye 最近发布了,随之而来的是许多改进,但其中大部分都在引擎盖下。没有那么多视觉差异,最明显的可能是新的默认桌面背景,现在是大坝或湖泊上的日落。https://www.the-diy-life.com/add-an-oled-stats-display-to-raspberry-pi-os-bullseye/ 通过这次操…...

SpringBoot3 整合 Mybatis 完整版
本文记录一下完整的 SpringBoot3 整合 Mybatis 的步骤。 只要按照本步骤来操作,整合完成后就可以正常使用。1. 添加数据库驱动依赖 以 MySQL 为例。 当不指定 依赖版本的时候,会 由 springboot 自动管理。 <dependency><groupId>com.mysql&l…...

图解Transformer学习笔记
教程是来自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 图解Transformer Attention为RNN带来了优点,那么有没有一种神经网络结构直接基于Attention构造,而不再依赖RNN、LSTM或者CNN的结构,这就是Trans…...

【Java并发编程之美 | 第一篇】并发编程线程基础
文章目录 1.并发编程线程基础1.1什么是线程和进程?1.2线程创建与运行1.2.1继承Thread类1.2.2实现Runnable接口1.2.3实现Callable接口(与线程池搭配使用)1.2.4小结 1.3线程常用方法1.3.1线程等待与通知1.3.2线程睡眠1.3.3让出CPU执行权1.3.4线…...

基于python-CNN卷积网络训练识别牛油果和猕猴桃-含数据集+pyqt界面
代码下载地址: https://download.csdn.net/download/qq_34904125/89383066 本代码是基于python pytorch环境安装的。 下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。 或可直接参考下面博文…...

论文笔记:ATime-Aware Trajectory Embedding Model for Next-Location Recommendation
Knowledge and Information Systems, 2018 1 intro 1.1 背景 随着基于位置的社交网络(LBSNs),如Foursquare和Facebook Places的日益流行,大量用户签到数据变得可用 这些大量签到数据的可用性带来了许多有用的应用,以…...

深度学习之---迁移学习
目录 一、什么是迁移学习 二、为什么需要迁移学习? 1. 大数据与少标注的矛盾: 2. 大数据与弱计算的矛盾: 3. 普适化模型与个性化需求的矛盾: 4. 特定应用(如冷启动)的需求。 三、迁移学习的基本问题有…...

百度网盘限速解决办法
文章目录 开启P2P下载30秒会员下载体验一次性高速下载服务导入“百度网盘青春版”后下载注册新号参与活动 获取下载直链后使用磁力链接下载不是办法的办法无效、已失效方法免限速客户端、老版本客户端、永久会员下载体验试用客户端,或类似脚本、工具获取下载直链后多…...

银河麒麟系统项目部署
使用服务器信息 软件:VMware Workstation Pro 虚拟机:ubtun 内存:20G 虚拟机连接工具: MobaXterm Redis连接工具: RedisDesktopManager 镜像:F:\Kylin-Server-10-8.2-Release-Build09-20211104-X86_64…...

Stable Diffusion【应用篇】【艺术写真】:粘土风之后陶瓷风登场,来看看如何整合AI艺术写真吧
在国外的APP Remini引爆了粘土滤镜后,接着Remini又推出了瓷娃娃滤镜。相当粘土滤镜,个人更喜欢瓷娃娃滤镜,因为陶瓷工艺更符合东方艺术审美。 下面我们就来看看陶瓷特效在AI写真方面的应用。话不多说,我们直接开整。 关于粘土整…...

手机IP地址距离多远会变:解析移动设备的网络定位奥秘
在移动互联网时代,手机IP地址扮演着至关重要的角色,它不仅是我们访问网络的基础,还常常与网络定位、地理位置服务等相关联。那么,手机IP地址在距离多远时会发生变化呢?手机IP地址距离多远会变?下面跟着虎观…...

ChatGPT中文镜像网站分享
ChatGPT 是什么? ChatGPT 是 OpenAI 开发的一款基于生成预训练变换器(GPT)架构的大型语言模型。主要通过机器学习生成文本,能够执行包括问答、文章撰写、翻译等多种文本生成任务。截至 2023 年初,ChatGPT 的月活跃用户…...

碳化硅陶瓷膜良好的性能
碳化硅陶瓷膜是一种高性能的陶瓷材料,以其独特的物理和化学特性,在众多领域展现出了广泛的应用前景。以下是对碳化硅陶瓷膜的详细介绍: 一、基本特性 高强度与高温稳定性:碳化硅陶瓷膜是一种非晶态陶瓷材料,具有极高的…...

每日一题——Python实现PAT乙级1028 人口普查 Keyboard(举一反三+思想解读+逐步优化)六千字好文
一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 题目链接编辑我的写法 专业点评 时间复杂度分析 空间复杂度分析 总结 我要更强…...

小程序 UI 风格,构建美妙视觉
小程序 UI 风格,构建美妙视觉...

使用Python在VMware虚拟机中模拟Ubuntu服务器搭建网站
在此之前可以先使用VS Code连接到虚拟机:Visual Studio Code连接VMware虚拟机-CSDN博客 安装Web服务器Apache sudo apt-get install apache2 在个别情况下需要对Apache服务器的配置文件进行调整: 打开etc路径下的apache2文件夹,根据端口…...

腾讯测试开发<ieg 实验室>
3.26 40min 自我介绍实习经历有无遇到什么难点,你是如何克服的在这个项目中你大概做了多少个测试用例,这么多测试用例你平时用什么工具进行管理的,每一次跑全部还是每次只跑一部分现在假设给你一个新的项目,需要你这边去做测试&a…...

windows命令帮助大全
有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联。 ATTRIB 显示或更改文件属性。 BREAK 设置或清除扩展式 CTRLC 检查。 BCDEDIT 设置启动数据库中的属性以控制启动加载。 CACLS 显示或修改文件的访问控制列表(ACL)。 CALL 从另一个批处…...

pytest中失败用例重跑
pip install pytest-rerunfailures 下载rerunfailures插件包 配置文件中加入命令 --reruns 次数 也可在命令行中pytest --rerun-failures2 可以在allure报告中看到重试效果...

http穿透怎么做?
众所周知http协议的默认端口是80,由于国家工信部要求,域名必须备案才给开放80端口,而备案需要固定公网IP,这就使得开放http80端口的费用成本和时间成本变的很高。那么能不能利用内网穿透技术做http穿透呢?下面我就给大…...

前端技术回顾系列 11|TS 中一些实用概念
在微信中阅读,关注公众号:CodeFit。 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注 我的公众号:CodeFit,为我的持续创作提供动力。 上文回顾:泛型在类和接口中的应用 上一篇文章我们回顾了 泛型 在 类 和 接口 中的应用。 通过使用泛型,我们…...

leetcode LRU 缓存
leetcode: LRU 缓存 LRU 全称为 Least Recently Used,最近最少使用,常常用于缓存机制,比如 cpu 的 cache 缓存,使用了 LRU 算法。LRU 用于缓存机制时,关键的是当缓存满的时候有新数据需要加载到缓存的,这个…...

LeetCode 2786.访问数组中的位置使分数最大:奇偶分开记录(逻辑还算清晰的题解)
【LetMeFly】2786.访问数组中的位置使分数最大:奇偶分开记录(逻辑还算清晰的题解) 力扣题目链接:https://leetcode.cn/problems/visit-array-positions-to-maximize-score/ 给你一个下标从 0 开始的整数数组 nums 和一个正整数 …...

嵌入式仪器模块:音频综测仪和自动化测试软件
• 24 位分辨率 • 192 KHz 采样率 • 支持多种模拟/数字音频信号的输入/输出 应用场景 • 音频信号分析:幅值、频率、占空比、THD、THDN 等指标 • 模拟音频测试:耳机、麦克风、扬声器测试,串扰测试 • 数字音频测试:平板电…...

计算商场折扣 、 判断体重指数 题目
题目 JAVA5 计算商场折扣分析:代码: JAVA6 判断体重指数分析:代码:大佬代码: JAVA5 计算商场折扣 描述 牛牛商场促销活动: 满100全额打9折; 满500全额打8折; 满2000全额打7折&…...