时钟丢失监控机制

文章目录

  • 前言
  • 一、分析芯片手册
    • 1、6.2.4 Clock monitoring
    • 2、28.1.5 System clock and clock monitor requirement
    • 3、分析寄存器
      • 1) SCG_SOSCCSR[SOSCCM]
      • 2) SCG_SOSCCSR[SOSCCMRE]
  • 二、EB配置
    • 1、检查复位源
    • 2、配置时钟监控
  • 三、结果验证
  • 总结


前言

本文章主要基于恩智浦 S32K14x系列,针对汽车电子功能安全要求,对系统时钟SOSC出现异常丢失事件的监控。
当发生时钟丢失事件之后,MCU应该产生一个时钟丢失类型的复位信号:McuConf_McuResetReasonConf_MCU_LOSS_OF_CLOCK_RESET

总体而言,都比较简单,莫慌张!!!

具体实现流程包括如下几点:
1, 分析芯片手册 2, EB工具链配置 3, 结果验证

时钟丢失监控机制_第1张图片
话不多说,走你~

一、分析芯片手册

1、6.2.4 Clock monitoring

如下图所示,S32K1xx全系列都支持监控时钟丢失,其中一个是系统振荡器时钟SOSC,一个是系统锁相环SPLL。
Tips: 看过B站有个关于讲述PLL的视频,非常不错。特此分享出来给大家。《PLL基本工作原理》

~
时钟丢失监控机制_第2张图片

~

2、28.1.5 System clock and clock monitor requirement

Tips: 1,我们只针对SOSC来做演示,所以SPLL就不演示了;2,下图中的有错别字,没有位SOSCCME,应该是SOSCCM

若要实现系统时钟监控的功能,必须满足如下前提。
a,确保系统时钟(SOSC)被使能;
b,相应的寄存器置位:SCG_SOSCCSR[SOSCCM],SCG_SOSCCSR[SOSCCMRE];
c,SOSC被选择为系统时钟源;

~
时钟丢失监控机制_第3张图片

~

3、分析寄存器

时钟丢失监控机制_第4张图片

1) SCG_SOSCCSR[SOSCCM]

功能: 使能系统时钟SOSC监控。
该Bit置1之后,就开启了系统时钟的监控

2) SCG_SOSCCSR[SOSCCMRE]

功能: 选择系统时钟监控复位使能。
该Bit置1之后,时钟监控到异常会触发MCU复位操作。

~

二、EB配置

打开EB tresos,执行如下操作步骤:

1、检查复位源

McuResetReasonConf,检查MCU复位源中是否包含了时钟丢失复位,这一步是AutoSar标准,一般默认就配置好了。
时钟丢失监控机制_第5张图片

2、配置时钟监控

如下图:
勾选红框,等同于将SCG_SOSCCSR[SOSCCM]置1;
勾选篮筐,等同于将SCG_SOSCCSR[SOSCCMRE]置1;
时钟丢失监控机制_第6张图片
配置项,到此结束,保存生成代码。

~

三、结果验证

这一步比较Low了,博主在MCU开启时,会通过串口打印复位的类型为多少。当打印是数字10,则代表时钟丢失复位。
时钟丢失监控机制_第7张图片

操作手段: 用镊子将晶振短到GND以实现时钟丢失的复位效果。
期待现象: MCU一直处于复位之中,直至不短到GND。

时钟丢失监控机制_第8张图片

总结

博主是AutoSar小白,刚开始接触NXP芯片,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在后面的博文再相会哈~

你可能感兴趣的:(S32K1xx系列,单片机,嵌入式硬件,汽车,c语言)