STM32 A/D转换器

news2024/11/28 10:55:02

目录

模拟量输入通道

A/D转换器简介

模拟量输入信号类型与量程自动转换

量程自动转换

STM32F103ZET6集成的ADC模块

STM32的ADC的主要特征

STM32的ADC模块结构

ADC中断事件主要有以下3个:


模拟量输入通道

模拟量输入通道一般由信号处理、模拟开关、放大器、采样—保持器和A/D转换器组成。 根据需要,信号处理可选择的内容包括小信号放大、信号滤波、信号衰减、阻抗匹配、电平变换、非线性补偿、电流/电压转换等。

A/D转换器简介

在计算机控制系统中,大多采用低、中速的大规模集成A/D转换芯片。 对于低、中速A/D转换器,这类芯片常用的转换方法有计数—比较式、双斜率积分式和逐次逼近式3种。计数比较式器件简单、价格便宜,但转换速度慢,较少采用。双斜率积分式精度高,有时也采用。由于逐次逼近式A/D转换技术能很好地兼顾速度和精度,故它在16位以下的A/D转换器件中得到了广泛的应用。 近几年,又出现了16位以上的∑-ΔA/D转换器、流水线型A/D转换器和闪速型A/D转换器。

模拟量输入信号类型与量程自动转换

模拟量输入信号主要有以下两类: 第一类为传感器输出的信号,如: ⑴ 电压信号:一般为mV信号,如热电偶(TC)的输出或电桥输出。 ⑵ 电阻信号:单位为Ω,如热电阻(RTD)信号,通过电桥转换成mV信号。 ⑶ 电流信号:一般为μA信号,如电流型集成温度传感器AD590的输出信号,通过取样电阻转换成mV信号。

对于以上这些信号往往不能直接送A/D转换,因为信号的幅值太小,需经运算放大器放大后,变换成标准电压信号,如0~5V,1~5V,0~10V,-5V~+5V等,送往A/D转换器进行采样。有些双积分A/D转换器的输入为-200mV~+200mV或-2V~+2V,有些A/D转换器内部带有程控增益放大器(PGA),可直接接受mV信号。 第二类为变送器输出的信号,如: ⑴ 电流信号:0~10mA(0~1.5kΩ负载)或4~20mA(0~500Ω负载)。 ⑵ 电压信号:0~5V或1~5V等。 电流信号可以远传,通过一个标准精密取样电阻就可以变成标准电压信号,送往A/D转换器进行采样,这类信号一般不需要放大处理。

量程自动转换

由于传感器所提供的信号变化范围很宽(从微伏到伏),特别是在多回路检测系统中,当各回路的参数信号不一样时,必须提供各种量程的放大器,才能保证送到计算机的信号一致(如0~5V)。 在模拟系统中,为了放大不同的信号,需要使用不同倍数的放大器。 随着计算机的应用,为了减少硬件设备,已经研制出可编程增益放大器(Programmable Gain Amplifier),简称PGA,其放大倍数可根据需要用程序进行控制。 采用这种放大器,可通过程序调节放大倍数,使A/D转换器满量程信号达到均一化,因而大大提高测量精度。这就是量程自动转换。

STM32F103ZET6集成的ADC模块

STM32F103ZET6 微控制器集成有18路12位高速逐次逼近型模数转换器(ADC),可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阈值。 ADC的输入时钟不得超过14MHz,由PCLK2经分频产生。

STM32的ADC的主要特征

STM32F103的ADC的主要特征如下:

(1)12位分辨率。

(2)转换结束、注入转换结束和发生模拟看门狗事件时产生中断。

(3)单次和连续转换模式。

(4)从通道0到通道n的自动扫描模式。

(5)自校准功能。

(6)带内嵌数据一致性的数据对齐。

(7)采样间隔可以按通道分别编程。

(8)规则转换和注入转换均有外部触发选项。

(9)间断模式。

(10)双重模式(带2个或以上ADC的器件)。

(11)ADC转换时间:时钟为56MHz时为1μs(时钟为72MHz为1.17μs)。

(12)ADC供电要求:2.4~3.6V。

(13)ADC输入范围:VREF-≤VIN≤VREF+。

(14)规则通道转换期间有DMA请求产生。

STM32的ADC模块结构

ADC相关引脚有:

(1)模拟电源VDDA:等效于VDD的模拟电源且2.4V≤VDDA≤VDD(3.6V)。

