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