搜档网
当前位置:搜档网 › 基于STM32的LED驱动电源设计

基于STM32的LED驱动电源设计

基于STM32的LED驱动电源设计
基于STM32的LED驱动电源设计

基于STM32的LED驱动电源设计

摘要

高亮LED是当今照明技术的重大进步。LED驱动电源的控制核心采用ARM系列微处理器STM32,实现LED驱动的智能控制。ARM系列微处理器的应用越来越广泛,其采用当前最先进的设计理念,使得性能大大提升。能使我们在微控制器、集成开发软件、编程语言等知识的学习和掌握水平,使我们在微控制器设计、软件编程等方面的应用能力得到全面训练和提高。

对于一般照明而言,人们更需要白色的的光源。作为一种新型的光源,LED具有无污染、长寿命、耐振动和抗冲击的鲜明特点。虽然白光LED的发光效率正在逐步提高,但是与LED灯配套的驱动器性能不佳,故障率高成了LED推广应用的瓶颈。因此众多厂家选用恒流方式驱动LED,从而设计的开关电源就需要一个能恒流的直流驱动电源。传统的开关电源控制集成电路具有效率高、输出稳定、可靠性高,并可实现远程控制等功能。完全适合用来驱动LED的开关电源。

本文主要通过设计一个恒流驱动电源来驱动LED。通过各种电力电子组件和电力电子电路组成一个恒流的电源,达到设计的要求。

关键词:LED,电源,驱动,STM32

STM32-based software design of the LED drive power

Author : Dai Y uanwei

Tutor : Zhang Yuxiang

Abstract

Bright LED lighting technology is today a major advancement. LED drive power control core with ARM family of microprocessor STM32, realization of LED-driven intelligent control.ARM family of microprocessor used more widely, which uses the most advanced design concepts, making the performance greatly enhanced.Allow us to micro-controllers, integrated development software, programming languages, such as knowledge, learning and mastery level, so that we in micro-controller design, software programming and other aspects of competency have been fully trained and improved.

For general lighting purposes, people need white light.As a new type of light source, LED has no pollution, long life, resistance to vibration and shock of the distinct characteristics.Although the luminous efficiency white LED is gradually improving, but with LED lights matching drive poor performance, promote the use of LED failure rate has become the bottleneck.So many manufacturers use constant current mode to drive LED, and thus the design of switching power supply will need a constant current of the DC drive power.The conventional switching power supply control IC with high efficiency, output stability, high reliability, and offer features such as remote control.Entirely suitable for driving LED's switching power supply.

In this paper, through the design of a constant current drive power to drive the LED.Through a variety of power electronic components and power electronic circuits to form a constant current power supply, to meet the design requirements.

Key words: LED, Power , Drive, STM32

目录

1 绪论 (5)

1.1 课题背景介绍 ........................................................................... 错误!未定义书签。

1.2 课题研究方案 ........................................................................... 错误!未定义书签。

1.3 课题研究方法 (2)

1.4 整体电路框图 ........................................................................... 错误!未定义书签。

2 系统所用主要芯片介绍 .................................................................... 错误!未定义书签。

2.1 STM32处理器功能介绍 ......................................................... 错误!未定义书签。

2.2 模拟/数字转换(ADC) (13)

2.2.1 介绍 (13)

2.2.2 主要特征 (13)

2.2.3 引脚描述 (14)

2.2.4 功能描述 (15)

3 系统硬件电路设计 (17)

3.1 LED驱动电路的分析过程 (17)

3.2 功率及驱动电路设计 (18)

3.2.1 IR2110简介 (18)

3.2.2 IR2110内部结构和特点 (19)

3.3 反馈和保护电路设计 (20)

3.3.1 综述 (20)

3.3.2 软启动电路设计 (21)

3.3.3 电源电路设计 (21)

3.3.4 开关电源保护电路设计 (22)

4 PWM控制电路 (27)

4.4.1 组件选择和基本原理应用 (27)

结论 ........................................................................................................................................ ..31 致谢 (32)

参考文献 (30)

