NXP S32K1 FlexTimer模块
概述
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;
信号
EXTCLK:FTM external clock can be selected to drive the FTM counter.
CHn:FTM channel (n);
FAULTj:Fault input (j);
PHA:Quadrature decoder phase A input;
PHB:Quadrature decoder phase B input;
内存映射
时钟源
FTM只有一个时钟域:FTM input clock;
计数器时钟源:SC[ CLKS]中2bit选择3个时钟作为计数器时钟源;
分频:计数器时钟源通过SC[ PS]中3bit,2^n进行分频后计数到Counter。
计数器
FTM 有一个 16 位计数器,供通道用于输入或输出模式。 FTM 计数器时钟是由预分频器分频的选定时钟。
Up counting
QUADEN = 0, and CPWMS = 0
起始值:CNTIN
终值:MOD
起始值被装载到FTM counter递增到终值,然后继续装载起始值,此时,TOF bit置位。
周期: (MOD – CNTIN + 0x0001) × period of the FTM counter clock
Up-down counting
QUADEN = 0, and CPWMS = 1
counter递增到终值,然后递减起始值,MOD到MOD-1时TOF bit置位。
周期: 2 × (MOD – CNTIN)× period of the FTM counter clock
Free running counter
If (FTMEN = 0) and (MOD = 0x0000 or MOD = 0xFFFF)
FTM counter 从 0x0000 自由运行到0xFFFF,然后从0xFFFF到0x0000 ,此时TOF bit置位。
或者:
• FTMEN = 1
• QUADEN = 0
• CPWMS = 0
• CNTIN = 0x0000, and
• MOD = 0xFFFF
此时也是自由运行计数器。
Counter reset
• Any write to CNT.
• FTM counter synchronization.
• A channel in Input Capture mode with ICRST = 1
Channel Modes
DECAPEN MCOMBINE COMBINE CPWMS MSB:MSA ELSB:ELSA Mode Configuration
Input Capture Mode
The Input Capture mode is selected when:
• DECAPEN = 0
• MCOMBINE = 0
• COMBINE = 0
• CPWMS = 0
• MSB:MSA = 0:0, and
• ELSB:ELSA ≠ 0:0 (边沿选择)
当所选边沿出现,捕获counter值到 CnV,CHF bit置位,若CHIE置位,对应通道中断产生,ICRST = 1时计数器复位到CNTIN。
通道滤波在channels 0, 1, 2, and 3.上有效。
Output Compare mode
The Output Compare mode is selected when:
• DECAPEN = 0
• MCOMBINE = 0
• COMBINE = 0
• CPWMS = 0, and
• MSB:MSA = 0:1
FTM生成具有可编程位置、极性、持续时间和频率的定时脉冲,当Counter计数到CnV时,通道输出可高可低或反转。匹配时,CHF bit置位,若CHIE置位,对应通道中断产生。
Edge-Aligned PWM (EPWM) mode
The Edge-Aligned mode is selected when:
• QUADEN = 0
• DECAPEN = 0
• MCOMBINE = 0
• COMBINE = 0
• CPWMS = 0, and
• MSB = 1
周期: (MOD − CNTIN + 0x0001)
脉冲宽度:(CnV − CNTIN)
脉冲宽度结束时时,CHF bit置位,若CHIE置位,对应通道中断产生。
ELSB:ELSA 决定PWM边沿。
Center-Aligned PWM (CPWM) mode
The Center-Aligned mode is selected when:
• QUADEN = 0
• DECAPEN = 0
• MCOMBINE = 0
• COMBINE = 0, and
• CPWMS = 1
周期: 2 × (MOD − CNTIN)
脉冲宽度:2 × (CnV − CNTIN)
MOD : 0x0001 to 0x7FFF
在 CPWM mode模式,计数器达到Mod再递减到CNTIN。
结语
FlexTimer还有更多的功能未在本文列出,其本质就是有一个计数器,从初始值到终值的计数,再搭配一个通道CnV匹配捕获值,从而形成丰富的功能。
更多请参阅在S32K1专栏 https://blog.csdn.net/kinetis_linux/category_11543275.html?spm=1001.2014.3001.5482。
NXP S32K1 FlexTimer模块相关推荐
- 【使用C++开发MCU】05-CAN实例之NXP S32K1 FlexCAN模块
文章目录 概述 FlexCAN模块框图 协议引擎Protocol Engine (PE) 控制器主机接口Controller Host Interface (CHI) 总线接口单元Bus Interf ...
- NXP S32K1 DMA模块
目录 概述 DMAMUX 操作模式 功能描述 含周期触发 不含收起触发 Always-enabled DMA sources 寄存器 DMA请求源 DMAMUX操作 eDMA 模块架构 eDMA en ...
- NXP S32K1 时钟系统
概述 本文通过剖析NXP S32K1 时钟分布.SCG.PCC等,加深对MCU时钟系统的了解,避免今后开发在小细节上踩坑. SCG (System Clock Generator) 模块用以产生设备的 ...
- NXP的MSCAN模块波特率设置
NXP的MSCAN模块波特率设置 NXP的MSCAN模块支持报文滤波,整个成功接收传输过程是依据message的identifier(ID),ID被设备成功匹配将会产生一个中断请求. MSCAN节点之 ...
- NXP S32K RTC模块手册中文
RTC不能使用唤醒pin,因此相关寄存器位不适用(如RTC_CR[WPS].RTC_CR[WPE].RTC_IER [WPON]). 此外,该装置没有集成电容,因此无法通过软件配置可调谐电容器(包括在 ...
- NXP Nfc模块Framework层移植遇到的坑【二】
8173_M平台下移植NXP的Nfc模块时遇到的问题,同样也是 hal 层与 kernel 通信时出错,不过由于这个项目没有量产计划,所以供应商的支持也比较少,最后的解决方案是 Framework 层 ...
- 【2022年的STM32】 04-GPIO特性、使用及与NXP GPIO比较
概述 本文分析总结STM32 GPIO特点.编程方法. 关于GPIO可以参考Reference manual中GPIO章节或者<AN4899 STM32 microcontroller GPIO ...
- 海华AW_CM276NF模块驱动调试
基本知识 SD和MMC SD (Secure Digital) 与 MMC (Multimedia Card) MMC 是较早的一种记忆卡标准,目前已经被 SD 标准取代. SD 是一种 flash ...
- AUTOSAR MCAL详解: SPI (2)
作者:Stephen Du 免责声明: 本文为个人学习笔记及总结,仅代表个人观点,尽可能保证内容准确性. 所有文字均是自己码出来的,所有图片均为自己勾画(除部分来源于原始标准). 复制/转发请注明来源 ...
最新文章
- Apache Kafka之设计
- 【Matlab】dde23解时滞时延微分方程
- CISP人才年薪30W起步优先考虑它
- python neo4j嵌入_Neo4j推出基于Python的嵌入式图数据存储
- 【HDU - 4056】Draw a Mess (并查集 or 线段树)
- SpriteBuilder物理对象的父子关系
- realtek audio console无法连接rpc服务_RPC服务在游戏中的简单运用
- 233网校计算机二级c语言,[233网校]2018年全国计算机二级Office高级应用精讲班_计算机二级视频教程...
- a*算法的优缺点_垃圾回收的常见算法
- 编程之美读书笔记2.15 - 子数组之和的最大值(二维)
- 安装ECShop报 Non-static method cls_image::gd_version() should not be called statically 解决方案
- 华为鸿蒙系统os新机,鸿蒙OS今日面世,华为将出新机搭载新系统入市场
- 跳转页面 bscroll 无法无法从顶部滚动
- 02-Epicor二次开发常用代码
- UIAutomatorViewer初体验
- 职场必知必会:PPT 制作六步心法分享
- 模型评价方法及代码实现
- Markdown初体验
- UIColor的RGB定义颜色(灰色)
- linux oracle ins 30131,Oracle安装报错:[INS-30131]Oracle Database Configuration Assistant
热门文章
- 记住这些快捷键,让你的电脑效率事半功倍
- POI-HSSFWorkbook合并单元格
- 【Spark】介绍 快速入门
- 基于CodeMirrorTernJS的汉语Javascript编辑器(和翻译器)
- python通讯录管理系统姓名年龄号码_基于互联网的移动通讯录管理系统的制作方法...
- TexMaker(Latex编辑器)软件的“文献引用”操作:Xelatex方式运行的操作方法
- excel批注不显示批注框_批注和批注处理器入门指南[解释]
- linux安全(1)
- 刚刚下载的Ubuntu界面过小问题解决方案
- 第三次工业革命(四)