关闭
关闭
首页 > 嵌入式硬件 > 驱动开发

s3c2440芯片中一共有5个16位的定时器,其中有4个定时器(定时器0~定时器3)具有脉宽调制功能,即他们都有个输出引脚,可以通过定时器来控制引脚周期性的高低电平变化,定时器4没有输出引脚。上次脱机运行PWM测试程序实验的时候就用到了这块,所以这次将PWM和定时器放在一起来学习。

本文引用地址: http://embed.21ic.com/hardware/drivers/201801/50026.html

定时器部件的时钟源为PCLK,首先通过两个8位预分频器降低频率,定时器0和1共用第一个预分频器,2,3,4共用第二个预分频器。

预分频器输出接入第二级分频器,可以生成5种分频信号(1/2,1/4,1/8,1/16,TCLK),其中8位预分频器是可编程,根据装载值来分频PCLK,值储存在TCFG0和TCFG1中。

定时器内部控制逻辑工作流程如下:

1、程序初始,先设置TCMPBn、TCNTBn这两个寄存器,分别表示定时器n的比较值和初始计数值。

2、然后设置TCON寄存器启动定时器n,这时TCMPBn、TCNTBn值将被装入内部寄存器TCMPn、TCNTn。在定时器n的工作频率下,TCNTn开始减1计数,其值可以通过读取TCNTOn得知。

3、当TCNTn值等于TCMPn值的时候,定时器n的输出管脚TOUTn反转;TCNTn继续减1计数。

4、当TCNTn值为0,输出管脚TOUTn再次反转,并触发定时器n中断(中断使能)。

5、当TCNTn值为0,如果在TCON寄存器中将定时器n设为自动加载,则TCMPBn、TCNTBn值将被自动装入内部寄存器TCMPn、TCNTn中,进入下一个计数流程。

定时器n的输出管脚TOUTn初始状态为高电平,然后会两次反转,

也可以通过TCON寄存器设定其初始电平,这样输出就完全反相了。

通过设置TCMPBn、TCNTBn可以设置TOUTn输出信号的占空比,这样就是所谓的PWM。这里PWM的原理就不做介绍了。

下面介绍定时器的几种重要寄存器,每一种我们都以定时器0为例。

TCFG0寄存器

[7:0],[15:8]各8位分别被用于控制预分频器0,1,值为0~255。经过预分频器出来的时钟频率为:PCLK/(prescaler+1)。

TCFG1寄存器

经过预分频器得到的时钟将进入2次分频,这个寄存器就是设置2次分频系数的。这样定时器的工作频率为:PCLK/(prescaler+1)/(divider value),其中prescaler=0~255,divider value=2,4,6,8。

TCFG0和TCFG1这两个寄存器来配置定时器的频率,即要确定TCNTOn每递减一个数所需要的时间,它们之间是倒数的关系。具体的计算公式为:

定时器输出时钟频率=PCLK ÷ (prescaler+1) ÷ divider

其中prescaler值由TCFG0决定,divider值由TCFG1决定,而prescaler只能取0~255之间的整数,divider只能取2、4、8和16。比如已知PCLK为50MHz,而我们想得到某一定时器的输出时钟频率为25kHz,则依据公式可以使prescaler等于249,divider等于8。有了这个输出时钟频率,理论上我们通过设置寄存器TCNTBn就可以得到任意与0.04毫秒(1÷25000×1000)成整数倍关系的时间间隔了。例如我们想要得到1秒钟的延时,则使TCNTBn为25000(1000÷0.04)即可。

TCON寄存器

TCON寄存器位[3:0]、[11:8]、[15:12]、[19:16]、[22:20]分别用于定时器0~4,位[4]为死区使能位,[7:5]为保留位。除了定时器4没有输出反转位外,其他位功能相似,这里以定时器0为例加以说明。位[0]开启停止位:0停止定时器,1开始定时器。[1]手动更新位:0无用,1将TCNTBn/TCMPBn寄存器的值装入内部寄存器TCNTn\TCMPn中。[2]输出反转:0不反转,1反转。[3]自动加载:0不自动加载,1自动加载。

TCNTBn/TCMPBn寄存器

TCNTOn寄存器

下面就具体介绍如何实现PWM功能。

1、PWM是通过引脚TOUT0~TOUT3输出的,而这4个引脚是与GPB0~GPB3复用的,因此要实现PWM功能首先要把相应的引脚配置成TOUT输出。

2、再设置定时器的输出时钟频率,它是以PCLK为基准,再除以用寄存器TCFG0配置的prescaler参数,和用寄存器TCFG1配置的divider参数。