(2)模拟电源地VSSA:等效于Vss的模拟电源地。

(3)模拟参考正极VREF+:ADC使用的高端/正极参考电压,2.4V≤VREF+≤VDDA。

(4)模拟参考负极VREF-:ADC使用的低端/负极参考电压,VREF-=VSSA。

(5)模拟信号输入端ADCx_IN[15:0]:16个模拟输入通道。

1. ADC通道及分组 STM32F103微控制器的ADC最多有18路模拟输入通道。除了ADC1_IN16与内部温度传感器相连,ADC1_IN17与内部参照电压VREFINT(1.2V)相连,其他的16路通道ADCx_IN0~ADCx_IN15都被连接到STM32F103微控制器对应的I/O引脚上,可以用作模拟信号的输入。 为了更好地进行通道管理和成组转换,借鉴中断中后台程序与前台程序的概念,STM32F103微控制器的ADC根据优先级把所有通道分为两个组:规则通道组和注入通道组。

(1)规则通道组 划分到规则通道组(group of regular channel)中的通道称为规则通道。大多数的情况下,如果仅是一般模拟输入信号的转换,那么将该模拟输入信号的通道设置为规则通道即可。 规则通道组最多可以有16个规则通道,当每个规则通道转换完成后,将转换结果保存到同一个规则通道数据寄存器,同时产生ADC转换结束事件,可以产生对应的中断和DMA请求。 (2)注入通道组 划分到注入通道组(group of injected channel)中的通道称为注入通道。如果需要转换的模拟输入信号的优先级较其他模拟输入信号要高,那么可将该模拟输入信号的通道归入注入通道组中。

注入通道组转换的启动有两种方式:触发注入和自动注入。 (1) 触发注入。 触发注入方式与中断的前后台处理非常相似。中断会打断后台程序的正常运行,转而执行该中断对应的前台中断服务程序,在触发注入方式中,规则通道组可以看成后台的例行程序,而注入通道组可以视作前台的中断服务程序。 (2)自动注入。 在自动注入方式下,注入通道组将在规则通道组后被自动转换。

2. ADC工作过程 ADC通道的转换过程如下:

(1)输入信号经过ADC的输入信号通道ADCx_IN0~ADCx_IN15被送到ADC部件(即图11-2中的模拟至数字转换器)。

(2)ADC部件需要受到触发信号后才开始进行A/D转换,触发信号可以使用软件触发,也可以是EXTI外部触发或定时器触发。规则通道组的硬件触发源有EXTI_11、TIM8_TRGO、TIM1_CH1、TIM1_CH2、TIM1_CH3、TIM2_CH2、TIM3_TRGO和TIM4_CH4等,注入通道组的硬件触发源有EXT1_15、TIM8_CH4、TIM1_TRGO、TIM1_CH4、TIM2_TRGO、TIM2_CHI、TIM3_CH4和TIM4 TRGO等。

(3)ADC部件接收到触发信号后,在ADC时钟ADCCLK的驱动下,对输入通道的信号进行采样、量化和编码。

(4)ADC部件完成转换后,将转换后的12位数值以左对齐或者右对齐的方式保存到一个16位的规则通道数据寄存器或注入通道数据寄存器中,产生ADC转换结束/注入转换结束事件,可触发中断或DMA请求。

3.ADC触发转换 STM32F103微控制器ADC转换可以由外部事件触发(如果设置了ADCCR2寄存器的EXTTRIG控制位),例如定时器捕获、EXTI线等。

(1)ADC1和ADC2 ①1规则通道。 对于ADC1和ADC2的规则通道,外部触发转换事件有以下8个:SWSTART(软件控制位)、TIM1_CC1、TIM1_CC2、TIM1_CC3、TIM2_CC2、TIM3_TRGO、TIM4_CC4、EXTI_11/TIM8_TRGO。 ② 注入通道对于ADC1和ADC2的注入通道,外部触发转换事件有以下8个:JSWSTART(软件控制位)、TIM1_TRGO、TIM1_CC4、TIM2_TRGO、TIM2_CC1、TIM3_CC4、TIM4_TRGO、EXTI_15/TIM8_CC4。

(2)ADC3 ① 规则通道。 对于ADC3的规则通道,外部触发转换事件有以下8个:SWSTART(软件控制位)、TIM3_CC1、TIM2_CC3、TIM1_CC3、TIM8_CC1、TIM8_TRGO、TIM5_CC1和TIM5_CC3。 ② 注入通道对于ADC3的注入通道,外部触发转换事件有以下8个:JSWSTART(软件控制位)、TIM1_TRGO、TIM1_CC3、TIM8_CC2、TIM8_CC4、TIM5_TRGO和TIM5_CC4。

