当前位置: 首页 > article >正文

硬件(6)——定时器

硬件中如何确定引脚电平的高低?硬件内部有一个比较器类似门电路有两个输入一个输出其中一个输入接稳定的参考值DCDC 3.3V另一个输入接引脚。当引脚高于3.3V就输出高电平引脚低于3.3V就输出低电平。但是硬件接触频率是带有波动的可能会在3.3V附近多次浮动跳跃那么下降沿触发多次就无法实现精准中断控制。硬件上RC低通滤波可处理高频的干扰但是无法处理低频的干扰。软件上的解决方法延时检测电平变化。为了精准控时我们可以使用定时器。一、定时器概念定时器 (EPIT/GPT)是一个通过对已知频率的时钟信号进行计数来实现定时、延时或事件计数功能的硬件模块或软件机制。时钟(clock)在电子系统中是一个产生稳定、周期性振荡信号的电路或组件。时钟源晶体震荡器。工作原理利用石英晶体的压电效应和固有谐振频率来产生高度稳定的电信号。PLLphase locked loop锁相环电路倍频因子N只能升频不能降频Prescale分频器分频因子M只能降频不能升频PFDphase fractional Prescale相位分数分频器输出频率可升可降二、CCM时钟树CCM时钟树有PLL1~PLL77个PLL8个PFD。PLL1 --- ARM内核的时钟路默认396M。PLL2 --- system系统时钟固定528M。PLL3 --- USB1 PLL固定480M。1. PLL1ARM PLL配置流程396M-528M先选择osc_clk让step_clk为24MHz再将PLL1的输出改成step_clk让ARM暂时工作在24MHz;配置PLL为1056注意设置倍频因子之前先把PLL之后的二分频设置好避免ARM内核故障最后改回pll1_main_clkCCM-CCSRbit80表示选择osc_clk (24M)1选择secondary_clk。bit20则pll1_main_clk1则step_clk。CCM-CACRR低三位设置分频因子M2分频。CCM_ANALOG-PLL_ARMbit15-140选择24M晶振。bit131开启时钟。低七位(div_select)设置倍频因子N范围在54~108。Fout Fin * div_select /2.0目标输出1056M 24M * 88 / 2所以倍频因子置88。2. PLL2、PLL3PLL2、PLL3各有4路独立分频输出通道PLLx_PFDx固定频率*18/PLLx_FRAC。CCM_ANALOG-PFD_528 ~((0x3F 0) | (0x3F 8) | (0x3F 16)| (0x3F 24)); CCM_ANALOG-PFD_528 | (27 0) | (16 8) | (24 16) | (32 24); CCM_ANALOG-PFD_480 ~((0x3F 0) | (0x3F 8) | (0x3F 16)| (0x3F 24)); CCM_ANALOG-PFD_480 | (12 0) | (16 8) | (17 16) | (19 24);3. 时钟根PLL2时钟源输出的高频信号经时钟根分频到合适总线和外设的工作频率。1.AHB_CLK_ROOT132MCCM-CBCMRbit19、1801选择PLL2_PFD2分频。CCM-CBCDRbit250选择PFD2支路。bit12-10010设置3分频因子。2.IPG_CLK_ROOT66MCCM-CBCDR:bit9、8设置2分频。3.PERCLK_CLK_ROOT66MCCM-CSCMR1bit60表示选择ipg clk root。低6位设置分频因子M。三、EPIT定时器EPITEnhanced Periodic Interrupt Timer:增强型周期中断定时器。EPIT 是一个32位的向下计数器给它一个初值它就会从这个给定的初值开始递减直到减为0计数寄存器里面保存的就是当前的计数值。比较寄存器里面保存的数值用于和计数寄存器里面的计数值比较如果相等的话就会产生一个比较事件。在EPIT内部有三个寄存器计数寄存器(EPIT_CNR)只读寄存器。加载寄存器(EPIT_LR)在set-and-forget模式下装载寄存器初值。比较寄存器(EPIT_CMPR)寄存器值为0。EPIT两个工作模式set-and-forget设置并遗忘EPIT 工作在该模式下当计数寄存器里面的值减少到 0EPIT 就会重新从加载寄存器读取数值到计数寄存器里面重新开始向下计数free-running 模式此模式下当计数器计数到 0 以后会重新从0XFFFFFFFF 开始计数。EPIT设置步骤为1. 设置 EPIT1 的时钟源。EPIT1-CR:bit25:2401选择ipg_clk2. 设置分频值。EPIT1-CR:bit15:4置M653. 设置工作模式。EPIT1-CR:bit30则free-running 模式,1则set-andforget 模式4. 设置计数器的初始值来源。EPIT1-CR:bit1置1表示计数器初值来源加载值5. 使能比较中断。EPIT1-CR:bit20关闭比较中断1开启6. 设置加载值和比较值。EPIT-LR、EPIT-CMPR7. 设置EPIT1 中断服务函数8. 使能 EPIT1 定时器。EPIT1-CR:bit01开启EPIT1定时器。四、GPT定时器GPTGeneral Purpose Timer通用目的定时器。GPT 定时器是一个 32 位向上定时器(也就是从0开始向上递增计数)GPT 定时器可以跟一个值进行比较当计数器值和这个值相等的话就发生比较事件产生比较中断。GPT计数器可以运行在重新启动(restart)或自由运行(free-run) 模式。GPT1-CR:bit28:26000输出断开001翻转输出引脚。bit19、180表示禁止捕获。bit90工作在重新启动(restart)模式,1工作在自由运行模式(free-run)。bit8:6000 关闭时钟源001 选择ipg_clk 作为时钟源bit1关闭 GPT 定时器后0表示计数器寄存器保存定时器关闭时候的计数值1表示定时器计数器寄存器就会清零。bit01 的时候使能 GPT 定时器为 0 的时候关闭 GPT 定时器。GPT1-PR:用于保存分频值bit11:0,可设置 0~4095分别对应 1~4096 分频。

