ARM-(一)定时器:PWM定时器,看门狗WTD定时器

article/2025/9/19 23:07:09

定时器Timer

  • 总结
  • PWM
    • PWM简介
    • PWM实现过程

以三星芯片S5P6818_Datasheet为例:
soc:S5P6818
core:A53

总结

定时器设计思路:
(1)时钟源(主频) --> 预分频(一级) --> 选择分频(二级) …:得到分频后的时钟。
(2)计数递减寄存器 = 计数缓存寄存器;//把 计数缓存寄存器中的赋值给计数递减寄存器;
(3)计数递减寄存器在分频后的一个周期到来时,自动减1;
(4)与比较寄存器值对比,控制高低电平的输出和占空比。

PWM定时器,看门狗WTD定时器是硬件产生的中断,属于irq中断。不是软中断:swi指令操作寄存器产生。

PWM

PWM简介

  • PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码。
    也就是说通过调节占空比的变化来调节信号、能量等的变化。
  • 占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比。
    例如方波的占空比就是50%。

PWM实现过程

  • S5P6818有5个32位脉冲宽度调制(PWM)定时器。这些计时器生成内部中断ARM子系统。
    此外,定时器0、1、2和3还包括一个驱动外部I/O信号的PWM函数。
    定时器0中的PWM有一个可选的死区发生器功能来支持大电流设备。
    定时器4内部计时器没有输出引脚。

  • 计时器使用APB-PCLK作为源时钟。
    定时器0和1共享一个可编程的8位预分频器,为PCLK提供了第一级的划分。定时器2、3和4共享一个不同的8位预调器。
    每个定时器都有自己的专用时钟除法器,它提供第二级的时钟除法器(除法器除以2、4、8或16)。

  • 每个定时器都有自己的由定时器时钟驱动的32位递减计数器。每个递减计数器最初是从计数缓冲定时器(TCNTBn)加载赋值的。当递减计数器值减到0时,将生成定时器中断请求,以通知CPU定时器操作已经完成。当定时器递减计数器为0时,相应的计数缓冲定时器(TCNTBn)的值又会自动重新加载到下一个计数器递减计数器中,开始下一个循环。
    如果在计数器运行期间,通过TCONn清除定时器的使能位, 控制着TCNTBn的值将不会再次加载到递减计数器中。
    //意思是:经过分频后的时钟源,每过一个周期,则递减计数器中的值就自动减1。

  • PWM功能使用依赖TCMPBn比较寄存器中的值。如果递减计数器的值与TCMPBn比较寄存器的值相等,则定时器控制逻辑将改变输出的电平。因此比较寄存器TCMPBn决定了PWM输出的高、低电平的时间。TCNTBn和TCMPBn寄存器都是双缓冲的,因此它允许在一个周期的中间更新计时器参数,但是新值直到当前计时器周期完成后才生效。
    //意思是:TCNTBn中的值赋值给递减计数器,当递减计数器中的值递减到和TCMPBn寄存器中的值相等时,定时器逻辑控制器输出发生电平取反跳转(高->低,低->高),但是递减计数器继续递减直到为0时,TCNTBn中的值重新加载给递减计数器。形成PWM高、低脉冲信号。

  • 初始化TCNTBn寄存器,使用159(50 + 109)和TCMPBn,使用109。
    启动计时器:设置启动位并手动将此位更新为OFF。将159的TCNTBn值加载到下位计数器中。
    然后,将输出TOUTn设置为low。在TCMPBn寄存器109中,当down- counter将TCNTBn的值向下计数到数值时,输出将从低变高。当下计数器达到0时,它会生成一个中断请求。下位计数器自动重新加载TCNTBn。这就重新启动了这个循环。下图说明了单个PWM通道的时钟生成方案:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/T5W3jWlr.shtml

相关文章

OMAPL138 + SPARTAN6 DSP+ARM+FPGA开发例程

目 录 本例程基于信迈OMAPL138SPARTAN6评估板开发。 开发板准备 16 查看仿真器驱动是否正常安装 17程序加载和烧写 19 基于仿真器的程序加载和烧写 19 设置工程配置文件信息 19测试仿真器是否正常连接 20加载 GEL 文件 21CCS 连接开发板 CPU 22查看 CPU 版本号 23加载文件烧写程…

LV.9 ARM体系结构与接口技术

1 计算机硬件基础 Day1-1 底层课程导学 课程回顾 1.编程基础 1.C语言基础 2.C高级及Linux 3.数据结构 2.应用开发 1.IO 2.进程 3.网络编程 3.底层开发 1.ARM 2.系统移植 3.驱动开发 嵌入式系统分层 操作系统的作用 向下管理硬件、向上提供接口(API) 应用开发 即使用系统提…

嵌入式系统考试复习(武昌首义学院)

第一章 1. 从计算机技术应用的角度(嵌入式系统的定义)(背)(书P1) 嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可减裁,适应应用系统对功能、可靠性、成本、体…

ARM(笔记)

ARM接口技术 ARM接口技术 : 芯片内部 向外扩展 ​ ARM: 架构 芯片 公司 ​ 汇编 - C语言 系统移植 Linux 驱动开发 一、ARM系统硬件组成和运行原理 1.硬件组成(手机为例) ​ (1)flash储存器:存储程序 ​ 特点:永久的保存…

STM8 学习笔记13:PWM

PWM Gitee 空间跳转:https://gitee.com/galoc/stm8.git 1 概述 PWM也叫脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。频率、周期、占空比。 1.1 PWM 频率 是指在 1 秒钟内,信号从高电平到低电平再回到高电平的…

