历史上的今天
返回首页

历史上的今天

今天是:2025年05月10日(星期六)

正在发生

2019年05月10日 | ARM的PWM定时器(S3C2440)

2019-05-10 来源:eefocus

参考S3C2440的数据手册的第10章《PWM定时器》


概述

S3C2440A 有 5 个 16 位定时器。其中定时器 0、1、2 和 3 具有脉宽调制(PWM)功能。定时器 4 是一个无输出引脚的内部定时器。定时器 0 还包含用于大电流驱动的死区发生器。


S3C2440有两个8 位预分频器。定时器 0 和 1 共用一个 8 位预分频器,定时器 2、3 和 4 共用另外的 8 位预分频器。使得PCLK分频进入下一步操作。8 位预分频器由TCFG0寄存器设置。

每个定时器都有一个可以生成 5 种不同分频信号(1/2,1/4,1/8,1/16 和 TCLK)的时钟分频器。使得经过8 位预分频器的时钟再次分频。由TCFG1寄存器设置。

看一下PWM定时器的方框图

在这里插入图片描述

从方框图仅能看出定时器的时钟频率,具体如何工作还需看内部结构。


下图为内部控制逻辑图

在这里插入图片描述

定时器的工作流程为:

设置TCMPBn和TCNTBn,分别为比较值和初值。

随之设置TCON启动定时器,这时,TCMPBn和TCNTBn的值被装载至TCMPn和TCNTn。定时器的TCNTn开始减1计数。

当TCNTn的值等于TCMPn的值时,定时器的输出管脚TOUTn的输出电平反转。定时器的TCNTn继续减1计数。

当TCNTn的值减到0时,输出管脚TOUTn的输出电平再次反转。并处罚中断。

当TCNTn的值减到0时,如果TCON寄存器中设置为自动重载,则TCMPBn和TCNTBn的值被自动装载至TCMPn和TCNTn,开始下一个计数流程。

对于定时器的操作:

1设置时钟

2设置初值

3加载初值,启动Timer

4设置自动加载

5中断相关


编程

具体代码如下:



#include "timer.h"

extern flag;


void interrupt_init(void)

{


INTMSK &= ~(1<<10); /* Service available */

}



/* 定时器输入时钟频率 = PCLK / {预分频值+1} / {分频值} */

/* 31250 = 50000000/(99+1)/16  */

void timer_init(void)

{

TCFG0 = 99; //定时器0和1的预分频值为99

TCFG1 &= ~(0xf<<0);

TCFG1 |= (3<<0); //定时器1的分频值为1/16

TCNTB0 = 31250; //定时周期设为1s

TCON |= (1<<1); //手动更新

TCON &= ~(1<<1);

TCON |= ((1<<0) | (1<<3)); //开启自动重载,开启定时器

}


void timer_isr(void)

{

if (flag)

{

GPFDAT |= (1<<4);

GPFDAT |= (1<<5);

GPFDAT |= (1<<6);

flag = 0;

}

else

{

GPFDAT &= ~(1<<4);

GPFDAT &= ~(1<<5);

GPFDAT &= ~(1<<6);


flag = 1;

}

SRCPND |= (1<<10); //清中断

INTPND |= (1<<10);

}


推荐阅读

史海拾趣

Elite Semiconductor Products Inc公司的发展小趣事

随着全球对环保和可持续发展的关注度不断提高,Elite也积极响应这一趋势。公司注重环保理念在生产过程中的贯彻实施,采用环保材料和节能技术,减少生产过程中的污染排放。同时,Elite还积极参与环保公益活动,推动环保理念的普及和实践。这些努力不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

DMEL Inc公司的发展小趣事

为了提升产品质量和用户体验,DMEL Inc不断加大对生产过程的管控力度。公司引进了先进的生产设备和管理系统,建立了严格的质量检测体系。同时,DMEL Inc还加强了与供应商的合作,确保原材料的质量和供应的稳定性。这些措施的实施,使得DMEL Inc的产品质量得到了显著提升,赢得了消费者的信赖和好评。

Codeco Corporation Of Vermont公司的发展小趣事

在追求商业成功的同时,Codeco也积极履行企业社会责任。他们注重环保和可持续发展,在生产过程中采用环保材料和技术,减少对环境的影响。此外,Codeco还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也赢得了员工和消费者的尊重与认可。


