嵌入式设备的发展:解决复杂的设计挑战

简介:

在物联网之前,嵌入式设备曾经相对简单易用。设备,工业控制器或环境传感器的设计者只需要连接输入信号,与微控制器一起处理并提供输出控制。系统是独立的; 除了逆向工程之外,黑客没有动力访问系统。
随着智能手机的推出,我们现在希望我们的设备智能化,可升级并可通过互联网访问。安全性不是可选的,如果不认真对待安全性,数据,品牌声誉和收入流都会受到影响。此外,嵌入式系统变得越来越复杂,你不可能成为一切的专家!幸运的是,您可以使用现有标准和堆栈库以及时,安全的方式完成项目。
本文概述了嵌入式开发人员当前面临的主要设计挑战,以及一些有助于设计人员应对这些挑战的新技术。
关键设计挑战和市场预期
1、丰富的用户界面
第一款智能手机引入了丰富的用户界面,配有高品质的显示屏和触摸屏。高端嵌入式设备增加了LCD和OLED显示器以及触摸屏。这增加了处理要求以及对应用处理器和丰富操作系统的需求。对于那些不需要应用处理器的人来说,技术进步已经将微控制器的时钟速度从数十兆赫兹推升到几百兆赫兹,内存大小推动到几兆字节。这使设计人员能够继续从熟悉的架构中受益,例如用于Arm Cortex-M的架构。
许多嵌入式系统仅需要用户界面进行配置和偶尔控制。消费者和工业物联网设备对价格非常敏感,并且可以通过互联网连接获益,以便通过网络界面或智能手机应用进行控制。例如,可以远程监控来自工业传感器的数据,以管理性能和错误,以及预防潜在的故障。这为嵌入式工程师带来了新的挑战。他们现在必须了解RF,协议栈,安全性,远程管理和固件更新。
2、本地和远程控制
您可以通过以太网,WiFi,蓝牙,Z-Wave,Zigbee或线程实现本地和远程控制在功耗,复杂性和成本方面都有优势。通常,低功耗协议,如蓝牙低功耗,Z-Wave和Zigbee,是电池应用的理想解决方案。这些包括门锁,环境传感器和无线报警系统。需要更多带宽的设备(如安全摄像头和传感器网关)将通过WiFi连接。或者,远程位置的设备将使用蜂窝网络。一个有趣的选择是结合WiFi和蓝牙低能耗。然后,蓝牙用于调试和本地访问以实现低延迟,并且WiFi用于通过因特网进行远程访问。
嵌入式设计开发人员面临的挑战不仅仅是如何为他们的产品选择合适的解决方案,还包括集成无线电,通信堆栈和管理电源的复杂性,所有这些都不会增加成本。
3、功率越来越低
在电池供电的应用中,低功耗至关重要。例如,智能水表需要在仪表的使用寿命内使用单个电池,最长可达20年。另一方面,在门锁中,电池可以每年更换一次,这需要仔细设计。用于省电的技术之一是设计一个功率非常低的微控制器,以便在非常短的时间内开启以感测用户交互。然后它将睡眠更长时间。
4、设备变得更加智能
设计师正在寻找通过添加智能功能来区分其产品的方法。智能功能通常意味着设备可以更多地了解用户,环境和系统,并且可以调整功能。
机器学习是使用可以学习和适应的算法添加智能功能的一种方法。我们今天看到了机器学习:从指纹解锁(匹配到一小组指纹图像)或Facebook自动标记功能。但是,它是嵌入式,成本受限系统中的一种相当新的解决方案。
嵌入式机器学习的一个很好的例子是智能恒温器。恒温器将根据用户的生活方式了解用户的行为,然后随着时间的推移,将自动将温度调节到最舒适的设置。对于工业市场,一个例子可以是用于电动机的振动传感器。传感器可以了解电机的正常振动特征,然后在设备需要维护或即将发生故障时向人员发出警告。
嵌入式设计人员面临的挑战是开始使用机器学习算法,并能够根据应用需求调整算法。
5、产品需要更新
今天的产品很少附带最终功能集。通过无线(OTA)更新,可以下载新固件以添加功能,修复错误或修补安全漏洞,从而显着延长产品的使用寿命。产品还必须具有足够的内存空间和处理能力,以增加代码大小和功能。
一个挑战是确保固件更新和所有通信都是安全的。修补固件漏洞时,系统不应允许回滚固件。如果是,则会暴露漏洞。

帮助设计人员应对这些挑战的新技术
我概述了嵌入式设计人员面临的挑战以及推动他们的行业趋势,但潜在的解决方案又如何呢?我认为有三种基本设计技术会影响上面定义的所有领域:实现信号处理,保护设备并通过机器学习添加智能。

