当比较器的输入电压的压差很小时,比较器的输出会发生震荡。内部和外部的寄生效应,
和信号线、电源线与其它系统部分间的信号耦合造成了比较器的输出震荡。输出震荡降低了
比较器的精度,影响了比较输出的结果。每个比较器都集成了一个数字滤波器,通过
CMP_CTLx 寄存器的 FLTEN 位选择将比较器的输出通过滤波器,可以减少比较器震荡带来
的误差。
1、数字滤波器框图
滤波器的输入可以通过CMP_CTL4寄存器的FLTINSEL位配置选择。当FLTINSEL=0,
滤波器选择比较器的输出作为滤波器的输入;当 FLTINSEL=1,滤波器选择 I/O 口输入信号
作为滤波器的输入。
通过 GPIO 的重映射控制寄存器 GPIOx_RMPH 和 GPIOx_RMPL 可以将 GPIO 配置为
数字滤波器的输入端口 FLTI2/1/0。
注意,只有比较器0/1/2对应的FILTER0/1/2模块输入可以选择比较器0/1/2输出或GPIO,
比较器 3 对应的 FILTER3 只能以比较器 3 输出作为 FILTER3 的输入,无 GPIO 选项。当需
要单独使用数字滤波器时,用户可通过将CMP_CTL4 寄存器的FLTINSEL位置1,选择GPIO
作为数字滤波器的输入端。
滤波器通过FLTCS<1:0>位和FLTDIV<7:0>位配置得到滤波器的工作时钟(FILT_CLK)
频率;FLTCNT<2:0>位配置滤波器输入噪声的滤波脉宽,FLTCNT<2:0>位=n,滤波器将滤除
小于 n 个 FLT_CLK 周期宽度的输入噪声,比较器输出延时 n 到 n+1 个 FLT_CLK 周期时间。
|