前言
时钟好比MCU的心跳,只有时钟正常了,MCU的核及外设才能正常工作。从源头到系统到外设理解每一个时钟的来源及其具体值才能方便后面理解MCAL的GPT,PWM,ICU等模块的配置(MCAL模块中的Tick数就是基于模块时钟的)。本系列文章就来详细介绍TC3xx芯片的时钟系统及其具体配置。本文为TC3xx芯片时钟系统的时钟分配CCU详解。
参考文章:
TC3xx芯片Clock System功能详解-时钟源OSC
TC3xx芯片Clock System功能详解-锁相环PLL
缩略词
简写 | 全称 |
OSC | Oscillator Circuit |
PLL | Phase-Locked Loop |
DCO | Digitally Controlled Oscillator |
注:本文章引用了一些第三方工具和文档,若有侵权,请联系作者删除!
正文
配置好时钟系统的时钟源(OSC)和锁相环倍频(PLL),系统操作所依赖的Root Clock就有了。接下来,MCU的所有外设模块,CPU核都需要从Root Clock通过分屏来适配自己需要的时钟。 各个模块都需要适配时钟,主要是为了优化性能和降低功耗。
对于时钟分配,系统分为多个子时钟域,可以在这些域中单独配置时钟速度。 内部接口派生的每个子时钟域也有限制。 每个子时钟域从时钟角度定义逻辑单元。
时钟分配通过时钟控制单元 (CCU) 完成。CCU 接收由两个 PLL (fPLL0 and fPLL1/2) ,备用时钟fBack 和 fOSC0创建的时钟。 这些时钟可以直接转发或划分,以便提供子时钟域。
Figure 5 Clock Control Unit Overview
对于大多数时钟,提供了线性分频器来调整时钟频率以满足应用要求。 此分隔符由寄存器 CCUCONy 中的位字段 XXXDIV 控制。
时钟系统的配置非常灵活。 这允许将频率变化调整为应用程序定义的特定电流限制。
每个模块都有default时钟源以及推荐(√)的时钟源,以及可选的倍频/分频系数。在配置某个具体模块的时钟时,首先选择时钟源,然后再选分频系数。
CCUCON0.CLKSEL配置fsource0, fsrc1, and fsource2三个时钟的时钟源。
MCAN的配置在CCUCON1寄存器上。
CCUCON1.MCANDIV配置fMCANI的分频系数。
CCUCON1.CLKSELMCAN配置MCAN的时钟源。
CCUCON1寄存器的默认值位0x1010 0302,也就是:
CCUCON1.MCANDIV = 2
CCUCON1.CLKSELMCAN = 0 à fMCAN clock是不工作的。
需求:fMCAN clock配置到80MHz.
第一步:了解时钟源
从第二章已知
fPLL0为100MHz.
fPLL1为320MHz.
fPLL2为200MHz.
第二步:CCUCON0.CLKSEL配置为0x01B
也就是
fsource0 == fPLL0 == 100MHz
fsource1 == fPLL1 == 320MHz
fsource2 == fPLL2 == 200MHz
第三步:配置CCUCON1.MCANDIV = 0x4H
也就是
fMCANI = fsource1/4 = 320/4 = 80MHz.
第四步:配置CCUCON1.CLKSELMCAN = 01B,fMCANI is used as clock source fMCAN
也就是
fMCANI == fMCAN == 80MHz.
时钟配置基本都是按下图的推荐参数来配置的
Figure 6 Clocking System example with external 20MHz crystal / clock input
End
「汽车电子嵌入式在CSDN上同步推出AUTOSAR精进之路专栏,本专栏每个模块完全按实际项目中开发及维护过程来详细介绍。模块核心概念介绍、实际需求描述、实际工程配置、特殊需求介绍及背后原理、实际工程使用经验总结。目的是让读者看完每一个章节后能理解原理后根据需求完成一个模块的配置或者解决一个问题。」
点击文章最后左下角的阅读原文可以获取更多信息
或者复制如下链接到浏览器获取更多信息
https://blog.csdn.net/qq_36056498/article/details/132125693
文末福利
2.为便于技术交流,创建了汽车电子嵌入式技术交流群,可尽情探讨AP,CP,DDS,SOME/IP等前沿热点话题,后台回复“加群”即可加入;
注:本文引用了一些第三方工具和文档,若有侵权,请联系作者删除!
推荐阅读
汽车电子嵌入式精彩文章汇总第一期:20210530-20230703
AUTOSAR 架构下EcuM唤醒源事件详解
AUTOSAR架构下NVM Block连续写及Default Value问题分析
AUTOSAR架构下NvM模块详细分析
AUTOSAR架构下报文掉线超时不上报问题分析
Classic Autosar下的以太网通讯架构概览
通信中间件Someip服务化通信
AUTOSAR架构下Fee详细分析
TC37x芯片FLASH基本概念介绍
AUTOSAR架构下Fls详细分析
TC3xx芯片DMU介绍
TC3xx芯片MPU介绍
TC3xx芯片的Trap详解
AUTOSAR架构下的OS错误处理
AUTOSAR架构下QM Application如何访问ASIL Application
AUTOSAR架构下多核启动
TC3xx芯片的Trap详解(二)
AUTOSAR架构下多核Shutdown
AUTOSAR架构下多核通信
RH850U2A芯片平台Spinlock的底层实现
End
欢迎点赞,关注,转发,在看,您的每一次鼓励,都是我最大的动力!
汽车电子嵌入式
微信扫描二维码,关注我的公众号