ZHCAF90 April   2025 ISO1228

 

  1.   1
  2.   摘要
  3.   商标
  4. 1ISO1228-相关器件信息
  5. 2并行和串行输出模式
  6. 3在运行期间切换通信模式
    1. 3.1 并行到串行
    2. 3.2 串行转并行
  7. 4SPI 功能模式
    1. 4.1 正常模式
      1. 4.1.1 正常模式-连续读取 IN8-IN1
    2. 4.2 突发模式
  8. 5串行模式下的最大数据吞吐量
  9. 6输出的数字低通滤波
  10. 7总结
  11. 8参考资料

输出的数字低通滤波

ISO1228 支持 INx 和 WBx 数据路径上的内置数字低通滤波器。每个 OUTx 通道的滤波值可以通过写入 SPI 可编程 REGMAP 中指示的地址单独设置。或者,可以使用 F0/F1 器件引脚(引脚 23和 24)设置所有通道的通用滤波器。但是,寄存器中的滤波器设置具有更高的优先级。

滤波可应用于 OUTx 数据以及断线数据,但是 OUTx 的滤波器是可编程的,而断线滤波器值是固定的且始终开启。

如果在 SPI 寄存器中的任何一个或多个通道上启用了滤波 (MSB = 1),则寄存器滤波器设置优先。如果所有通道在寄存器中禁用了滤波器 (MSB=0),则 F0/F1 优先。如果 F0/F1 = 0/0,则全局禁用滤波器。

数字低通滤波器平均时间 (FILT) 决定输入的平均窗口。ISO1228 中的滤波器是低通滤波器,可以设置为九个允许的级别。

表 6-1 低通滤波器级别
F1 状态 F0 状态 滤波器寄存器设置 TFILT 单位
F1 = 低电平 F0 = 低电平 0xxx 0 ns
F1 = 低电平 F0 = 悬空 1000 1 µs
F1 = 低电平 F0 = 高电平 1001 8 µs
F1 = 悬空 F0 = 低电平 1010 200 µs
F1 = 悬空 F0 = 悬空 1011 1 ms
F1 = 悬空 F0 = 高电平 1100 2.5 ms
F1 = 高电平 F0 = 低电平 1101 10 ms
F1 = 高电平 F0 = 悬空 1110 30 ms
F1 = 高电平 F0 = 高电平 1111 100 ms

每个滤波器都是一个饱和的 3 位计数器,在内部时钟上运行时不会进行复位/清零。任何滤波器的时钟周期均为滤波器延迟值除以 8。

计数器可以对 OUTx 中跨数据包的每个位的导通持续时间(值= 1)或关断持续时间(值= 0)进行计数,并评估该持续时间是否超过相应的滤波器值。如果超过,则只能将新值存储到 REGMAP 中并传达给 MCU。但是,与典型的干扰滤波器不同,短于滤波器值的脉冲不会完全被抑制。相反,毛刺脉冲会衰减并汇总到信号中,产生一个低通响应。

运行滤波器的时钟周期可推导为 FILTER_TIME/8,例如,在上图中,FILTER_VALUE = 8us;例如,OUTx 的每个脉冲持续时间必须超过 8us 的最小持续时间才能传输到 MCU,因此 FILTER_CLK = 1MHz。

 低通滤波器平均图 6-1 低通滤波器平均

该 3 位计数器可以在每次计数器在滤波器输入处检测到值= 1 时递增,并在计数器检测到值= 0 时递减。如图所示,计数器已计数到 6,因为未滤波的 OUT1 在 6us 内为 1,接下来在 OUT1 的下降沿,计数器递减到 4,因为输入在 2us 内保持低电平。在此期间,滤波器输出保持前一值。此后,当 OUT1 上升为 1 并再保持高电平 4 个周期时,计数器达到值 = 8,且滤波器输出更新为值 = 1。