第26章 通用定时器
定时器及应用
技术创新
精度提升
随着技术的不断进步,定时器的计时精度越来越高,能够满足各 种高精度应用的需求。
可靠性增强
通过改进材料、优化设计和引入智能诊断技术,定时器的可靠性得 到了显著提升,减少了故障和误差。
微型化与集成化
随着微电子技术的进步,定时器正朝着更小尺寸、更低功耗和更高 集成度的方向发展,便于携带和集成到各种设备中。
智能化发展
自适应调整
01
通过引入人工智能技术,定时器能够根据实际应用需求自适应
调整计时参数,提高应用的灵活性和适应性。
远程控制与监控
02
借助通信技术,定时器可以实现远程控制和实时监控,方便用
户对设备进行远程管理和维护。
数据分析与优化
03
通过收集和分析定时器的使用数据,可以优化计时性能和应用
效果,提高整体效率。
应用领域拓展
1 2
物联网应用
随着物联网的普及,定时器的应用领域不断拓展, 涉及到智能家居、工业自动化、智能农业等多个 领域。
医疗与健康领域
定时器在医疗和健康领域的应用逐渐增多,如智 能药物投放、健康监测等,为医疗保健提供便利。
3
交通与物流领域
定时器在交通控制、智能物流等领域的应用也日 益广泛,提高了运输效率和安全性。
适用于各种操作系统和 硬件平台。
计时精度受限于程序运 行环境和操作系统调度。
硬件实现
01
02
03
04
原理
利用硬件电路(如石英晶体振 荡器)产生稳定的计时脉冲。
• 计时精度
计时精度高,不受软件环境影 响。
• 稳定性
计时稳定,不易受到程序运行 状态的影响。
• 资源消耗
硬件成本较高,且不易动态调 整计时时间。
通用定时器内部结构
通用定时器内部结构
通用定时器是一种常见的电子元件,用于在电子系统中生成精
确的时间间隔。
它通常由以下几个内部组件构成:
1. 时钟源,通用定时器通常需要一个时钟源来提供基准时钟信号。
这个时钟源可以是外部晶体振荡器、晶体振荡器模块或者外部
时钟输入。
2. 预分频器,预分频器用于将时钟源的频率进行分频,以得到
更低的工作频率。
这样可以提供更大范围的定时器时间间隔选择。
3. 计数器,计数器用于计数时钟脉冲的数量,从而实现定时功能。
当计数器达到设定的值时,就会触发定时器的输出。
4. 控制逻辑,控制逻辑用于设置定时器的工作模式、计数方向、触发条件等参数。
它还负责处理外部触发信号和生成定时器的输出
信号。
5. 输出比较器,输出比较器用于比较计数器的值和设定的触发值,以确定何时触发定时器的输出。
通过这些内部组件的协作,通用定时器可以实现各种定时功能,如定时触发、脉冲生成、PWM信号生成等。
它在各种电子设备中都
有广泛的应用,如微控制器、计时器、测量仪器等。
对于电子工程
师来说,了解通用定时器的内部结构和工作原理是非常重要的。
通用定时器的应用教案-概述说明以及解释
通用定时器的应用教案-范文模板及概述示例1:标题:通用定时器的应用教案引言:通用定时器是一种常见且广泛应用的电子设备,它能够精确计时并在预设时间执行特定任务。
通用定时器在许多领域,如家庭、工业、医疗等都有着重要的应用。
本文将介绍通用定时器的基本原理、功能以及应用教案,以帮助读者快速了解和应用通用定时器。
一、基本原理:1. 定时器的构成:通用定时器由一个时钟源、计数器、控制逻辑和输出电路组成。
2. 工作原理:定时器根据输入时钟信号对计数器进行累加,当计数器的值达到预设的定时值时,触发输出电路执行相应的任务。
二、功能介绍:1. 计时模式:通用定时器可以设置为计时模式,在此模式下,定时器能够准确计算经过的时间。
2. 定时模式:通用定时器还可以设定特定时间,到达预设时间后触发输出电路。
3. 周期模式:通用定时器可以设定周期值,当计数器的值达到周期值时,触发输出电路,并重新开始计数。
4. PWM模式:通用定时器还可用于产生PWM(脉冲宽度调制)信号,用于控制电机速度、LED亮度等。
三、应用教案:1. 实时报警器:使用通用定时器的定时模式,结合传感器,可制作一个实时报警器。
当传感器检测到特定条件时,定时器达到预设时间后触发报警器。
教学步骤:- 介绍通用定时器的定时模式和输出电路的连接方式。
- 指导学生如何设置定时器的预设时间。
- 引导学生选择适当的传感器,并连接到定时器的输入端口。
- 演示定时器的工作原理并触发报警器。
2. 自动灯光控制:使用通用定时器的周期模式,可制作一个自动灯光控制系统。
定时器设定一个周期值,到达该值后触发输出电路,用于打开或关闭灯光。
教学步骤:- 介绍通用定时器的周期模式和输出电路的连接方式。
- 指导学生如何设置定时器的周期值。
- 引导学生连接灯光电路和定时器的输出端口。
- 演示定时器的工作原理并控制灯光的开关。
结论:通用定时器具有广泛的应用领域,通过了解其基本原理和功能,我们可以应用通用定时器来设计和制作各种实用的电子系统。
6_通用定时器(Timer)(免费下载)
目录第1章通用定时器(Timer) (1)1.1 Timer总体特性 (1)1.2 Timer功能概述 (2)1.3 Timer库函数 (3)1.4 Timer例程 (11)第1章通用定时器(Timer)函 数 原 型页码void TimerConfigure(unsigned long ulBase, unsigned long ulConfig) 4 void TimerControlStall(unsigned long ulBase, unsigned long ulTimer, tBoolean bStall) 5 void TimerControlTrigger(unsigned long ulBase, unsigned long ulTimer, tBoolean bEnable) 6 void TimerControlEvent(unsigned long ulBase, unsigned long ulTimer, unsigned long ulEvent) 6 void TimerControlLevel(unsigned long ulBase, unsigned long ulTimer, tBoolean bInvert) 6 void TimerLoadSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 7 unsigned long TimerLoadGet(unsigned long ulBase, unsigned long ulTimer) 7 unsigned long TimerValueGet(unsigned long ulBase, unsigned long ulTimer) 7 void TimerEnable(unsigned long ulBase, unsigned long ulTimer) 7 void TimerDisable(unsigned long ulBase, unsigned long ulTimer) 8 void TimerRTCEnable(unsigned long ulBase) 8 void TimerRTCDisable(unsigned long ulBase) 8 void TimerQuiesce(unsigned long ulBase) 8 void TimerMatchSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 9 unsigned long TimerMatchGet(unsigned long ulBase, unsigned long ulTimer) 9 void TimerPrescaleSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 9 unsigned long TimerPrescaleGet(unsigned long ulBase, unsigned long ulTimer) 9 void TimerIntEnable(unsigned long ulBase, unsigned long ulIntFlags) 10 void TimerIntDisable(unsigned long ulBase, unsigned long ulIntFlags) 10 void TimerIntClear(unsigned long ulBase, unsigned long ulIntFlags) 10 unsigned long TimerIntStatus(unsigned long ulBase, tBoolean bMasked) 10 void TimerIntRegister(unsigned long ulBase, unsigned long ulTimer, void (*pfnHandler)(void)) 10 void TimerIntUnregister(unsigned long ulBase, unsigned long ulTimer) 111.1 Timer总体特性在Stellaris系列ARM内部通常集成有2~4个通用定时器模块(General-Purpose Timer Module,GPTM),分别称为Timer0、Timer1、Timer2和Timer3。
通用定时器PPT学习教案
积算定时器具备断电保持的功能,在定时过程中如 果断电或定时器线圈断开,积算定时器将保持当前的计 数值(当前值),通电或定时器线圈接通后继续累积, 即其当前值具有保持功能,只有当积算定时器复位时, 当前值才变为0。
第8页/共9页
感谢您的观看!
第9页/共9页
第4页/共9页
a)Βιβλιοθήκη 当前值00触点 0
1000
b)
500
1000
第5页/共9页
通用定时器的特点是不具备断电保持功能,即当输入电路 断开或停电时定时器复位。
如图所示,当输入X0接通时,定时器T0从0开始 对100ms时钟脉冲进行累积计数,当T0当前值与设 定值K1000相等时,定时器T0的常开触点接通,Y0接 通,经过的时间为1000×0.1s=100s。
第3页/共9页
(1)通用定时器
1)100ms通用定时器(T0~T199):共200点, 这类定时器是对100ms时钟累积计数,设定值为 1~32767,所以其定时范围为0.1~3276.7s。
2)10ms通用定时器(T200~T245):共46 点,这类定时器是对10ms时钟累积计数,设 定值为1~32767,所以其定时范围为0.01~ 327.67s。
当X0断开时定时器T0复位,当前值变为0,其常 开触点断开,Y0随之断开。若外部电源断电或输入电 路断开,定时器也将复位。
第6页/共9页
(2)积算定时器
1ms积算定时器(T246~T249):共4点, 这类定时器是对1ms时钟累积计数,定时范围 为0.001~32.767s。 100ms积算定时器(T250~T255):共6点 ,这类定时器是对100ms时钟累积计数,定时 范围为0.1~3276.7s。
6_通用定时器(Timer)
目录第1章通用定时器(Timer) (1)1.1 Timer总体特性 (1)1.2 Timer功能概述 (2)1.3 Timer库函数 (3)1.4 Timer例程 (11)第1章通用定时器(Timer)函 数 原 型页码void TimerConfigure(unsigned long ulBase, unsigned long ulConfig) 4 void TimerControlStall(unsigned long ulBase, unsigned long ulTimer, tBoolean bStall) 5 void TimerControlTrigger(unsigned long ulBase, unsigned long ulTimer, tBoolean bEnable) 6 void TimerControlEvent(unsigned long ulBase, unsigned long ulTimer, unsigned long ulEvent) 6 void TimerControlLevel(unsigned long ulBase, unsigned long ulTimer, tBoolean bInvert) 6 void TimerLoadSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 7 unsigned long TimerLoadGet(unsigned long ulBase, unsigned long ulTimer) 7 unsigned long TimerValueGet(unsigned long ulBase, unsigned long ulTimer) 7 void TimerEnable(unsigned long ulBase, unsigned long ulTimer) 7 void TimerDisable(unsigned long ulBase, unsigned long ulTimer) 8 void TimerRTCEnable(unsigned long ulBase) 8 void TimerRTCDisable(unsigned long ulBase) 8 void TimerQuiesce(unsigned long ulBase) 8 void TimerMatchSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 9 unsigned long TimerMatchGet(unsigned long ulBase, unsigned long ulTimer) 9 void TimerPrescaleSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 9 unsigned long TimerPrescaleGet(unsigned long ulBase, unsigned long ulTimer) 9 void TimerIntEnable(unsigned long ulBase, unsigned long ulIntFlags) 10 void TimerIntDisable(unsigned long ulBase, unsigned long ulIntFlags) 10 void TimerIntClear(unsigned long ulBase, unsigned long ulIntFlags) 10 unsigned long TimerIntStatus(unsigned long ulBase, tBoolean bMasked) 10 void TimerIntRegister(unsigned long ulBase, unsigned long ulTimer, void (*pfnHandler)(void)) 10 void TimerIntUnregister(unsigned long ulBase, unsigned long ulTimer) 111.1 Timer总体特性在Stellaris系列ARM内部通常集成有2~4个通用定时器模块(General-Purpose Timer Module,GPTM),分别称为Timer0、Timer1、Timer2和Timer3。
6_通用定时器(Timer)(免费下载)
目录第1章通用定时器(Timer) (1)1.1 Timer总体特性 (1)1.2 Timer功能概述 (2)1.3 Timer库函数 (3)1.4 Timer例程 (11)第1章通用定时器(Timer)函 数 原 型页码void TimerConfigure(unsigned long ulBase, unsigned long ulConfig) 4 void TimerControlStall(unsigned long ulBase, unsigned long ulTimer, tBoolean bStall) 5 void TimerControlTrigger(unsigned long ulBase, unsigned long ulTimer, tBoolean bEnable) 6 void TimerControlEvent(unsigned long ulBase, unsigned long ulTimer, unsigned long ulEvent) 6 void TimerControlLevel(unsigned long ulBase, unsigned long ulTimer, tBoolean bInvert) 6 void TimerLoadSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 7 unsigned long TimerLoadGet(unsigned long ulBase, unsigned long ulTimer) 7 unsigned long TimerValueGet(unsigned long ulBase, unsigned long ulTimer) 7 void TimerEnable(unsigned long ulBase, unsigned long ulTimer) 7 void TimerDisable(unsigned long ulBase, unsigned long ulTimer) 8 void TimerRTCEnable(unsigned long ulBase) 8 void TimerRTCDisable(unsigned long ulBase) 8 void TimerQuiesce(unsigned long ulBase) 8 void TimerMatchSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 9 unsigned long TimerMatchGet(unsigned long ulBase, unsigned long ulTimer) 9 void TimerPrescaleSet(unsigned long ulBase, unsigned long ulTimer, unsigned long ulValue) 9 unsigned long TimerPrescaleGet(unsigned long ulBase, unsigned long ulTimer) 9 void TimerIntEnable(unsigned long ulBase, unsigned long ulIntFlags) 10 void TimerIntDisable(unsigned long ulBase, unsigned long ulIntFlags) 10 void TimerIntClear(unsigned long ulBase, unsigned long ulIntFlags) 10 unsigned long TimerIntStatus(unsigned long ulBase, tBoolean bMasked) 10 void TimerIntRegister(unsigned long ulBase, unsigned long ulTimer, void (*pfnHandler)(void)) 10 void TimerIntUnregister(unsigned long ulBase, unsigned long ulTimer) 111.1 Timer总体特性在Stellaris系列ARM内部通常集成有2~4个通用定时器模块(General-Purpose Timer Module,GPTM),分别称为Timer0、Timer1、Timer2和Timer3。
英飞凌tricore用户手册 第 章 通用定时器GPT
25通用定时器单元(GPT12)通用定时器单元GPT1和GPT2模块具有非常灵活的多功能定时器结构,可用作定时、事件计数、脉宽测量、脉冲生成、倍频及其它用途。
它们包括5个16位定时器,分到两个定时器GPT1和GPT2模块中。
每个模块中的各个定时器可在许多不同的模式中独立运行,如门控定时器模式、计数模式、或者和同模块中其它定时器级联工作。
每个模块具有输入/输出功能和与其相关的专用中断。
注:寄存器PISEL可从几个来源中选择输入信号。
GPT1模块有三个定时器/计数器:内核定时器T3和两个辅助定时器T2、T4。
最大的分辨率为f GPT/4。
GPT1模块的辅助定时器可为内核定时器有选择的配置成重载或捕捉寄存器。
这些寄存器见章节25.1.6。
以下列表总结了可支持的功能:•f GPT/4最大分辨率•3个独立定时器/计数器•可级联定时器/计数器•4个可操作模式:–定时器模式–门控定时器模式–计数器模式–增量接口模式•重载和捕捉功能•单独中断GPT2模块有两个定时器/计数器:内核定时器T6和辅助定时器T5。
最大的分辨率为f/2。
另外,捕捉/重载寄存器(CAPREL)支持捕捉和重载操作扩展功能。
这些寄存GPT器见章节25.2.7。
以下列表总结了可支持的功能:•f GPT/2最大分辨率•2个独立定时器/计数器•可级联定时器/计数器•3个可操作模式:–定时器模式–门控定时器模式–计数器模式•通过16位捕捉/重载寄存器CAPREL来扩展捕捉/重载功能•单独中断25.1定时器GPT1模块GPT1(T2,T3,T4)模块的三个定时器均可运行于4个基本模式中:定时器模式、门控定时器模式、计数器模式或者增量接口模式。
所有定时器可以递增或递减计数。
GPT1的每个定时器通过一个单独的控制寄存器TxCON来控制。
每个定时器都有一个相关的输入引脚TxIN(具有引脚功能),在门控定时器模式中提供门控服务,或者在计数器模式中作为计数输入。
通用定时器-定时实验
通用定时器-定时实验二、预备知识STM32中一共有11个定时器,其中2个高级控制定时器,4个通用定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。
编程步骤:1、配置系统时钟;2、配置NVIC;3、配置GPIO;4、配置TIMER;第4项配置TIMER有如下配置:(1)利用TIM_DeInit()函数将Timer设置为默认缺省值;(2)TIM_InternalClockConfig()选择TIMx来设置内部时钟源;(3)TIM_Perscaler来设置预分频系数;(4)TIM_ClockDivision来设置时钟分割;(5)TIM_CounterMode来设置计数器模式;(6)TIM_Period来设置自动装入的值(7)TIM_ARRPerloadConfig()来设置是否使用预装载缓冲器(8)TIM_ITConfig()来开启TIMx的中断其中(3)-(6)步骤中的参数由TIM_TimerBaseInitTypeDef结构体给出。
步骤(3)中的预分频系数用来确定TIMx所使用的时钟频率,具体计算方法为:CK_INT/(TIM_Perscaler+1)。
CK_INT是内部时钟源的频率,是根据2.1中所描述的APB1的倍频器送出的时钟,TIM_Perscaler是用户设定的预分频系数,其值范围是从0–65535。
步骤(4)中的时钟分割定义的是在定时器时钟频率(CK_INT)与数字滤波器(ETR,TIx)使用的采样频率之间的分频比例。
TIM_ClockDivision的参数如下表:数字滤波器(ETR,TIx)是为了将ETR进来的分频后的信号滤波,保证通过信号频率不超过某个限定。
步骤(7)中需要禁止使用预装载缓冲器。
当预装载缓冲器被禁止时,写入自动装入的值(TIMx_ARR)的数值会直接传送到对应的影子寄存器;如果使能预加载寄存器,则写入ARR的数值会在更新事件时,才会从预加载寄存器传送到对应的影子寄存器。
STM32之通用定时器
STM32之通用定时器STM32 中的定时器有多种,按功能分成2 个高级控制器定时器,4 个普通定时器,2 个基本定时器,2 个看门狗定时器,1 个系统滴答定时器SysTick。
定时器的关键是定时时间的计算。
比如用定时器控制继电器的开关的时候,需要延时一段时间才关闭或者开启,这时候离不开定时器定时。
通用定时器定时时间计算。
1 秒中断的基本实现:通用定时器模块的入口时钟经过分频得到计数器的时钟,用CK_CNT 表示,预分频器的系数为:TIMx_PSC,当TIMx_PSC=0 时,表示不分频,=1 时,2 分频。
以此类推。
公式为:CK_CNT=fclk_PSC/(PSC[15:0]+1),其中PSC 最大为65535.其次是TIM5 计数器的计数值的设置,TIM5 计数器以CK_CNT 为时钟来计数。
计数到设定值产生中断。
(1/分频后计数时钟)*计数值=设定时间。
以1 秒为例(1/(72MHz/7200))*10000=1s初始化通用定时器的一个重要的结构体TIM_TimeBaseInitTypeDefvoid TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef * TIM_TimeBaseInitStruct) 初始化TIMx 定时器时间基数单位。
其次还要清除中断待处理位,函数voidTIM_ClearITPendingBit(TIM_TypeDef* TIMx, u16 TIM_IT) 做了这项工作。
其中TIM_IT:待检查的TIM 中断待处理位。
void TIM_ITConfig(TIM_TypeDef* TIMx, u16 TIM_IT, FunctionalState。
26-EFM OAM配置
EFM OAM配置目录第1章EFM配置 (1)1.1 EFM简介 (1)1.1.1 EFM主要功能 (1)1.1.2 EFM协议报文 (2)1.2 配置EFM (2)1.2.1 EFM配置任务列表 (2)1.2.2 EFM基本配置 (3)1.2.3 EFM定时器参数配置 (3)1.2.4 配置远端失效指示功能 (4)1.2.5 配置链路监视功能 (5)1.2.6 启动远端环回功能 (6)1.2.7 拒绝远端发起的远端环回请求 (6)1.2.8 发起远端环回请求 (6)1.2.9 启动远端MIB变量获取功能 (7)1.2.10 发起远端MIB变量获取请求 (7)1.2.11 EFM的显示和维护 (8)1.2.12 配置举例 (8)第1章EFM配置1.1 EFM简介EFM(Ethernet of First Mile)称为第一英里以太网,由IEEE 802.3ah标准定义,用来对2个设备之间的点对点以太网链路进行管理和维护。
1.1.1 EFM主要功能EFM能够有效提高以太网的管理和维护能力,保障网络的稳定运行,其主要功能包括:表 1-1EFM主要功能功能说明EFM自动发现功能EFM功能建立在EFM连接的基础上,EFM 连接的建立过程是由EFM自动发现功能实现的。
该功能在相连的EFM实体间通过交互Information OAMPDU通报各自的EFM 配置信息和本端支持的EFM能力信息,当EFM实体收到对端的配置参数后,决定是否建立EFM连接。
EFM的工作模式有两种:主动模式和被动模式,EFM连接只能由主动模式的EFM 实体发起,而被动模式的EFM 实体只能等待对端EFM 实体的连接请求,都处于被动模式下的两个EFM实体之间无法建立EFM连接。
远端故障指示功能当设备检测到紧急链路事件时,故障端EFM实体会通过Information OAMPDU中的Flag 域将故障信息(即紧急链路事件类型)通知给对端EFM实体。
定时器操作使用说明书
定时器使用说明书
一、功能键说明
校星期――调整星期校时――调整小时校分――调整分钟
定时――设置定时开关键时钟――设置正常时间复位――清除所有设置
取消/恢复――只起到清除定时设置不动作的功能,指删除1-14组中所设置的任一组(一组包括开和关,例:第二组设置为11:02开、11:03关,如果清除11:02,同时也会将11:03清除,恢复刚才清除,再按一下清除键即可,恢复后这一组定时会执行动作)
自动/手动――切换接通状态:ON为常开;AUTO为自动;即定时设定起作用;OFF为常关二、定时操作说明
步骤按键设定项目
1 按(手动) 使显示器的短横线在自动位置
2 按(定时) 进入定时开设定(显示1ON)
3 按(校星期) 设定每天相同,每天不同,星期一至星期五相同,或星期六至星期日相同
4 按(校时)(校分) 设定开的时间
5 按(设定) 进入定时关设定(显示1OFF)
6 按(校时)(校分) 设定关的时间
7 重复第2-第6步
骤
设定第2-16次开关的时间
8 按(时钟) 结束时间设定
【举例】例如控制器每天下午6点自动打开电源,到夜里2点关闭电源,按以下操作:按一下“定时键”显示器上显示如图1(--:-- 表示当前定时器没有定时计划)
按住“校时”“校分”显示器显示如图2。
再按一下“设时键”显示器显示如图3。
按住“校时”“校分”显示器显示如图4。
以上调整完再按一下“时钟键”
注意:定时操作完成后,不要忘记按“自动/手动”键把接通状态设成AUTO状态。
通用定时器实验
通用定时器实验1.实验目的(1)掌握LM3S8962中的通用定时器的工作原理和使用方法 (2)掌握CCS 开发环境平台2.实验内容(1)ARM 的初始化配置(2)占先优先权中断和尾链中断实验3.通用定时器的介绍通用定时器可对驱动定时器输入管脚的外部事件进行计数或定时。
Stellaris®通用定时器(GPTM)模块包含4个定时器(Timer0, Timer1, Timer2和Timer3)。
每个GPTM 包含两个16位的定时器/计数器(称作Timer A 和Timer B),用户可以将它们配置成独立运行的定时器或事件计数器,或将它们配置成1个32位定时器 或一个32位实时时钟 (RTC)。
定时器也可用于触发模数(ADC) 转换。
定时器2是一个内部定时器,只能用来产生内部中断或触发ADC 时间。
GPTM 的结构图如图1所示。
GPTMCFG GPTMCTL GPTMIMR GPTMRISGPTMMIS GPTMICR中断/配置GPTMTAPMR GPTMTAPR GPTMTAMATCHRGPTMTAILR GPTMTAMRTimerA 控制GPTMTBPMR GPTMTBPR GPTMTBMATCHR GPTMTBILR GPTMTBMRTimerB 控制GPTMTARTA 比较器EnGPTMTBRTB 比较器En时钟/边沿检测时钟/边沿检测RTC 分频器TimerA 中断TimerB 中断0x0000(递减计数器模式)0x0000(递减计数器模式)32KHz 或偶数CCP 引脚奇数CCP 引脚系统时钟图1 GPTM 的结构图当GPTM 被配置成32位定时器时,需要将Timer B 和Timer A 寄存器连在一起来对GPTM 进行其他相关配置。
32位定时器具有下列工作模式:32位单次触发/周期定时模式和32位实时时钟模式。
16位定时器具有下列工作模式:16位单次触发/周期定时器模式、16位输入边沿计数模式、16位输入边沿定时模式和16位PWM 模式。
通用定时器
事件管理器的功能2812具有两个事件管理器模块EVA和EVB,每个EV模块都具有2个通用定时器、3个比较单元、3个捕获单元以及1个正交编码电路。
(表格中蓝色的字表示该信号是低电平有效)通用定时器用来计时的,而且每个定时器还能产生1路独立的PWM波形;比较单元主要功能就是用来生成PWM波形的,EVA具有3个比较单元,每个单元可以生成一对(两路)互补的PWM波形,生成的6路PWM波形正好可以驱动一个三相桥电路。
捕获单元的功能是捕捉外部输入脉冲波形的上升沿或者下降沿,可以统计脉冲的间隔,也可以统计脉冲的个数。
正交编码电路可以对输入的正交脉冲进行编码和计数,它和光电编码器相连可以获得旋转机械部件的位置和速率等信息。
1.External compare-output trip inputs—我们可以理解为切断比较输出的外部控制输入,以C1TRIP为例,当比较单元1工作时,其两个引脚PWM1和PWM2正在不断的输出PWM波形,这时候,如果C1TRIP信号变为低电平,则此时PWM1和PWM2引脚被置成高阻态,不会再有PWM波形输出,也就是在这个引脚上输入低电平,则比较输出就会被切断。
2.External timer-compare trip inputs—我们可以理解为切断定时器比较输出的外部控制输入,以T1PWM_1CMP为例,当定时器1的比较功能在运行,并且T1PWM引脚输出PWM波形的时候,这时候如果T1CTRIP引脚信号变为低电平,则该引脚状态被置成高电平,也不会再有PWM波形输出。
3.External trip inputs的PDPINTx(x=A或者B)其实是个功率驱动保护,它为系统的安全提供了保护,例如如果当电路中出现电压、电流或者温度急剧上升的时候,如果PDPINTx的中断没有被屏蔽,当PDPINTx的引脚变为低电平时,2812所有的PWM输出引脚都会变为高阻态,从而阻止了电路进一步损坏,达到保护系统的目的。
通用定时器TIMER
• 相关寄存器 • 2个计数寄存器 和2个周期寄存器 • PSC预定标计数器 • TIM 主计数寄存器 • TDDR预定标周期寄存器 • PRD 主周期计数器
• 计时器控制寄存器 TCR • TCR可以实现Timer的配置、工作、停止、加载、重新加载等。
• IDLEEN:Timer的空闲使能位。IDLEEN=0,Timer不能置于空闲状态;IDLEEN=1,当PERIPH域为空闲状态,Timer终 止在低功耗状态。 • FUNC:可以将定时器引脚配置为:通用输出(10b);计时器输出(01b);一个时钟输入(11b)或高阻状态 (00b)。 • TLB:Timer加载位。当TLB=0,TIM与PSC不被加载;直到TLB=1,PRD加载到TIM,TDDR加载到PSC。 • SOFT:Soft终止位。SOFT=0,硬终止,Timer直接终止;SOFT=1,软终止,当main中的TIM计数到0时终止。 • FREE:自由运行位。 FREE=0,Timer如受SOFT位一样被影响;FREE=1,Timer继续运行。 • PWID:定时器输出的脉冲宽度位。1个CPU时钟周期(00b);2个CPU时钟周期(01b);4个CPU时钟周期 (10b);8个(11b)。 • ARB:自动重新装入位。ARB=1,主计数器(TIM)一旦减少为0,计数寄存器自动从周期寄存器重新装入 。 • TSS:Timer停止状态位。TSS=0,启动Timer;TSS=1,终止Timer; • CP:时钟模式/脉冲模式位。CP=0,脉冲模式;CP=1,时钟模式。 • DATOUT:数据输出位。DATOUT=0,驱动Timer引脚信号为低;DATOUT=1,驱动Timer引脚信号为高。
通用计时器的使用—— timer实验
• 通用定时器Timer简介 • 通用定时器包括一个4位的预定标计数器(PSC)和一个16位的主 计数器(TIM),从而提供20位的动态范围。它还包含两个周期寄存 器,即TDDR和PRD。Timer的结构如下图:
通用定时器
SysCtlPeripheralEnable(CCP2_PERIPH); // 使能CCP2管脚所在的GPIOD
GPIOPinTypeTimer(CCP2_PORT, CCP2_PIN); // 配置CCP2管脚为Timer功能
11. 配ຫໍສະໝຸດ 与控制 2. 计数值的装载与获取Timer库函数共分成4类:
配置使用
匹配值寄存器 1
功能描述
32位模式
32位单次触发/周期定时器
对系统时钟进行计数
32位RTC定时器 GPTM 16位单次触发/周期定时器 16位输入边沿计数捕获 16位模式 16位输入边沿定时捕获 16位PWM
对RTC时钟源计数
对系统时钟计数
捕获外部脉冲
对系统时钟计数, 并产生PWM信号
1
Timer模块的功能在总体上可以分成32位模式和16位模式两大类。在32位模式 下,TimerA和TimerB被连在一起形成一个完整的32位计数器,对Timer的各项操作, 如装载初值、运行控制、中断控制等,都用对TimerA的操作作为总体上的32位控制, 而对TimerB的操作无任何效果。在16位模式下,对TimerA的操作仅对TimerA有效, 对TimerB的操作仅对TimerB有效,即对两者的操控是完全独立进行的。 每一个Timer模块对应两个CCP管脚。CCP是“Capture Compare PWM”的缩 写,意为“捕获/比较/脉宽调制”。在32位单次触发和周期定时模式下,CCP功能无 效(与之复用的GPIO管脚功能仍然正常)。在32位RTC模式下,偶数CCP管脚 (CCP0、CCP2、CCP4等)作为RTC时钟源的输入,而奇数CCP管脚(CCP1、 CCP3、CCP5等)无效。在16位模式下,计数捕获、定时捕获、PWM功能都会用到 CCP管脚,对应关系是:Timer0A对应CCP0、Timer0B对应CCP1,Timer1A对应 CCP2、Timer1B对应CCP3,依此类推。
第26章 通用定时器
第26章通用定时器MC9328MX1包括两个相同的通用32位定时器,这种定时器带有可编程预定标器、比较和捕捉寄存器。
使用外部事件能捕捉每个定时器计数器值,定时器计数器值能设置为在每个输入脉冲的前沿和后沿触发捕捉事件。
当定时器到达编程值时,定时器也能产生中断。
每个定时器有一个8位的预定标器,产生一个源自PERCLK1的可编程时钟频率。
产生捕捉边沿的脉冲可以短至20ns。
两个脉冲间的最小时间为两个PCLK周期。
通用定时器框图如图26-1所示。
图26-1 通用定时器方框图定时器具有如下特征:●频率为32.768kHz时,最大周期为512×65536s;频率为38.4kHz时,最大周期为436×65536s。
●100MHz时分辨率为10ns。
●时钟输入具有可编程来源,包括外部时钟。
●触发边沿可编程的输入捕捉能力。
●具有可编程模式的输出比较。
●自由运行和重新启动模式。
●软件复位功能。
26.1 操作预定标器的输入时钟可以是系统主时钟(1分频或16分频),也可以由定时器的输入引脚TIN得到,或是32kHz时钟(由引脚CLK32得到)。
输入时钟的具体来源由定时器控制寄存器(TCTL1和TCTL2)中的时钟源字段确定。
定时器预定标寄存器(TPRER1和TPRER2)用于设定对输入时钟的分频倍数以驱动定时器的主计数器,分频倍数可以是1~256之间的任何值。
当选择CLK32为时钟源时,即使PLL处于睡眠模式(此模式下,来自PLL的PERCLK1为关闭状态),定时器仍可工作。
通过对相应TCTLx寄存器中的自由运行/重启(FRR)位进行设置,每个定时器可以工作于重启模式或自由运行模式。
在重启模式下,当计数值达到预设比较值时,计数器复位为0x00000000,定时状态寄存器中的比较事件(COMP)位的值置1,此时如果相应TCTLx寄存器中的中断请求使能(IRQEN)位值为1,定时器将产生一个中断请求,计数过程重新开始,当需要产生一个周期性的事件或者音频信号时,此种工作模式相当有用。
通用定时控制器电路
通用定时控制器电路
通用定时控制器电路
图1-1 的通用定时器可以一次定时5 分钟-18 小时;循环定时从5 分钟-20 小时;定时开启和定时关闭的总时间和为18 小时。
控制功率为500W 以下,本电路耗电功率小于1W。
时基电路NE555 和C3、W、R1、R2构成时基脉冲发生电路。
调节W 可使脉冲周期从5 分钟 -2 小时之间变化。
R2 起延长脉冲周期的作用。
不用R2 脉冲周期最长是1 小时。
计数器CD4017 和D2-D10、K1-K10等组成延时倍增电路。
该电路将脉冲周期总共延长10 倍。
K1-K10 控制倍增倍数,与NE555 输出脉冲周期呈积数关系。
BG 和双向可控硅构成交流电源控制电路。
BG 基极高电平时导通,SCR 被触发导通,受控电路工作。
BG 基极低电平时截止,SCR 截止,受控电路停止工作。
C1、DW、D11、C2组成简单的直流供给电路为定时电路提供12V 直流电源。
一次定时时,K12 置于“1”处,K1 开路。
NE555 输出10 个脉冲后,CD4017 的EN 为高电平而停止计数。
这时按一下AN,CD4017 再计数一次,一次定时最长18 小时。
循环定时时,K12 置于“2”处,CD4017 循环计数。
每循环一次
最长时间20 小时。
定时开启和定时关闭由K1-K10 控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26章通用定时器
MC9328MX1包括两个相同的通用32位定时器,这种定时器带有可编程预定标器、比较和捕捉寄存器。
使用外部事件能捕捉每个定时器计数器值,定时器计数器值能设置为在每个输入脉冲的前沿和后沿触发捕捉事件。
当定时器到达编程值时,定时器也能产生中断。
每个定时器有一个8位的预定标器,产生一个源自PERCLK1的可编程时钟频率。
产生捕捉边沿的脉冲可以短至20ns。
两个脉冲间的最小时间为两个PCLK周期。
通用定时器框图如图26-1所示。
图26-1 通用定时器方框图
定时器具有如下特征:
●频率为32.768kHz时,最大周期为512×65536s;频率为38.4kHz时,
最大周期为436×65536s。
●100MHz时分辨率为10ns。
●时钟输入具有可编程来源,包括外部时钟。
●触发边沿可编程的输入捕捉能力。
●具有可编程模式的输出比较。
●自由运行和重新启动模式。
●软件复位功能。
26.1 操作
预定标器的输入时钟可以是系统主时钟(1分频或16分频),也可以由定时器的输入引脚TIN得到,或是32kHz时钟(由引脚CLK32得到)。
输入时钟的具体来源由定时器控制寄存器(TCTL1和TCTL2)中的时钟源字段确定。
定时器预定标寄存器(TPRER1和TPRER2)用于设定对输入时钟的分频倍数以驱动定时器的主计数器,分频倍数可以是1~256之间的任何值。
当选择CLK32为时钟源时,即使PLL处于睡眠模式(此模式下,来自PLL的PERCLK1为关闭状态),定时器仍可工作。
通过对相应TCTLx寄存器中的自由运行/重启(FRR)位进行设置,每个定时器可以工作于重启模式或自由运行模式。
在重启模式下,当计数值达到预设比较值时,计数器复位为0x00000000,定时状态寄存器中的比较事件(COMP)位的值置1,此时如果相应TCTLx寄存器中的中断请求使能(IRQEN)位值为1,定时器将产生一个中断请求,计数过程重新开始,当需要产生一个周期性的事件或者音频信号时,此种工作模式相当有用。
在自由运行模式下,比较功能的工作方式同重启模式下相同,所不同的是,当计数值达到比较值时,计数器继续计数而不会复位至0x00000000,当计数值达到0xFFFFFFFF时,计数器跳回0x00000000并继续计数。
每个定时器中含有一个32位的捕获寄存器,当沿检测器检测到定时器输入端(TIN)有预设跳变时,捕获寄存器将对计数器进行“快照”。
触发捕获操作的跳变类型可通过对相应TCTLx寄存器中捕获沿(CAP)字段的设置进行选择。
产生捕获沿的脉冲可以短到20ns。
两个脉冲之间的最小时间间隔为两个PCLK周期。
当一个捕获事件或比较事件发生时,定时器状态寄存器中的相应状态位(CAPT或者COMP)将被置1。
如果捕获功能处于使能状态或者TCTLx寄存器中的IRQEN位值为1,定时器将发出一个中断请求。
另外,复位时自动运行定时器被禁止。
如果TCTLx寄存器中的软件复位(SWR)位的值被置1,整个模块将立刻复位。
复位信号保持时间为96MHz系统时钟周期的3倍。
例如,若系统时钟周期为10ns,则复位信号将保持30ns并随后自动释放。
26.1.1 通用定时器的引脚配置
图26-1显示了用于通用定时器模块的引脚。
这些引脚与器件上的其它功能复用,必须进行正确配置以用于通用定时器操作。
表26-1列出了通用定时器的引脚配置情况。
注:
用户必须确保GPIO中的数据方向位针对正确的操作进行了正确的设置。
请参见32.5.1节,“数据方向寄存器”得到
更详细的信息。
26.2 编程模型
通用定时器模块中的每个定时器中均包括有6个用户可访问的32位寄存器。
表26-2列出了这些寄存器以及它们的地址。
26.2.1
每个定时器控制寄存器(TCTL1和TCTL2)控制着相应通用定时器的所有操作。
表26-3给出了该寄存器的描述。
TCTLx寄存器控制着以下内容:
●选择比较事件以后的自由运行或重启模式;
●选择捕获触发事件;
●控制输出比较模式;
●使能比较事件中断;
●选择预定标器的时钟源;
●激活或者禁止通用定时器的使用。
每个定时器预定标寄存器(TPRER1和TPRER2)控制与之相关的预定标器的分频倍数。
该寄存器的设置如表26-4所示。
每个定时器比较寄存器(TCMP1和TCMP2)内包含了同自由运行计数器进行比较的预设值。
当计数器内的计数值同该寄存器内寄存的预设值相符时,系统将产生一个比较事件。
系统复位时,该寄存器的复位为0xFFFFFFFF。
表26-5给出了该寄存器的描述。
26.2.4 定时器捕获寄存器1和2
每个只读的定时器捕获寄存器(TCR1和TCR2)内存储了当捕获事件发生时计数器内的计数值。
该寄存器是只读的,复位值为0x00000000。
表26-6给出了该寄存器的描述。
每个只读的定时器计数寄存器(TCN1和TCN2)内存有当前计数值。
可以在任何时间访问该寄存器而不影响当前的计数值。
表26-7给出了该寄存器的描述。
每个只读的定时器状态寄存器(TSTAT1和TSTAT2)指示了相应定时器的状态。
当一个捕获事件发生时,该寄存器的CAPT位被置1;当一个比较事件发生时,该寄存器的COMP位被置1。
如果这些位被置1,那么在清除中断时,这些位必须相应地被清除。
清除即写入0x0,而清除操作仅发生在这些位被读出值为1时。
这将确保在读状态寄存器和中断清除之间时,如果一个中断发生,中断不会丢失。
该寄存器的设置与描述如表26-8所示。