1 绪论

1.1 课题背景介绍

在20世纪爱迪生发明的白炽灯经受住了时间的考验,成为标准的通用照明工具。但是在21世纪的今天白炽灯即将和我们告别了,新的照明技术—尤其是发光二极管将最终代替白炽灯和荧光灯。

当整个世界都在因为日益上升的能源成本而节约能源预算时,白炽灯照明技术显然站在了不经济的一边。一个白炽灯的消耗的能源中有97%被浪费。荧光灯虽然稍好一点,但仍然浪费了85%的能量。而且,这种灯的平均使用寿命大约5000个小时。另外,荧光灯还使用了用毒的汞,发出的光更是颜色粗糙。两种技术都无法和白光LED相比—它不仅使用寿命是前者的10倍,也不使用有毒物质,而且几乎能发出任何颜色的光。更重要的是它的光转换效率绝不亚于荧光灯。因此,在通用照明领域,向LED技术的过度将大大降低能源消耗。

尽管白光LED是当今的大规模照明的一个理想方案,但要把驱动LED的电子设备普及到每一个灯泡中,设计者还面临着不小的挑战。主要问题是目前LED驱动电路的性能还没有实现高效率转换,其中关键的技术问题是驱动电子系统的电子能量转换效率由于离散范围极大、参数难于控制,其高低和稳定性就成了整个LED实用技术与产品参数的重中之重。其次,空间的限制要求LED驱动器必须小巧而高效。另外还要考虑散热和EMI(电磁干扰)因素,两者对于照明设备的可靠性有重要影响,给设计密度带来了限制。

接触过LED的人都知道:由于LED正向伏安特性非常陡即正向动态电阻非常小,要给LED供电就比较困难。不能像普通白炽灯一样,直接用电压源供电,否则电压波动少增,电流就会增大到将LED烧毁的程度。为了稳住LED的工作电流,保证LED 能正常可靠的工作,各种各样的LED驱动电路就应运而生。

1.2 课题研究方案

LED驱动电路中最简单的就是串联一只镇流电阻,而复杂的是用许多电子元件构成的恒流驱动器。本课题研究的照明用LED高效控制器属于恒流驱动器,它将交流电压转换为恒流电源,同时按照LED器件的要求完成与LED的电压和电流的匹配。本装置在设计上具有以下特点:

(1)采用开关电源供电方式,输入电压范围广、抗干扰性好、工作电压输出稳定。

(2)采用传统的调光方式——PWM(脉宽调制)技术,系统只需要提供宽、窄不同的数字式脉冲。

(3)采用电容降压电路﹐其具有体积小﹑成本低﹑电流相对恒定等。

1.3 课题研究方法

本文主要研究LED驱动电源的硬件电路部分,硬件电路主要是由STM32处理器和一些电路组成,这些电路包括:功率及驱动电路,电源电路及保护电路,软开关电路及控制,电流传感器。然后对LED驱动电源的整体电路在进行研究和讨论。

1.4 整体电路框图

2 系统所用主要芯片介绍

2.1 STM32处理器功能介绍

控制系统电路中的MCU(微控制器)选用了STM32系列高性能单片机。STM32具有MCU应用领域的32位处理器的性能,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

STM32是属于单片机中的高端产品,这里仅仅需学习其中的一些指令就可以了,STM32指令大多是单周期指令。

振荡器/时钟的输入频率为72MHz,指令周期为200ns。

高精度内部振荡器,双速启动模式,适用于关键应用的晶振故障检测,在节能模式下工作时,可进行时钟模式切换,微控制器还能产生一个25MHz或50MHz的时钟输出,驱动外部以太网PHY层芯片,从而为客户节省了一个附加晶振。

可编程代码保护,高耐用性闪存单元,可经受十万次操作,保护时间超过四十年。

节能的休闲模式,宽工作电压范围(2V到3.6V),容忍5V的I/O管脚。

具有很好的低功耗特性。在72MHz时消耗36mA(所有外设处于工作状态),待机时下降到2μA。

