(TC397 学习笔记)二、ICU和TIM的时钟计算

TC397 学习笔记


每次配ICU都忘记时钟怎么配,专门写一篇笔记记录一下

文章目录

  • [TC397 学习笔记](#TC397 学习笔记)
  • 前言
  • 一、TIM时钟计算
    • [1. 时钟路径](#1. 时钟路径)
    • [2. 时钟计算](#2. 时钟计算)
    • [3. ICU模块配置](#3. ICU模块配置)
  • 参考

前言

PWM可以用ICU这个模块采集,一般是用GTM中的TIM


一、TIM时钟计算

1. 时钟路径

先倒着走一遍:

TIM的时钟是从CMU过来的的,提供CMU_CLK八路任选其一:

八路CMU_CLK是从CLS0_CLK计算而来,经过了经过了Global Clock Divider 分频和Clock Source x Divider 分频

CLS0_CLK来自 fgtm

2. 时钟计算

借用MCAL的图,展示一下时钟的计算过程。

首先要找到基时钟 fgtm,可以看到是200Mhz

到CLS0_CLK有个2分频所以,CLS0_CLK是100Mhz

CLS0_CLK经过了Global Clock Divider 分频和Clock Source x Divider 分频。

Global Clock Divider的计算公式为:

fCLS0_CLK × Denominator ÷ Numerator,MCAL都配置为1,所以不分频:

Clock Source x Divider的计算公式为:

实际分频系数 = CLK_CNT + 1

配置为0,所以也不分频。

最后得出CMU_CLK0是100Mhz。

3. ICU模块配置

选择使用CMU_CLK0,每采集出来的1tick时间就是10ns。

参考

【User Manual】AURIXTC3XX_um_part1_v1.4.pdf

【User Manual】AURIXTC3XX_um_part2_v1.4.pdf

相关推荐
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本3 天前
离散数学第六课
学习·离散数学
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
Because_of_Her13 天前
并查集-听课笔记
笔记·算法·并查集
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio