漫谈MCU优化:从硬件设计优化到可靠性挑战

1.关于MCU

微控制器(Microcontroller Unit, MCU),是以微处理器为基础,加上存储器以及计数器、I2C、UART等外设模块与接口电路整合的单芯片微型计算机。

▲MCU实物图

MCU拥有性能好、可编程、灵活度高、功耗低等优点,因此往往被集成到不同的设备中,用以取代复杂臃肿的电子线路控制系统,实现设备控制的轻量化和智能化。可以说小到玩具、大到汽车,MCU已经渗透进人们生活的方方面面。

工业:工业控制、汽车电子等领域;

日常生活:智能家居、物联网以及智能穿戴等领域。

微控制器覆盖范围非常广,产品应用的场景也非常多,不同的使用场景对微控制器的要求也不一样,厂商会根据使用场景提前部署各种型号的MCU,以满足不同场 景下对性能、成本、功耗以及安全性等方面的定制化需求:

玩具小车市场对处理器性能的要求并不高,相关厂商会采用成熟制程并尽力压缩成本;手机、笔记本等便携设备对低功耗的要求较高,设计厂商便可能舍弃部分性能去追求更低的功耗;近年来火热的汽车电子市场则是更看重MCU的安全性能,在智能化、自动化系统的高要求下,设计厂商需要满足相关可靠性测试才能达到标准,从而在汽车电子领域占据一席之地。

2.关于ISA

MCU的优化主要分为两大块:硬件设计优化与软件优化。要了解硬件设计的优化,可以从计算机指令集架构入手。

1946年,人类历史上的第一台由电子管构成的计算机诞生,世界宣告进入数字化的时代。紧接着,20世纪50年代,随着电子管被更加小型的晶体管替代,计算机开始小型化并且逐渐走向大众。随着制造工艺的进步,芯片制程越来越小,集成度也越来越高,处理器的运算速度也越来越快。时至今日,计算机的种类非常丰富,大致可以分为超级计算机、网络计算机、工业控制计算机、个人计算机以及嵌入式计算机。

▲计算机种类分类

计算机主要由硬件和软件共同构成,二者相辅相成,均可在各自领域提升计算机的处理速度。指令集架构(Instruction Set Architecture,ISA)作为链接硬件和软件的重要桥梁,是硬件设计准则与处理器的根基,可以极大影响处理器的性能。ISA在计算机系统中的重要性如下图所示。

▲指令集架构示意图

ISA主要分为两个大类:

CISC(Complex Instruction Set Computer,复杂指令集),代表架构即广为人知的X86架构;AMD和Intel的X86架构处理器在高性能服务器、个人PC等领域具有绝对优势,在全球市场中几乎占垄断位置。

RISC(Reduced Instruction Set Computer,精简指令集),常见的有ARM、MIPS和RISC-V等;值得一提的是,ARM公司的ARM架构处理器系列占据着嵌入式领域的大部分市场,然而ARM公司并不直接生产和售卖芯片,而是采用授权或售卖IP的形式来盈利。

3.MCU的硬件设计优化——RISC-V

Intel创始人戈登·摩尔(Gordon Moore)在1965年提出过一个观察与预测:在不增加成本的情况下,集成电路上可以容纳的晶体管数量大约每隔18至24个月就会增加一倍

21世纪到来后,物理规则的限制和制造工艺进步缓慢,摩尔定律逐渐走到了尽头,处理器通过享受制造工艺的进步所带来速度提升的方式宣告结束,发展重点随之逐渐转移至处理器结构等其他方面的创新与拓展。

上文提到的ARM公司虽然占据嵌入式MCU领域绝大部分份额,但是因其不得不考虑其老旧产品的兼容性,造成自身负担太重、过于臃肿,使得硬件设计的复杂度大大提升,并不能很好地满足当下嵌入式领域微控制器对于性能、面积和功耗的要求,无法有效给出最佳的方案,缺乏定制化和自由度。

在此大背景下,2010年,由伯克利大学的Krste Asanovic教授等人开发的 RISC-V(Reduced Instruction Set Computer-Five)指令集应运而生。

RISC-V指令集实现了MCU硬件设计的优化,顺应时代的发展趋势,拥有开源、免费、架构简洁、工具链完整和开发学习易上手等特点,采用模块化设计,拥有强大的可定制化能力,对我国MCU设计厂商有着非常大的吸引力:

一方面,由于近年来美国对我国在半导体技术领域的出口限制越来越多,企图阻止我国半导体技术的发展,我国集成电路公司对于产业链的安全性越来越重视,RISC-V的开源特性无疑是国内公司摆脱ISA被垄断的一个绝佳机会;

另一方面,芯片公司往往非常重视芯片的定制化,实际生产设计中,性能往往并不是唯一的指标,芯片的成本以及功耗等特性往往也是一款芯片能否成功的关键。