相关文章:

硬件(6)——定时器

硬件中如何确定引脚电平的高低?硬件内部有一个比较器,类似门电路,有两个输入一个输出,其中一个输入接稳定的参考值(DCDC 3.3V),另一个输入接引脚。当引脚高于3.3V就输出高电平,引脚低于3.3V就输…...

Nuka Carousel与TypeScript完美集成:类型安全和开发体验提升

Nuka Carousel与TypeScript完美集成:类型安全和开发体验提升 【免费下载链接】nuka-carousel Small, fast, and accessibility-first React carousel library with an easily customizable UI and behavior to fit your brand and site. 项目地址: https://gitcod…...

终极指南:如何用Ice打造清爽Mac菜单栏?2025年最强大的macOS菜单栏管理工具

终极指南:如何用Ice打造清爽Mac菜单栏?2025年最强大的macOS菜单栏管理工具 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice Ice是一款强大的macOS菜单栏管理工具,它…...

音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区

音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区 在专业音频制作领域,采样率设置是决定录音质量的基础性环节。许多工程师虽然熟悉44.1kHz或48kHz这些标准数字,却对背后的奈奎斯特采样定理存在认知偏差。这些误解轻则导致后期处理…...

WPS加载项开发实战:从零到一构建你的第一个wpsjs插件

1. 为什么你需要WPS加载项开发 第一次听说WPS加载项时,我也是一头雾水。直到接手了一个客户需求——他们需要在WPS里快速生成固定格式的周报模板,我才真正体会到这个功能的价值。想象一下,你每天要处理几十份格式雷同的文档,如果能…...

ES10(ES2019)新特性完整指南

ES10(ES2019)新特性发布时间:2019年6月 ES10 新增了数组扁平化、对象转换、字符串修剪等实用方法。1. Array.prototype.flat() 将嵌套数组"拉平",返回一个新数组: 基本用法 [1, 2, [3, 4]].flat(); //…...

终极指南:Hilt依赖注入在Droid-ify开源应用中的实战应用 [特殊字符]

