SINC 滤波器
- PSINC,Primary SINC 滤波器,用于精确数据计算
- SSINC,Secondary SINC 滤波器,用于数据比较
SINC 滤波器实现的功能框图如下:
- N:SINC 滤波器阶数,可通过寄存器配置为 1/2/3
- OSR:过采样率,可通过寄存器配置
- PSINC:配置 N = 1/2/3,OSR = 1/2/3/…/256
- SSINC:配置 N = 1/2/3,OSR = 1/2/3/…/32
滤波延迟
SINC 滤波器的延迟时间的计算公式如下:
T_latency = (N * OSR) / R_mod
- N:SINC 滤波器阶数,可通过寄存器配置为 1/2/3
- OSR:过采样率,可通过寄存器配置
- R_mod:串行输入调制数据的速率
假设 SINC 滤波器的阶数 N = 3,过采样率 OSR = 128,输入信号的速率为 20 MHz,则 T_lantency = 19.2 us,表示 SINC 滤波器的输出延迟为 19.2 us。
PSINC 输出
- 低电平输入代表 -1
- 高电平输入代表 +1
- 采用互补的二进制格式
- 输出最大的是 SINC3 滤波器和 OSR = 256 的情况下,需要 25 bits 的有符号整型数,数据范围是 -224 ~ +224 。
OSR | SINC1 | SINC2 | SINC3 |
---|---|---|---|
x | -x ~ x | -x2 ~ x2 | -x3 ~ x3 |
4 | -4 ~ 4 | -16 ~ 16 | -64 ~ 64 |
8 | -8 ~ 8 | -64 ~ 64 | -512 ~ 512 |
16 | -16 ~ 16 | -256 ~ 256 | -4096 ~ 4096 |
32 | -32 ~ 32 | -1024 ~ 1024 | -32768 ~ 32768 |
64 | -64 ~ 64 | -4096 ~ 4096 | -262144 ~ 262144 |
128 | -128 ~ 128 | -16384 ~ 16384 | -2097152 ~ 2097152 |
256 | -256 ~ 256 | -65536 ~ 65536 | -16777216 ~ 16777216 |
- 32-bit 输出:无需对过程结果数据进行任何操作,因为 32-bit 位宽完全满足过程数据最大 25-bit 的需求。
- 16-bit
输出:由于过程数据输出的范围可能超过
16-bit
可表示的范围,即超过
-215~(215-1),所以需要对过程数据进行右移,从而保证输出结果有效。推荐的数据右移配置如下表所示:
OSR SINC1 SINC2 SINC3 1~31 0 0 0 32~40 0 0 1 41~50 0 0 2 51~63 0 0 3 64~80 0 0 4 81~101 0 0 5 102~127 0 0 6 128~161 0 0 7 162~181 0 0 8 182~203 0 1 8 204~255 0 1 9 256 0 2 9
PSINC 同步
SDFM 模块的 PSINC 滤波器支持同步信号。当同步信号生效,SINC 滤波器重新开始进行计算。同步机制,可以保证两个或多个 SDFM 的 PSINC 同步开始计算,达到数据处理的时刻对齐。
基于 SINC 的工作原理,在 SINC 使能开始工作的时刻以及同步信号生效的时刻,SINC 输出存在若干个不正确的数据点。具体如下:
-
SINC1(N=1)滤波器,任何时刻都无错误数据输出。
-
SINC2(N=2)滤波器,输出的起始存在第一个数据点错误。
-
SINC3(N=3)滤波器,输出的起始存在前两个数据点错误。
由于 SDFM 输出数据时,会自动丢弃起始的错误数据点,因此在上述 N=2 和 N=3 的情况下,输出延迟会相应的增加所丢弃的数据点的转换时间。
SSINC 输出
- 低输入代表 0
- 高输入代表 1
- 采用 16-bit 无符号数据表示
下表展示了 SINC1/ 2/ 3 在不同 OSR 模式下滤波器计算过程中的数据范围:
OSR | SINC1 | SINC2 | SINC3 |
---|---|---|---|
x | 0 ~ x | 0 ~ x^2 | 0 ~ x^3 |
4 | 0 ~ 4 | 0 ~ 16 | 0 ~ 64 |
8 | 0 ~ 8 | 0 ~ 64 | 0 ~ 512 |
16 | 0 ~ 16 | 0 ~ 256 | 0 ~ 4096 |
32 | 0 ~ 32 | 0 ~ 1024 | 0 ~ 32768 |
SSINC 高低阈值比较
- 对于高位比较器:
- 当 SSINC 滤波器的输出结果大于高阈值 HLT 时,高位比较器的输出信号 COMP_H 则为高电平。
- 当 SSINC 滤波器的输出结果低于高阈值 HLT 时,高位比较器的输出信号 COMP_H 则为低电平。
- 对于低位比较器:
- 当 SSINC 滤波器的输出结果小于低阈值 LLT 时,低位比较器的输出信号 COMP_L 则为高电平。
- 当 SSINC 滤波器的输出结果高于低阈值 LLT 时,低位比较器的输出信号 COMP_L 则为低电平。
- 输出信号 COMP_H 和 COMP_L 可以作为触发 EPWM 保护的信号或者产生中断的信号。
如需监控电压,可分别设置高低阈值 HLT 和 LLT,对输入电压进行过压以及欠压检测。