一流的外设。1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O 翻转速度。

最大的集成度。复位电路、低电压检测、调压器、精确的RC振荡器等。

具有单独方向操控的十二个I/O引脚,高灌/拉电流可直接驱动LED。

引脚电平变化中断,独立的可编程弱上拉,超低功耗唤醒。

单周期硬件乘法和除法能加快计算。

存储器。从32K字节至128K字节闪存程序存储器,从6K字节至20K字节SRAM ,多重自举功能。

多达7个定时器。测器(PVD)、掉电监测器,多达3个同步的16位定时器,每个定时器有,内嵌4至16MHz高速晶体振荡器,多达4个用于输入捕获/输出比较/PWM或脉,内嵌经出厂调校的8MHz的RC振荡器。冲计数的通道,内嵌40kHz的RC振荡器,16位6通道高级控制定时器,内嵌PLL供应CPU时钟,多达6路PWM输出,内嵌使用外部32kHz 晶体的RTC振荡器,死区控制、边缘/中间对齐波形和紧急制动。

2个12位模数转换器,1us转换时间(16通道),多达2个I2C接口(SMBus/PMBus),转换范围是0至3.6V,多达3个USART接口,支持ISO7816,双采样和保持功能

LIN,IrDA接口和调制解调控制,温度传感器,多达2个SPI同步串行接口(18兆位/秒) 调试模式。CAN接口(2.0B 主动),串行线调试(SWD)和JTAG接口,USB 2.0全速接口。

ECOPACK(R)封装(兼容RoHS),7通道DMA控制器,支持的外设:定时器、ADC、SPI、I2C。

由于STM32的资源丰富且功能强大,在本系统中只是使用其中的部分功能。现在对使用的片内的外设进行详细分析。

1.复位和时钟控制

STM32F支持三种复位形式,分别为系统复位、上电复位和备份区域复位。系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器,当以下事件中的一件发生时,产生一个系统复位:

(1). NRST管脚上的低电平(外部复位)

(2). 窗口看门狗计数终止(WWDG复位)

(3). 独立看门狗计数终止(IWDG复位)

(4). 软件复位(SW复位)

(5). 低功耗管理复位

可通过查看RCC_CSR控制状态寄存器中的复位状态标志位来确认复位事件来源。

软件复位

通过将Cortex-M3中断应用和复位控制寄存器中的SYSRESETREQ位置1,可实现软件复位。

低功耗管理复位

在以下两种情况下可产生低功耗管理复位:

(1). 在进入待机模式时产生低功耗管理复位:

通过将用户选择字节中的nRST_STDBY位置1将使能该复位。这时,即使执行了进入待机模式的过程,系统将被复位而不是进入待机模式。

(2). 在进入停止模式时产生低功耗管理复位:

通过将用户选择字节中的nRST_STOP位置1将使能该复位。这时,即使执行了进入停机模式的过程,系统将被复位而不是进入停机模式。

电源复位

当以下事件中之一发生时,产生电源复位:

(1). 上电/掉电复位(POR/PDR复位)

(2). 从待机模式中返回

电源复位将复位除了备份区域外的所有寄存器。复位源将最终作用于RESET管脚,并在复位过程中保持低电平。复位入口矢量被固定在,地址0x0000_0000~0x0000_0004。

图2.1 复位电路

备份域复位

当以下事件中之一发生时,产生备份区域复位。

(1). 软件复位,备份区域复位可由设置备份区域控制寄存器RCC_BDCR中的BDRST 位产生。

(2). 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

时钟控制

三种不同的时钟源可被用来驱动系统时钟(SYSCLK):

56442 . HSI 振荡器时钟

56442 . HSE 振荡器时钟

56442 . PLL 时钟

这些设备有以下2种二级时钟源:

56442 . 32kHz 低速内部RC,可以用于驱动独立看门狗和RTC。RTC 用于从停机/待机模式下自动唤醒系统。

56442 . 32.768kHz 低速外部晶体也可用来驱动RTC(RTCCLK)。

当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。