终极指南:Hilt依赖注入在Droid-ify开源应用中的实战应用 🚀 【免费下载链接】client F-Droid client with Material UI. 项目地址: https://gitcode.com/gh_mirrors/clie/client 在Android应用开发领域,Droid-ify作为一个优秀的F-Dro…...

华为 eNSP 实战:SSH 密钥认证配置与安全加固指南

1. 为什么选择SSH密钥认证而非密码? 在华为eNSP模拟的企业网络环境中,传统的SSH密码认证虽然比Telnet安全,但依然存在被暴力破解的风险。我曾在实际项目中发现,使用弱密码的设备在暴露公网后,平均每天会遭受上千次登录…...

2023B卷,IPv4地址转换成整数

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:华为OD面试 文章目录 一、🍀前言 1.1 ☘️题目详情 1.2 ☘️参考解题答案 一、🍀前言 2023B卷,IPv4地址转换成整数。 1.1 ☘️题目详情 题目: 存…...

Syncfusion Dashboard部署指南:从开发到生产环境的完整流程

Syncfusion Dashboard部署指南:从开发到生产环境的完整流程 【免费下载链接】project_syncfusion_dashboard This is a code repository for the corresponding YouTube video. In this tutorial we are going to build and deploy a an admin dashboard app using …...

MySQL开发者必看:金仓数据库兼容性迁移避坑指南(含外键处理技巧)

MySQL开发者必看:金仓数据库兼容性迁移避坑指南(含外键处理技巧) 当企业级应用需要从MySQL迁移到金仓数据库时,开发者往往会面临一系列兼容性挑战。作为国产数据库的代表,金仓数据库虽然提供了MySQL兼容模式&#xff0…...

老旧设备系统升级技术解析:4步实战指南让旧Mac焕发新生

老旧设备系统升级技术解析:4步实战指南让旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧Mac设备升级macOS系统是许多用户面临的技术难题&am…...

5个WebGL流体模拟创新体验让你轻松打造动态视觉艺术

5个WebGL流体模拟创新体验让你轻松打造动态视觉艺术 【免费下载链接】WebGL-Fluid-Simulation Play with fluids in your browser (works even on mobile) 项目地址: https://gitcode.com/gh_mirrors/web/WebGL-Fluid-Simulation 当静态网页设计已无法满足用户对交互体验…...

三步突破语音克隆音质瓶颈:VoxCPM ZipEnhancer全解析

三步突破语音克隆音质瓶颈:VoxCPM ZipEnhancer全解析 【免费下载链接】VoxCPM VoxCPM: Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning 项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM 在语音合成领域&…...

Wan2.2-I2V-A14B绿色AI实践:显存优化降低35%功耗的碳足迹测算

Wan2.2-I2V-A14B绿色AI实践:显存优化降低35%功耗的碳足迹测算 1. 引言:绿色AI的迫切需求 在AI技术快速发展的今天,大模型训练和推理带来的能源消耗问题日益突出。Wan2.2-I2V-A14B作为一款先进的文生视频模型,通过显存优化技术实…...

Django CORS Headers终极配置指南:Vue、React、Angular前端框架完美集成方案

Django CORS Headers终极配置指南:Vue、React、Angular前端框架完美集成方案 【免费下载链接】django-cors-headers Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS) 项目地址: https://gitcode.com/gh_mirrors/d…...

open-parse快速入门:5分钟掌握智能文档解析的终极方法

open-parse快速入门:5分钟掌握智能文档解析的终极方法 【免费下载链接】open-parse Improved file parsing for LLM’s 项目地址: https://gitcode.com/gh_mirrors/op/open-parse open-parse是一款专为LLM(大语言模型)优化的智能文档解…...

WildFly核心特性深度解析:快速启动、模块化设计与统一管理

WildFly核心特性深度解析:快速启动、模块化设计与统一管理 【免费下载链接】wildfly WildFly Application Server 项目地址: https://gitcode.com/gh_mirrors/wi/wildfly WildFly应用服务器作为业界领先的开源Java EE/Jakarta EE实现,以其卓越的性…...

