您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第9章-STM32的模数转换器ADC3
退出嵌入式单片机原理及应用电气工程学院仪器科学与工程系1ARM嵌入式系统概述2STM32单片机结构和最小系统3基于标准外设库的C语言程序设计基础4STM32通用输入输出GPIO5STM32外部中断6STM32通用定时器7STM32通用同步/异步收发器USART8直接存储器存取DMA9STM32的模数转换器ADC10STM32的集成电路总线I2C11STM32的串行外设接口SPI第9章STM32的模数转换器ADC9.1STM32应用系统输入输出通道9.2ADC的性能指标9.3STM32的ADC的特性与结构9.4ADC相关寄存器9.5ADC的工作模式控制9.6ADC应用设计退出9.1STM32应用系统输入输出通道1、ADC简介12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式(存储数据的方式)存储在16位数据寄存器(ADC_DR)中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。9.1STM32应用系统输入输出通道2、ADC特性●12位分辨率●转换结束、注入转换结束和发生模拟看门狗事件时产生中断●单次和连续转换模式●从通道0到通道n的自动扫描模式●自校准●带内嵌数据一致性的数据对齐●采样间隔可以按通道分别编程●规则转换和注入转换均有外部触发选项●间断模式执行9.1STM32应用系统输入输出通道●双重模式(带2个或以上ADC的器件)●ADC转换时间:STM32F103xx增强型产品:时钟为56MHz时为1μs(时钟为72MHz为1.17μs)。因为56M选择4分频为14MHz,为ADC最大时钟频率,而72M只能选择6分频。●ADC供电要求:2.4V到3.6V●ADC输入范围:VREF-≤VIN≤VREF+●规则通道转换期间有DMA请求产生。9.1STM32应用系统输入输出通道9.2ADC的性能指标无论是分析或设计ADC的接口电路,还是选购ADC芯片都会涉及到有关性能指标的术语。因此,弄清ADC的基本概念以及一些经常出现的性能指标术语的确切含义是十分必要的。9.2ADC的性能指标1.分辨率(Resolution)对于ADC来说,分辨率表示输出数字量变化一个相邻数据码所需输入模拟电压的变化量,反映了ADC对输入模拟信号最小变化的分辨能力。9.2ADC的性能指标2.量化误差(QuantizingError)量化误差是由ADC的有限分辨率而引起的误差。图9-2和图9-3所示的都是8位ADC的转移持性曲线,在不计其它误差的情况下,一个分辨率有限ADC的阶梯状转移持性曲线与具有无限分辨率的ADC转移特性曲线(直线)之间的最大偏差,称之为量化误差。9.2ADC的性能指标3.偏移误差(OffsetError)偏移误差是指输出信号为0时,输入信号不为零的值,所以有时又称为零值误差。对于ADC而言,假设它没有非线性误差,则其转移特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差,如图9-4所示。9.2ADC的性能指标4.满刻度误差(FullScaleError)满刻度误差又称为增益误差(CainError)ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差,如图9-5所示。5.线性度(Linearity)线性度有时又称为非线性度(Non-Linearity),它是指转换器实际的转移函数与理想直线的最大偏移。理想直线可以通过理想的转移函数的所有点来画,也可以通过两个端点连接而成。9.2ADC的性能指标6.绝对精度(AbsoluteAccuracy)在一个转换器中,任何数码所对应的实际模拟电压与其理想的电压值之差并非是一个常数,把这个差的最大值定义为绝对精度。7.相对精度(RelativeAccuracy)它与绝对精度相似,所不同的是把这个最大偏差表示为满刻度模拟电压的百分数,或者用二进制分数来表示相对应的数字量。它通常不包括能被用户消除的刻度误差。8.转换速率(ConversionRate)ADC的转换速率就是能够重复进行数据转换的速度,即每秒转换的次数。完成一次转换所需的时间(包括稳定时间),则是转换速率的倒数。9.3STM32的ADC的特性与结构按照转换过程的不同,ADC可以分为逐次逼近型、双积分型和电压频率变换型三种。双积分型ADC,一般精度高;对周期变化的干扰信号积分为零,因此抗干扰性好;价格便宜,但转换速度慢;逐次逼近型ADC,在转换速度上同双积分型ADC相比要快得多。精度较高(12位及12位以上的),价格较高;电压-频率(V-F)变换型ADC,突出的优点是高精度,其分辨率可达16位以上;价格低廉,但转换速度不高。9.3STM32的ADC的特性与结构9.3STM32的ADC的特性与结构注入规则9.3STM32的ADC的特性与结构模拟信号通道模拟看门狗中断电路A/D转换器9.3STM32的ADC的特性与结构9.3STM32的ADC的特性与结构9.4ADC相关寄存器ADC的功能是通过操作相应寄存器实现的,包括:状态寄存器(ADC_SR)控制寄存器1(ADC_CR1)控制寄存器2(ADC_CR2)采样时间寄存器1(ADC_SMPR1)采样时间寄存器2(ADC_SMPR2)注入通道数据偏移寄存器x(ADC_JOFRx,x=1,2,3,4)看门狗高阈值寄存器(ADC_HTR)看门狗低阈值寄存器(ADC_LRT)规则序列寄存器1(ADC_SQR1)规则序列寄存器2(ADC_SQR2)规则序列寄存器3(ADC_SQR3)注入序列寄存器(ADC_JSQR)注入数据寄存器x(ADC_JDRx,x=1,2,3,4)规则数据寄存器(ADC_DR)。9.4ADC相关寄存器——ADC_SR1.状态寄存器(ADC_SR)该寄存器反映ADC的状态,地址偏移:0x00,复位值:0x000000009.4ADC相关寄存器——ADC_SR1.状态寄存器(ADC_SR)该寄存器反映ADC的状态,地址偏移:0x00,复位值:0x000000009.4ADC相关寄存器——ADC_CR12.ADC控制寄存器1(ADC_CR1)——地址偏移0x04,复位值0x00000000该寄存器用来设置模拟看门狗、双模式选择、间断模式通道计数等。9.4ADC相关寄存器——ADC_CR12.ADC控制寄存器1(ADC_CR1)——地址偏移0x04,复位值0x00000000该寄存器用来设置模拟看门狗、双模式选择、间断模式通道计数等。9.4ADC相关寄存器——ADC_CR10:注入1:注入2.ADC控制寄存器1(ADC_CR1)——地址偏移0x04,复位值0x00000000该寄存器用来设置模拟看门狗、双模式选择、间断模式通道计数等。9.4ADC相关寄存器——ADC_CR12.ADC控制寄存器1(ADC_CR1)——地址偏移0x04,复位值0x00000000该寄存器用来设置模拟看门狗、双模式选择、间断模式通道计数等。9.4ADC相关寄存器——ADC_CR12.ADC控制寄存器1(ADC_CR1)——地址偏移0x04,复位值0x00000000该寄存器用来设置模拟看门狗、双模式选择、间断模式通道计数等。9.4ADC相关寄存器——ADC_CR12.ADC控制寄存器1(ADC_CR1)——地址偏移0x04,复位值0x00000000该寄存器用来设置模拟看门狗、双模式选择、间断模式通道计数等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。9.4ADC相关寄存器——ADC_CR23.ADC控制寄存器2(ADC_CR2)——地址偏移0x08,复位值0x00000000该寄存器用来开启温度传感器、规则通道、注入通道等。单次转换模式下,ADC只执行一次转换。该模式既可通过设置ADC_CR2寄存器的ADON位(只适用于规则通道)用软件来启动ADC的采样转换,也可通过外部触发启动(适用于规则通道或注入通道)ADC的采样转换,这时CONT位应该设置为0。如果一个规则通道被转换:转换以后得到的数据被储存在16位ADC_DR寄存器中EOC(转换结束)标志位会被置位。如果设置了EOCIE这一位,则产生相应的中断。如果一个注入通道被转换:转换以后得到数据被储存在16位的ADC_JDRx寄存器中JEOC(注入转换结束)标志位会被置位如果设置了JEOCIE位,则产生相应的中断9.4ADC相关寄存器9.4ADC相关寄存器——ADC_SMPRx4.ADC采样时间寄存器1(ADC_SMPR1)——地址偏移0x0C,复位值0x00000000。该寄存器用来设置通道10~17的采样时间。5.ADC采样时间寄存器2(ADC_SMPR2)——地址偏移0x10,复位值0x00000000。该寄存器用来设置通道0~9的采样时间。9.4ADC相关寄存器——低12位值6.ADC注入通道数据偏移寄存器x(ADC_JOFRx)(x=1...4)地址偏移:0x14-0x20,复位值:0x00000000该寄存器用来设置注入通道的数据偏移7.ADC看门狗高阈值寄存器(ADC_HTR)地址偏移0x24,复位值0x00000000该寄存器用来设置模拟看门狗的阈值高限。8.ADC看门狗低阈值寄存器(ADC_LTR)地址偏移:0x28,复位值:0x00000000该寄存器用来设置模拟看门狗的阈值低限。9.4ADC相关寄存器——ADC_SQR19.ADC规则序列寄存器ADC_SQR1该寄存器用来设置规则通道序列长度,及13~16个转换。地址偏移:0x2C,复位值:0x00000000。9.4ADC相关寄存器——ADC_SQR210.ADC规则序列寄存器ADC_SQR2该寄存器用来设置规则通道序列第7~12个转换。地址偏移:0x30,复位值:0x00000000。9.4ADC相关寄存器——ADC_SQR311.ADC规则序列寄存器ADC_SQR3该寄存器用来设置规则通道序列第1~6个转换。地址偏移:0x34,复位值:0x00000000。9.4ADC相关寄存器——ADC_JSQR12.ADC注入序列寄存器(ADC_JSQR)该寄存器用来设置注入通道序列长度及其转换。地址偏移:0x38,复位值:0x000000009.4ADC相关寄存器——ADC_JDRx13.ADC注入数据寄存器x(ADC_JDRx)(x=1...4)该寄存器保存注入转换的数据。地址偏移:0x3C–0x48,复位值:0x000000009.
本文标题:第9章-STM32的模数转换器ADC3
链接地址:https://www.777doc.com/doc-5262290 .html