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,对输入电压进行过压以及欠压检测。