S32K144之时钟配置

 

一般来说,时钟精度、稳定性取决于所采用的时钟源,就MCU S32K来说如内部振荡器SIRC,FIRC,128KLPO,外部晶振等,跟所使用的外设(FTM, LPIT,LPT,RTC等)和哪一路输出时钟(SYS_CLK,BUS_CLK,SPLLDVI1_CLK等)没有直接关系。

由于S32K144提供的时钟源和配置方法比较多,那么如何有效配置得到自己想要的时钟呢?
下面以S32K144为例,从时钟定义图开始,逐步介绍如何寻找S32K144时钟(CORE_CLK, BUS_CLK,)合适的配置方法,并根据测试方法验证配置是否有效。

 

0. 目标
输出目标
clock clock= 80MHz(以下MHz简称M)
bus clock=40MHz, Normal Mode(默认)
 注意:只有支持105℃的部分S32K144型号,core clock才能支持到最高112M(HSRUN),其他型号不论HSRUN模式,还是RUN模式,最高支持80M。
 
测试工具
PCB: S32K144EVB-Q100
IDE: S32DS for ARM 2018.R1 
 

1.时钟定义

配置时钟先从学会看时钟分配图开始,会看图了,配置就成功了一半。

 
因为能实现目标的路径可能有多种,这里先选中一条配置路径,再判断是否可行(蓝色箭头+框)。
时钟源选择外部晶振8M,即SOSC=8M => SPLL时钟源 SPLL_CLK_SOURCE = SOSC = 8M,

 

  2.确认内部时钟要求

CORE_CLK/ SYS_CLK 最高支持112M(HSRUN) , 80M(RUN),目标@80M符合要求。

不过,BUS_CLK最高支持56M(HSRUN), 48M(RUN),目标@40M符合要求。

3.确认外部晶振 8M

查看S32KEVB-Q100评估板原理图,知外部晶振8M => System PLL输入 SPLL_SOURCE=8M 

 
 
4.确认System PLL分频及倍频
这里选择PREDIV=0, MULT=0b11000 (10进制: 24) 
VCO_CLK=8M/(0+1) X (24+16) = 320MHz
SPLL_CLK=(VCO_CLK)/2 = 160MHz
 

 

 

考虑:这里MULTI还可以>24 => 倍频因子>40,那么能不能配置VCO_CLK >320M,而最终CORE_CLK=80M呢?

答案是不行,因为VCO_CLK最高支持到320M,可以参考S32K-RM。

 

 5.具体寄存器配置

可参考RM配置方法

 

6.设置检测方法

1)初步确定为通过IO口直接输出与总线时钟相关的时钟或者分频后的时钟
2)寻找SCH上是否有可直接利用的MCU引脚
MCU完整型号:FS32K144HRT0VLLT, 封装:LQFP100
查RM附件IO描述表,发现能作为CLKOUT pin的有PTD14, PTE10, PTB5。
 
如有可用CLKOUT pin,配置相应的pin为CLKOUT功能
1)配置PORT的MUX为CLKOUT对应ALT功能,并使能端口时钟;
 
2)配置SIM_CHIPCTL选择输出的时钟,
  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值