Xming X Server 配置和使用

Xming X Server 配置和使用 Linux以及各种Unix like的操作系统现在都用基于X Window图形界面. 这个东西虽然块头比较大, 效率不太高, 导致Linux的3D游戏一直没什么动静, 但是, 它接口良好, 扩展性和可移植性都很好, 最重要的是具有网络透明性, 所以我们就可以很方便的远程启动…

【Ubuntu20.04 LTS】WSL1+Xming配置图形界面

文章目录 一、配置1、 win10上 安装 Xming2、WSL1上 Bash安装 Xfce4 二、应用1、点击win10左下角搜索XLaunch2、WSL1的终端中输入以下命令启动bash 一、配置 1、 win10上 安装 Xming https://sourceforge.net/projects/xming/ https://jaist.dl.sourceforge.net/project/xmin…

windows 命令行ssh + Xming打开虚拟机的图形界面应用

windows中使用OpenSSH提供的ssh作ssh client,使用xming作Xserver。 ubuntu虚拟机运行了ssh server。 执行如下命令,一直失败。 ssh -X snowflakes192.168.150.132 查阅发现ssh中貌似会自动设置DISPLAY为localhost:10.0 那么使用如下命令重新启动xmin…

win10+Xming+Xshell显示远程linux服务器的图形程序窗口

第一步:安装Xshell 破解版安装教程: Xshell的下载与使用 - 知乎 第二步:安装Xming 1. 在bing页面搜索Xming,进入官网 2. 直接download 3. 下载完毕,点开安装包,直接按默认设置一路点击next完成安装。 …

容器docker(CentOS8)使用SSH配合Xming显示图形GUI界面

Xshell7安装在win7x64里,容器CentOS8的宿主机是ubuntu18.04(安装在VMware里) docker search cobaltstrike docker pull xrsec/cobaltstrike 在ubuntu里启动docker: setsid docker run -it --name cs45 -e passwd"admin888" -e server_ip"127.7.7.2" -e s…

xming+shell启动linux应用程序注意事项(xming不能启动)

xming和xshell组合起来显示linux服务器的界面网上教程很多,大家可以自行查找,但是这里有部分细节大多数文章都没有提到。当多个用户工作在同一个linux server下,以下设置需要修改,否则xming不能启动。 注意上方的Display number&a…

xming登录linux图形中文乱码,putty+xming远程登录Linux图形界面

Linux 本身是没有图形化界面的,所谓的图形化界面系统只不过中 Linux 下的应用程序。这一点和 Windows 不一样。Windows 从 Windows 95 开始,图形界面就直接在系统内核中实现了,是操作系统不可或缺的一部分。Linux 的图形化界面,底…

Pycharm、xshell、xming连接远程服务器图形界面显示

Pycharm、xshell、xming连接远程服务器图形界面显示 1.配置远程接释器 这个网上好多教程都是可用的,不再多说, 2.xshell连接到远程主机 使用xshell连接到远程主机,使用echo $DISPLAY查看本机显示端口。不出意外本机打开的第一个xshell连接…

xming2

转载于:https://www.cnblogs.com/243920934qq/p/6074700.html

Vscode+Xming连接远程服务器图形化界面GUI

本机配置 首先在本机安装Xming Xming配置 安装后启动XLaunch,设置Display number 将远程服务器的IP添加进X0.hosts文件 VS code配置 安装插件Remote X11和Remote X11 (SSH) 打开SSH配置文件 添加 ForwardAgent yesForwardX11 yesForwardX11Trusted yes远程服…

XMing + XShell 打开Linux服务器网页界面

1、修改X0.hosts文件 修改为服务器的ip地址 2、打开XLaunch、XMing 打开XLaunch后一路 下一步>下一步>完成 打开XMing 3、XShell连接服务器 连接服务器的时候SSH->隧道,√上转发X11连接到,选择X DISPLAY,点击确定 4、XShell命…

Xming连接无桌面linux,[转帖]windows+xshell+xming访问非桌面版Linux服务器

1、Linux服务器 (1)安装Firefox,目录为:/usr/local/firefox (2) 配置ssh #vi /etc/ssh/sshd_config 取消下面一行的注释——如果没有这一行则手动添加之: X11Forwrding yes 这样配置的作用就是允许SSH的X转发。 从SourceForge下载Xming-setup…

Xming + SecureCRT 在Windows下远程Linux主机的X11图形转发

1. 在windows上安装Xming(下一步下一步即可),一般安装完会自动开启(右下角有个Xming的图标) 2. 关掉Xming(右击图标退出) 3. 打开XLaunch,点击下一步 ——> 下一步,把No Access Contro…

vscode 通过 X11/Xming 转发显示远程 GUI 窗口

Xming安装配置 一、vscode 通过 X11/Xming 转发显示远程 GUI 窗口1.1 Xming 安装1.2 配置1.2.1 客户端配置1. 安装 X11 插件2. vscode 中对 X11 进行相关设置 1.2.2 服务器配置 二、vscode 有关 python 的 launch.json 配置文件三、相关问题及解决办法 一、vscode 通过 X11/Xmi…

Xshell+Xming使用心得

安装步骤: –> 执行Xming-6-9-0-31-setup.exe,并且默认下一步到结束 配置XLaunch: –> 运行Xming安装包下的XLaunch,除第一步需注意外,其他可直接默认下一步。 –> 1.建议选择Fullscreen或者One window&…