当前位置: 首页 > news >正文

STM32H750外设之ADC通道选择

目录

概述

1 通道选择功能介绍

2 通道选择( SQRx、 JSQRx)

2.1 通道复用

2.1.1 通道介绍

2.1.2 通道框图

2.2  转换分组

2.3 内部专用通道

3 通道预选寄存器 (ADCx_PCSEL)

3.1 功能介绍

3.2 预选通道寄存器


概述

本位主要介绍STM32H750外设之ADC通道选择,包括如何通过配置寄存器来实现通道的自由配置。并介绍了和通道选择相关寄存器的控制位的含义。

1 通道选择功能介绍

STM32H7 每个 ADC 的复用通道多达20条,它们可以通过配置寄存器的方式,实现通道的自由选择。这些寄存器包括:SQRx、 JSQRx,通道预选寄存器 (ADCx_PCSEL)。

2 通道选择( SQRx、 JSQRx)

2.1 通道复用

2.1.1 通道介绍

STM32H7 每个 ADC 的复用通道多达20条,其分别有如下这些可供选择:

1) 快速模拟输入:    6 路来自模拟焊盘和 GPIO 焊盘的快速模拟输入 (ADCx_INP/INN[0..5])

2) 慢速模拟输入 :  14 路来自 GPIO 焊盘的慢速模拟输入 (ADCx_INP/INN[6..19])

3) 5 路内部模拟输入:

– 内部温度传感器 (VSENSE) 连接到 ADC3_INP/INN18
– 内部参考电压 (VREFINT) 连接到 ADC3_INP/INN19
– VBAT 监测通道 (VBAT/4) 连接到 ADC3_INP/INN17
– DAC 内部通道 1,连接到 ADC2_INP/INN16
– DAC 内部通道 2,连接到 ADC2_INP/INN17

2.1.2 通道框图

1)ADC1通道框图

2)ADC2通道框图

 3)ADC3通道框图

2.2  转换分组

可以将转换分为两组:常规转换和注入转换

每个组包含一个转换序列,该序列可按任意顺序在任意通道上完成。

一个实例:

可按以下顺序对序列进行转换,分组方式如下:

ADCx_INP/INN3、 ADCx_INP/INN8、ADCx_INP/INN2、 ADCx_INP/INN2、ADCx_INP/INN0、 ADCx_INP/INN2、 ADCx_INP/INN2、ADCx_INP/INN15。

1)常规转换组

最多由 16 个转换构成。必须在 ADCx_SQRy 寄存器中选择转换序列的常规通道及其顺序。常规转换组中的转换总数必须写入 ADCx_SQR1 寄存器中的 L[3:0] 位。

位 3:0 L[3:0]: 常规通道序列长度 (Regular channel sequence length)
通过软件写入这些位可定义常规通道转换序列中的转换总数。
0000: 1 次转换
0001: 2 次转换
...
1111: 16 次转换

2)注入转换组

最多由 4 个转换构成。必须在 ADCx_JSQR 寄存器中选择转换序列的注入通道及其顺序。注入转换组中的转换总数必须写入 ADCx_JSQR 寄存器中的 L[1:0] 位。

位 1:0 JL[1:0]: 注入通道序列长度 (Injected channel sequence length)
通过软件写入这些位可定义注入通道转换序列中的转换总数。
00: 1 次转换
01: 2 次转换
10: 3 次转换
11: 4 次转换

配置寄存器时注意:

不得在可能常规转换时对 ADCx_SQRy 寄存器进行修改。因此,必须先写入 ADSTP=1 停止ADC 常规转换。

2.3 内部专用通道

1)温度传感器 VSENSE

温度传感器 VSENSE连接到通道 ADC3 VINP[18]。

2)内部参考电压 VREFINT

内部参考电压 VREFINT连接到 ADC3 VINP[19]。

3)VBAT

VBAT通道连接到通道 ADC3 VINP[17]。

注意点:

要对其中一条内部模拟通道进行转换,必须先对 ADCx_CCR 寄存器中的 VREFEN、VSENSEEN或 VBATEN 位进行编程,以使能相应的模拟源。

3 通道预选寄存器 (ADCx_PCSEL)

3.1 功能介绍

对于每条通过 SQRx 或 JSQRx 选择的通道,必须先对相应的 ADCx_PCSEL 位进行配置。该 ADCx_PCSEL 位控制集成到 IO 中的传输门。 ADC 输入 MUX 会根据 SQRx 和 JSQRx以非常快的速度选择 ADC 输入,而集成到 IO 中的传输门的响应速度不会像 ADC 复用器那样快。为了避免传输门对 IO 的控制出现延迟,必须预选输入通道,这些通道将在 SQRx 和JSQRx 中选择。

