数字输出控制
3 Mar 2025
Read time: 1 minute(s)
CPM 模块的数字输出控制逻辑用于处理比较器输出信号,经过多级逻辑操作后,生成可用于 PWM 保护、中断触发或 GPIO 输出的信号。高位比较器和低位比较器的处理逻辑相同。
数字输出控制逻辑流程

以高位比较器的输出为例,数字输出控制逻辑分为四级操作,依次如下:
- 输出异步,此时的信号为异步信号 COH_ASYNC,该通路可以支持输出反相功能。
- 输出同步,采用 SYS_CLK 对比较器的输出信号进行同步,得到同步信号 COH_SYNC。
- 输出滤波,采用数字滤波器,对上级信号进行数字滤波,得到信号 COH_SYNC_FLT。
- 输出锁存,采用 SR 锁存器,锁存输出结果后与 COH_ASYNC 进行 OR 逻辑,得到信号 COH_LT。
数字滤波器
数字滤波器通过采样窗口内的数据判断是否翻转输出信号,等效如下的 C 代码实现:
//当输出为 0 时,检查采样窗口中 1 的数量 if (FILTER_OUTPUT == 0) { //当采样窗口里数据为 1 的数量大于阈值,则输出信号翻转 if (Num_1s_in_SAMPWIN >= THRESH) { FILTER_OUTPUT = 1; } } //当输出为 1 时,检查采样窗口中 0 的数量 else { //当采样窗口里数据为 0 的数量大于阈值,则输出信号翻转 if (Num_0s_in_SAMPWIN >= THRESH) { FILTER_OUTPUT = 0; } }
参数名称 |
描述 |
---|---|
|
滤波器的当前输出状态(0 或 1) |
|
采样窗口中值为 1 的数量 |
|
采样窗口中值为 0 的数量 |
|
翻转输出的阈值 例如:采样窗口中 1 或 0 的数量超过该值时翻转输出 |