小猫爪:S32K3学习笔记09-S32K3之Safety简介

小猫爪:S32K3学习笔记09-S32K3之Safety简介

  • 1 前言
  • 2 Safety相关硬件介绍
  • 3 Safety相关软件介绍
  • 4 Safety文章目录
  • END

1 前言

  接下来,就要开始进学习一下S32K3最。。最。。最搞的一个部份了,那就是Safety部分了。这也是S32K3自称功能安全等级能达到ASIL-B/D级别的芯片最坚实的支撑。

2 Safety相关硬件介绍

  下面是S32K3这个系列中各个PN能达到的等级情况:
小猫爪:S32K3学习笔记09-S32K3之Safety简介_第1张图片
  其实也可以更简单的来看,就是有锁步核的PN才能达到ASIL-D,因为锁步核是ASIL-D的要求。

  那么S32K3为了功能安全Safety都准备哪些功能来支撑呢,S32K3系统框图如下所示:
小猫爪:S32K3学习笔记09-S32K3之Safety简介_第2张图片
  把这幅图用文字的形式总结一下,如下表:
小猫爪:S32K3学习笔记09-S32K3之Safety简介_第3张图片

  1. 在核上,S32K3的2个Cortex M7内核可以工作在锁步模式,两个内核实时执行相同指令并实时相互校验,如果执行结果不同,就会报告到内部的故障搜集模块。

  2. 在访问权限上,S32K3具备完善的访问保护机制,存储器保护单元MPU可以控制内核对所有地址空间的访问权限;资源域控制模块XRDC可以控制每个内核或总线master对外设寄存器和内存地址空间的访问权限;此外,S32K3的外设桥也可以控制每个总线master的访问权限;上述各种保护机制,为访问权限的控制提供了灵活和完善的配置功能;

  3. 在程序运行流的监控上,S32K3为每个内核提供了看门狗watchdog,且看门狗具备独立时钟源和窗口模式;S32K3还具有专用于监控启动阶段Power-on watchdog,可以在MCU启动过程或唤醒过程出现不能响应的情况时,让MCU回到安全状态。

  4. 在数据完整性上,S32K3具备完善的ECC校验功能,不管是内部Flash,SRAM,ITCM,DTCM,或者是Cache,都具有ECC校验功能。此外S32K3对数据在内部总线上传输过程也做了端到端的校验,这可以更好的保证数据的完整性。

  5. 在时钟监测上,S32K3具有完整的时钟监测功能,其内部的时钟监测单元会将MCU内部振荡器和外部时钟的频率进行对比,从而判断关键时钟是否常。

  6. 在电源监测上,S32K3的电源监测功能可以检测到电源电压过低或过高的故障,并在发生故障时产生中断或复位。并且还会监控复位时序,如果在一定时间内没有退出复位时序导致超时则会重启复位时序。

  7. 在温度监测上,S32K3集成了温度监测功能,用户可以通过ADC采样一个特定通道,应用软件可以将该通道的结果转换成对应的温度值。随时可监控其自身结温。

  8. 在自检上,S32K3的自测试单元可以在应用代码执行之前对微控制器做自检。S32K3的自检功能包括内存自检和逻辑自检,他们都是在MCU复位启动的过程中执行,内存自检是针对所有易失性存储器,逻辑自检是针对MCU内部各种数字逻辑进行检测,这能够帮助检查出MCU内部的潜在失效。此外我们有内核自测试软件,可以让内核运行自测试代码来完成内核逻辑的诊断。另外S32K3的EIM模块用于错误注入,ERM模块用于错误报告,这为故障诊断提供了便利。用户可以注入特定故障来检验诊断功能的完整性。

  9. 以及等等(细节太多,不好多说)。

  以上就是S32K3在针对功能安全做的一些措施,那么接下来这么多功能,最后体现到S32K3的具体外设中又是怎样的呢?如下:
小猫爪:S32K3学习笔记09-S32K3之Safety简介_第4张图片
  以上就是跟Safety相关的最最最重要的几个模块了。当然除此之外,还有其他功能则是和相关的外设集成在一起的,比如ADC的自测试,Memory的ECC检测,看门狗等等,另外还有其他独立的外设,比如MPU,XRDC,等等等等等这些搞人玩意,共同构成了S32K3的Safety。

  接下来就是一个一个的解剖它们,了解它们的工作机制,而又是怎么相互关联的。

3 Safety相关软件介绍

  至于NXP针对S32K3的Safety硬件资源所开发或者规划的软件,S32K3的安全手册上大致把K3的所有的安全机制分成4个部分,分别是SM1,SM2,SM3,SM4四个部分,而软件则是可以根据这四种安全机制来划分。

  1. SM1为S32K3的硬件安全机制,比如什么内部看门狗,内存ECC校验等等这些S32K3本身自带的硬件安全机制,NXP针对SM1开发的软件大多包含在标准软件包RTD和SPD(safety peripheral driver)中,这两个软件开发包是免费的,相当于是S32K3的底层Driver。
  2. SM2为S32K3的内部软件安全机制,比如软件检测到相关错误,就让K3重启这种需要软件来实现的,只跟S32K3本身相关的安全机制。NXP针对SM2开发的软件叫做SAF(safety software framework)和SCST(core self-test code),它们大多都是通过调用SPD来实现的软件安全机制,这是收费的。当然如果你们足够牛,你也可以自己去实现这些安全机制。其中SPD是SAF的一个子集,SAF涵盖了SPD的所有功能,说白了SAF是一个针对S32K3的功能安全开发的一个比较完整的大软件框架,而SPD只是这个大软件框架里面的一个小模块。
  3. SM3为S32K3外部的硬件安全机制,比如外部看门狗,电源监测等。这得客户自己来实现,一般都是在外面整一个SBC啊,比如高大上的FS26。
  4. SM4为应用软件机制,指的是跟具体应用相关的软件机制,这可能牵扯到K3的具体硬件外设,也可能会牵扯与K3无关的东西,比如在通讯中需要确认数据完整性合法性等。这则需要用户根据实际应用需求来自己集成。

  有人可能想问这些安全机制具体有哪些?我不告诉你,这些安全机制在K3的安全手册中有详细介绍,自己去看(其实下载安全手册是需要权限的,我不能瞎透露)。

  总结,所有的安全机制都只是针对S32K3有关的,而不是针对整个系统层面上而言。与S32K3功能安全相关的软件主要有RTD,SPD, SCST, SAF四个,由于SAF和SCST是要收费的,但是在NXP官网提供了免费体验版,可以下载下来爽一段时间也是不错的选择。

4 Safety文章目录

  1. 《S32K3学习笔记10-S32K3之EIM和ERM》
  2. 《S32K3学习笔记11-S32K3之FCCU》
  3. 《S32K3学习笔记12-S32K3之STCU2》
  4. 《S32K3学习笔记13-S32K3之CMU》
  5. 《S32K3学习笔记14-S32K3之REG_PORT,MPU和XRDC》
  6. 《S32K3学习笔记15-S32K3之SEMA42和INTM》
  7. 《S32K3学习笔记16-S32K3之PMC和MC_RGM》
  8. 《S32K3学习笔记17-S32K3之数据完整性的保障和手段》
  9. 《S32K3学习笔记18-S32K3之Safety外设总结》
  10. 《S32K3学习笔记19-S32K3之如何集成SPD进自己的工程》
  11. 《S32K3学习笔记20-S32K3之SCST及其应用》
  12. 《S32K3学习笔记21-S32K3之SAF及其应用》

END

你可能感兴趣的:(S32K3学习笔记,学习,单片机,S32K3,Safety)