ADC由FTM和PDB模块触发
在电机控制应用以及开关电源应用中,有必要测量 PWM 信号中心的电流。功率器件在这个瞬间没有切换,因此分流电阻上检测到的压降是稳定的。
S32K 设备的所有四个 FTM 模块都有多达八个通道。六个通道通常足以生成控制常用三相电机所需的 PWM 信号。 FTM 模块的其余两个通道随后可用于控制 ADC 转换的时点。
ADC 模块的默认和建议硬件触发方案是通过可编程延迟块 (PDB)。
S32K配备了两个成对工作的 ADC 模块和两个 PDB 模块。这意味着 PDB0 与 ADC0 链接, PDB1 与 ADC1 链接。每个 PDB 模块都可以由软件或硬件触发。
FTM 模块是可以通过 TRGMUX 寄存器TRGMUX_PDB0 和 TRGMUX_PDB1 选择的触发源之一。
以下代码示例演示了 FTM0、 PDB0 和 ADC0 模块的配置,其中 FTM0 用于生成中心对齐 PWM信号并通过 PDB0 模块触发 ADC0。
在图中,示波器通道 CH1 和 CH2 分别代表 FTM0 通道 FTM0_CH0 和 FTM0_CH1。通道对 FTM0_CH0/FTM0_CH1 工作在互补模式,与通道对 FTM0_CH2/FTM0_CH3 相同。
示波器通道 CH3 和 CH4 演示了 FTM0、 PDB0 和 ADC0 模块之间的互连:
通道 CH3 表示每次 FTM0 计数器达到 CNTIN 寄存器的值时 ,PDB0 中断程序产生中让PTD2 引脚翻转,
每次ADC0 转换完成(COCO = 1)时,通道 CH4 显示 ADC0 中断程序中让 PTD3 引脚翻转。
FTM0 触发信号由 PDB0 模块延迟,以便 ADC0 转换发生在 PWM 信号的中心。