半小时搞懂STM32面经知识——ADC

2024-05-14 02:52

本文主要是介绍半小时搞懂STM32面经知识——ADC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.ADC

1.1 ADC是什么?

将连续变量的模拟信号转换为离散变量的数字信号

1.2 ADC的位数?(采样精度)

F1和F4都具有3个ADC,F1可提供21个输入通道,F4可以提供24个输入通道。
F4的ADC支持12位,10位,8位和6位精度,F1只支持12位
ADC的数字存储是12位的的话,“111111111111”=4095,转换的电压范围是0v-3.3v的话,转换器就会把0v-3.3v平均分成4096份
在这里插入图片描述
其他位同理。

1.3 ADC的采样频率

F1的ADC最大采样频率为1Msps,2路交替采样可到2Msps(F1不支持3路交替采样)。F4的ADC最大采样频率为2.4Msps,3路交替采样可到7.2Msps。

1.4 ADC转换模式

①单次转换:ADC只执行一次转换
②连续转换:转换结束之后马上开始新的转换
③扫描:ADC扫描被规则通道和注入通道选中的所有通道,在每个组的每个通道上执行单次转换。在每个转换结束时,这一组的下一个通道被自动转换。如果设置了CONT位(开启了连续 转换模式),转换不会在选择组的最后一个通道上停止,而是再次从选择组的第一个通道继续转换。 简单说就是对所有所选中的通道进行转换!
④间断:触发一次,转换一个通道,在触发,在转换。在所选转换通道循环,由触发信号启动新一轮的转换,直到转换完成为止。

1.5 ADC工作原理

采样: 模拟信号以固定的时间间隔进行采样,获得一系列模拟信号的离散样本。
量化: 采样得到的模拟信号样本被映射到固定数量的离散级别,这个过程叫做量化。量化级别越多,ADC的分辨率越高。
编码:量化后的数值需要转换为数字编码。最常见的编码方式是二进制编码
在这里插入图片描述
1.电压
2.ADC输入通道
3.注入通道规则通道
规则通道:规则通道相当于你正常运行的程序,看它的名字就可以知道,很规矩,就是正常执行程序
注入通道:注入通道可以打断规则通道,听它的名字就知道不安分,如果在规则通道转换过程中,有注入通道进行转换,那么就
要先转换完注入通道,等注入通道转换完成后,再回到规则通道的转换流程
在这里插入图片描述
4.ADC时钟:ADDCLK,时钟控制器提供的ADCCLK时钟和PCLK2(APB2时钟)同步。
STM32的ADC最大的转换速率为1MHz,也就是说最快转换时间为1us,为了保证ADC转换结果的准确性,ADC的时钟最好不超过14M。T = 采样时间 + 12.5个周期,其中1周期为1/ADCCLK。
5.外部触发转换
ADC 转换可以由ADC 控制寄存器2: ADC_CR2 的ADON 这个位来控制,写1 的时候开始转换,写0 的时候停止转换;
还可以支持外部事件触发转换,具体的触发源由ADC_CR2的EXTSEL[2:0]位(规则通道触发源 )和 JEXTSEL[2:0]位(注入通道触发源)控制。
6.中断
中断触发条件有三个,规则通道转换结束,注入通道转换结束,或者模拟看门狗状态位被设置时都能产生中断

1.6 问题

ADC采样精度?数据多少位ADC参数?精度有什么决定?
模数转换的精确程度。F4支持12,10,8,6;F1只支持12。精度由分辨率,信噪比,采样速率,转换时间;
ADC如何提升精度?
提升ADC分辨率,采用滤波电路减少噪声和干扰,增加采样时间,定期校准和校正;
这个ADC部分是怎么实现和选择的?
ADC工作原理?如何实现?
采样,量化,编码,输出;给定模拟参考电压Vref,ADC_GPIOx采集外部信号,通过注入/规则通道到模数转换器,写入数据寄存器,输出。
ADC的通道数是多少?
一共支持18个引脚支持ADC,包括16个外部和2个内部信号源
采样时间和转换时间?
采样时间是采集模拟信号的时间长度,转换时间是将模拟信号转换为数字信号的时间长度。
ADC支持哪些触发源?
软件触发,外部触发源,外部事件触发(包括内部定时器触发和外部IO触发)
ADC的转换模式?
单次,多次,扫描,间断

这篇关于半小时搞懂STM32面经知识——ADC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/987555

相关文章

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

一文带你搞懂Nginx中的配置文件

《一文带你搞懂Nginx中的配置文件》Nginx(发音为“engine-x”)是一款高性能的Web服务器、反向代理服务器和负载均衡器,广泛应用于全球各类网站和应用中,下面就跟随小编一起来了解下如何... 目录摘要一、Nginx 配置文件结构概述二、全局配置(Global Configuration)1. w

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig