IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> S3C2410定时器工作原理 -> 正文阅读

[嵌入式]S3C2410定时器工作原理

S3C2410芯片有5个16位定时器,除timer4外均具有PWM功能。

工作原理

定时器与计数器工作原理相同,只不过是16位计数器的脉冲来源不同,如下图所示。
在这里插入图片描述
主要介绍定时器功能:PCLK经过预分频和分隔后产生定时器的脉冲信号,计数器在每个脉冲周期内减1,当减至0时产生定时器归零中断并且自动重载TCNTn为缓冲寄存器的值(若自动重载位置1)。

S3C2410定时器

S3C2410有5个16位定时器,即TCNTn寄存器最大值为65335。

定时器对应IO接口PWM
Timer0TOUT0(GPB0)
Timer1TOUT1(GPB1)
Timer2TOUT2(GPB2)
Timer3TOUT3(GPB3)
Timer4仅有计数功能

定时器输入时钟频率: f T C L K = f P C L K / ( 预 分 频 + 1 ) / 分 割 系 数 f_{TCLK}=f_{PCLK}/(预分频+1)/分割系数 fTCLK?=fPCLK?/(+1)/
定时器计数频率: f 0 = f T C L K / T C N T B n f_0=f_{TCLK}/TCNTBn f0?=fTCLK?/TCNTBn
设置好预分频值,分频系数,TCNTBn的值,一些相关控制寄存器,编写定时器中断处理函数即可使用。

  • timer0,timer1,timer2共用一个预分频值,timer3,timer4共用一个预分频值
  • 每个定时器的分割系数可以单独设置
  • 启动时先设置好两个缓冲寄存器的值,然后置为手动更新(此时不启动),芯片自动将缓冲寄存器写入递减寄存器和比较寄存器;然后设置为自动更新并启动寄存器。后续需要修改直接改缓冲寄存器即可。

PWM设置

PWM可以控制输出的占空比,即某一周期内高/低电平的比例,进而控制电机转速、LED亮度等。
PWM的运行过程涉及两个寄存器TCMPn:比较寄存器,TCMPBn:比较计数器的缓冲寄存器。当TCNTn的值递减到与TCMPn的值相等时,定时器改变输出电平(可通过翻转器决定电平的高低)。
同样,若设置自动重载,当TCNTn归零时,会自动将TCMPBn的值写入TCMPn用于下一计数周期。通过这种双缓冲设置,S3C2410可以在当前周期修改下一周期的定时器运行状态。
PWM输出频率: f P W M = f 0 f_{PWM}=f_0 fPWM?=f0?
PWM输出信号占空比: 占 空 比 = T C M P B n / T C N T B n 占空比=TCMPBn/TCNTBn =TCMPBn/TCNTBn

定时器控制寄存器

  • TCFG0配置寄存器0,用于设置与分频系数和死区值。
  • TCFG1配置寄存器1,设置分割器值和哪个定时器产生DMA请求
  • TCON定时器控制寄存器,控制每一个定时器的手动更新/自动更新,启动/停止
  • 每个寄存器都有一个递减寄存器的缓冲寄存器TCNTBn
  • 前四个定时器有比较寄存器的缓冲寄存器TCMPBn
  • 每个定时器都有一个观察寄存器TCNTOn用于查看当前定时器计数值,共5个。
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:25:15  更:2022-05-16 11:25:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:30:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码