PWMTimer概述S3C2410A有5个16位定时器其中定时器0123
更新时间:2023-03-28 22:15:01 阅读量: 互联网资料 文档下载
PWMTimer
PWM Timer
概述
S3C2410A有5个16位定时器。其中定时器0、1、2、3有脉宽调制(PWM)功能。定时器4有只有一个内部定时器而没有输出管脚。定时器0有一个死区发生器,用于大电流器件。
定时器0和1共享一个8位预定标器,定时器2、3和4共享另一个8位预定标器。每一个定时器有一个有5种不同值的时钟分割器(1/2,1/4,1/8,1/16和TCLK)。其中每一个定时器块从时钟分割器接收时钟信号,而时钟分割器从响应的预定标器接收时钟信号。8位预定标器是可编程的,它根据TCFG0和TCFG1中的数值分割PCLK。
在定时器计数缓冲寄存器(TCNTBn)中有一个初始值,当定时器使能后,这个值就被装载到递减计数器中。而在定时器比较缓冲寄存器(TCMPBn)中也有一个初始值,这一值被装载到比较寄存器中,用来与递减计数器值进行比较。这两个缓冲器使得在频率和占空比发生改变时仍能产生一个稳定的输出。
每一个定时器有一个16位的递减计数器,由定时器时钟驱动。当计数器的值到0,定时器就会产生一个中断请求来通知CPU定时器的操作已经完成。当定时器计数器到0时,TCNTn的值自动的加载到递减计数器中以继续下一操作。但是,当定时器因某种原因停止,如在定时器运行模式中清除定时器使能位(TCONn中)时,TCNTBn中的值将不再加载到计数器中。
TCMPBn中的数据是用来脉宽调制的。当递减计数器的值与比较寄存器的值相同时,定时器控制逻辑将改变输出电平。因此,比较寄存器决定一个PWM 输出的接通时间。
特性
◆5个16位定时器;
◆2个8位预定标器和2个4位分割器;
◆可编程的占空比;
◆自动再装入模式或一次脉冲模式;
◆死区发生器。
PWMTimer
预定标器和分割器
PWMTimer
定时器基本操作
图2、定时器运行时序
一个定时器(定时器4除外)都包含TCNTBn、TCNTn、TCMPBn和TCMPn 几个寄存器。(TCNTn和TCMPn是内部寄存器的名称。TCNTn的值可以通过读TCNTOn得到)当定时器达到0时,TCNTBn和TCMPBn的值将自动加载到TCNTn和TCMPn中。当TCNTn到0且中断使能时,定时器将产生一个中断请求。
自动加载和双缓冲模式
脉宽调制定时器有一个双缓冲功能,在这种情况下,改变下次加载值的同时不影响当前定时周期。因此,尽管设置一个新的定时器值,当前定时器的操作将会继续完成而不受影响。
定时器的值可以写入定时器计数值缓冲寄存器(TCNTBn)中,而当前计数器的值可以通过读定时器计数值观测寄存器(TCNTOn)得到。
当TCNTn的值到0时,自动加载操作复制TCNTBn的值到TCNTn中。但是如果自动加载模式没有使能,TCNT0将不进行任何操作。
PWMTimer
图3、双缓冲功能时序图
用手动更新位和逆变器位对定时器进行初始化
当递减计数器的值到0时,自动加载操作才能进行。所以,用户必须预先对TCNTn定义一个起始值。因此,起始值必须由手动更新位载入。以下步骤描述了怎么起始一个定时器:
将初始值写入到TCNTBn和TCMPBn中;
设置相应定时器的手动更新位。推荐配置逆变器位开或关(不管逆变器用与否);
设置相应定时器的起始位从而启动一个定时器(同时清除手动更新位)。
如果定时器被迫停止,TCNTn将保留计数器的值且不重载TCNTBn。如果用户需要设置一个新值,必须执行手动更新。
注:无论何时TOUT逆变器开关位的值改变,TOUTn的逻辑值将随之改变。因此,推荐逆变器开关位的配置与手动更新位同时进行。
定时器操作步骤:
以下操作步骤地结果如图4所示。
[1]使能自动加载功能。设置TCNTBn为160,TCMPBn为110。设置手动更新
位并配置逆变器位。手动更新位设置TCNTn和TCMPn的值与TCNTBn和TCMPBn相同。
然后设置TCNTBn和TCMPBn的值分别为80和40,确定下一个周期的值。
[2]如果手动更新位为0、逆变器关且自动加载开,则设置起始位。则在定时器
的延迟时间后定时器开始递减计数。
[3]当TCNTn的值和TCMPn相等时,则TOUTn的逻辑电平将发生改变,由低
到高。
[4]当TCNTn的值到0时,产生一个中断并且将TCNTBn的值加载到一个临时
寄存器。在下一个时钟周期,TCNTn由临时寄存器加载到TCNTn中。[5]在中断服务程序中,TCNTBn和TCMPBn分别设置成80和60;
PWMTimer
[6]当TCNTn的值和TCMPn相等时,则TOUTn的逻辑电平将发生改变,由低
到高。
[7]当TCNTn到0时,TCNTn自动重新加载,并出发一个中断请求;
[8]在中断服务子程序,自动加载和中断请求都被禁止,从而将停止定时器;
[9]当TCNTn的值和TCMPn相等时,则TOUTn的逻辑电平将发生改变,由低
到高。
[10]当TCNTn的值为0时,TCNTn将不再重新加载新的值,从而定时器停止;
[11]由于中断请求被禁止,不再产生中断请求。
图4、定时器操作示意图
脉宽调制
图5、脉宽调制示意
脉宽调制功能可以通过改变TCMPBn的值实现。PWM的频率由TCNTBn 决定。图5是一个通过改变TCMPBn的值实现PWM的例子。
如果想得到一个高的PWM值,则要减小TCMPBn的值。相反,如果想要得到一个低的PWM值,则要增加TCMPBn的值。如果逆变器使能的话,则情况正好相反。
由于定时器具有双缓冲功能,则在当前周期的任何时间都可以通过ISR和其
PWMTimer
它程序改变TCMPBn的值。
输出电平控制
以下步骤描述了如何在逆变器关闭的情况下,控制TOUT的值为高或低:关闭自动加载位。然后,TOUT变高且在TCNTn为0后定时器停止运行;
通过定时器开始位清零来停止定时器运行。如果TCNTn<=TCMPn,则输出为高,如果TCNTn>TCMPn,输出为低;
通过改变TCON中的逆变器开关位来使TOUTn为高或为低。
图6、逆变器开与关时的输出
死区发生器
死区是为了功率器件中的PWM控制。这一功能使能在一个开关器件关闭和另一个开关器件开启的间隔时间。这一时间间隔禁止了两个开关器件同时出于开启状态,即使是一段非常短的时间内。
TOUT0是一个PWM输出。nTOUT0是TOUT0的反相。如果死区使能,则TOUT0和nTOUT0的输出波形将是TOUT0_DZ和nTOUT0_DZ。nTOUT0_DZ 由TOUT1脚输出。
在死区间隔,TOUT0_DZ和nTOUT0_DZ将不会同时开启。
PWMTimer
图7、死区使能后的输出波形
DMA请求模式
PWM定时器能在任何时间产生一个DMA请求。定时器保持DMA请求信号(nDMA_REQ)为低直到定时器接收到ACK信号。当定时器接收到ACK信号时,定时器将使请求信号无效。产生DMA请求的定时器由设置DMA模式位(TCFG1)决定。如果一个定时器配置成DMA请求模式,则此定时器将不能产生中断请求,而其它定时器将正常产生中断请求。
DMA模式配置和DMA/中断操作
正在阅读:
PWMTimer概述S3C2410A有5个16位定时器其中定时器012303-28
世界高科技纤维正形成三足鼎立之势_一_.TextMark06-01
人教版高中语文必修三 理解性默写的名句训练 - 图文11-22
各种运输方式运输成本的比较分析06-04
敬佩的老师小学日记10-29
一上拼音音节练读06-08
proe5.0直齿齿轮参数化建模01-11
2016-2022年中国休闲农业与乡村旅游行业发展现状报告08-08
中学历史教学法 于友西(教材整理)04-09
- 2009年【中考数学压轴题汇编(含解题过程)】(十)
- PEST、波特五力分析
- 教你们怎么从菜鸟级别到电脑高手
- 飞思卡尔智能车竞赛新手入门建议
- 水利工程对环境的影响及对策分析
- 自我评价中的最经典的十个“自我”
- 一种体现科学发展观的新领导力_李锡炎
- 影响中国物业管理未来命运的因素
- 红领巾心向党教案
- 关于做手抄报的作文欣赏 三年级
- 插入式涡街流量计使用说明书
- 17章 反比例函数教案全章
- 山西省忻州市河曲县事业编考试职业能力测试每日一练带答案解析(2
- 青岛李村河污水处理厂二期工程的设计与运行
- 中级维修电工计算题
- 化学工业出版社重点书推荐
- VMware5.0版本区别及功能介绍
- 国内人员个人所得税申报表(空白)
- 行政助理工作手册
- 雅思口语第三阶段问题与答案(1)
- 定时器
- 概述
- PWMTimer
- S3C2410A
- 其中
- 0123
- 2019-2020年拟任县处级领导干部任职资格考试测试题题库(精选)
- 内资公司注册办理流程图
- 低碳经济下的绿色供应链管理途径
- 六年级数学思维训练班学员评语
- 罐体体积面积重量计算公式
- 大班音乐游戏《勇敢的小兔子》幼儿园大班音乐教案_1086
- 《市场营销学》第十七章 网络营销(教材及习题)
- 环境清洁与消毒管理制度
- XX中学学习十八大测试题
- 第五章 酸碱滴定法
- 2014高考化学名师精编拔高点睛专题篇:同分异构体
- 电力公司营销市场开发策略探讨
- 电控柴油机高压共轨系统
- 范华英教书育人模范先进事迹材料
- 人力资源管理案例
- 第02章 经济时间序列的季节调整、分解和平滑方法_s
- 澳洲留学申请 澳洲留学申请最全攻略 澳洲留学
- 生产计划管理控制实务
- 土建施工常用材料总结(配图)
- 机械设计基础课程设计(详细计算_带图纸) 2