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

TC39x STM(System Timer)学习记录

STM有哪些特性?

  • 自由运行的 64 位计数器
  • 所有 64 位可同步读取
  • 可同步读取 64 位计数器的不同 32 位部分
  • 基于与 STM 部分内容的比较匹配,灵活地产生服务请求
  • 在应用复位后自动开始计数
  • 若 ARSTDIS.STMxDIS 位清零,应用复位将复位 STM 寄存器;若该位被置位,则应用复位不复位 STM 寄存器,改由系统复位进行复位
  • 特殊的 STM 寄存器语义提供对整个 64 位计数器的同步视图,或不同分辨率的 32 位子集视图

        上图是STM模块的概览图,展示了读取 STM 内容各部分的选项。

STM有哪些功能?

        STM 是一个向上计数的计数器,工作频率为 fSTM。若发生应用复位,且SCU_ARSTDIS.STMxDIS 位清零,则 STM 被复位。复位后,STM 被使能并立即开始向上计数。在正常运行期间无法改变定时器的内容。定时器寄存器只能读,不能写。

        STM 可选地被禁用以节能,或在调试时挂起。在挂起模式下,STM 时钟停止,但所有寄存器仍可读。

        由于 STM 的宽度为 64 位,无法用一条指令读出其全部内容。需要两次加载指令。因为在两次读取之间定时器会继续计数,所以可能导致两次读取的值不一致(低位部分在两次读取间溢出到高位)。为实现对 STM 内容的同步一致读取,实现了一个捕获寄存器(CAP)。每当读取 TIM0 至 TIM5 中任一寄存器时,它会锁存 STM 高位部分的内容。因此,CAP 在与低位部分读取完全相同的时间点保持定时器高位的值。第二次读取再读取 CAP 的内容以获取完整的定时器值。

        STM 也可以从七个寄存器 TIM0 至 TIM6 中的任意一个分段读取,这些寄存器选择 STM 的不同高阶 32 位范围。可以将它们视作各自独立的 32 位定时器,每个具有不同的分辨率和计时范围。

        64 位系统定时器的内容可与存储在 CMP0 和 CMP1 寄存器中的两个比较值进行比较。可在与 CMP0 或 CMP1 比较匹配时产生服务请求。

比较寄存器操作

64 位 STM 的内容可以与存储在 CMP0 和 CMP1 寄存器中的两个比较值进行比较。在与 CMP0 或 CMP1 比较匹配时可以产生服务请求。

比较操作可编程的两个参数:

  1. 用于比较操作的 CMP0/CMP1 寄存器(比较宽度 MSIZEx)中相关位的宽度,可从 0 到 31 编程。
  2. 用于比较操作的 64 位 STM 中的起始位位置,可从 0 到 31 编程。

这些编程能力使比较功能非常灵活。甚至可以通过设置 MSIZE = 0 且 MSTART = n(n = 0 到 31)来检测 64 位 STM 中单个位 n 的位跃迁。

http://www.xdnf.cn/news/1278253.html

相关文章:

  • 机器学习数学基础:46.Mann-Kendall 序贯检验(Sequential MK Test)
  • Spring Boot - 内置的9个过滤器用法
  • Day 9-2: Transformer翻译实例演示 - 翻译的基础设施
  • AI大模型 教师方向应用探索
  • Audio Flamingo
  • 第4章 程序段的反复执行4 多重循环练习(题及答案)
  • Python day40
  • C++ list类
  • 【深度学习新浪潮】遥感图像风格化迁移研究工作介绍
  • JS中typeof与instanceof的区别
  • 腾讯云EdgeOne KV存储在游戏资源发布中的技术实践与架构解析
  • 数学建模——回归分析
  • 【GPT入门】第44课 检查 LlamaFactory微调Llama3的效果
  • 集成电路学习:什么是Parameter Server参数服务器
  • 机器学习-增加样本、精确率与召回率
  • Java开源代码源码研究:我的成长之路与实战心得分享
  • 学习分库分表的前置知识:高可用系统架构理论与实践
  • 构建企业级Odoo 18 WMS——功能、架构与拓展蓝图
  • LeetCode每日一题,2025-8-10
  • 《C语言》结构体和联合体练习题--2
  • 前端学习日记 - 前端函数防抖详解
  • 无人机集群协同三维路径规划,采用梦境优化算法(DOA)实现,Matlab代码
  • python魔法属性__doc__介绍
  • 区块链让物联网真正链接万物
  • Mysql系列--5、表的基本查询(上)
  • 【论文阅读】Deep Adversarial Multi-view Clustering Network
  • C语言:指针(2)
  • 基于ECharts的智慧社区数据可视化
  • Knuth‘s TwoSum Algorithm 原理详解
  • JS实现数组扁平化