概述
FlexTimer是S32K1xx中功能最强最复杂的Timer,其基于16bits的Counter能够实现:输入捕获、输出比较、产生PWM、正交解码等功能。
S32K1具备2、4、6、8个不等的FTM实例,每个实例有8个通道,还具有1,2,3,4不等的错误输入通道。每个FTMn实例功能并不完全等同。
FTM在SIM_FTMOPT1[FTMGLDOK]中全局使能,不支持wait模式。
FTM具有多个中断源,读取FTM状态寄存器 (FMS, SC, and STATUS)具体判断是哪个。
通过SIM_FTMOPT0选择错误监测输入。
eg: FTM0 FAULT0 = FTM0_FLT0 pin or TRGMUX output,默认是外部引脚。
FTM支持硬件触发和同步:
FTM0:
• FTM0 hardware trigger 0 = TRGMUX trigger output
• FTM0 hardware trigger 1 = SIM_FTMOPT1[FTM0SYNCBIT]
• FTM0 hardware trigger 2 = FTM0_FLT0 pin
FTM特征
FTM时钟源可选择;
可预分频1, 2, 4, 8, 16, 32, 64, or 128;
16位计数器可自由运行,或者带初始值、终值运行,可以递增或递减;
每个通道可配置为input capture, output compare, or edge-aligned PWM mode;
Input Capture:可捕获上升、下降、双边沿;含输入滤波功能;
Output compare:匹配时输出信号可高可低可反转;
PWM :每个通道都可产生、每对通道可联合起来产生PWM;