TC3xx MTU概述(1)

embedded/2024/9/25 19:05:13/

目录

MTU%E5%9F%BA%E6%9C%AC%E5%8A%9F%E8%83%BD-toc" style="margin-left:0px;">1.MTU基本功能

MBIST-toc" style="margin-left:0px;">2.MBIST

3.小结


MTU%E5%9F%BA%E6%9C%AC%E5%8A%9F%E8%83%BD">1.MTU基本功能

TC3xx中,MTU(Memory Unit Test)被用来管理控制芯片内部各种RAM的测试、初始化和数据完整性检查。

既然MTU主要是管理和控制,那干活的想必另有他人。所以在该平台中,我们可以看到SRAM周围设计了特别的数字逻辑电路,称之为SRAM Support Hardware(SSH);SSH主要用于控制其关联SRAM的ECC、MBIST(Memory Built In Self Test)等。

因此MTU、SSH、RAM在TC3xx的结构示意如下:

其中,CPU通过SPB总线访问MTUMTU针对每个SSH又都有一套独立寄存器,可以配置不同的SRAM测试类型、控制SSH的功能运行。 根据TC39x-B UserManual描述,在该平台中设计了多达96个SSH(包括预留),截图如下:

这意味着,在不同IP的内部SRAM也可以通过MTU和SSH配置进行测试,即使CPU不能直接访问该SRAM。

值得注意的是,SSH寄存器只能通过MTU->SSH这样的路径进行访问,因此在访问效率上会比直接通过SPB访问寄存器要慢一些。

MBIST">2.MBIST

MBIST是一种功能安全机制,用于检查SRAM内部Cell是否出现永久随机硬件失效。TC3xx使用MTU来实现MBIST,在UserMannul里仅提供了Non-Destructive Test的实现方法、功耗和耗时。

这是为什么呢?

因为在ISO26262中,SRAM的Cell故障被认为是潜伏故障,而在一次驾驶循环内至少得有一次测试用于覆盖潜伏故障,所以使用者有权决定在MCU启动、APP运行和下电这三个阶段任意时刻进行MBIST,因此这种非破坏性测试(NDT)是最为友好。

NDT允许在程序运行时进行memory的测试,并且不会破坏当前memory里的应用数据。之所以能这样,是因为该算法的运行逻辑如下:

  1. 从SRAM读取一个word,包括数据+ECC bits,记为"r" ;
  2. 对上述word取反,并写回SRAM,记为 “w*”;
  3. 再次读取word,记为 “ r* ”;
  4. 对上述word再次取反,写回SRAM,记为“w”;

其中 “ * ”表示始终对原始数据相反,可以看到要保证应用数据不被污染,写"w"的次数必须是偶数次,因此NDT的算法在时间复杂度上至少为4N。

执行MBIST期间,每次发生读访问,SRAM自身的ECC机制会计算此次读出数据的校验码,并检查该校验码是否与存入该数据时计算的校验码一致。如果不一致,则会产生错误并通知SMU或者产生中断。

不过,在执行MBIST前还需要注意如下事项:

  • 测试期间,被测试SRAM不可访问;
  • 测试前,SRAM应该被正确初始化。

这些事项与我们设计Online Bist任务息息相关。

在CP AUTOSAR RamTst模块里提出了Foreground Test和Background Test两个概念;其中Foreground Test是同步测试,不可以被中断;Backgroud Test由OS或者调度器周期调度,它可以在每个测试序列完成时被打断。

由于Background Test涉及到数据一致和中断概念,目前用的比较少,比较常见的就是在上电前执行NDT,运行期间选择关键memory进行测试。

3.小结

本篇我们讲解了MTU基本功能和MBIST基本概念,下一篇我们继续讲解MTU如何配置NDT算法。


http://www.ppmy.cn/embedded/34882.html

相关文章

微信小程序开发实战:构建商品购买与订单管理系统【代码示例】

微信小程序开发实战:构建商品购买与订单管理系统【代码示例】 基础概念商品展示购物车订单管理 技术栈实战步骤1. 商品展示WXML模板JS逻辑 2. 购物车功能3. 订单生成4. 订单管理页面 安全性与性能优化结语与讨论 在电商领域,流畅的商品购买流程和高效的订…

C++顺序容器3——容器适配器

容器适配器 除了顺序容器外,标准库还定义了三个顺序容器适配器:stack、queue和priority_queue。 适配器(adaptor)是标准库中的一个通用概念。容器、迭代器和函数都有适配器。 本质上,一个适配器是一种机制&#xff…

Linux实训-用户和组的管理

实训1:用户的管理 创建一个新用户user1,设置其主目录为/home/user1。查看/etc/passwd文件的最后一行,看看是如何记录的。查看文件/etc/shadow文件的最后一行,看看如何记录的。给用户user1设置密码。再次查看文件/etc/shadow文件的…

2024年Q1季度电子书线上市场数据分析:高端市场潜力巨大,销额同比超170%!

数字阅读设备的普及和互联网技术的不断进步,越来越多的读者选择使用电子书来获取知识和娱乐。在今年Q1季度中,电子书线上市场规模正在持续扩大。 根据鲸参谋数据显示,在线上电商平台(某东)电子书Q1销量累计约23.3万件…

海外仓管理软件:如果你这么用,它对你有害无益

虽然说海外仓管理系统是个功能强大的工具,但它并不能解决海外仓所有的问题。 那么什么时候适合使用海外仓系统,什么样的使用方式是错误的?今天就系统的和大家聊聊这个问题。 不要把海外仓管理系统当成“救急”工具 很多时候人们在遇到问题的时…

ASP.NET网络商店销售管理系统的设计与实现

摘 要 随着软件技术的不断进步和发展,信息化的管理方式越来越广泛的应用于各个领域,对于任何网站系统的管理来说开发一套现代化的成员管理软件是十分必要的。通过这样的软件系统,可以做到成员的规范管理和快速查询,从而减少管理…

微信小程序实现用户登录功能 和相关知识点

一、微信小程序的登录流程 (1)重点: 获取微信提供的用户身份标识,从而使开发者服务器识别每一个用户的登录 (2)微信登录流程参与角色: 小程序、开发者服务器、微信接口服务 (3&a…

Vue工程化开发和脚手架Vue CLI

目录 一、介绍 二、使用步骤 1. 全局安装(一次) 2.查看Vue版本 3.创建项目架子(项目名不能使用中文) 4.启动项目 一、介绍 Vue CLI是Vue官方提供的一个全局命令工具。可以帮助我们快速创建一个开发的Vue项目的标准化基础架子…