输入通道是根据每路 ADC 输入的 VINP[i] 选择的。如果 ADC1 要将 ADC123_INP2(VINP[2])转换为差分模式,则还需要在 ADCx_PCSEL 中选择 ADC123_INP6(VINP[6])。一些 ADC 输入连接至 ADCx 的多个 VINP[i]。这些输入会与 ADCx_PCSEL 寄存器位进行或运算。

3.2 预选通道寄存器

ADC x 通道预选寄存器 (ADCx_PCSEL)( x=1 到 3)
ADC x channel preselection register
偏移地址: 0x1C
复位值: 0x0000 0000


位 19:0 PCSELx:通道 x (VINP[i]) 预选 (Channel x (VINP[i]) pre selection)

这些位由软件写入,用于预选 IO 实例中要转换的输入通道。

0:未预选通道 x (Vinp x) 进行转换,该通道的 ADC 转换结果显示的结果不正确。
1:预选输入通道 x (Vinp x) 进行转换

注意:

仅当 ADSTART=0 且 JADSTART=0 时(这可确保当前未进行任何转换),才允许通过软件对这些位执行写操作。
 

相关文章:

STM32H750外设之ADC通道选择

目录 概述 1 通道选择功能介绍 2 通道选择( SQRx、 JSQRx) 2.1 通道复用 2.1.1 通道介绍 2.1.2 通道框图 2.2 转换分组 2.3 内部专用通道 3 通道预选寄存器 (ADCx_PCSEL) 3.1 功能介绍 3.2 预选通道寄存器 概述 本位主要介绍STM32H750外设之…...

【Unity2D 2022:Cinemachine】相机跟随与地图边界

一、导入Cinemachine工具包 1. 点击Window-Package Manager,进入包管理界面 2. 点击All,找到Cinemachine工具包,点击Install 二、相机跟随角色 1. 选中Main Camera,点击Component-Cinemachine-CinemachineBrain,新建…...

ssh远程连接的相关配置

连接同一个局域网下: 正好这里来理解一下计算机网络配置中的ip地址配置细节, inet 172.20.10.13: 这是主机的IP地址,用于在网络中唯一标识一台设备。在这个例子中,IP地址是172.20.10.13。 netmask 255.255.255.240: 这是子网掩码…...

在leafet上画圆、多边形、线、矩形

