一、N32G455 比较器简介 N32G455 最多支持 7 个独立的比较器,可用于比较 COMP_INP 和 COMP_INM 这两个模拟输入电压的大小,并根据其比较结果从 COMP_OUT 引脚输出高/低电平。若 COMP_INP 输入端电压大于 COMP_INM 输入端电压,则比较器输出端COMP_OUT 输出高电平;若 COMP_INP 输入端电压小于 COMP_INM 输入端电压,则比较器输出端 COMP_OUT 输出低电平。 N32G455 比较器具有如下特性: - 内置两个 64级可编程的比较电压参考源 VREF1 和 VREF2
- 支持滤波时钟,滤波复位
- 输出极性可配置为高/低
- 迟滞配置可配置为无(0mV)、低(20mV)、中(30mV)、高(40mV)
- 比较结果可输出到 I/O 端口或触发定时器,用于捕获事件、OCREF_CLR 事件、刹车事件、产生中断
- 输入通道可复选 I/O 端口、DAC 的通道输出、VREF1、VREF2
- 可配置只读或读写,在锁定的情况下需要复位才能解锁
- 支持消隐(Blanking),可配置产生 Blanking 的消隐源
- COMP1/COMP2、COMP3/COMP4、COMP5/COMP6 可以组成窗口比较器
- 可通过产生中断的方式将系统从 Sleep 模式唤醒
- 可配置滤波窗口大小、滤波阈值大小和滤波采样频率
二、N32G455 比较器配置 N32G455 比较器完整配置流程如下: - 配置迟滞等级
- 配置输出极性
- 配置比较器输入引脚,包含比较器正极和比较器负极
- 配置比较器输出引脚
- 配置消隐源
- 配置比较器窗口模式
- 配置滤波器采样窗口
- 配置阈值
- 配置滤波器采样频率(应用于计时器,采样频率应当大于 5MHz)
- 使能滤波器
- 使能比较器
在配置过程中,若是有部分参数采用系统默认配置,可先调用 COMP_StructInit 函数将结构体 COMP_Initial 的参数设置为默认值,接着配置所需要的参数,如图 1 所示。其中,InpSel 用于配置比较器正极,InmSel 用于配置比较器负极,OutSel 用于配置比较器输出。
图 1 COMP 配置代码
每一个比较器都有不同的重映射端口,若是通过复用功能使用 COMP,则需要使能 AFIO 时钟,并通过 GPIO_ConfigPinRemap 函数将 IO 口进行重映射,需注意,在 COMP1、COMP2、COMP5、COMP7 使能后,其对应的输出端口不能配置成其他外设的输出模式,但可以是其他外设的输入模式、GPIO 的输入及输出。比较器 COMP_INP 引脚的配置如图 2 所示,COMP_INM 引脚配置如图 3 所示,COMP_OUT 引脚配置如图 4 所示。 
图 2 比较器正极配置 
图 3 比较器负极配置 
图 4 比较器输出配置 三、总结 比较器可实现两个模拟输入电压大小的比较,可应用于过压、过流等硬件保护中。在使用 N32G455 内置的比较器时,应配置好对应的引脚,复用时需使能 AFIO 时钟并将 IO 口重新映射。
|