4. ADC中断

ADC在每个通道转换完成后,可产生对应的中断请求。对于规则通道,如果ADCCR1寄存器的EOCIE位置1,则会产生EOC中断;对于注入通道,如果ADC_CR1寄存器的JEOCIE位置1,则会产生EOC中断。而且,当ADC1和ADC3的规则通道转换完成后,可产生DMA请求。 ADC在每个通道转换完成后,如果总中断和ADC中断未被屏蔽,则可产生中断请求,跳转到对应的ADC中断服务程序中执行。其中,ADC1和ADC2的中断映射在同一个中断向量上,而ADC3的中断有自己的中断向量。

ADC中断事件主要有以下3个:

(1)ADC_IT_EOC,EOC(End Of Conversion)中断、即规则组转换结束中断,针对规则通道。

(2)ADC_IT_JEOC,JEOC(End Of inJected Conversion)中断,即注入组转换结束中断,针对注入通道。

(3)ADC_IT_AWD:AWDOG(Analog WatchDOG)中断,即模拟看门狗中断。

5.DMA请求 并非所有ADC的规则通道转换结束后都能产生DMA请求,只有当ADC1和ADC3的规则通道转换完成后,可产生DMA请求,并将转换的数据从数据寄存器ADC_DR传送到用户指定的目标地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2206573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MES管理系统解决方案常见的应用场景

在现代制造业的浪潮中,车间管理的效率与智能化水平成为了企业竞争力的关键因素。许多车间管理者都耳闻MES管理系统解决方案能够显著优化生产执行流程,但由于缺乏亲身体验,往往对此持保留态度。那么,MES管理系统究竟能否如传闻般发…

po框架的了解和应用

https://www.cnblogs.com/xiaolehong/p/18458470 笔记 任务:1、通过po框架输入测试报告 2、编写自动化测试框架 3、总结测试讲解稿 自动化测试框架概念: 自动化测试框架是一个集成体系,这个体系中包含测试功能的函数、测试数据源、测试对以及重要的模块。 作用:用于解决或…

MIDIPLUS 50周年丨中国国际乐器展览会首日盛况

10月10日,由中国乐器协会、上海国展展览中心有限公司、法兰克福展览(上海)有限公司共同主办的中国(上海)国际乐器展览会在上海新国际博览中心(上海市浦东新区龙阳路2345号)盛大开幕。 2024上海…

ART 光学跟踪系统:通过 VR HMD 解锁完全沉浸式 VR 体验

在虚拟现实体验中,完全沉浸式虚拟现实体验应该既准确又舒适。当与现实世界的物体融合时,虚拟现实的表现必须与现实精确匹配。这意味着所使用的运动跟踪系统必须为整套项目提供可靠且可重复的高精度运动数据,以及体感无法察觉到的超低延迟。AR…

水深探测仪的作用和使用方法

在水域救援的行动里,救援人员时刻面临着复杂多变、充满未知的水域状况。当接到救援任务奔赴现场,那片需要涉足的水域就像一个神秘莫测的异世界,挑战着所有人的认知与勇气。 水深探测仪作为一种专用于测量水域深度的设备,通过声波和…

宝塔 进程守护管理器 神坑,再次跌入。thinkphp-queue队列 勤勤学长

如果,你有在使用【进程守护管理器】,记得在更新/重启,甚至卸载重新安装后,重启服务器。 事情的起因是,昨日服务器突然异常,网站无法正常访问,进入宝塔面板,发现 cpu和负载率均超过1…

甘肃小米,一口软糯,满是乡愁

🎈甘肃小米,自然的馈赠🎈🌾家人们,今天必须给大家安利来自甘肃的小米!💛✨甘肃,那片广袤而神奇的土地,孕育出的小米有着别样的魅力。颗粒饱满,色泽金黄&#…

RDD优化:缓存和checkpoint机制、数据共享(广播变量、累加器)、RDD的依赖关系、shuffle过程、并行度说明

文章目录 1. 缓存和checkpoint机制1.1 缓存使用1.2 checkpoint1.3 缓存和checkpoint的区别 2. 数据共享2.1 广播变量2.2 累加器 3. RDD依赖关系4.shuffle过程4.1 shuffle介绍4.2 spark计算要尽量避免shuffle 5. 并行度 1. 缓存和checkpoint机制 缓存和checkpoint也叫作rdd的持…

