小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段

  • 1 前言
  • 2 三个保障
    • 2.1 EDC
    • 2.2 XBIC
    • 2.3 ECC
  • 3 一个手段
  • END

1 前言

  大家都知道,怎样保证数据在芯片内部传输不出错是非常重要且必要的环节,那么这一节就来稍微介绍一下S32K3在数据完整性上面做了哪些文章。

2 三个保障

  S32K3中所有关于数据完整性错误都会在FCCU中体现出来,在数据完整性检查上面K3主要提供了三种方法为数据传输到存储的每个阶段保驾护航,分别是EDC(Error Detection Code)检查,XBIC(Crossbar Integrity Checker)检查和ECC(Error code correction)检查。在图中就可以看出来,EDC检查和XBIC检查出现的错误最后会体现在FCCU的NCF[1]通道,而ECC检查则根据Memory区域分别体现在NCF[2]和NCF[3]通道。

  下图为K3的框架图(高清版请参考RM手册Figure 5. Block diagram - S32K324 (includes S32K314 and S32K344)):

  在Slave—AXBS—Master的数据存储和传输过程中,EDC, ECC,XBIC分别对各个阶段对数据保驾护航。举个例子,核访问Memory的数据的流向为:Memory—AXBS—Core,在这个过程中,ECC检查负责Memory里面的数据检查,XBIC检查负责AXBS总线里面的数据检查,而EDC检查则是负责访问Matser或Memory到AXBS总线的传输过程中的数据检查。

2.1 EDC

  在访问Matser或Memory到AXBS总线的数据传输路上都会有一个EDC gasket的玩意,这个东西会检查地址和数据,来保证数据在传输过程中不出错,当EDC检查到错误后会报告给FCCU。这个功能是默认使能的,但是用户可以通过写寄存器MSCM->ENEDC来Disable相关的gasket,另外这个寄存器的配置没有在MCAL中实现,用户可手动配置寄存器。

2.2 XBIC

  XBIC主要负责Crossbar进出数据的检查,其框图如下:

  它所检查的就是Crossbar的输入和输出是否正确,它的本质其实就是EDC检测,只不过这个EDC是专门针对Crossbar的,检测内容也是地址和数据,另外它也能像EIM模块一样主动注入一个错误。XBIC检测到错误后,会将错误报告给FCCU模块,它还能捕捉到出现错误的地址。这里可以提一下的就是XBIC的错误不会触发BusFault。

  下面就是MCAL配置,XBIC被集成到了Rm模式中,如下:

  然后配置XBIC的配置,如下:

  这些其实就是使能不同的Master port和Slave port的检测,详情先参考RM手册的XBIC->MCR寄存器,另外XBIC也是默认使能的,在MCAL中其实也无需配置,除非想要Disable XBIC。在RTD的CDD_Rm.c和CDD_Rm.h中也提供了XBIC相关的函数,比如注入错误,获取错误信息等,详情请自行参考RTD源码。之前在介绍ERM和EIM的时候,说到EIM和ERM相关API被集成到了SPD的eMcem模块中,可能是出于按功能分类的初衷,XBIC的相关API也被集成到了eMcem模块中,包括错误注册,获取错误信息等,详情请参考SPD源码eMcem_XbicApi.c和eMcem_XbicApi.h。

2.3 ECC

  ECC其实就不用说太多了,S32K3对其内部的Memory,包括Cache,TCM,RAM,FALSH都提供了ECC检测机制,在介绍EIM,ERM,FCCU的时候就对其进行了详细介绍,另外ECC的检测也是默认使能的。ECC检测到错误时,会被ERM模块捕捉,也会汇报给FCCU模块,同时还能触发BusFault,在这里就不多作介绍了。

3 一个手段

  除去上方介绍的三个保障,S32K3还为数据完整性提供了一个硬件手段,那就是CRC校验硬件模块,可以帮助用户快速计算CRC值,在MCAL中CRC有一个单独的模块Crc。关于CRC的使用,在这里就不多说了,大家可参考RTD中的自带的示例。

END