定时器时钟频率分配由硬件按以下2种情况自动设置:

(1). 如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。

(2). 否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍。

2.通用和复用功能I/O(GPIO和AFIO)

小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。互联型产品是指STM32F105xx和STM32F107xx微控制器。

(A). GPIO功能描述

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模

式。

─输入浮空

─输入上拉

─输入下拉

─模拟输入

─开漏输出

─推挽式输出

─推挽式复用功能

─开漏复用功能

每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。下图给出了一个I/O端口位的基本结构。

图2.2 I/O端口位的基本结构

(B)通用I/O(GPIO)

复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式

(CNFx[1:0]=01b,MODEx[1:0]=00b)。复位后,JTAG引脚被置于输入上拉或下拉模式;

─PA15:JTDI置于上拉模式

─PA14:JTCK置于下拉模式

─PA13:JTMS置于上拉模式

─PB4:JNTRST置于上拉模式

通用和复用功能I/O:当作为输出配置时,写到输出数据寄存器上的值(GPIOx_ODR)输出到相应的I/O引脚。可以以推挽模式或开漏模式(当输出0时,只有N-MOS被打开)使用输出驱动器。输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。所有GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时,它们可以被激活也可以被断开。

单独的位设置或位清除:当对GPIOx_ODR的个别位编程时,软件不需要禁止中断:在单次APB2写操作里,可以只更改一个或多个位。这是通过对“置位/复位寄存器”(GPIOx_BSRR,复位是GPIOx_BRR)中想要更改的位写’1’来实现的,没被选择的位将不被更改。

复用功能(AF):使用默认复用功能前必须对端口位配置寄存器编程。对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚必须由外部驱动注意:也可以通过软件来模拟复用功能输入引脚,这种模拟可以通过对GPIO控制器编程来实现。此时,端口应当被设置为复用功能输出模式。显然,这时相应的引脚不再由外部驱动,而是通过GPIO控制器由软件来驱动。对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。如果软件把一个GPIO 脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。

软件重新映射I/O复用功能:为了使不同器件封装的外设I/O功能的数量达到最优,可以把一些复用功能重新映射到其他一些脚上。这可以通过软件配置相应的寄存器来完成(参考AFIO寄存器描述)。这时,复用功能就不再映射到它们的原始引脚上了。

当I/O端口配置为输入时:输出缓冲器被禁止,施密特触发输入被激活,根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接,出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对输入数据寄存器的读访问可得到I/O状态。

图2.3 输入浮空/上拉/下拉配置

当I/O端口被配置为输出时:输出缓冲器被激活开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将激活P-MOS。施密特触发输入被激活,弱上拉和下拉电阻被禁止,出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,在开漏模式时,对输入数据寄存器的读访问可得到I/O状态,在推挽式模式时,对输出数据寄存器的读访问得到最后一次写的值。下图给出了I/O端口位的输出配置。

图2.4 输出配置

(C). DMA控制器

a.简介:直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU任何干预,通过DMA数据可以快速地移动。这就节省了CPU 的资源来做其他操作。DMA控制器有7个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。

b. 主要特性:7个独立的可配置的通道(请求)。每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发,这些功能通过软件来配置。在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),假如在相等优先权时由硬件决定(请求0 优先于请求1,依此类推) 。独立的源和目标数据区的传输宽度(字节、半字、全字),模拟打包和拆包的过程。支持循环的缓冲器管理。每个通道都有3 个事件标志(DMA 半传输,DMA 传输完成和DMA 传输出错),这3个事件标志逻辑或成为一个单独的中断请求。存储器和存储器间的传输。外设和存储器,存储器和外设的传输。闪存、SRAM、外设的SRAM、APB1 和APB2 外设均可作为访问的源和目标。可编程的数据传输数目:最大为65536。

图2.5 DMA功能框图

c. 功能描述:DMA控制器和Cortex-M3核共享系统数据线执行直接存储器数据传输。因此,1个DMA请求占用至少2个周期的CPU访问系统总线时间。为了保证Cortex-M3核的代码执行的最小带宽,DMA控制器总是在2个连续的DMA请求间释放系统时钟至少1个周期。

