STM32L15x —— 模拟比较器COMP
STMCU低功耗产品系列详解
Clock Controller
Debug ModuleSWIM
Up to 41 I/Os
PVD
Xtal 32,768 KHz
DMA
12 bit DAC
2xComparators
Boot ROM
LCD driverUp to 4 x 28
1x16 bit TimerAdv Control3 Channels
超低功耗微控制器平台的关键词
低功耗的承诺从STM8L到STM32L完整的低功耗微控制器平台采用最新、超低漏电流的工艺极大的改善包括动态和静态的功耗高效率的承诺由于采用最新的架构,性能/功耗比达到新高运行模式功耗低至:150 µA/MHz在低功耗模式下,仅需 350nA,SRAM和寄存器数据还可以保留优化的产品分布采用通用单片机从8位到32位全覆盖的策略针对特殊的应用,提供片上集成的安全特性最佳的性价比
64 pins LQFP(10x10)
STM8L152M84 KB RAM
STM8L151M84 KB RAM
80 pins LQFP(14x14)
STM8L101 8K 结构框图
SPI
USART
I²C
2x16 bit Timer2 Channels
1x8-bit Timer
Ind. Wd with 38KHz int.
所有都包含:
USART, SPI, I2C
看门狗(STM8L15x 具有双看门狗)
多通道16-bit 定时器
内置 16 MHz 和 38 kHz RC 振荡器
复位电路(上电复位,掉电复位)
Up to 8 KB Flash
STM8L101
Up to 1.5 KB SRAM
STM32L15x —— 数模转换器DAC
Same as STM32F-1模拟外设数模转换器(DAC)DAC ——概述两个DAC转换器:每个对应一个输出通道支持8位和12位的单一输出12位模式下,支持数据左对齐或右对齐同步更新功能产生噪声波或三角波双DAC通道能分别独立转换或同时转换每个通道都支持DMA传输DMA欠载错误检测支持外部触发转换DAC工作范围:1.8V 到3.6 V转换范围:0 到3.6 VDAC输出范围:0 ≤ DAC_OUTx ≤ VREF+ (VREF+和VREF-引脚仅存在于100脚和144脚封装的芯片)ADC 和DAC 共享同样的VREF+DAC ——通道框图TIM2_TRGO TIM4_TRGO TIM6_TRGO TIM7_TRGO TIM9_TRGOV REF +V DDA V SSAExt_IT_9DMA Request xDAC 控制寄存器Digital to Analog Converter xControl Logic xTrianglexLFSRx DHRxDORxSWTRIGx 触发选择T S E L x [2:0]M A M P x [3:0]W A V E x [1:0]T E N xD M AE N x12 bits12 bits12 bitsDAC_OUTx触发选择DAC ——输出电平DAC通道的输出电平使用以下公式:DAC Output = V REF+x (DOR / 4095)每个DAC通道都内置了输出缓冲,通过BOFFx位使能,用来降低输出阻抗DAC ——单通道数据格式每个DAC通道的每个数据对齐格式,都有相对于的数据寄存器8位右对齐:DAC_DHR8Rx [7:0]D7D6D5D4D3D2D1D012位右对齐:DAC_DHR12Rx [11:0]D11D10D9D8D7D6D5D4D3D2D1D012位左对齐:DAC_DHR12Lx [15:4]D11D10D9D8D7D6D5D4D3D2D1D0DAC_DHR8RxDAC_DHR12RxDAC_DHR12LxDAC ——转换触发可编程的DAC转换触发选择数据装载到DORx寄存器的条件:自动:在一个APB1时钟后装载(禁止外部触发位TENx = 0)触发:在三个APB1时钟后装载(使能外部触发位TENx = 1): 软件触发(SWTRIGx = 1) (仅需要一个APB1时钟,即可装载寄存器)Timer2 TRGOTimer4 TRGOTimer6 TRGOTimer7 TRGOTimer9 TRGOEXTI Line9通过一个线性反馈移位寄存器(LFSR),可以产生不同幅度的伪噪声波:可用于ADC 的过采样LFSR 寄存器的初始值为:0xAAA.LFSR 寄存器有12位,这12位可以全部或者部分的屏蔽防锁定机制:如果LFSR 寄存器的值为0,则视为1噪声波的产生:由外部信号触发,噪声值加到DAC_DHRx 寄存器的内容中,不计算进位11109876543210XOR12NORX 12X 0XX 4X 6在一个直流或者缓慢变化的信号上增加一个小幅的三角波信号:可作为基本波形发生器三角波的产生:由外部信号触发,数值增加到DAC_DHRx寄存器中的数值中,直到达到设定的最大振幅向上—向下三角波计数器:向上增加直到达到设定的最大振幅值向下递减直到回到设定的初始值三角波的最大振幅值:(2N–1),N=[1..12]MAMPx[3:0]: 最大振幅值DAC_DHRx: 初始值DAC ——DMA 传输两个DAC 通道都支持DAM 传输DAC 的DMA 请求由外部信号触发(不支持软件触发):DAC_DHRx 寄存器的值装载入DAC_DORx 寄存器 支持DMA 过载错误检测:将产生中断DACDMACPURAM(Pattern Table 1)(Pattern Table 2)Channel 1 OutputChannel 2 OutputDAC TriggersDAC ——双DAC通道模式两个DAC通道可以同时使用:通过同步转换模式产生差分或立体声信号11种双DAC通道模式:两个通道使用独立的触发,使用或者不使用伪噪声波发生器和三角波发生器,使用波发生器时选择同样的或者不同的计算数值(五种模式)两个通道通过软件同时启动两个通道使用同样触发,使用或者不使用伪噪声波发生器和三角波发生器,使用波发生器时选择同样的或者不同的计算数值(五种模式)DAC ——双DAC 通道模式下的数据格式双通道使用同样的对齐模式,数据保存在一个寄存器中8位右对齐:DAC 通道1的数据装载在DAC_DHR8RD [7:0]中,DAC 通道2的数据装载在DAC_DHR8RD [15:8]中D’7D’6D’5D’4D’3D’2D’1D’0D7D6D5D4D3D2D1D0DAC Channel1 DataDAC Channel2 Data D11D10D9D8D7D6D5D4D3D2D1D0D’11D’10D’9D’8D’7D’6D’5D’4D’3D’2D’1D’0DAC Channel1 DataDAC Channel2 Data D’11D11D10D9D8D7D6D5D4D3D2D1D0D’10D’9D’8D’7D’6D’5D’4D’3D’2D’1D’0DAC Channel2 Data DAC Channel1 DataDAC_DHR8RD DAC_DHR12RD DAC_DHR12LDDAC 通道内置了输出缓冲,并可由用户在软件中设置是否使能该缓冲的功能,因此不需要外接运算放大器如果不使能DAC 的输出缓冲,而用户的电路有带有负载,DAC 输出的电压会低于需要的数值,使能了缓冲,输出电压近似于需要的电压。
STM32L15x——通用GPIO和外部中断EXTI
STM32L15x——通⽤GPIO和外部中断EXTI系统外设通⽤I/O⼝(GPIO)GPIO ——概述⾼达83个多功能的双向GPIO⼝,其中73个为5V容忍引脚GPIO⼝分配为6组(GPIOA..GPIOF)通过BSRR寄存器可以实现对GPIO⼝的位操作GPIO⼝使⽤AHB总线:最⼤的翻转频率= f AHB/2 = 16 MHz可配置的最⼤输出频率为40MHz超低的漏电流:50nA所有83个GPIO⼝都可以配置为外部中断(同时产⽣最多16个外部中断),并能从低功耗模式唤醒MCU 三个特殊的I/O⼝(PA0, PC13 和PE6),能从待机模式唤醒MCU⼀个特殊的I/O⼝(PC13)侵⼊检测引脚复位备份寄存器/ 产⽣时间戳/ RTC警报输出/RTC唤醒输出/ RTC时钟输出GPIO ——模式设置(1)VDD_FT is a potential specific to five-volt tolerant I/Os and different from VDD.To On-chip PeripheralsAnalogFrom On-chip Peripherals Push-Pull Open DrainOutput DriverI /O p i nVS SOn/OffP u l l -U pP u l l -D o w nVDD On/OffB i t S e t /R e s e t R e g i s t e rI n p u t D a t a R e g i s t e rO u t p u t D a t a R e g i s t e rRead / WriteAlternate Function Input Alternate Function OutputSchmitt TriggerVDDVSSInput DriverReadWriteOn OffVDD or VDD_FT (1)VS SOUTPUT CONTROLAnalogMODER(i)[1:0]OTYPER(i)[1:0]I/O configurationPUPDR(i)[1:0]11x 模拟模式x 0100开漏输出01带上拉的开漏输出10带下拉的开漏输出10推挽输出01带上拉的推挽输出10带下拉的推挽输出10100可编程功能的开漏输出01可编程功能的戴上拉的开漏输出10可编程功能的带下拉的开漏输出00可编程功能的推挽输出01可编程功能的带上拉的推挽输出1可编程功能的带下拉的推挽输出10x00浮空输⼊01带上拉的输⼊10带下拉的输⼊* In output mode, the I/O speed is configurable through OSPEEDR register: 400KHz, 2MHz, 10MHz or 40 MHzGPIO ——外设可编程功能⼤多数的GPIO都连接到外设的可编程功能(例如USART_TX, TIM_CH,I2C_SCL,SPI_MOSI,USBDM,EVENTOUT等)⼀些外设可编程功能被映射到4个不同的GPIO⼝上,以优化引脚功能同⼀个GPIO会连接到多个外设,但同时同⼀个GPIO⼝只能使⽤其中⼀种外设功能。
STM32L15x —— Flash和EEPROM
Flash和数据EEPROM(存储器)
1
存储区—— 概述
存储区特性: 内置高达128K字节,支持ECC的Flash 内置高达 4K字节,支持ECC的数据EEPROM Flash擦除次数:10K次 存储区包括:主Flash / 数据EEPROM / 信息块 访问时间:62.5ns(Range1) / 125ns(Range2) / 500ns(Range3) 字(32位)/半页(128字节) 的编程时间:3.2ms(典型值) 页擦除:3.2ms(典型值) ,整片擦除:9.6ms(典型值)
ERRIE
其他标志位 READY BSY
Flash模块准备好(退出低功耗模式)
EOPIE ERRIE
66
存储区 —— 信息块
4K字节的系统存储区 —— 内置了Bootloader代码,通过 USART1或USART2更新固件。
16字节的SIF区 —— 保存用户设置的Option Byte
31
地址
0x1FF8 0008 0x1FF8 000C
[31:24]
nWRP1 nWRP3
[23:16]
nWRP0 nWRP2
[15:8]
WRP1 WRP3
[7:0]
WRP0 WRP2
当读保护的LEVEL1或LEVEL2使能时,从调试接口或者 SRAM写/擦除Flash或数据EEPROM都是被禁止的。但写 保护仅仅用于保护Flash。
Flash接口 (FLITF) 特性: 支持预取指缓冲的读操作 Option Bytes 的装载 多种保护机制: 读保护:Level 1 和 Level 2 (JTAG Fuse) 写保护
2 2
存储区—— 架构
STM32中GPIO的这八种配置种类你知道几种
STM32中GPIO的这八种配置种类你知道几种在STM32微控制器中,GPIO(通用输入/输出)端口是一种非常重要的功能。
它可以用于与其他外设进行通信,包括传感器、显示屏、LED等。
在STM32中,有多种不同的配置选项可用于GPIO端口。
以下是其中一些常用的配置种类:1. 输入浮空(Input Floating):在该配置下,GPIO端口作为输入被使用,但未连接到任何外部电源或地线。
这是默认的GPIO配置,输入信号在未连接时会浮动,不会拉高或拉低。
可以使用内部上拉电阻或外部电阻来稳定输入信号。
2. 输入上拉(Input Pull-up):在该配置下,GPIO端口作为输入被使用,并连接了内部上拉电阻。
这意味着当引脚未连接时,输入信号会被拉高到VDD(供电电压)。
当连接外部设备时,输入信号会根据外部电平波动。
3. 输入下拉(Input Pull-down):与输入上拉相反,输入下拉配置将GPIO端口连接到内部下拉电阻。
这意味着当引脚未连接时,输入信号会被拉低到地线。
当连接外部设备时,输入信号将根据外部电平波动。
4. 模拟模式(Analog Mode):在该配置下,GPIO端口被配置为模拟输入或模拟输出。
这意味着它可以连接到模拟信号源,如传感器或模拟输出设备。
5. 推挽输出(Push-pull Output):在该配置下,GPIO端口被配置为输出,并且可以提供正电压或零电压。
输出信号的驱动能力较高,可以用来驱动高电流或高电压负载。
6. 开漏输出(Open-drain Output):与推挽输出不同,开漏输出在逻辑1状态下提供高阻抗状态(不提供电压),逻辑0状态下提供低电平。
这种配置还允许多个开漏输出连接到同一个引脚,从而实现总线底的多主机通信。
7. 复用功能输出(Alternate Function Output):在该配置下,GPIO端口被用作引脚的一些特定功能,如UART、SPI、PWM等。
通过使GPIO端口复用为特定功能,可以实现与其他外设的通信和控制。
stm32比较器
EXTI 22
6
COMP输出把MCU从STOP模式唤醒
PA.0电压
上限
下限
0V
COMP1输出
High level
EXTI 21
EXTI 21
EXTI 22
RUN模式:亮灯LD1,LD3 STOP模式 Time RUN模式:亮灯LD2,LD4
Low level
COMP2输出
High level
中断1
3
应用举例
模拟电压监测 停止模式下的模拟看门狗 脉宽测量 控制脉宽调制信号 测量电容 使用光敏电阻进行亮度控制
4
应用举例:周期电流控制 周期电流控制
使用DAC做比较器反相输入端 配置定时器的Ocref_clr limit
(DAC) current
比较器特性(2)
参数一瞥
全电压工作范围 2.0V < VDDA < 3.6V 可配置的延迟和功耗 (2.7 < VDDA < 3.6V供电下的典型值)
Mode 1: 30ns / 100µA Mode 2: 300ns /10µA Mode 3: 800ns / 3µA Mode 4: 2.5µs / 1µA
8
输入电压偏差:±5mV typ, ±20mV max 可配置的滞回: 0, 7, 15, 25 mV
低功耗特性
停止模式下仍然工作 比较器输出可把MCU从低功耗唤醒:EXTI_21 & EXTI_22
安全性
比较器的配置可由寄存器位锁定COM2LOCK@COMP_CSR
2
两个比较器的功能框图
Can the threshold go from 0 to Vdd ? ----------------------
STM32L15x —— 电源管理PWR和低功耗模式
Reset信号
不支持BOR
不支持 BOR
支持BOR
在上电时,BOR LEV1 始终有效 ,即使 BOR功能在Option中被禁止
支持BOR 不支持BOR
在断电时,用户可以选择是否 使能BOR
Time
10
电源管理 —— 待机电路
待机电路包括
低功耗的日历RTC(警报,周期性的从停止或待机模式 唤醒)
16MHz (1ws) 8MHz (0ws)
VDD = 2.0 to 2.4V 转换时间为500Ksps 正常 VDD = 2.4 to 3.6V 转换时间为1Msps 正常
范围1 / 范围2 / 32MHz (1ws)
范围3
16MHz (0ws)
范围1 / 范围2 / 32MHz (1ws)
范围3
PVD Output
平时,会在EXTI Line16
产生一个外部中断
Î 保证MCU一直处于 安全的状态下
PVD Threshold
100mv hysteresis
9
电源管理 —— 监控和复位电路(五)
VDD
3.6V
VBOR
BOR 监控VDD所有的上升下降沿 = 对供电波形没有要求 BOR由用户通过Option Byte控制 在停止/待机模式下,可以禁止VREFINT来停止BOR
RTC_AF1 唤醒引脚 2
唤醒引脚 2
待机电路
RCC 控制寄存器
32KHz OSC (LSE)
唤醒单元
IWDG
RTC + 80 字节后备寄存器
11
系统外设
电源管理 (PWR) —— 低功耗模式
12
低功耗模式 —— 概述
STM32L4比较器(COMP)介绍
70
COMP interconection
71
COMP1: PC5, PB2 COMP2: PB4, PB6
COMP1: PB0, PB10 COMP2: PB5, PB11
COMP1: PB1, PC4 COMP2: PB3, PB7
COMP window mode
• The purpose of window comparator is to monitor the analog voltage if it is within specified voltage range defined by lower and upper threshold.
72
Two non-inverting inputs can be connected internally together by enabling WINMODE bit to save one IO for other purpose.
Байду номын сангаасOMP break signal generation
STM32L4 Analog Peripheral
Comparators (COMP)
COMP Features
2 ultra-low power comparators COMP1 and COMP2 • Wake-up from low-power modes thru EXTI (Sleep, Stop1 or Stop2) • Multiplexed inputs (External IOs, DAC channels, Vrefint and three submultiple values) • Programmable hysteresis • Programmable speed/consumption • Redirection of output to IO or timer inputs (capture, OCREF_CLR and break event) • Outputs with blanking source • Comparators can be combined in the window comparator
STM32L15x —— 模数转换器ADC
X
XX
XX
X
X
X
X
X
X
7
ADC —— 注入通道组
可编程的注入通道数:最多4个注入转换
可编程的采样时间和转换顺序
可编程的转换启动条件:
JAUTO: 在规则通道转换后自动进行注入通道转换
软件设置转换启动位
外部事件触发:
TRGO CC1 CC2 CC3 CC4
EXTI IT15 6个定时器的
可编程的规则通道数:最多27个规则采样
可编程的采样时间和转换顺序
可编程的转换启动条件:
软件设置转换启动位
外部事件触发
EXTI IT11
Timer 2
5个定时器的11个触发条件 Timer 3
Timer 4
Timer 6
Timer 9
TRGO CC1 CC2 CC3 CC4
分辨率 12 bit 10 bit 8 bit 6 bit
转换时间(TConversion) 12 Cycles 11 Cycles 9 Cycles 7 Cycles
当ADCCLK = 16MHz并且采样时间 = 4 cycles Î 完成的转换时间: 12位分辨率 (12 + 4 = 16 cycles) Î 1µs 10位分辨率 (11 + 4 = 15 cycles) Î 937.5ns 8位分辨率 ( 9 + 4 = 13 cycles) Î 812.5ns 6位分辨率 ( 7 + 4 = 11 cycles) Î 685ns
模拟外设
模数转换器 (ADC)
1
ADC —— 概述(一)
ADC: 12位分辨率,1 MHz转换率
STM32l151中文手册
2 x spi 16 Mbit / s 2 x i2c(SMBus / PMBus)
10 x 计时器:6 x 16 位 4 IC / OC / PWM 通道,2 x 16 位基本定时器,2 x 看门狗定时器 (独立和窗口) 20 电容式感应通道支持 touchkey,线性和旋转触摸传感器 CRC 计算单位,96 位的惟一 ID
超低功耗平台 1.65 V 至 3.6 V 电源 -40°C 到 85°C / 105°C 的温度范围 0.3μA 待机模式(3 唤醒别针) 0.9μA 待机模式+清债信托公司 0.57μA 停止模式(16 唤醒线) 1.2 + RTCμA 停止模式 9μA 低功耗运行模式 214μA / MHz 运行模式 10 nA 超低 I / O 泄漏 < 8μs 唤醒时间 核心:手臂®皮层®m3 32 位 CPU 从 32 kHz 到 32 MHz 马克斯 1.25 DMIPS / MHz(Dhrystone 2.1) 内存保护单元 重置和供应管理 超级安全,低功耗 BOR(断电复位)与 5 选择阈值 超低功耗/ PDR 运动 可编程电压检测器(PVD) 时钟源 1 到 24 MHz 晶体振荡器 32 kHz 振荡器 RTC 的校准 高速内ቤተ መጻሕፍቲ ባይዱ 16 兆赫 factory-trimmed RC(+ / - 1%) 内部低功耗 37 千赫 RC 内部多速的低功耗 65 千赫至 4.2 MHz 锁相环的 CPU 时钟和 USB(48 MHz)
ADC 1 (12 位)24 个通道 DAC 2 DMA 1 个 USB2.0(48MHz 3 个串口 2 个 SPI 2 个 I2c 定时器(10 个) 2 个 16 位基础定时器 2 个看门狗定时器 锁相环) (12 位)
stm32f3 比较器用法 -回复
stm32f3 比较器用法-回复【stm32f3 比较器用法】在STM32F3系列微控制器中,比较器是一种非常有用的功能模块。
它可以用于实现电压的比较、电压的转换、自动电压调节等应用场景。
本文将重点介绍stm32f3比较器的用法,让你逐步了解如何使用这个功能模块。
第一步:比较器的原理和基本概念在开始深入学习stm32f3比较器的用法之前,我们需要先了解一些基本概念和原理。
比较器是一种电路或芯片,用于比较两个电压的大小,然后输出一个逻辑电平结果。
这个结果可以表示两个电压的大小关系,或者触发其他器件的行为。
stm32f3系列微控制器中有多个比较器,每个比较器的输入通道可以连接到不同的引脚和信号源上。
比较器通常有两个输入端,一个负输入端和一个正输入端。
通过将不同的电压信号输入到这两个端口,比较器可以执行不同的比较操作。
第二步:比较器的寄存器配置在stm32f3中,每个比较器都有一组寄存器用于进行配置和控制。
你可以使用这些寄存器来设置比较器的输入通道、参考电压、输出模式等参数。
以下是一些常见的比较器寄存器:1. COMPx_CSR:比较器控制/状态寄存器,用于配置比较器的各种参数和状态。
2. COMPx_CSR:比较器输入选择/屏蔽寄存器,用于选择比较器的输入通道和屏蔽功能。
3. COMPx_CSR:比较器中断和事件寄存器,用于配置中断和事件触发。
4. COMPx_CSR:比较器窗口模式寄存器,用于配置比较器的窗口模式。
你可以使用CMSIS库或CubeMX工具生成的代码来访问和配置这些寄存器。
例如,以下是配置比较器输入通道和参考电压的代码示例:HAL_COMP_Start(&hcomp);hcomp.Instance = COMPx;hcomp.Init.InvertingInput = COMP_INVERTINGINPUT_IO1; 设置负输入引脚hcomp.Init.NonInvertingInput =COMP_NONINVERTINGINPUT_IO2; 设置正输入引脚hcomp.Init.Output = COMP_OUTPUT_NONE; 设置比较器输出模式hcomp.Init.Mode = COMP_MODE_HIGHSPEED; 设置比较器模式hcomp.Init.WindowMode = COMP_WINDOWMODE_DISABLE; 禁用窗口模式HAL_COMP_Init(&hcomp);第三步:比较器的工作模式stm32f3比较器有几种不同的工作模式,你可以根据具体的应用需求来选择适合的模式。
STM32H7模拟比较器(COMP)应用说明书
模拟比较器COMP在STM32H7上的应用前言STM32H7集成了运算放大器(COMP),可与模拟信号进行比较来进行电压检测,内置的COMP节省了MCU外接COMP 的硬件成本。
本文档将介绍STM32H7的片内COMP的不同工作模式,并提供配置COMP的例程。
STM32H7模拟比较器(COMP)特性以下是STM32H7模拟比较器主要特性:•两个独立的比较器COMP1和COMP2可以组合在一起来创建一个窗口比较器•可编程的比较器迟滞•可编程的速度和功耗•可配置的正和负输入•多路复用I/O引脚,DAC通道1和2,内部参考电压和三个因数值•输出重定向o配置 I/Oso计时器——打断事件给快速PWM关闭,逐周期电流控制,输入捕获给时间测量o输出 blanking 源•比较两个模拟信号,并提供数字输出指示哪个大•有能力从停止模式唤醒CPUSTM32H7模拟比较器(COMP)特性工作模式COMP窗口模式窗口比较器的目的是指示,如果模拟电压比阈值电压更低或更高,应用于每一个比较器的反相输入。
两个非反相输入端可以在内部连接,通过启用WINMODE,可以节省一个IO口,用作其它的用途。
COMP打断信号生成比较器(COMP1/COMP2) 输出值能产生打断输入信号给定时器 (TIM1 & TIM8) 在输入脚 TIMx_BKIN or TIMx_BKIN2 通过配置 GPIO alternate function。
COMP Blanking防止在PWM周期的开始由于短周期电流峰值,电流调节跳闸。
掩码COMP输出重定向到定时器打断输入。
应用实例硬件环境本文档硬件环境基于STM32H743I_EVAL。
CN6的第29引脚(PB0)作为COMP1模拟电压的输入引脚。
软件配置虽然STM32H7系列中的 ADC 可用作模拟看门狗,看门狗的阈值上限和下限均可编程,但是由于 ADC 在停机模式下会断电,因此 MCU 必须保持在运行模式下才能监视输入端的模拟电压。
STM32定时器输出比较模式
STM32定时器输出比较模式
一、原理
1.设置定时器的分频系数和计数器自动重装载值,确定定时器的计数
范围和计数频率。
2.设置定时器的比较寄存器的值,确定触发事件的时间点。
3.当定时器计数器的值等于比较寄存器的值时,触发比较事件。
4.在比较事件发生时,可以执行一些操作,比如改变输出引脚的电平
状态、产生特定的输出波形、中断处理等。
二、使用方法
1.在STM32芯片的库函数中,需要先初始化相关的定时器和GPIO引脚。
2.设置定时器的分频系数和计数器自动重装载值,确定定时器的计数
范围和计数频率。
3.设置比较寄存器的值,确定触发事件的时间点。
4.配置比较输出通道的模式和极性,确定输出信号的电平状态。
5.编写比较事件的中断处理函数,实现在比较事件发生时的操作。
6.启动定时器计数器,使定时器开始计数。
三、常见应用
1.生成PWM波形:可以通过比较寄存器的值和定时器计数器的值,确
定PWM的周期和占空比,从而生成不同的PWM波形用于控制电机、LED等。
2.声音发生器:可以通过定时器输出比较模式产生不同频率的方波,从而实现声音发生器。
3.定时中断:可以通过比较寄存器的值和定时器计数器的值,实现定时中断。
4.输入捕获:可以通过比较寄存器的值和定时器计数器的值,进行输入捕获,用于测量外部信号的频率、占空比等。
关于stm32中R15寄存器的理解
关于stm32中R15寄存器的理解关于stm32中R15寄存器的理解今天上午看《stm32 权威指南》中关于R15 寄存器中有些内容不理解,查了查资料,原来是这样。
这里有一个别人的问题。
我把Nor Flash 里的一个函数代码数据(函数首地址是:0x6400EC10)拷贝到RAM 的0x2000FC00,然后把0x2000FC00 加载给PC 指针(为了让代码在RAM 里运行),接着就出现了Hard FaultException,而用IAR 单步执行的时候能正常运行。
同时我将一个函数地址值赋给一个unsigned int 变量之后发现自动加了1。
对于这些问题先看权威指南里是怎么说的吧。
一,PC 指针(程序计数器R15)(权威指南)R15 是程序计数器,在汇编代码中称为PC 指针。
因为CM3 内部使用了指令流水线,读PC 时返回的值是当前指令的地址+4。
比如说:0x1000: MOV R0, PC ; R0 = 0x1004 如果向PC 中写数据,就会引起一次程序的分支(但是不更新LR 寄存器)。
CM3 中的指令至少是半字对齐的,所以PC的LSB 总是读回0。
然而,在分支时,无论是直接写PC 的值还是使用分支指令,都必须保证加载到PC 的数值是奇数(即LSB=1),用以表明这是在Thumb 状态下执行。
倘若写了0,则视为企图转入ARM 模式,CM3 将产生一个fault 异常。
这些可以总结为读PC 指针时,返回LSB 总是为0;写PC 指针时,一定要保证LSB 为奇数。
二,函数地址(自己总结的)正如上面所说,写PC 指针的时候必须保证LSB 为奇数,如果执行跳转指令的时候,将一个函数指针加载给PC,这时候就必须保证这个函数地址的LSB 为奇数,而且还必须是(4*n+1)(n=0,1,2,3)这样的奇数,只有这样运行程序才不会跑飞。
在以后的编程中,如果执行函数跳转的时候,一定要保证这个函数地址的低四位的值为(4*n+1)(n=0,1,2,3)。
STM32L15x —— 模拟比较器COMP
模拟外设模拟比较器(COMP)模拟比较器——概述STM32L15x提供两个过零比较器COMP1和COMP2,共享同样的电流偏置比较器COMP1使用固定门限:内部参考电压V REFINT= 1.22 V轨到轨比较器COMP2使用的门限可编程两个比较器可以组合成窗口比较器比较器可用于退出低功耗模式的触发反相输入1.22V来自V REFINT的偏置+-+-轨到轨内部参考电压/内部参考电压的约数DAC1输出/ DAC2输出窗口比较器配置开关COMP1COMP2非反相输入非反相输入COMP1和COMP2不能通过GPIO口输出模拟比较器——COMP1概述使用固定门限:内部参考电压V REFINT 有24个I/O 口可以选择作为非反相输入比较器的输出可以作为EXTI 21的边沿条件触发中断并退出低功耗模式(上升沿/ 下降沿/ 上升沿+下降沿)ADC 和COMP1共享同一开关矩阵,因此COMP1和ADC 不能同时使用VSSCH25CH24CH23CH4ADCVCOMPV REFINT1.22VVDD10K400K 10K400K+-COMP1CH5CH22Temp. Sensor *V REFINT *CH10CH11CH12CH13Group 8CH1CH2CH3Group 1CH0CH14CH15Group 9CH19CH20CH21Group 7CH9Group 3CH8CH6CH7Group 2CH18ADC Switch matrixEXTI 21CMP1OUTRouting InterfacePC0PC1PC2PC3PA0PA1PA2PA3PA6PA7PC4PC5PB12PB13PB14PB15PB0PB1PA4PA5PE7PE8PE9PE10* Temperature sensor and V REFINT can’t be used as COMP1 non inverting input轨到轨的比较器COMP2可以选择比较门限:内部参考电压V REFINT ,内部参考电压的约数(1/4,1/2和3/4的V REFINT ), DAC 的输出(1&2),和外部输入(PB3)。
STM32L15x——通用定时器(TIM)
STM32L15x——通用定时器(TIM)Same as STM32F-1定时器通用定时器(TIM)TIM ——概述16位计数器自动装载向上,向下和中间计数高达4个16位高分辨率捕获/比较通道可配置的通道方向:输入/输出输出比较输入捕获PWM 输入捕获同步最多6个IT/DMA 请求 OC 信号管理编码模式C C 16-Bit PrescalerITR 1Trigger/Clock ControllerTrigger OutputClock Auto Reload REG+/-16-Bit CounterCapture Compare ITR 2ITR 3ITR 4Capture Compare Capture Compare Capture CompareCH1CH2CH3 CH4ETRCH1CH4TIM ——计数模式支持三种计数模式:向上计数模式向下计数模式中间计数模式中间计数向上计数向下计数UEVTIM ——更新事件更新指预装载寄存器中的数值装载入影子寄存器,根据是否使能了自动装载功能(ARPE位),更新发生在:立即每个更新事件(UEV)更新事件的产生:当计数器向上或向下溢出由软件置位TIMx_EGR寄存器的UG位更新事件请求(UEV)可以选择以下两种:仅在计数器向上或向下溢出时产生更新事件请求在计数器发生向上或向下溢出,或软件置位了UG位,或由从模式控制器发出了更新请求时,产生更新事件请求TIM ——计数器时钟选择可选择以下时钟源由RCC 提供的内部时钟TIMxCLK 内部触发输入时钟:ITR1 / ITR2 / ITR3 / ITR4 使用一个定时器作为另一个定时器的预分频器外部时钟模式1——外部输入引脚TIxPin 1: TI1FP1 或TI1F_ED Pin 2: TI2FP2外部时钟模式2——外部触发输入ETR由软件控制使能/禁止可配置触发边沿 4位的外部触发过虑外部触发信号的预分频:无分频 / 2 /4 /8TI1FP1TI2FP2TIMxCLK TRGOITR1ITR2ITR3ITR4Polarity selection & Edge Detector & Prescaler & FilterETR TI1F_EDControllerTrigger ControllerTIM2/ 3/ 4使用低速APB 总线(APB1) 内部时钟最高为32 MHz 16位计数器向上,向下和中间计数模式自动装载4个16位分辨率的捕获/比较通道可配置通道方向:输入/输出输出比较 PWM 输入捕获PWM 输入捕获(下降沿/上升沿/ 下降和上升沿)单脉冲模式同步主/从模式和外部触发同步触发或门控模式编码器模式6 个独立的IRQ/DMA 请求每个更新事件每个捕获和比较事件每个输入触发16-Bit PrescalerITR 1Trigger/Clock ControllerTrigger OutputClock Auto Reload REG+/-16-Bit CounterCapture Compare ITR 2ITR 3ITR 4Capture Compare Capture Compare Capture CompareCH1CH2CH3 CH4ETRCH1CH4TIM ——4通道的通用定时器(TIM2/3/4)16-Bit PrescalerTrigger/Clock ControllerTriggerOutputClock Auto Reload REG+ 16-Bit CounterITRxCapture Compare Capture CompareCH1CH2CH1CH2ETR LSEGPIO TIM9使用高速APB 总线(APB2) 内部时钟最高32 MHz16位计数器向上计数模式自动装载2个16位分辨率的捕获/比较通道可配置的通道方向:输入/ 输出输出比较 PWM输入捕获 PWM 输入捕获(下降沿/上升沿/ 下降和上升沿) 单脉冲模式同步(主/从模式)和外部触发信号同步触发或门控模式独立的IRQ 请求每个更新事件每个捕获/比较事件每个输入触发16-Bit PrescalerTrigger/ClockControllerTriggerOutputClockAuto Reload REG+ 16-Bit CounterCapture CompareCH1CH1ETRLSE GPIO LSI RTCTIM10使用高速APB 总线(APB2) 内部时钟最高32 MHz16位计数器向上计数模式自动装载1个16位分辨率的捕获/比较通道可配置的通道方向:输入/输出输出比较 PWM输入捕获(上升沿/下降沿/上升沿和下降沿)独立的IRQ 请求每个更新事件每个捕获/比较事件Measure LSE/LSI/RTC frequencySame as STM32F-116-Bit PrescalerTrigger/ClockControllerTriggerOutputClockAuto Reload REG+ 16-Bit CounterCapture CompareCH1CH1ETRGPIO MSI HSELSEMeasure HSE/MSI frequencyTIM11使用高速APB 总线(APB2) 内部时钟最高32 MHz16位计数器向上计数模式自动装载1个16位分辨率的捕获/比较通道可配置的通道方向:输入/输出输出比较 PWM输入捕获(上升沿/下降沿/上升沿和下降沿)独立的IRQ 请求每个更新事件每个捕获/比较事件TIM ——捕获/比较阵列捕获/比较阵列的构成:捕获/比较通道TIM2/3/4的4个通道TIM9的2个通道和TIM10/11的1个通道每个通道都可配置为输入或输出方向通道的构成:捕获/比较寄存器捕获的输入部分:4位的数字滤波输入捕获的预分频:在每个检测到的边沿捕获在每2个检测到的边沿捕获在每4个检测到的边沿捕获在每8个检测到的边沿捕获比较的输出部分:比较器输出控制IC1, IC2, IC3 和IC4可由软件配置映射到TI1, TI2, TI3 和TI4. 4个16位的捕获比较寄存器用于在相应的输入捕获发生后锁存计数值捕获发生后,相应的CCXIF 标志被置起并产生中断,或发起DMA 请求当CCXIF 位置置位时,再次发生捕获,溢出标志将被置起TIM ——输入捕获模式Input Filter & Edge detectorTI116 bit Capture/Compare 1 RegisterTI2Input Filter & Edge detectorTRCTRCPrescaler Prescaler16 bit Capture/Compare 2 RegisterInput Filter & Edge detectorTI316 bit Capture/Compare 3 RegisterTI4Input Filter & Edge detectorTRCTRCPrescaler Prescaler16 bit Capture/Compare 4 RegisterIC1IC2IC3IC4此图对应于TIM2/3/4,对于TIM9仅有TI1和TI2,对于TIM10/11,仅有TI1TIM ——PWM 输入模式PWM 输入模式用于测量外部PWM 波形的周期和占空比Timer ClockIC1 -DUTYCYCLEIC2 -PERIODIC1IC2PWM配置要点IC1和IC2必须配为联立模式测量PWM 信号CounterPWM610IC1 和IC2 在内部重定位,连接到同一个外部引脚TI1或TI2. IC1 和IC2 的有效边沿极性相反IC1 和IC2 选择触发输入,从模式控制器配置为复位模式TIM ——输出比较模式Timer ClockInterruptNew CCR1OC1Interrupt 输出比较功能用于输出波形,或者用于指示是否已超过了某段时间当计数器值和捕获/比较寄存器中的值相等时:相应的输出引脚将输出配置好的信号:高电平低电平电平翻转电平保持不变在中断标志寄存器中置位标志位如果使能了中断,则产生中断如果使能了DMA ,则产生DMA 请求CCRx 寄存器可以通过预装载寄存器,也可以不通过预装载寄存器来赋值PWM模式配置:TIM2,TIM3和TIM4可以产生4路独立的PWM信号以下步骤可以确定信号的频率和占空比:一个自动装载寄存器用于控制PWM信号的周期每个PWM通道都有一个捕获/比较寄存器,控制占空比示例:使用TIM2(时钟为32MHz)产生40KHz50%占空比的PWM信号: 预装载寄存器赋值0,自动装载寄存器赋值1799,CCRx 寄存器赋值899 PWM模式有两种配置:边沿对齐模式中间对齐模式Capture CompareClockAutoReloadUpdateEventCaptureCompare边沿对齐模式中间对齐模式TimerClock AutoReload Update EventOCx OCx单脉冲模式(OPM) 是前面所说的输出比较和输入捕获模式的一个特例单脉冲模式下,计数器在外部触发条件下开始计数,并在一个指定的时间延迟后,产生一个指定宽度的脉冲软件可以配置两种单脉冲模式下的输出波形一个脉冲重复的脉冲TIM_ARRTIM_CCR1t Delay tPulset TI2OC1REFOC1仅TIM2, TIM3, TIM4和TIM9支持单脉冲模式在检测到TI2信号的上升沿的tDelay时间之后,在OC1上产生一个宽度为tPulse的正向脉冲信号TIM ——OCxREF 信号清除(TIM2/TIM3/TIM4)OCREF_CLR_INPUT 信号为高时,可以清除指定通道的OCxREF 信号0OCREF_CLR_INT1OCREF_CLRETRFOCCSTIMx_SMCROCREF_CLR_INPUT 信号可以在OCREF_CLR 信号(来自于COMP2)和ETRF 信号(经过滤波的ETR 信号)之间选择(设置TIMx_SMCR 寄存器的OCCS 位)OCxREF (OCxCE = 1)ETRF OCxREF (OCxCE = 0)Counter (CNT)CCRxOCREF_CLR_INT becomes high注意:此功能仅可用于输出比较和PWM 模式OCREF_CLR_INT is still highTIM ——编码器接口编码器用来测量一个运行系统的位置和速度编码器接口模式的工作类似于一个有方向选择的外部时钟计数器能提供当前位置的具体信息(例如一个电动马达转子的角位置)要获得一个动态的信息,例如速度,加速度,必须在两个周期事件间(由另一个定时器产生)进行测量编码器和微控制器连接的例子:外部增量编码器可以直接连接到MCU ,无需额外的接口逻辑单元第三方的编码器输出,用于指示机械零位的,可以直接连接到外部中断,并触发计数器的复位Trigger ControllerControllerEncoder InterfacePolarity Select & Edge Controller TI1Polarity Select & Edge ControllerTI2TI1FP1TI2FP2有四个定时器是连接在一起的,可做同步和级联定时器的链接系统TRG4Trigger ControllerTRGO TIM4TRG3TRG2TRG1TIM4CLKTIM9CLKTrigger ControllerTRGO TIM9TRG1TRG3TRG2TRG4TI1FP1TI2FP2Trigger ControllerTRGO TIM2TRG1TRG3TRG2TRG4TIM2CLKTrigger ControllerTRGO TIM3TRG3TRG2TRG1TRG4TIM3CLKTI1FP1TI1FP1TI2FP2TI2FP2TI2FP2TI1FP1TIM ——多个定时器的同步门模式New Master CCR1ClockMaster CCR1Master CNT Master CC1 Slave CNT触发模式Slave CNTMaster ARRClockMaster CNTMaster TriggerOut主模式计数器的输出可用于控制:计数器复位计数器使能更新事件OC1 / OC1Ref / OC2Ref / OC3Ref / OC4Ref 信号从模式下的定时器可以配置为以下模式:触发模式:计数器的启动受到控制门模式:计数器的启动和停止都受到控制TIM ——定时器同步模式的配置。
STM32L15x —— LCD控制器
LCD控制器 (LCD)
1
LCD控制器 —— 概述
高度灵活性的帧率
驱动高达320点(8x40)或176点(4x44)像素(pixels)
可编程的占空比和偏置
占空比:静态,1/2,1/3,1/4,和1/8
偏置:静态,1/2,1/3和1/4 低功耗的驱动波形,以降低耗电
偶数帧
奇数帧
COM0
V
LCD
2/3 V
LCD
1/3 V
LCD
V
SS
phase0 phase1 phase2 phase3 3 phase dead time
phase0 phase1 phase2 phase3
使用内部电源: 软件可以通过设置CC[2:0]寄存器位来调整VLCD的电压。从 2.6V到3.3V,有8种电压可以选择
Frame ~30 Hz to ~100 Hz
软件可选使用外部或内部的电压源
双缓冲存储器
LCD数据存储区包括16个32位寄存器,用于存储像素信息(有效/ 无效)
当更新LCD的数据存储区时,会产生帧首中断,以便软件同步
无论使用何种电源,都可以控制对比度
可对像素和频率进行编程的闪烁功能
,LCD_FCR
PS[3:0]
Clock MUX CK_PS
CK_PS由DIV[3:0]分频,CK_PS 除以16-31,产生CK_DIV。
DIV[3:0]
Divide by 16 to31 CK_DIV
f ck_div
=
f LCD
=
f LCDCLK 2PS (16 + DIV )
帧频率由CK_DIV频率与占空比相 乘所得。
STM32L15x —— 概述
低功耗系列芯片STM32L15x 技术培训MCU 上海5-2011V0.1培训内容STM32L15x 超低功耗系列芯片概述 ST 超低功耗EnergyLite™平台STM32L15x EnergyLite™ 产品线 STM32L15x 框图存储器分配和启动模式系统架构STM32L15x 外设外设的基本功能和特色STM32L15x 的最小系统STM32L15x 和STM32F10x对比目标介绍STM32系列的全新成员:STM32L系列使用EnergyLite™ 超低功耗平台的STM32家族新产品,详细介绍STM32L系列芯片的性能和特性通过培训:了解STM32L15x系列芯片的主要特色和外设功能了解STM32L15x系列芯片的低功耗性能培训内容STM32L15x 超低功耗系列芯片概述 ST 超低功耗EnergyLite™平台STM32L15x EnergyLite™ 产品线 STM32L15x 框图存储器分配和启动模式系统架构STM32L15x 外设外设的基本功能和特色STM32L15x 的最小系统STM32L15x 和STM32F10x对比超低功耗EnergyLite™ 平台 意法半导体130纳米超低漏工艺技术共享技术,架构和外设STM32L ——STM32系列的扩展STM32L15x ——EnergyLite™ 产品线STM32L ——产品线供电:不带BOR功能的1.65V —3.6V带BOR功能:1.8V —3.6V和现有的STM32F1系列引脚兼容CORTEX TM -M3CPU 32 MHz With MPUUp to 16KB SRAM1 x 12-bit ADC 26 channels / 1Msps2 x I 2C2 x USART/LIN Smartcard / IrDa Modem ControlUp to 16 Ext. ITsTemp Sensor3 x 16-bit Timer JTAG/SW Debug Power SupplyReg 1.8V/1.5V/1.2V POR/PDR/PVD/BOR DMA7 Channels Nested vect IT Ctrl2 x 12-bit DAC1 x USART/LIN Smartcard/IrDa Modem-Control1 x SPI 1 x Systic Timer A R M ® L i t e H i -S p e e d B u s M a t r i x / A r b i t e r (m a x 32M H z )PLLReset Clock ControlRTC / AWU + 80B Backup Regs 64KB-128KB Flash Memory Data EEPROM 4KB USB 2.0 FS8x40Segment LCD2 x ComparatorsETMXTAL oscillators 32KHz + 1~24MHz Int. RC oscillators 38KHz + 16MHz Int. RC 64K..4MHzCRC 37/51/80 I/Os1 x SPI 3 x 16-bit Timer2 x 16-bit Basic Timer2 x Watchdog (ind & window)A R M P e r i p h e r a lB u s(m a x 32M H z )BridgeBridgeARM Peripheral Bus (max 32MHz)STM32L15x 框图ARM 32位Cortex-M3 内核工作电压: 使能BOR 时:VDD 为1.8 V (上电) 或1.65 V (断电) 到3.6 V 不使能BOR 时:VDD 为1.65 V 到3.6 V安全的复位系统(上电复位(POR) / 断电复位(PDR) + 欠压复位(BOR) + 可编程的电压检测器(PVD))内置存储器: FLASH: 高达128K 字节,并带ECC 校验 Data EEPROM: 高达4K 字节,并带ECC 校验 SRAM: 高达16K 字节 CRC 计算单元 7通道DMA由内置的,可由软件配置的变压器,和不同的低功耗模式来选择供电电压。
at32f415cmp例程
AT32F415xx的比较器(CMP)是一种很有用的外设,可以用于许多应用,例如深度睡眠模式唤醒等。
编写AT32F415cmp例程需要遵循以下步骤:
1.硬件初始化:首先需要对微控制器的硬件进行初始化,包括时钟、复位等。
2.外设配置:根据需要使用的外设,配置其相关寄存器,如GPIO、定时器
等。
3.功能实现:根据需求实现相应的功能,如按键控制、LED 灯控制等。
4.中断处理:如果需要使用中断功能,需要编写中断处理程序来响应该中断。
这些步骤只是一个大致的指导,实际应用中的具体步骤可能有所不同。
32位比较器电路原理
32位比较器电路原理
32位比较器电路是一种高精度的模拟电路,它的主要功能是比较两个二进制数的大小。
该电路主要利用了1位数值比较器的输出作为中间结果,其工作原理是:如果两位数 A_{1}A_{0} 和 B_{1}B_{0} 的高位不相等,则高位比较结果就是两数比较结果,与低位无关。
这时,高位输出 F_{A_{1}=B_{1}}=0,使能下一位比较。
具体来说,比较器有两个模拟电压输入端UIN+和UIN-,和一个数字状态输出端UOUT。
输出状态只有两种,用于表示两个输入端电位的高低关系。
实质上,比较器是对两个或多个数据项进行比较,以确定它们是否相等,或确定它们之间的大小关系及排列顺序。
值得一提的是,比较器还可用作1位模数转换器(ADC)。
运算放大器原则上可以用作比较器而没有负反馈,但是由于运算放大器的开环增益非常高,因此它只能处理输入差分电压很小的信号。
为了避免输出振荡,许多比较器还具有内部迟滞电路。
总的来说,32位比较器电路原理涉及到的主要部分有:二进制数的高位比较、模拟电压输入、二进制数的低位比较以及输出状态的判断等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟外设
模拟比较器(COMP)
模拟比较器——概述
STM32L15x提供两个过零比较器COMP1和COMP2,共享同样的电流偏置
比较器COMP1使用固定门限:内部参考电压V REFINT= 1.22 V
轨到轨比较器COMP2使用的门限可编程
两个比较器可以组合成窗口比较器
比较器可用于退出低功耗模式的触发
反相输入
1.22V
来自V REFINT的偏置
+
-
+
-
轨到轨
内部参考电压/内部参考电压的约数
DAC1输出/ DAC2输出
窗口比较器配置开关
COMP1
COMP2非反相输入
非反相输入
COMP1和COMP2不能通过GPIO口输出
模拟比较器——COMP1概述
使用固定门限:内部参考电压V REFINT 有24个I/O 口可以选择作为非反相输入
比较器的输出可以作为EXTI 21的边沿条件触发中断并退出低功耗模式(上升沿/ 下降沿/ 上升沿+下降沿)
ADC 和COMP1共享同一开关矩阵,因此COMP1和ADC 不能同时使用
VSS
CH25
CH24CH23CH4ADC
VCOMP
V REFINT
1.22V
VDD
10K
400K 10K
400K
+-
COMP1
CH5CH22Temp. Sensor *
V REFINT *
CH10CH11CH12CH13Group 8
CH1CH2CH3
Group 1
CH0CH14CH15
Group 9
CH19CH20CH21Group 7
CH9
Group 3
CH8CH6CH7
Group 2
CH18ADC Switch matrix
EXTI 21CMP1OUT
Routing Interface
PC0PC1PC2PC3PA0PA1PA2PA3
PA6PA7
PC4PC5
PB12PB13PB14PB15PB0PB1
PA4PA5PE7PE8
PE9PE10
* Temperature sensor and V REFINT can’t be used as COMP1 non inverting input
轨到轨的比较器COMP2可以选择比较门限:内部参考电压V REFINT ,内部参考电压的约数(1/4,1/2和3/4的V REFINT ), DAC 的输出(1&2),和外部输入(PB3)。
非反相输入端可以选择外部I/O 口:PB4和PB5。
比较器的输出可以作为EXTI 22的边沿条件触发中断并退出低功耗模式(上升沿/ 下降沿/ 上升沿+下降沿)
Group 6
GR 6-1
GR 6-2
PB3
TIM3 OCREF Clear TIM3 Input Capture 4TIM2 OCREF Clear TIM2 Input Capture 4TIM4 Input Capture 4TIM4 OCREF Clear TIM10 Input Capture 1
DAC_OUT1V REFINT (1.22V)
-
+¾ V REFINT
½ V REFINT ¼ V REFINT
PB4PB5
EXTI 22COMP2
DAC_OUT2
V REFINT
CMP2OUT
COMP2的输出可以映射到:
定时器的输入捕获,用于测量脉宽或者信号频率:TIM2 IC4, TIM3 IC4, TIM4 IC4, 和TIM10 IC1.
定时器的输出比较参考清除信号OCREFCLR :TIM2 OCREFCLR, TIM3 OCREFCLR 和TIM4 OCREFCLR ,在模拟输入电压超过参考值时保证PWM 的信号在安全的范围内。
EXTI 22CMP2OUT
¼ V REFINT
PB3
DAC_OUT1V REFINT (1.22V)
-
+¾ V REFINT
½ V REFINT COMP2
DAC_OUT2
V REFINT
TIM2 IC4TIM2 OCRECLR TIM3 IC4
TIM3 OCREFCLR TIM4 IC4TIM4 OCRECLR TIM10 IC1
OUTSEL[2:0]
Group 6
GR 6-1GR 6-2
PB4PB5
中断和唤醒模式:
Vin > 上限
Vin < 下限
下限< Vin < 上限
Vin < 下限或Vin > 上限
下限:多种选择+ --+
上限:V REFINT=1.22V 窗口比较器配置开关
输入信号
COMP2 COMP1
PB4 PB5GR 6-1 GR 6-2
窗口比较器使用示例:
停止模式下的模拟看门狗
当控制器运行时,输入电压降低到了上限以下,控制器继续进入停止模式
32当控制器处于停止模式时,由于输入电压降到了下限以下,产生中断,退出停止模式
当控制器处于停止模式时,由于输入电压超过了上限,因此产生中断,退出停止模式1输入电压
上限:V REFINT
退出停止模式
下限进入停止模式
退出停止模式
0V
Time
12
3
COMP1输出
Low level
High level
Time
COMP2输出
Low level
High level
Time。