小猫爪:S32K3学习笔记17-S32K3之数据完整性的保障和手段相关推荐

  1. 小猫爪:S32K3学习笔记05-S32K3之ADC

    小猫爪:S32K3学习笔记05-S32K3之ADC 1 前言 2 资源简介 3 ADC功能详解 3.1 ADC mux-mode channels 3.2 ADC内部框架 3.3 时钟源 3.4 通道 ...

  2. 小猫爪:S32K3学习笔记10-S32K3之EIM和ERM

    小猫爪:S32K3学习笔记10-S32K3之EIM和ERM 1 前言 2 EIM(Error Injection Module) 3 ERM(Error Reporting Module) 4 MCA ...

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

    小猫爪:S32K3学习笔记09-S32K3之Safety简介 1 前言 2 Safety相关硬件介绍 3 Safety相关软件介绍 4 Safety文章目录 END 1 前言   接下来,就要开始进学 ...

  4. 小猫爪:S32K3学习笔记11-S32K3之FCCU

    小猫爪:S32K3学习笔记11-S32K3之FCCU 1 前言 2 FCCU的功能框图 2.1 错误输入 2.2 时钟输入 2.3 FSM 2.4 FOSU 3 FCCU的状态机 4 MCAL配置 5 ...

  5. 小猫爪:S32K3学习笔记04-S32K3之LCU

    小猫爪:S32K3学习笔记04-S32K3之LCU 1 前言 2 LCU的框架 3 LC逻辑运算单元 3.1 input&output&sync&force 3.2 LUT b ...

  6. 小猫爪:S32K3学习笔记21-S32K3之SAF及其应用

    小猫爪:S32K3学习笔记21-S32K3之SAF及其应用 1 前言 2 SAF简介 3 SAF框架 4 SAF组件 4.1 eMcem和Bist 4.2 sReco 4.3 mSel 4.4 sBo ...

  7. 小猫爪:S32K3学习笔记03-S32K3之eMIOS

    小猫爪:S32K3学习笔记03-S32K3之eMIOS 1 前言 2 eMIOS资源介绍 3 CNT和Counter Bus 4 UC的工作模式 4.1 General-Purpose Input a ...

  8. 小猫爪:S32K3学习笔记18-S32K3之Safety外设总结

    小猫爪:S32K3学习笔记18-S32K3之Safety外设总结 总结 END 总结   在前面已经对S32K3对功能安全这一块相关的外设大致都介绍了一遍,这篇文章就来对S32K3与Safety有关的 ...

  9. 小猫爪:S32K3学习笔记20:S32K3之SCST及其应用

    小猫爪:S32K3学习笔记20:S32K3之SCST及其应用 1 前言 2 SCST简介 3 移植 4 应用 4.1 启动测试 4.2 使能FPU相关测试项 4.3 49号测试项中的MPU配置 4.4 ...

最新文章

  1. Nvidia、Intel、AMD技术人员薪资大揭秘:平均薪酬超20万$,英伟达最高近35万美元...
  2. ajax技术如何实现,ajax技术的基本原来以及实现过程
  3. python if条件判断_python if not in 多条件判断代码
  4. tomcat部署web應用時涉及到的基本概念
  5. 最全三大框架整合(使用映射)——struts.xml和web.xml配置
  6. mongo数据库和mysql数据库的区别_Mongodb与mysql数据库的区别
  7. java方法能不能继承方法_关于java:方法链接+继承不能很好地一起玩吗?
  8. 二叉树建立及中序遍历C++语言实现
  9. JVM-内存溢出场景模拟
  10. 汉字笔顺口诀_一帮40后理工男编出新型字典,《笔顺码字典》在汉首发
  11. 2.微型计算机系统的基本结构及计算机各个部件的功能
  12. 艾伟_转载:VS2008连接SQL Server数据库文件出错的解决方案
  13. iOS 9 Safari广告拦截插件
  14. 解决ueditor百度富文本编辑器图片可以上传但是在线管理图片无法显示
  15. 韩国国立全北大学入学简介
  16. [通讯方式] 串口通信
  17. jQuery(javascript) 与Vue有什么区别
  18. linux分析gre中断问题,linux – 无法删除GRE隧道
  19. hdu4069 Squiggly Sudoku
  20. bing搜索分析网站的方法

热门文章

  1. C# winform项目使用腾讯云人像变换api对选定图片进行人像动漫化
  2. lInux常用命令上(文件、远程管理相关)
  3. 教你如何查看win10系统日志
  4. python输入数字成数组_numpy使用digitize将数字转换为分类(文本)数组
  5. 湖北师范大学计信2018届操作系统实训(参考答案)
  6. 支付宝手机网页支付java demo调试问题和解决办法
  7. 解决<tx:attributes>标红,元素tx:attributes不允许在这里
  8. Windows Mobile, WinCe使用 .NET Compact Framework 进行3G和RAS应用的开发
  9. 剑指offer 附加1. 删除链表中的重复结点
  10. 图的各个英文单词区别