DMA处理:在发生一个事件后,外设发送一个请求信号到DMA控制器。DMA控制器根据通道的优先权处理请求。当DMA控制器开始访问外设的时候,DMA控制器立即发送给外设一个应答信号。当从DMA控制器得到应答信号时,外设立即释放它的请求。一旦外设释放了这个请求,DMA控制器同时撤销应答信号。如果发生更多的请求时,外设可以启动下次处理。总之,每个DMA传送由3个操作组成:从外设数据寄存器或者从DMA_CMARx 寄存器指定地址的存储器单元执行加载操作。存数据到外设数据寄存器或者存数据到DMA_CMARx 寄存器指定地址的存储器单元。执行一次DMA_CNDTRx 寄存器的递减操作。该寄存器包含未完成的操作数目。

DMA通道:每个通道都可以在有固定地址的外设寄存器和存储器地址之间执行DMA传输。DMA传输的数据量是可编程的,最大达到65535。包含要传输的数据项数

量的寄存器,在每次传输后递减。

可编程的数据量

外设和存储器的传输数据量可以通过DMA_CCRx寄存器中的PSIZE和MSIZE位编程。

指针增量

通过设置DMA_CCRx寄存器中PINC和MINC标志位,外设和存储器的指针在每次传输后可以有选择地完成自动增量。当设置为增量模式时,下一个要传输的地址将是前一个地址加上增量值,增量值取决与所选的数据宽度为1、2或4。第一个传输的地址存放在DMA_CPARx/DMA_CMARx寄存器中。通道配置为非循环模式时,在传输结束后(即传输数据量变为0)将不再产生DMA操作。

通道配置过程

下面是配置DMA通道的过程(x代表通道号):在DMA_CPARx 寄存器中设置外设寄存器的地址。发生外设数据传输请求时,这个地址将是数据传输的源或目标。在DMA_CMARx 寄存器中设置数据存储器的地址。发生外设数据传输请求时,传输的数据将从这个地址读出或写入这个地址。在DMA_CNDTRx 寄存器中设置要传输的数据量。在每个数据传输后,这个数值递减。在DMA_CCRx 寄存器的PL[1:0]位中设置通道的优先级。在DMA_CCRx 寄存器中设置数据传输的方向、循环模式、外设和存储器的增量模式、外设和存储器的数据宽度、传输一半产生中断或传输完成产生中断。设置DMA_CCRx 寄存器的ENABLE 位,启动该通道。一旦启动了DMA通道,它既可响应联到该通道上的外设的DMA请求。当传输一半的数据后,半传输标志(HTIF)被置1,当设置了允许半传输中断位(HTIE)时,将产生一个中断请求。在数据传输结束后,传输完成标志(TCIF)被置1,当设置了允许传输完成中断位(TCIE)时,将产生一个中断请求。

循环模式

循环模式用于处理循环缓冲区和连续的数据传输(如ADC的扫描模式)。在DMA_CCRx寄存器中的CIRC位用于开启这一功能。当启动了循环模式,数据传输的数目变为0时,将会自动地被恢复成配置通道时设置的初值,DMA操作将会继续进行。

存储器到存储器模式

DMA通道的操作可以在没有外设请求的情况下进行,这种操作就是存储器到存储器模式。当设置了DMA_CCRx寄存器中的MEM2MEM位之后,在软件设置了DMA_CCRx

寄存器中的EN位启动DMA通道时,DMA传输将马上开始。当DMA_CNDTRx寄存器变为0时,DMA传输结束。存储器到存储器模式不能与循环模式同时使用。

2.2 模拟/数字转换(ADC)

2.2.1 介绍

12位ADC是一种逐次逼近型模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源。各通道的A/转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。

2.2.2 主要特征

12-位分辨率

转换结束,注入转换结束和发生模拟看门狗事件时产生中断;

单次和连续转换模式;

从通道0到通道n的自动扫描模式;

自校准;

带内嵌数据一致的数据对齐;