在leaflet上画圆、多边形、线、矩形 <template><div id"map" class"map"></div> </template><script> import L from leaflet; export default {data () {return {myGroup: ,};},mounted () {this.initMaps()this.huizhiro…...

SpringBoot中如何在服务器进行校验?

数据校验就是数据的合法性检查&#xff0c;在服务器端也可以对数据进行校验&#xff0c;一般使用JSR303 校验 JSR303是Java为Bean数据合法性校验提供的标准框架&#xff0c;是一种声明式校验 JSR303通过在Bean属性上标注类似于NotNull、Max等注解来指定校验规则&#xff0c;并…...

element ui 的el-input输入一个字后失去焦点,需重新点击输入框才能再次输入

解决方案&#xff1a; 我是form表单嵌套表格&#xff0c;里面的el-input输入框&#xff0c;输入第一个值的时候会突然失去焦点&#xff0c;需要再次点击输入框才能正常输入&#xff0c;原因是table的key值&#xff0c;需要改成正常的index即可&#xff0c;如果你是循环的&…...

【绝地求生game】

编写一个完整的《绝地求生》这样的游戏程序代码是一个庞大的工程&#xff0c;涉及到成千上万行的代码和复杂的多模块协作。在这里&#xff0c;我可以提供一个非常简化的示例&#xff0c;用于演示游戏编程中可能用到的基本概念&#xff0c;比如玩家移动、基本物理和简单的游戏逻…...

Mac上Steam安装的游戏已经卸载,但游戏的快捷方式图标仍存在的解决方式

打开终端&#xff0c;输入以下内容&#xff0c;回车。 open ~/Applications 在弹出的窗口中&#xff0c;会列出对应的快捷方式&#xff0c;按需删除即可。 实际上打开的是 /Users/改为你的用户名/Applications 文件夹下的内容。因此也可以通过打开访达&#xff08;Finder&am…...

PTA 判断两个矩阵相等

Peter得到两个n行m列矩阵&#xff0c;她想知道两个矩阵是否相等&#xff0c;请你用“Yes”&#xff0c;“No”回答她&#xff08;两个矩阵相等指的是两个矩阵对应元素都相等&#xff09;。 输入格式: 第一行输入整数n和m&#xff0c;表示两个矩阵的行与列&#xff0c;用空格隔…...

《征服数据结构》双向链表

摘要&#xff1a; 1&#xff0c;双链表的介绍 2&#xff0c;双链表的用途 3&#xff0c;双链表的节点插入和删除 1&#xff0c;双链表的介绍 前面我们讲过单链表&#xff0c;单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多&#xff0c;比如删除倒数第…...

我用 Midjourney 的这种风格治愈了强迫症

在 Midjourney 能够实现的各种布局之中&#xff0c;有两种风格因其简洁、有序而独居魅力&#xff0c;它们就是平铺 (Flat Lay) 和 Knolling (Knolling 就是 Knolling, 无法翻译&#x1f923;)。要在现实生活中实现这样的美学效果并不容易&#xff0c;你需要精心挑选各种小物件&…...

三维大场景管理-3Dtiles规范

简介 &#xff1a; 这篇文章都是三年前写的了&#xff0c;一直在笔记库存中&#xff0c;今天把他放出来。主要是讲Cesium 的3Dtiles 格式&#xff0c;当然3Dtiles主要是解决场景管理大场景的LOD实现的问题&#xff0c;不管是剔除渲染性能优化之Culling 剔除或者 LOD 、3Dtiles…...

Flutter 中的 FractionalTranslation 小部件:全面指南

Flutter 中的 FractionalTranslation 小部件&#xff1a;全面指南 在 Flutter 的丰富布局库中&#xff0c;FractionalTranslation 是一个允许你将子组件沿着一个轴或两个轴进行部分平移的动画小部件。这种类型的平移通常用于创建滑动效果&#xff0c;如卡片的滑动删除或滑动展…...

Thrift快速入门开发demo

Thrift快速入门开发demo 一、认识Thrift thrift是什么?一个RPC 代码生成框架,使用它的IDL(Interface Defination Language,接口定义语言)定义你想要实现的接口,然后它就会生成对应语言的远程调用框架代码,用户只需要实现接口逻辑,不用关心具体的细节。 tutorial:htt…...

关于C++智能指针复习总结

RAII(Resource Acquisition Is Initialization): 资源获得即初始化 利用对象生命周期来控制程序的资源(将资源交给对象处理) 智能指针利用了该思想 将资源交给一个对象, 初始化资源(可以是指针或者等等资源), 释放交给析构函数 因为析构函数无论是什么场景, 对象销毁时一定会…...

Prometheus Operator创建告警规则并接入钉钉报警

prometheus之钉钉报警 前言1. 添加prometheus报警规则1.2 添加自定义报警规则文件 2. 配置钉钉报警2.2 部署dingding插件 3. 编写alertmanager配置文件 前言 在kubenetes上安装了kube-promethues&#xff08;包含Prometheus Operator&#xff09;,程序正常跑起来了&#xff0c…...

Word整理论文参考文献

1.安装Zotero软件 2.安装Zotero的Chrome网站插件&#xff0c;并将插件固定到浏览器 3.安装Word的Zotero插件 4.在DBLP网站https://dblp.org/search 搜索需要添加的参考文献->点击BibTex->点击网页右上角的Zotero符号&#xff08;即第二步所指的符号&#xff09;->至…...

计算机网路概述

目录 计算机网络的概念 计算机网络的定义&#xff1a; 计算机网络的组成&#xff1a; 终端系统/资源子网 通信子网 计算机网络的类型 按照拓扑分类​编辑 按照范国分类&#xff1a; 按传输方式进行分类 计算机网络体系结构 传输方式 按照传输方向区分 按照传输对象…...

832. 翻转图像 - 力扣

1. 题目 给定一个 n x n 的二进制矩阵 image &#xff0c;先 水平 翻转图像&#xff0c;然后 反转 图像并返回 结果 。 水平翻转图片就是将图片的每一行都进行翻转&#xff0c;即逆序。 例如&#xff0c;水平翻转 [1,1,0] 的结果是 [0,1,1]。 反转图片的意思是图片中的 0 全部被…...

mumu 模拟器安装

1.下载安装 下载地址 Win 历史版本&#xff1a;http://mumu.163.com/update/win/Mac 历史 版本&#xff1a;http://mumu.163.com/20200515/25905_880858.html 2.设置为竖屏 在设置中心--界面设置页面设置宽720&#xff0c;高1280&#xff0c;DPI为240&#xff0c;如下图所示。…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...