3、然后设置脉冲的具体宽度,它的基本原理是通过寄存器TCNTBn来对寄存器TCNTn(内部寄存器)进行配置计数,TCNTn是递减的,如果减到零,则它又会重新装载TCNTBn里的数,重新开始计数,而寄存器TCMPBn作为比较寄存器与计数值进行比较,当TCNTn等于TCMPBn时,TOUTn输出的电平会翻转,而当TCNTn减为零时,电平会又翻转过来,就这样周而复始。因此这一步的关键是设置寄存器TCNTBn和TCMPBn,前者可以确定一个计数周期的时间长度,而后者可以确定方波的占空比。由于s3c2440的定时器具有双缓存,因此可以在定时器运行的状态下,改变这两个寄存器的值,它会在下个周期开始有效。

4、最后就是对PWM的控制,它是通过寄存器TCON来实现的,当不想计数了,可以使自动重载无效,这样在TCNTn减为零后,不会有新的数加载给它,那么TOUTn输出会始终保持一个电平(输出反转位为0时,是高电平输出;输出反转位为1时,是低电平输出),这样就没有PWM功能了,因此这一位可以用于停止PWM。

S3C2440 定时器总结:

定时器0配置步骤:(其他的也类似)

1、配置TCFG0,第一级分频系数

2、配置TCFG1,第二级分频系数

3、配置TCNTB0,定时器计数初始值

4、配置TCON0,启动定时器和更新定时器计数值

如果有中断:

5、向中断向量表timer0安装中断服务函数

6、使能定时器中断,INTMSK

换一批

延伸阅读

[新鲜事] 彻底无人能挡!OPPO、vivo已经逆天

彻底无人能挡!OPPO、vivo已经逆天

2016年绝对是线下手机渠道的丰收年,曾经火热的互联网模式似乎不再吃香,典型代表就是OPPO、vivo的强势崛起,甚至华为都感受到了空前的压力,而且这种状况还在继续甚至加强。......

关键字:OPPO、vivo 华为

[新鲜事] PC业务降级 Intel服务器率先采用10nm工艺

PC业务降级 Intel服务器率先采用10nm工艺

英特尔预测,五年之后,PC芯片将变成其占比最低的业务。目前,英特尔已经开始大力发展数据中心业务。......

关键字:Intel 10nm工艺

[新鲜事] 中国首个海上核电站确认:用陆地型反应堆改造

中国首个海上核电站确认:用陆地型反应堆改造

中国核能工业从无到有快速发展。近日,国防科工局副局长、国家原子能机构副主任王毅韧近日向媒体透露了未来一段时间内,中国核工业的发展计划。......

关键字:中国 海上核电站

[新鲜事] 富士康印度建厂现转机 延期工厂或将重启

富士康印度建厂现转机 延期工厂或将重启

据报道,此前,富士康在印度西部马哈拉施特拉邦建厂的计划遭遇延期,不过这项一波三折的项目可能要有转机了。据悉,富士康高管已经与当地政府高官接触,并敲定了不少建厂细节。......

关键字:富士康 印度建厂

[新鲜事] 意法半导体晶圆厂发生火灾!拖累iPhone 8

意法半导体晶圆厂发生火灾!拖累iPhone 8

上周意法半导体(STMicroelectronics)晶圆厂失火,最新款iPhone的生产进度恐怕将受连累。......

关键字:意法半导体 iPhone 8 3D传感器

[新鲜事] 诺基亚将于下月掀开“又一个激动人心的新篇章”

诺基亚将于下月掀开“又一个激动人心的新篇章”

本月早些时候,HMD Global 在国内发布了首款“诺基亚”品牌的 Android 智能机 —— 由该公司开发、富士康代工的 Nokia 6(基于十年期的品牌授权协议)。该机配备了 5.5 英寸显示屏、铝制机身、骁龙 430 处理器、4G......

关键字:诺基亚 HMD

[新鲜事] 特朗普拟扩大审查入境客,中国公民需提交社交账号密码,你怎么看?

特朗普拟扩大审查入境客,中国公民需提交社交账号密码,你怎么看?

据美媒报道,特朗普政府正在拟定计划,将进一步扩大检查入境美国的旅行者的社交媒体账号,中国公民纳入其中。......

关键字:特朗普 社交账号密码 中国公民

[疯狂史] 科学家可能发现世上最古老机械计算机

科学家可能发现世上最古老机械计算机

一个多世纪以来,一个在希腊南部岛屿外海古沉船中被发现的“安提凯希拉机制”(Antikythera Mechanism)的确切功能一直是一个诱人的谜团。科学家利用最尖端扫描技术,解读了约3,500个文字,发现它可能是史上最早的机械计算机。......

关键字:科学家 机械计算机
条评论

我 要 评 论

网友评论

大家都爱看

  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15
  • Intel代工 展讯发布14nm SC9853I手机SoC

    SC9853I采用的Intel的14nm FinFET制程,架构为8核64位Airmont架构,主频1.8GHz,GPU为Mali-T820 MP2,号称面向799~1299元档次的手机。…

    2017-08-15