4.可靠性上的挑战

随着RISC-V架构的逐步成熟,其开放性和可扩展性使其在满足不同行业特定需求方面展现出巨大潜力。尤其在汽车电子领域,RISC-V的灵活性和开放性非常适合汽车行业对高可靠性、低延迟和功能安全的需求。汽车电子系统,尤其是自动驾驶和高级驾驶辅助系统(Advanced Driver Assistance Systems,ADAS)等功能对处理器的实时响应能力和安全性要求极高。

尽管RISC-V在硬件设计上具有明显的优点,但随着汽车电子系统日益复杂,尤其是高安全性和实时性要求的加剧,单纯依赖RISC-V的优化无法满足高可靠性的要求,其处理器存储器的可靠性问题变得尤为突出,尤其是如何确保数据在长时间、极端环境下的安全与完整性。以汽车领域为例,汽车电子系统的存储器需要处理大量的实时数据,存储器的安全性能直接关系到处理器能否按照程序正常运行:

如若存储器中的数据发生变故,轻则导致处理器陷入混乱“死机”,重则可能造成不可预知的重大事故。

对于加强存储器的可靠性,历史上往往从如下几个层面展开工作:分别是工艺级、版图级、电路级、系统级。工艺级一般采用特殊工艺进行芯片的制造,但工艺成本较为昂贵;版图级提过改变物理布局,需要承担改变版图结构带来的成本;电路级主要保证其中某一路电路的安全性,但相对会消耗更多资源。目前主流的方案为在软件层面系统级地引入冗余单元,通过对存储器数据进行存入时编码,读取时解码的方式,利用算法来检测以及纠正由外部因素造成的系统错误。

冗余本身是为防止存储器失效而进行的多余度设计,但其本身的有效性却很难得到测试和保障:开发人员需要在软件设计中考虑到所有设备的失效逻辑。为了能够完全模拟外界数据并进行完备的测试,测试人员需要设计出复杂的测试系统以保证有效性,复杂的数据总线和冗余设备之间的通信方式通常会花费较高的时间成本和硬件设备成本。

天目全数字实时仿真软件SkyEye是一款基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式进行冗余系统的建模和仿真。在建立冗余系统测试的过程中,SkyEye主要有以下两大优势:

1. 在冗余设备软件开发的过程中,开发人员需要给多个设备加载不同或相同的镜像,手动添加调试往往耗费时间较长。使用SkyEye即可快速搭建虚拟的冗余设备仿真模型,快速实现2-n个备份设备,还可加载不同的镜像,缩短软件开发时间,提高开发效率。

2. SkyEye系统测试特性能够完全模拟外界数据并进行完备的测试:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/8773.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

“动态波动”,背离信号与主力动向的完美结合 源码

使用技巧 精准捕捉买卖信号 这款公式它不仅能够精准捕捉买入信号,还能敏锐识别卖出时机。尤其在市场波动不定的震荡行情中,动态波动展现出了其非凡的价值。 多维信号分析 如图所示,动态波动公式全面覆盖了“买”、“卖”、“洗盘”、“阻…

网站架构知识之密钥认证(day020)

1.密钥认证 两个节点,通过密钥形式进行访问,不要输入密码,单向。 应用场景:部分服务使用前要求我们做密钥认证。 1.使用rsa算法创建公钥私钥 ssh-keygen -t rsa /root/.ssh/id_rsa, 私钥地址 /root/.ssh/…

基于Python的智能旅游推荐系统设计与实现

一、摘要 本毕业设计的内容是设计并且实现一个基于Python技术的智能旅游推荐系统。它是在Windows下,以MYSQL为数据库开发平台,使用Python技术进行设计。智能旅游推荐系统的功能已基本实现,主要实现首页,个人中心,用户…

深入计算机语言之C++:模板初阶

🔑🔑博客主页:阿客不是客 🍓🍓系列专栏:从C语言到C语言的渐深学习 欢迎来到泊舟小课堂 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 一、泛型编程 1.1 引入 C 语言中实现两数交换&a…

O-RAN前传Spilt Option 7-2x

Spilt Option 7-2x 下行比特处理上行比特处理相关文章: Open Fronthaul wrt ORAN 联盟被称为下层拆分(LLS),其目标是提高电信市场的灵活性和竞争力。下层拆分是指无线电单元(RU) 和分布式单元(DU) 之间的拆分。 O-RAN前传接口可以在 eCPRI 上传输。eCPR…

硬件---2电阻---精度、阻值识别、电阻功率、电阻限流、电阻分流、电阻分压

一电阻的阻值识别 1电阻精度问题 电阻精度是指实际电阻值与标称值之间的允许偏差&#xff0c;用于表示电阻的制造误差范围。简单来说&#xff0c;精度越高&#xff0c;实际电阻值越接近标称值。 <1>理解电阻精度 标称值是电阻器上标注的理想数值&#xff0c;比如100Ω。…