您可以根据这个框架,结合您对电子行业和Codeco Corporation Of Vermont的了解,撰写具体的故事内容。请注意,这些故事应基于事实或合理的推测,避免涉及未经证实的信息或夸大其词的描述。

Cornerstone Sensors公司的发展小趣事

品质是Cornerstone Sensors的生命线。公司建立了严格的质量管理体系,从原材料采购、生产制造到产品测试等各个环节都进行严格把控。同时,公司还注重品牌建设,通过参加行业活动、发布技术文章、提供专业培训等方式提升品牌影响力。Cornerstone Sensors的产品逐渐成为行业内公认的高品质代表,赢得了广泛的口碑和市场份额。

Eastman Kodak Company公司的发展小趣事

经过破产保护和重组的洗礼后,伊士曼柯达公司更加注重创新和可持续发展。公司加强了与新兴科技公司的合作,积极探索新的业务模式和市场机会。同时,柯达还致力于研发更加环保、高效的影像产品和技术,以满足客户对高品质影像的需求。未来,伊士曼柯达公司将继续秉承创新、品质、服务的理念,不断推动影像行业的发展和进步。

Global Power Technology Co., Ltd公司的发展小趣事
通常容声BCD-190型电冰箱的温度调节旋钮位于冷藏室内部或冰箱侧面。根据实际需要,通过旋转温度调节旋钮来设置冷藏室和冷冻室的温度。

问答坊 | AI 解惑

晒晒哥们自制的下载线

哥们自制的下载线,样子有些粗糙,但是经过验证了,很好用! [ 本帖最后由 西门 于 2009-5-11 22:14 编辑 ]…

查看全部问答>

智能循环水控制器设计!

基于 TMS320C2812DSP的智能循环水控制器的设计 江存胜 ,段建民 ,綦  慧 ,李大庆 ,倪少强  ( )北京工业大学 电控学院自动化系,北京 100022   摘要:  针对传统控制中自动化程度较低的问题 ,研制了智能工业循环水加药控制系统。该控制 ...…

查看全部问答>

让我们一起DIY个 FPGA开发板,上电路图,欢迎查错

自从让我们一起DIY个 FPGA开发板, 报名喽~~~ 之后 很久没给大家消息了,附件是电路图,protel99格式的, 之前只画过简单的,所以希望大家给予指教…… 一点相关资料:Altera Configuration Handbook & cyclone_device_handbook    & ...…

查看全部问答>

串口通信编程大全.pdf

详细介绍串口通信相关知识,想要的就下吧…

查看全部问答>

请问有没有这样的模拟软件?

        请问有没有这样的模拟软件?                 我刚学AVR单片机   用的是个学习板      感觉学习板功能很有限   我发现电路 ...…

查看全部问答>

想开发一款嵌入式导航软件,关于画图方面的疑问

现在我负责的模块是地图的绘制,就是说我封装一些函数,当别人需要绘制地图上的公路,铁路时,就调用我的函数就行。但是我现在一点头绪都没有,大牛们能不能给一些指导,谢谢。…

查看全部问答>

GPIO初始化配置成GPIO_Mode_Out_PP后怎么是低电平呢?

我用PB14以吸收电流的方式驱动一个LED灯,下面是初始化代码:GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;        //1GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  ...…

查看全部问答>

STM32F100C8/B价格是多少?

                                 STM32F100C8/B价格是多少? 量产了吗?…

查看全部问答>

关于时序分析中时钟的设置.

请教各位:当系统中有一个20MHz的输入时钟时,经过PLL倍频后,产生一100MHz和一20MHz的内部时钟时,Clock Setting那里如何设置,是不是应填最大的100MHz? PLL出来的100MHz和20MHz是不是相对于20MHz的输入时钟为衍生时钟?Individual Clocks是不 ...…

查看全部问答>

24C02第一次读取问题

自己写了个小程序,把51开发板上的键盘,LCD,串口通信,24C02存储都整合到了一起。程序大致分为两块,一个是串口通信,一个是数据存储、查询。PC可以向单片机发送数据,单片机接受并显示,同时可以将其存储进24C02中。查询模块可以读取24C02中的数 ...…

查看全部问答>