Legacy-iOS-Kit系统降级全指南:让老旧iOS设备重获新生

Legacy-iOS-Kit系统降级全指南:让老旧iOS设备重获新生 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 一、问…...

10个企业级Windows自动化场景:pywinauto终极应用指南

10个企业级Windows自动化场景:pywinauto终极应用指南 【免费下载链接】pywinauto pywinauto/pywinauto: 一个 Python 库,用于自动化 Windows 应用程序。特点是提供了丰富的函数和类库,可以用于控制鼠标、键盘和菜单等元素,实现自动…...

别再混淆了!JavaScript与Java的10个本质区别(附常见面试题解析)

别再混淆了!JavaScript与Java的10个本质区别(附常见面试题解析) 当面试官问"Java和JavaScript有什么区别"时,超过60%的初级开发者会给出"它们就像汽车和地毯的关系"这类玩笑式回答。但真正理解这两种语言的核…...

百考通:AI全流程智能化赋能期刊论文写作,让学术创作更高效

在学术研究领域,期刊论文的撰写是成果输出的关键环节,却也让众多科研工作者与学生倍感压力:选题迷茫、逻辑梳理困难、格式规范复杂、内容提炼耗时,严重拖慢了学术成果的发表节奏。百考通(https://www.baikaotongai.com…...

百考通:AI全流程智能化赋能答辩PPT,让学术展示更高效从容

毕业季、开题季,一份专业出彩的PPT是顺利通过答辩的关键。但从论文中提炼核心观点、规划答辩逻辑、设计美观版式,往往让学生们焦头烂额。百考通(https://www.baikaotongai.com) 凭借AI技术深度赋能,打造出一站式答辩PP…...

FFCreator 10个实用技巧:轻松掌握视频制作的核心功能

FFCreator 10个实用技巧:轻松掌握视频制作的核心功能 【免费下载链接】FFCreator 一个基于node.js的高速视频制作库 A fast video processing library based on node.js 项目地址: https://gitcode.com/gh_mirrors/ff/FFCreator FFCreator是一个基于Node.js的…...

CPUDoc:解锁CPU隐藏性能的智能优化工具

CPUDoc:解锁CPU隐藏性能的智能优化工具 【免费下载链接】CPUDoc 项目地址: https://gitcode.com/gh_mirrors/cp/CPUDoc 在当今计算环境中,CPU性能优化已成为提升整体系统体验的关键因素。CPUDoc作为一款免费开源的CPU辅助工具,通过创…...

【效率翻倍】不止是安装:用Apache 2.4 + Win10快速搭建本地PHP/WordPress测试环境

效率翻倍:Apache 2.4 Win10 构建全功能PHP/WordPress开发环境实战指南 在本地开发环境中快速搭建Web服务器是每个PHP开发者或WordPress站长的必备技能。传统教程往往止步于Apache的基础安装,却忽略了实际开发中需要的完整工具链——从PHP解释器集成到虚…...

CVE-2025-55182:React Flight协议反序列化漏洞深度剖析与实战复现

1. 漏洞背景与影响范围 最近React社区爆出一个高危漏洞CVE-2025-55182,这个漏洞的核心问题出在React Flight协议的序列化/反序列化机制上。简单来说,攻击者可以通过构造特殊的HTTP请求,在服务端执行任意代码。我在测试环境中复现这个漏洞时发…...

深度解析ThreeFingerDragOnWindows:Windows触控板三指拖动技术实现

深度解析ThreeFingerDragOnWindows:Windows触控板三指拖动技术实现 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeF…...

3步学会BilibiliDown:零基础掌握B站视频下载的终极指南

3步学会BilibiliDown:零基础掌握B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/…...

EfficientViT语义分割深度解析:从Cityscapes到实时应用

EfficientViT语义分割深度解析:从Cityscapes到实时应用 【免费下载链接】efficientvit EfficientViT is a new family of vision models for efficient high-resolution vision. 项目地址: https://gitcode.com/gh_mirrors/ef/efficientvit EfficientViT语义…...