【经验】雅特力MCU AT32F421 CMP比较器使用指南
雅特力AT32F421系列内置一个超低功耗比较器CMP,它可用作独立器件(I/O上提供了全部接口),也可以与定时器结合使用。本篇文章介绍如何使用AT32F421xx的比较器(CMP)。
CMP特性
比较器迟滞程度可配
定时器输出作为比较器消隐源
比较器输出极性可配
比较器输出速度可配
比较器同相和反相输入源可选:
I/O引脚
内部参考电压和三个系数分压值(1/4,1/2,3/4)
支持输出重定向功能:
普通I/O
定时器断路输入TMRx_BRK
定时器输入捕获TMR_CH
定时器输出比较参考值清零TMR_CH_CLR
结合EXINT产生中断,从低功耗模式唤醒
CMP可用于多种功能,包括:
由模拟信号触发从低功耗模式唤醒
模拟信号调节
与定时器的PWM输出结合使用时,组成逐周期的电流控制环路
CMP功能框图
图1. CMP功能框图
迟滞
寄存器CMP_CTRLSTS的CMPHYST[1:0]控制比较器迟滞输出,该功能可避开噪声信号带来的虚假传输信号,如果不需要迟滞,可以关闭掉。
图2. 比较器迟滞
输出消隐功能
寄存器CMP_CTRLSTS的CMPBLANKING[2:0]位用于选择比较器消隐窗口的来源,该功能可以用于防止电流调节在PWM起始时刻产生的尖峰电流。
图3. 比较器输出消隐
干扰滤波器
干扰滤波器可以用来滤除毛刺和噪声干扰。
滤波器的敏感性由H_PULSE_CNT和L_PULSE_CNT位控制。滤波器的敏感性会影响相同的连续采样的数量,在滤波器输入上检测到此类连续采样时,才能将某信号电平变化视为有效切换。例如H_PULSE_CNT=2和L_PULSE_CNT=1时干扰滤波器时序图,如下:
图4. 干扰滤波器时序图
注:因为滤波器采样数据需要时钟,系统在深度睡眠模式下关闭比较器时钟,因此,要让比较器在深度睡眠模式下工作,必须在进入深度睡眠模式前关闭滤波器(G_FILTER_EN寄存器中的GFE=0)。
CMP中断
比较器输出从内部连接到扩展中断和事件控制器,能够产生中断或事件。该机制还可以用于退出低功耗模式。比较器通过EXINT线21来产生中断或事件。
应用实例
下面介绍了比较器的三个应用实例,分别是:
输出消隐功能
干扰滤波功能
深度睡眠模式唤醒
这三个实例演示了比较器的用途,并介绍了它们与定时器等外设联合工作的方式,为了方便用户快速入门使用AT32F421xx的比较器,本文档介绍的三个应用实例的工程代码都可以在BSP软件包的AT32F421_Firmware_Library_V2.x.x\project\at_start_f421\examples\cmp中获取到,以下三个实例对应工程名称分别为:blanking,glitch_filter和deep_sleep_mode。
注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各种编译环境(例如IAR6/7,keil 4/5)进行简单修改即可。
输出消隐功能
前面提到了输出消隐的功能,下面来看一下这个功能的具体用法,首先我们需要在TMR1/3/15中选择一个TMR_CHx来作为比较器的消隐窗口,这里需要相应的配置好CMP_CTRLSTS中的CMPBLANKING位来进行选择。由于没有单独的使能位,只要此位非0就表示开启了blanking功能。这里我们选择TMR1_CH1的输出比较PWM模式1来作为CMP的消隐窗口,外部输入100kHz的方波来模拟CMP同相输入端。则可以得到如下波形:
图5. 输出消隐波形
干扰滤波功能
对于干扰滤波功能也使用TMR来做一个辅助测试,使用TMR1的PWM模式来模拟CMP同相输入信号,然后完成对CMP比较后的输出波形的滤波。配置方式如下:
配置TMR1_CH1为PWM模式2,频率468.7KHz,周期2.1333us,占空比50%
CMP滤波配置为H_PULSE_CNT=63,L_PULSE_CNT =0,即滤掉64个PCLK的高电平
连接TMR1_CH1(PA8)与CMP_NINV(PA1)
在主频120mHz时,每个PCLK周期为8.33ns,64个PCLK就是533.33ns,CMP滤波前高电平时长为1066.66ns,则CMP滤波后高电平占空比减半,即为25%占空比。但是,以上仅为理论值,实际测试发现最终输出会有误差,这是由于CMP输出有一定的偏移,在无滤波的情况下实际CMP输出的高电平长度会比输入多26ns,偏移量会随着输入频率的增加而增加,最多26ns。实测得到的波形如下:
图6. 干扰滤波波形
深度睡眠模式唤醒
利用比较器的以下两个特性:CMP极性选择逻辑和输出端口的重定向工作独立于PCLK时钟CMP输出可以连接到EXINT线21可以将MCU从深度睡眠模式唤醒,只需要在使能CMP的基础上,将EXINT 21配置为中断或事件模式即可。需要注意的是在退出深度睡眠模式后需要重新配置系统时钟,具体配置方法请参考BSP提供的example。
图7. 深度睡眠模式唤醒
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自AT32 MCU 雅特力科技公众号,原文标题为:AT32讲堂030 | AT32F421 CMP使用指南,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】雅特力32位MCU AT32F421 GPIO的使用指南
本文中雅特力将为大家分享32位微控制器AT32F421 GPIO的使用指南。
【经验】雅特力AT32F4系列 MCU Cortex M4内核入门指南:位带操作、硬件浮点运算单元、滴答时钟中断功能
AT32F4系列产品是基于Cortex™-M4F处理器架构,该处理器是一款低功耗处理器,具有低门数,低中断延迟和低成本调试的特点。支持包括DSP指令集与浮点运算功能,特别适合用于深度嵌入式应用程序需要快速中断响应功能。
【经验】雅特力MCU产品JLink、JFlash操作指南
本文主要介绍雅特力MCU产品如何使用第三方Segger公司的JLlink软件包,使用JFlash操作MCU内部Flash,检查、读写flash内容,编程烧录。
基于雅特力AT32 MCU的洗衣机电机控制驱动方案,解锁智能家居新体验
随着人工智能、物联网等技术的发展,传统家电逐渐向智能家电转型。洗衣机作为家庭生活中不可或缺的电器之一,其智能化升级对于提升生活品质具有重要意义。MCU作为电机控制系统的核心“大脑”,肩负着多样化的控制使命。雅特力AT32 MCU以其卓越的性能和完善的电机开发生态,为洗衣机、电动两轮车和电摩等电机应用产品提供高效电机控制驱动方案,并已实现规模量产。
雅特力32位MCU选型表
雅特力AT32 MCU的选型的相关技术参数如下,32位MCU,多种封装:TSSOP20,QFN28,QFN32,QFN48,LQFP48,LQFP64,LQFP100,LQFP144,稳定的工作温度:-40°C~85°C,-40°C~105°C,频率范围在96MHz~288MHz之间
产品型号
|
品类
|
Core
|
FPU
|
Speed(MHz)
|
Flash(KB)
|
SRAM(KB)
|
I/O
|
Advanced TM(16-bit)
|
GPTM(32-bit)
|
GPTM(16-bit)
|
Basic TM(16-bit)
|
Systick(24-bit)
|
WDT
|
WWDT
|
RTC
|
I2C
|
SPI
|
(F/H)I2S(1)(2)
|
USART/UART
|
SDIO
|
USB Device
|
CAN
|
ADC Engine
|
12-bit ADC ch
|
DAC Engine
|
12-bit DAC ch
|
PKG
|
Size(mm)
|
Temp(℃)
|
AT32F403ZCT6
|
32位MCU
|
M4
|
FPU
|
200MHz
|
256KB
|
96KB/224KB
|
112
|
3
|
2
|
8
|
2
|
1
|
1
|
1
|
1
|
3
|
4
|
0/4
|
3/2
|
2
|
1
|
1
|
3
|
21
|
2
|
2
|
LQFP144
|
20mmx20mm
|
-40℃~85°C
|
选型表 - 雅特力 立即选型
AT32讲堂 | 解析雅特力AT32 MCU HICK时钟校准
AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟的精度达到±2.5%,可见精度会受到温度的影响。为了降低环境温度对精度造成的影响,用户可在运行时间隙调用校准程序来进行校准。
【经验】雅特力AT32 MCU CAN入门指南
CAN是Controller Area Network的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。本文介绍雅特力AT32 MCU CAN入门指南
【经验】雅特力AT32 MCU如何使用OTA通过USART实现对固件的在线升级更新
雅特力AT32 MCU如何使用OTA通过USART对固体在线升级更新?OTA(空中下载技术)是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后便于通过预留的通信口,对产品中的固件程序进行更新升级。
AT32讲堂 | 雅特力AT32 MCU的随机数生成
本章介绍了使用软件触发方式触发ADC,配置普通信道和DMA。本篇应用笔记适用于AT32各系列MCU,只要有ADC外设皆可适用。
【经验】雅特力MCU如何在Keil中将函数或变量编译到指定地址
在使用雅特力MCU AT32F403A,AT32F421,AT32F413,AT32F415做软件编程中,有时会有将函数或者变量加载到固定的Flash地址,本文介绍2种将变量或函数编译到指定地址的方法。
【经验】雅特力MCU AT32F403ARCT7串口实验出意外导致无法使用问题的分析
在使用雅特力AT32F403ARCT7 MCU做串口实验时出了点意外,串口一直无法使用。首先需要将AT32F403ARCT7 上的 PB6 重映射为USART1_TX。介绍了串口无法往外发送数据,定义和初始化修改步骤。
雅特力携多款AT32 MCU新品与应用方案亮相2024慕尼黑上海电子展
7月8日,2024慕尼黑上海电子展electronica China在上海新国际博览中心拉开序幕,作为全球电子行业的盛会,汇聚了国内外众多优质电子企业。雅特力携高性能AT32 MCU与应用方案齐亮相,呈现了多款电机控制、工业控制、汽车电子、智能家居、消费、商务,及新能源等应用方案。现场人流攒动、氛围热烈!
【经验】 雅特力AT32 MCU Printf的功能使用方法
内容概述本文档主要介绍雅特力AT32 MCU在Keil和IAR两种工程环境下的printf功能使用方法。其共包含6种方法,各方法的具体用法在具体内容中描述。
【经验】雅特力MCU AT32F421的时钟配置教程
时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。
如何在雅特力AT32 MCU上创建IAP应用程序
如何在雅特力AT32 MCU上创建IAP应用程序,文章概述了AT32 CAN IAP快速使用方法即使用CAN进行IAP升级,此示例使用PC上位软件(IAP_Programmer.exe)通过一个USB转CAN的桥接设备和目标板进行通信,IAP Demo和桥接设备默认CAN波特率使用500K。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论