通道之间采样间隔可编程;

规则转换和注入转换均有外部触发选项;

间断模式;

双重模式(带2个ADC的器件);

ADC转换速率1MHz;

ADC供电要求:2.4V到3.6V;

ADC输入范围:VREF- ≤ VIN ≤ VREF+;

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

图2.3 是ADC模块的方框图。

注意:如果有VREF-管脚(取决于封装),必须和VSSA相连接。

图2.6 ADC模块的方框图

2.2.3 引脚描述

ADC管脚

名称信号类型注解

VSSA ≤ VREF+ ≤ VDDA

VREF+输入模拟参考正ADC使用的高端/极

参考电压

VDDA输入模拟电源等效于VDD的模拟电源且:2.4V

≤ VDDA ≤ VDD(3.6V)

VREF- = VSSA

VREF-输入模拟参考负极 ADC使用的低端/

负极参考电压

VSSA输入模拟电源地等效于VSS的模拟电源地

ADC_IN[15:0] 模拟输入信号16个模拟输入通道

EXTSEL[2:0]输入数字开始规则成组转换的六个外部

触发信号

JEXTSEL[2:0]输入数字开始注入成组转换的六个外部

触发信号

表 2.1

2.2.4 功能描述

1、ADC开关控制

通过设置ADC_CR1寄存器的ADON位可给ADC上电。当第一次设置ADON位时,它将ADC从断电状态下唤醒。ADC上电延迟一段时间后(tSTAB),再次设置ADON 位时开始进行转换。通过清除ADON位可以停止转换,并ADC置于断电模式。在这个模式中,ADC几乎不耗电(仅几个μA)。

2、ADC时钟

由时钟控制器提供的ADCCLK时钟和PCLK2(APB2时钟)同步。CLK控制器为ADC 时钟提供一个专用的可编程预分频器。

3、通道选择

有16个多路通道。可以把转换分成两组:规则的和注入的。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规则组中转换的总数写入ADC_SQR1寄存器的L[3:0]位中。注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换总数目写入ADC_JSQR寄存器的L[1:0]位中。如果ADC_SQRx或ADC_JSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。温度传感器/ VREFINT内部通道温度传感器和通道ADC_IN16相连接,内部参考电压VREFINT和ADC_IN17相连接。可以按注入或规则通道对这两个内部通道进行转换。注意:传感器和VREFINT 只能出现在主ADC中。

4、单次转换模式

单次转换模式里,ADC只执行一次转换。这个模式既可通过设置ADC_CR2寄存器的ADON

位(只适用于规则通道)启动也可通过外部触发启动(适用于规则通道或注入通道),这时CONT

位为0。

一旦选择通道的转换完成:

如果一个规则通道被转换:

─ 转换数据被储存在16位ADC_DR寄存器中;

─ EOC(转换结束)标志被设置;

─ 如果设置了EOCIE,则产生中断。

如果一个注入通道被转换:

─ 转换数据被储存在16位的ADC_DRJ1寄存器中;

─ JEOC(注入转换结束)标志被设置;

─ 如果设置了JEOCIE位,则产生中断,然后ADC停止。

4、连续转换模式

在连续转换模式中,当前面ADC转换一结束马上就启动另一次转换。此模式可通过外部触发启动或通过设置ADC_CR2寄存器上的ADON位启动,此时CONT位是1。每个转换后:

如果一个规则通道被转换:

─ 转换数据被储存在16位的ADC_DR寄存器中;

─ EOC(转换结束)标志被设置;

─ 如果设置了EOCIE,则产生中断。

如果一个注入通道被转换:

─ 转换数据被储存在16位的ADC_DRJ1寄存器中;

─ JEOC(注入转换结束)标志被设置;

─ 如果设置了JEOCIE位,则产生中断。

3、时序图

如图2.4所示,ADC在开始精确转换前需要一个稳定时间tSTAB。在开始ADC转换和14个时钟周期后,EOC标志被设置,16位ADC数据寄存器包含转换的结果。

.图2.2 时序图

相关主题