软件测试学习笔记丨Vue常用指令-条件渲染(v-if)

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/23462 v-if 条件渲染 用于返回表达式为true的值渲染多个标签可以使用<template> <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&…

Linux基础(十一)——内存交换空间swap

内存交换空间swap 1.swap的作用2.使用实体分区创建swap3.使用文件创建swap 1.swap的作用 如果突然间某支程序用掉你大部分的内存&#xff0c; 那你的系统恐怕有损毁的情况发生喔&#xff01; 所以&#xff0c; 早期在安装 Linux 之前&#xff0c; 大家常常会告诉你&#xff1a…

注册登录学生管理系统小项目

头文件 #ifndef _LOGINLINK_H_ #define _LOGINLINK_H_ #include<myhead.h> typedef struct {int id;char name[20];int age; }stu,*Pstu; typedef struct node {union{int len;stu data;};struct node *next; }node,*Pnode; int regist(); int login(); Pnode create()…

atoi函数学习

文章目录 一、atoi函数1、函数原型2、函数功能3、函数返回 二、atoi使用三、atoi函数模拟实现 一、atoi函数 1、函数原型 atoi函数参数为一个字符指针&#xff0c;返回类型是int&#xff0c;作用将字符串转换为整型。使用函数需要包含头文件stdlib.h 2、函数功能 解析c字符串…

前端学习-盒子模型(十八)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 盒子模型组成 边框 语法 边框简写 代码示例 表格的细线边框 语法 内边距 内边距复合写法 外边距 外边距典型应用 外边距合并 清除内外边距 总结 前…

红队-linux基础

声明 通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一.openssl 1、openssl passwd -1 123 openssl是一个开源的…

ThingsBoard规则链节点:Save Attributes 节点详解

引言 1. Save Attributes 节点简介 2. 节点配置 2.1 基本配置示例 3. 使用场景 3.1 设备状态管理 3.2 数据统计 3.3 业务逻辑处理 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 ThingsBoard 是一个开源的物联网平台&#xff0c;提供了…

光缆车间三维可视化系统

通过图扑可视化平台整合实时生产数据与流程监控&#xff0c;并呈现光缆制造流程&#xff0c;提升生产透明度与效率。支持异常检测、资源管理与智能决策&#xff0c;助力车间运营的智能化与自动化升级。

强化学习这么做绝绝子!最新idea登顶Science!

强化学习&#xff08;RL&#xff09;全新里程碑&#xff01;RL之父Richard Stutton团队&#xff0c;提出一种奖励聚中思想&#xff0c;能大幅增强所有RL算法&#xff01;也即&#xff1a;通过从观察到的奖励中减去平均奖励&#xff0c;来提高连续强化学习问题中折扣方法的性能&…

[含文档+PPT+源码等]精品基于springboot实现的原生Andriod广告播放系统

基于Spring Boot实现的原生Android广告播放系统背景&#xff0c;主要可以从以下几个方面进行阐述&#xff1a; 一、市场需求与背景 移动互联网的快速发展&#xff1a; 随着移动互联网技术的不断进步&#xff0c;智能手机已成为人们日常生活中不可或缺的一部分。人们越来越多地…

2023上半年下午3,4,5

文中的英文很可能是类名。没有英文的段落可以不看 如图&#xff0c;C1和C5应该是父类&#xff0c;有234和678等多个箭头指向他们 所以C2,C3,C4应该是C1的子类&#xff0c;C5同理 聚合表示部分可以脱离整体而存在&#xff0c;整体消失部分也能存在 组合则部分不能脱离整体&…

【C/C++】字符/字符串函数(0)(补充)——由ctype.h提供

零.导言 除了字符分类函数&#xff0c;字符转换函数也是一类字符/字符串函数。 C语言提供了两种字符转换函数&#xff0c;分别是 toupper &#xff0c; tolower。 一.什么是字符转换函数&#xff1f; 顾名思义&#xff0c;即转换字符的函数&#xff0c;如大写字母转小写字母&am…

华为eNSP实验:QINQ技术

QinQ技术是一种扩展VLAN空间的技术&#xff0c;通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能。 QinQ技术允许私网VLAN透传公网&#xff0c;使得在骨干网中传递的报文有两层802.1Q Tag&#xff08;一层公网Tag&#xff0c;一层私网Tag&#xff…

YOLOv5之Common.py

文章目录 1.学习目的2.网络模型![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/67b8dbd00c9b4034ba370fc8b8a6031a.jpeg)3.common.py分析 1.学习目的 YOLOv5中最关键一个模型类 2.网络模型 3.common.py分析 # Ultralytics YOLOv5 &#x1f680;, AGPL-3.0 license…