当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]由于工作的原因,笔者经常接到工程师询问MCU内部的RAM上电之后的初始值到底是什么,有什么特性和规律。


由于工作的原因,笔者经常接到工程师询问MCU内部的RAM上电之后的初始值到底是什么,有什么特性和规律。今天笔者就以设计过程中遇到的几个问题与大家做一个交流。


首先明确一个问题,我们都知道,根据RAM的特性,MCU每次上电之后RAM里面的值是随机的。也就是说RAM上电后的初始值可以是0xAA,也可以是0x55,也可以是其它任何的值,这个都是正常的。明确了这个基本原理之后,我们来看一下下面这个跟RAM的初始值的使用相关的一个问题。



设计出状况


最近有工程师在开发的汽车娱乐系统中遇到了一种情况,就是他在使用RH850F1K的过程中,发现每次上电后RAM的值好像都是固定的。按照软件设计的初衷,他想通过判断RAM的值从而知道这次复位是掉电复位还是MCU内部复位——比如“看门狗”复位。如果是掉电复位,则对RAM进行初始化;如果是MCU内部复位,则不对RAM进行初始化,从而可以保持用户之前的一些设置,比如频道、界面信息等。


大致的设计思路和流程如下:


MCU复位后,软件会判断某个变量的值。如果不是0x55,就认为这是上电复位,所有的RAM需要初始化,并把该变量的值写为0x55;如果是0x55,就认为这是“看门狗”复位,这时候则不改变一些变量的值,比如记录里程相关的数据。


相关的C语言代码如下:


if (variable != 0x55)

{

初始化所有变量;

variable = 0x55;

}

else

{

只改变部分变量的值;

}


在测试的过程中,测试工程师发现了一个问题:对于99%的MCU来讲,上述的逻辑都是没有问题的,但是对于个别MCU却存在固定性的问题。


按照设计的初衷,本来我们认为上电后RAM的值是随机的,但是对于某些个别MCU来讲,测试工程师发现上电后RAM的值会固定的是0x55,或者出现0x55的几率非常高。



解决方法


针对这个现象,笔者也从单个MCU的特性方面做了解释:首先还是回到文章最初提到的问题,根据RAM的特性,上电后RAM是任何值都是正常的,基于这个前提,我们可以说测试工程师遇到的现象是正常的。


那么,为什么个别MCU的RAM上电后会偏向于某个特定值呢?



半导体器件的设计是非常复杂的,外观很小的一个芯片都是芯片内部数百万计的各种极其小的元器件搭建而成的,而这些的原材料基本都是硅。对于每个特定的芯片而言,其特性数据都是有一些偏好的,也包括上电后RAM的初始值,所以当我们看每个MCU的电气特性数据的时候,这些数据基本都是一个范围值,而不是确定的值。


另外,上面软件本身的设计也是有缺陷的,或者说鲁棒性不好。假定上电后RAM的初始值是完全随机的,那么这样总会碰到随机值恰好是0x55的情况。基于这种考虑,我建议软件工程师重新设计了判断的条件。比如判断RAM若干不连续地址的值,并且使用校验的算法,比如比较简单的校验和,这样可靠性就大大提高了。



结  语


笔者在工作过程中,遇到过多个类似的问题,这个问题也具有一定的普遍性,除了前面提到的汽车娱乐系统,在车身、仪表,甚至工业应用中的电表等都会涉及到,希望这篇文章能够帮助设计工程师少走一些弯路。


嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

【2024年4月16日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)在2023年持续扩大其在汽车半导体市场的领先地位。TechInsights的最新研究显示,2023年全球汽车半...

关键字: MCU 半导体 电池管理系统

存储器是计算机系统中的关键组件,负责存储程序指令和数据,是实现计算和信息处理的基础。根据其工作原理、存储容量、访问速度、稳定性以及持久性等诸多特性,存储器可以被细分为多个类别。本篇文章将详细介绍存储器的主要分类,并探讨各...

关键字: 存储器 RAM

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

· Ceva-Waves™ Links™ IP系列提供完全集成的多协议连接解决方案,包括Wi-Fi、蓝牙、UWB、Thread、Zigbee和Matter,为下一代连接协议丰富的MCU和SoC简化开发工作并加快上市时间

关键字: 人工智能 MCU SoC

提供业界最高容量的闪存、RAM和GPIO组合,支持Matter over Thread

关键字: 闪存 RAM 物联网

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

TDK 株式会社(TSE:6762)进一步扩充 Micronas 嵌入式电机控制器系列 HVC 5x,完全集成电机控制器与 HVC-5222D 和 HVC-5422D,以驱动小型有刷(BDC)、无刷(BLDC)或步进电机...

关键字: 嵌入式 电机控制器 内存
关闭
关闭