源代码加密有哪些技巧呢?除了用加密软件还有哪些方法?

导语:源代码加密是保护软件核心资产的主要方式了,可以通过多种技术措施确保源代码不被未授权访问、复制或篡改,防止泄密问题。这篇文章是一些有效的源代码加密技巧,欢迎您的阅读! 源代码加密常用技巧1、访问控制&…

俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩

近年来,当代女性健康食品市场正经历快速发展和显著变化。随着女性健康意识的提升,市场对专门针对女性健康的产品需求快速上升。女性消费者对健康的关注不再局限于表面,而是越来越注重内在健康和生活质量的提升。此外,中式养生文化…

Python 基于 Bert 的中文情歌分析,多分类中文情感分析

前言 在自然语言处理(NLP)领域中,情感分析是一项非常常见的任务。它的目标是判断文本的情感倾向,例如在社交媒体上的评论、产品评价、电影评论等数据中,识别文本是正面的、负面的,还是中性的。与传统的二分…

中航资本:科技股有哪几种?科技股都包含哪些板块?

科技股主要有两种,一种是软科技,一种是硬科技。 1、硬科技:需要强健的数学、物理、计算机科学和工程技能才能够完毕,例如:光电芯片、‌人工智能、‌航空航天、‌生物技能、‌信息技能、计算机视觉、集成电路规划、软件…

2024双十一值得入手的好物品牌有哪些?精选五款双十一必入好物推荐

在双十一这个全民狂欢的购物节,各大品牌纷纷推出诱人的优惠活动,让人心动不已。今年,有哪些品牌的好物值得我们关注呢?下面,我将为大家精选五款双十一必入好物推荐,让你的购物车不再空虚。 双十一必入好物…

怎么把人声和背景音乐分离?实用方法:将人声从音乐中剥离

怎么把人声和背景音乐分离?在数字音频处理中,将人声与背景音乐进行分离是一个复杂但富有挑战性的任务。这种分离技术在音乐制作、影视编辑、版权管理以及个人娱乐等多个领域具有广泛的应用价值。 虽然完美地将人声和背景音乐分离开来可能仍然是一个技术难题&#…

⽂件操作详解

本章讲述的是有关文件的相关内容,本章我们会认识到什么是文件,二进制文件与文本文件,文件的打开和关闭,⽂件的顺序读写和随机读写以及⽂件读取结束的判定和⽂件缓冲区。 1.什么是⽂件 像这样在磁盘(硬盘)上…

骑行眼镜的选择攻略:评论与实用建议!

骑行眼镜评论分析 目录 骑行眼镜评论分析 1. 评论的基本统计分析(数据来源:淘宝评论信息接口) 评论长度的集中趋势: 评论长度的离散程度: 2.用户评价分析 词云高频词分析 1. 眼镜 (2***8 次出现): 2. 不错 (1***9 次出现)…

(29)数字信号处理中正弦波的表示

文章目录 前言一、奈奎斯特采样定理二、正弦波的时域表示三、数字信号处理中正弦波的表示方法 前言 本文首先介绍了奈奎斯特采样定理,然后以奈奎斯特采样定理为基础,给出MATLAB代码,说明在数字信号处理中如何表示一个正弦波。 一、奈奎斯特采…

Flutter技术学习

以下内容更适用于 不拘泥于教程学习,而是从简单项目入手的初学者。 在开始第一个项目之前,我们先要了解 两个概念。 Widget 和 属性 Widget 是用户界面的基本构建块,可以是任何 UI 元素。属性 是 widget 类中定义的变量,用于配…

Python脚本分类和代码举例

Python是一种强大且灵活的编程语言,被广泛应用于数据分析、Web开发、自动化、人工智能等领域。在不同的应用场景下,Python脚本可以被分类为多种类型。本文将深入分析Python脚本的分类,同时提供相关代码示例,帮助读者理解和应用这些…

Spring AI 介绍与入门使用 -- 一个Java版Langchain

Langchain 是什么? Langchain 是一个Python 的AI开发框架,它集成了模型输入输出、检索、链式调用、内存记忆(Memory)、Agents以及回调函数等功能模块。通过这些模块的协同工作,它能够支持复杂的对话场景和任务执行流程…