如何简化信号处理并节省成本?
大多数嵌入式系统都有模拟接口 这些可以简单到通过模数转换器读取温度,到更复杂的系统,例如处理来自多个麦克风(波束成形)和语音识别的声音。
较旧的设计用于在模拟域中执行大部分应用和滤波,但是使用专用数字信号处理器(DSP),处理已经转移到数字域。这是因为DSP在制造过程中更准确,可重复,并且可以随时调整。
随着数字信号控制器(DSC)或具有DSP扩展的微控制器的引入,设计人员现在可以拥有两全其美的优势。可以执行DSP和控制功能的单个控制器可以降低成本,电路板空间和功耗。  
数字信号处理可能很复杂,但设计人员不必是专家就可以使用高级处理。例如,Arm为嵌入式应用程序CMSIS-DSP库提供了一个免费的软件框架。
我为什么要关心安全问题?
安全性不足的产品可能导致数据丢失,尴尬的宣传,财务成本和客户受挫。安全攻击可以跨越所有部门并具有不同程度的影响,包括访问家庭自动化系统,打开和关闭灯光,工业间谍活动以及通过物联网设备访问网络。
外部威胁可以分为四种攻击类型:通信,生命周期,软件和物理。但是,您如何知道需要防范哪些威胁以及如何使用适合您设备的安全级别进行设计?去年,我们为任何设计连接设备的平台安全架构(PSA)推出了安全框架。这是一个三阶段流程,为设计人员和开发人员提供他们所需的一切,以确定他们应该选择的安全级别和威胁缓解。在PSA的文档和源代码开放(可信固件-M),使开发人员更容易上手。

相关文章
|
机器学习/深度学习 弹性计算 TensorFlow
阿里云GPU加速:大模型训练与推理的全流程指南
随着深度学习和大规模模型的普及,GPU成为训练和推理的关键加速器。本文将详细介绍如何利用阿里云GPU产品完成大模型的训练与推理。我们将使用Elastic GPU、阿里云深度学习镜像、ECS(云服务器)等阿里云产品,通过代码示例和详细说明,带你一步步完成整个流程。
3137 0
|
8月前
|
Java 数据库连接 Maven
springBoot:项目建立&配置修改&yaml的使用&resource 文件夹(二)
本文档介绍了如何创建一个基于Maven的项目,并配置阿里云仓库、数据库连接、端口号、自定义启动横幅及多环境配置等。同时,详细说明了如何使用YAML格式进行配置,以及如何处理静态资源和模板文件。文档还涵盖了Spring Boot项目的`application.properties`和`application.yaml`文件的配置方法,包括设置数据库驱动、URL、用户名、密码等关键信息,以及如何通过配置文件管理不同环境下的应用设置。
794 1
|
8月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
14288 58
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
8月前
|
开发者 Python
Python学习九:file操作
这篇文章是关于Python文件操作的详细教程,包括文件的打开、读写、关闭,以及文件备份脚本的编写和文件定位操作。
62 2
|
10月前
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之设置任务监控的步骤是什么
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
传感器 数据可视化
LC串联谐振拓扑仿真建模及控制策略分析
该文介绍了直流高压电源的应用领域,特别是LC串联谐振拓扑在其中的重要性。文章接着详细阐述了LC串联谐振变换器的工作模式,重点讨论了在DCM模式下的电路参数设计,包括变压器变比、谐振频率和器件参数等,并使用Simulink搭建模型进行电路仿真。仿真过程分为电路模型搭建、开环调试和闭环调试,验证了输出电压可调且能稳定在设定值,实现了变换器的设计目标。
281 2
|
人工智能 数据安全/隐私保护
如何实现AI检测与反检测原理
AI检测器用于识别AI生成的文本,如ChatGPT,通过困惑度和爆发性指标评估文本。低困惑度和低爆发性可能指示AI创作。OpenAI正研发AI文本水印系统,但尚处早期阶段。现有检测器对长文本较准确,但非100%可靠,最高准确率约84%。工具如AIUNDETECT和AI Humanizer提供AI检测解决方案,适用于学生、研究人员和内容创作者。
|
并行计算 前端开发 Java
「Python系列」Python解释器
Python 解释器是用于执行 Python 代码的程序。以下是 Python 解释器的几种类型: 1. **CPython**:这是 Python 的官方解释器,是用 C 语言编写的。CPython 是使用最广泛的 Python 解释器,用于大多数日常编程任务。当从 Python 官方网站下载并安装 Python 时,通常会获得 CPython。 2. **IPython**:这是一个增强版的 Python 解释器,提供了一些额外的功能,如交互式魔法命令和并行计算。IPython 使用 Jupyter Notebook 和 JupyterLab 作为其前端界面。
109 0
|
前端开发 Java 关系型数据库
基于SSM实现水果蔬菜商城管理系统
基于SSM实现水果蔬菜商城管理系统
108 0
|
应用服务中间件 Linux nginx
百度搜索:蓝易云【linux系统服务器,nginx日志切割保存教程。】
最后,确保定期检查和清理旧的日志文件,以免占用过多的磁盘空间。您可以使用crontab或其他定时任务工具来定期运行清理命令,例如删除超过一定时间的旧日志文件。
235 0