什么是嵌入式?

目录

一、什么是嵌入式

二、嵌入式系统的特点

(一)专用性与隐蔽性

(二)高可靠性与实时性

(三)资源固定与小型化

三、嵌入式系统的发展历史

(一)20 世纪 60 年代早期雏形

(二)20 世纪 70 年代的发展

(三)20 世纪 80 年代的进步

(四)20 世纪 90 年代的飞速发展

(五)21 世纪的新发展

四、嵌入式系统的分类

(二)按实时性分类

(三)按用途分类

五、嵌入式系统的组成

(一)硬件组成

(二)软件组成


一、什么是嵌入式

嵌入式系统是一种嵌入在设备(或系统)内部,为特定应用而设计开发的专用计算机系统。中国对嵌入式系统公认的定义是:嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。英国电气工程师协会从应用角度定义了嵌入式系统:控制、监视或协助设备、机器、工程运行的装置。

嵌入式系统本质上是针对需求的问题和目的而特殊设计的小型化轻便化的专用计算机系统。它具有一些共同的特点,如专用性,总是针对某个具体的应用需求和目的而设计;隐蔽性,往往是一个大的系统的一部分;高可靠性,针对具体设计有很多可靠性方面的针对设计;实时性,必须对可预测性事件在需求的时间内反应;资源固定,可用资源确定且通常追求小型化、轻量化和低耗低成本。

例如,在工业控制领域,嵌入式系统可以和传感器伺服器等外围设备共同作用,起到控制、检测、显示和指示的作用。在智能家电中,嵌入式系统以 8 位 / 16 位处理器为基础并配置简单的操作系统,实现智能化控制。在交通管理方面,汽车导航、智能路灯、高清摄像头等都是嵌入式系统的应用实例。

嵌入式系统的发展历程丰富。公认的第一个现代嵌入式系统是 20 世纪 60 年代初美国麻省理工学院开发的阿波罗导航计算机,用于引导阿波罗飞船往返地球与月球。20 世纪 70 年代,出现了以 4 位 / 8 位的单片机为主的可编程控制器。到了 80 年代,随着半导体技术发展,嵌入式系统更加多样化和轻便化。90 年代,微电子技术进步促使嵌入式技术风靡式发展,以 32 位处理器和嵌入式操作系统为标志。

二、嵌入式系统的特点

(一)专用性与隐蔽性

嵌入式系统的专用性体现在它是为特定的应用而设计的,不强调通用性和可扩展性,而是注重满足用户的特定需求。例如,智能手机中的嵌入式系统是为了实现通信、娱乐、办公等多种功能而设计的,而汽车电子中的嵌入式系统则是为了实现对汽车的发动机、变速箱、刹车、转向等的监测和控制而设计的。这种专用性使得嵌入式系统能够更好地满足用户的需求,提高系统的性能和可靠性。

嵌入式系统的隐蔽性是指它通常是一个大系统的一部分,不为人知。例如,汽车中的嵌入式系统是汽车电子系统的一部分,它隐藏在汽车的内部,不为人知。这种隐蔽性使得嵌入式系统能够更好地融入到用户的生活中,提高用户的体验。

(二)高可靠性与实时性

嵌入式系统通常需要在恶劣的环境中工作,或者涉及到人身安全和国家利益等重要事务,因此它的可靠性非常高。为了提高嵌入式系统的可靠性,通常会采用以下一些设计方法:

  1. 采用冗余设计:在嵌入式系统中,通常会采用冗余设计来提高系统的可靠性。例如,在汽车电子系统中,通常会采用双控制器冗余设计,当一个控制器出现故障时,另一个控制器可以接替它的工作,保证系统的正常运行。
  1. 采用容错设计:在嵌入式系统中,通常会采用容错设计来提高系统的可靠性。例如,在航空航天领域,通常会采用容错设计来保证飞机的安全飞行。当飞机的某个部件出现故障时,系统可以自动检测到故障,并采取相应的措施来保证飞机的安全飞行。
  1. 采用可靠性设计:在嵌入式系统中,通常会采用可靠性设计来提高系统的可靠性。例如,在工业控制领域,通常会采用可靠性设计来保证工业生产的安全运行。当工业生产中的某个设备出现故障时,系统可以自动检测到故障,并采取相应的措施来保证工业生产的安全运行。

嵌入式系统通常需要在规定的时间内完成任务,对响应速度和可靠性有较高的要求。为了满足实时性要求,通常会采用以下一些设计方法:

  1. 采用实时操作系统:在嵌入式系统中,通常会采用实时操作系统来满足实时性要求。实时操作系统是一种专门为实时应用而设计的操作系统,它具有响应速度快、可靠性高、可裁剪性强等特点。
  1. 采用实时调度算法:在嵌入式系统中,通常会采用实时调度算法来满足实时性要求。实时调度算法是一种专门为实时应用而设计的调度算法,它具有响应速度快、可靠性高、可裁剪性强等特点。
  1. 采用实时通信协议:在嵌入式系统中,通常会采用实时通信协议来满足实时性要求。实时通信协议是一种专门为实时应用而设计的通信协议,它具有响应速度快、可靠性高、可裁剪性强等特点。

(三)资源固定与小型化

嵌入式系统的资源通常是固定的,包括内存、处理能力、存储空间等。为了满足特定的应用需求,嵌入式系统通常会采用小型化、轻量化、低功耗的设计。例如,智能手机中的嵌入式系统通常会采用小型化、轻量化、低功耗的设计,以满足用户对手机的便携性和续航能力的要求。

为了实现小型化、轻量化、低功耗的设计,嵌入式系统通常会采用以下一些设计方法:

  1. 采用低功耗处理器:在嵌入式系统中,通常会采用低功耗处理器来实现小型化、轻量化、低功耗的设计。低功耗处理器是一种专门为低功耗应用而设计的处理器,它具有功耗低、性能高、体积小等特点。
  1. 采用低功耗存储器:在嵌入式系统中,通常会采用低功耗存储器来实现小型化、轻量化、低功耗的设计。低功耗存储器是一种专门为低功耗应用而设计的存储器,它具有功耗低、性能高、体积小等特点。
  1. 采用低功耗通信协议:在嵌入式系统中,通常会采用低功耗通信协议来实现小型化、轻量化、低功耗的设计。低功耗通信协议是一种专门为低功耗应用而设计的通信协议,它具有功耗低、性能高、体积小等特点。

三、嵌入式系统的发展历史

(一)20 世纪 60 年代早期雏形

20 世纪 60 年代,嵌入式系统开始出现雏形。当时的嵌入式系统主要用于军事和航天领域,例如美国麻省理工学院开发的阿波罗导航计算机,用于引导阿波罗飞船往返地球与月球。这一时期的嵌入式系统功能相对单一,主要是为了满足特定的任务需求而设计,系统结构和功能比较单一,处理效率比较低,存储容量较小,几乎没有用户接口。但它的出现为后来嵌入式系统的发展奠定了基础。

(二)20 世纪 70 年代的发展

20 世纪 70 年代,微控制器的出现改变了嵌入式系统的面貌。像 Intel 8048 和 Motorola 6805 这样的微控制器开始广泛应用于各种应用。这一时期,嵌入式系统主要以功能简单的单片机为核心,大部分应用于各类工业控制。其特点是系统结构和功能相对单一,处理效率不高,但使用简便、价格低廉,在工业控制领域中得到了非常广泛的应用。

(三)20 世纪 80 年代的进步

20 世纪 80 年代,随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器、I/O 接口、A/D 和 D/A 转换、串行接口以及 RAM、ROM 等部件集成在一个 VLSI 中,从而制造出面向 I/O 设计的微控制器,即单片机。同时,这一时期出现了大量高可靠、低功耗的嵌入式 CPU(如 PowerPC 等),也出现了各种简单的嵌入式操作系统。此时的嵌入式操作系统已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。

(四)20 世纪 90 年代的飞速发展

20 世纪 90 年代,面向实时信号处理算法的 DSP 产品向着高速度、高精度、低功耗方向发展,同时由于硬件的实时性要求提高,嵌入式系统软件的规模也逐渐扩大,嵌入式操作系统也发展为实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)。在这一时期,嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使应用软件的开发变得更加简单。

(五)21 世纪的新发展

进入 21 世纪,Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与 Internet 技术的结合正在推动着嵌入式系统的飞速发展。嵌入式系统开始涵盖物联网(IoT)领域,如智能手机、智能家居、无人机、医疗设备和自动驾驶汽车等。同时,新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和硬件成本,提高友好的多媒体人机交互界面;Linux、WinCE 等嵌入式操作系统迅速发展;嵌入式操作系统自身结构的设计更加便于移植,具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,能够在短时间内支持更多的微处理器。嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式硬件系统本身,同时还有提供强大的硬件开发工具和软件支持包。

四、嵌入式系统的分类

一)按技术复杂度分类

  1. 复杂嵌入式系统

这类系统一般使用 Linux、Android 等全功能操作系统。使用应用处理器,具备复杂的人机、网络、文件系统等。例如智能手机、平板电脑、智能电视、车载娱乐系统等属于这类系统。

  1. 深度嵌入式系统

这类系统比较简单,通常不使用操作系统,或者仅仅使用 RTOS。处理器一般是微控制器(MCU)或 DSP 等,仅具备简单的人机,甚至没有人机,物联网大背景下的设备一般都有通信功能。如一些简单的传感器设备等。

  1. Bare-metal 类

这类嵌入式系统不包含任何操作系统,可能会包含事件调度器。这类系统也使用微控制器。这类系统主要是功能比较单一的应用,例如一些简单的定时器设备等。

(二)按实时性分类

  1. 硬实时系统

硬实时系统必须是对事件做出及时的反应,绝对不能错过事件处理的时限。在硬实时系统中如果出现了这样的情况就意味着巨大的损失和灾难。比如说航天飞机的控制系统,如果出现故障,后果不堪想象。

  1. 软实时系统

软实时系统是指,如果在系统负荷较重的时候,允许发生错过时限的情况而且不会造成太大的危害。比如液晶屏刷新允许有短暂的延迟。

  1. 非实时系统

非实时系统对系统的响应时间几乎没有要求,如个人数字处理、电子书等。

(三)按用途分类

  1. 军用

主要用于武器控制设备、军用电子设备、军用通信设备等。这些嵌入式系统通常具有高可靠性、高实时性和强保密性等特点。例如,导弹的制导系统、军用通信设备等。

  1. 工业

用于工业设备、运输工具、医疗电子设备等。工业嵌入式系统需要满足工业环境的特殊要求,如抗干扰性、稳定性和可靠性等。例如,工业自动化控制系统、汽车电子设备等。

  1. 民用

应用于白色家电、数码产品、金融电子设备、通信设备等。民用嵌入式系统注重用户体验和成本效益,通常具有丰富的功能和良好的交互性。例如,智能手机、智能家电等。

五、嵌入式系统的组成

(一)硬件组成

嵌入式系统的硬件组成部分是整个系统的基础支撑。

嵌入式微处理器是核心部件,目前主要有 Power PC、ARM 系列等。以 ARM 为例,它具有低功耗、高性能的特点,广泛应用于各类嵌入式设备中。比如在智能手机领域,ARM 处理器能够高效地处理多任务,满足用户对各种应用程序的快速响应需求。

外围硬件设备丰富多样。片外总线负责连接不同的硬件模块,实现数据的快速传输。例如,在工业控制领域,片外总线可以将传感器采集到的数据快速传输到嵌入式微处理器进行处理。

电子盘作为存储设备,具有体积小、存储容量大的优势。它可以存储嵌入式系统的程序代码和数据,在一些对存储容量要求较高的应用场景中发挥重要作用。比如在数字相机中,电子盘可以存储大量的照片和视频。

I/O 设备包括输入设备和输出设备。输入设备如传感器、键盘等,传感器可以采集外部环境的信息,如温度、湿度、压力等,为嵌入式系统提供数据输入。键盘则可以让用户输入指令,实现人机交互。输出设备如显示屏、扬声器等,显示屏可以显示系统的运行状态和结果,扬声器可以播放声音提示。

通讯设备也是嵌入式系统硬件的重要组成部分。以太网接口可以实现高速网络连接,在智能家居等领域,通过以太网接口可以将嵌入式设备连接到家庭网络,实现远程控制和管理。USB 接口则可以方便地连接外部设备,如存储设备、打印机等。蓝牙和 Wi-Fi 等无线通信接口可以实现设备之间的无线连接,拓展了嵌入式系统的应用范围。

(二)软件组成

嵌入式系统的软件组成部分为系统的运行提供了关键的支持。

板级支持包(BSP)是介于硬件和操作系统之间的一层软件,它主要负责硬件的初始化、驱动程序的加载以及为操作系统提供硬件抽象层。例如,在嵌入式 Linux 系统中,BSP 会根据具体的硬件平台进行定制化开发,确保操作系统能够正确地识别和控制硬件设备。

嵌入式实时操作系统(RTOS)是专门为嵌入式系统设计的操作系统,它具有实时性、可靠性和可裁剪性等特点。常见的 RTOS 有 μC/OS-II、FreeRTOS 等。RTOS 可以实现任务调度、中断处理、内存管理等功能,保证系统的实时性和稳定性。例如,在工业自动化控制系统中,RTOS 可以确保对实时性要求较高的任务能够及时响应,保证生产过程的安全和稳定。

应用编程接口(API)为嵌入式应用系统的开发提供了标准化的接口,使得开发人员可以更加方便地调用系统的功能。API 可以包括图形库、网络库、文件系统库等。例如,在开发嵌入式图形应用程序时,开发人员可以通过图形库 API 来实现图形的绘制和显示。

嵌入式应用系统是根据具体的应用需求开发的软件,它可以实现控制算法、数据处理、界面显示等功能。例如,在智能家电中,嵌入式应用系统可以实现对家电设备的智能化控制,如温度调节、定时开关等功能。

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

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

相关文章

在几分钟内将数据从 Oracle 迁移到 ClickHouse

ClickHouse 是一个开源的面向列的数据库管理系统。它在实时数据处理方面的出色性能显着增强了数据分析和业务洞察力。将数据从 Oracle 迁移到 ClickHouse 可以释放数据在决策中的力量,这是单独使用 Oracle 无法实现的。 本教程介绍如何使用 BladePipe 将数据从 Orac…

Linux网络:HTTPS协议

Linux网络:HTTPS协议 加密方式对称加密非对称加密混合加密中间人攻击 证书数据签名CA认证 HTTPSSSL/TSLHTTPS 在HTTP协议中,所有的数据都采用明文的形式传输,这就会导致数据非常容易泄露,只要拿到HTTP报文,就可以窃取各…

(计算机毕设)基于springboot免税商品购物商城的设计与实现

博主可接毕设设计!!! 各种毕业设计源码只要是你有的题目我这里都有源码 基于springboot免税商品购物商城的设计与实现 摘 要 Abstract 第一章 绪论 1.1 课题开发的背景 1.2 课题研究的意义 1.3 研究内容 第二章 系统开发关键技术…

计算机能力挑战赛c语言2024

先看看答题页面长啥样:选择题15道,编程题4道 选择题(楼主个人答案) 编程题

Java集合HashMap——针对实习面试

目录 Java集合MapHashMap的特性是什么?HashMap和Hashtable的区别?HashMap和HashSet的区别?HashMap和TreeMap的区别?说说HashMap的底层实现什么是hash冲突?有什么办法减少hash冲突?为什么HashMap的容量总是2…

数据结构:图(二)---- 最小生成树算法

接着上回的分享,继续分享一下图中比较重要的一类应用 那就是求最小生成树 最小生成树的定义 连通图中的每一棵生成树,都是原图的一个极大无环子图,即:从其中删去任何一条边,生成树 就不在连通;反之&#xf…

编程语言的前后端分离:可用JavaScript运行时作为后端的语言及与传统编程语言的对比 -Typescript、Nim、Moonbit

在现代软件开发中,编程语言的**“前后端分离”**概念鲜有提及,却是语言设计与实现的重要基石。这里的“前端”并非指 Web 开发中的界面部分,而是编程语言实现中的语法解析、词法分析等部分;“后端”则指生成可执行代码或中间代码的…

【蓝牙协议栈】【BLE】【BAS】精讲蓝牙电池服务

1. 蓝牙电池服务(Bluetooth Battery Service)概念 蓝牙电池服务是蓝牙设备与其他设备通信时用于报告其剩余电池电量的标准服务。它让用户能够随时了解蓝牙设备(如无线耳机、智能手表、蓝牙鼠标/键盘等)的电池状态,从而方便地管理这些设备的续航与电源使用。 BAS通常用于在…

dnaMethyAge包学习笔记

1.introduction 许多对甲基化年龄进行计算的文章都是采用网站实现计算的,能够实现对甲基化年龄的计算的R包相对比较少,其中应用最广的是dnaMethyAge包。作者本想寻找能够计算Grimage和Grimage2的R包,奈何没有寻找到,因此只能记录一…

详解八大排序(四)------(归并排序)

文章目录 前言:1 递归版本(MergeSort)1.1 核心思路1.2 实现代码 2 非递归版本(MergeSortNonR)2.1 核心思路2.2 实现代码 3.完整代码 前言: 归并排序的核心思路是把数组里面的数两两分成一组,组内…

商城小程序的流程渠道拓展

传统印象里,小程序的开发制作似乎很难,尤其是商城类型且功能体系完善的,事实也确实如此,没有较高的技术和成本投入或团队各个流程的专业人员合作,很难开发出来成品,或者质量较低。 当然对于大公司来说&…

小程序-基于java+SpringBoot+Vue的超市购物系统设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

Android开发-Pokémon界面设计

实现效果图,还没更新完 二、功能说明: 在上次实验的基础之上把recycleviewb列表完善并且增加点击效果,点击之后可以跳转到另外一个activity上,并且添加返回按钮,可以放回原列表页面,列表中的每一行都对应的…

jenkins的安装(War包安装)

‌Jenkins是一个开源的持续集成工具,基于Java开发,主要用于监控持续的软件版本发布和测试项目。‌ 它提供了一个开放易用的平台,使软件项目能够实现持续集成。Jenkins的功能包括持续的软件版本发布和测试项目,以及监控外部调用执行…

HopToDesk 安全加密、免费开源,远程桌面新选择!

远程桌面工具越来越成为现代工作生活的刚需。你是否还在为寻找一个既安全又免费的工具而苦恼?HopToDesk,一款支持安全加密、免费开源的远程桌面软件,或许正是你的不二之 HopToDesk与传统的远程桌面工具相比有哪些独特优势?它如何…

yum工具的学习

Linux下安装软件的方法 1.源代码安装 2.rmp包安装 3.包管理器进行安装 --- yum/apt Linux下载软件的过程 操作系统的好坏评估 -- 生态问题 yum具体操作 Linux软件安装所有人都能用,是以other的身份去执行可执行程序 文件拷贝(sudo)-- &g…

react 如何修改弹出的modal的标题

原来标题的样子&#xff1a; 修改为&#xff1a; 实现方式&#xff1a; <Modal title<span>股价趋势/{this.state.pccode}</span> visible{this.state.isPriceModalOpen} style{{ top: 20 }} width{1320} height{400} footer{null} onCancel{()>this.hideMo…

计算机网络-理论部分(一):概览

重点 计算机网络的重点是协议&#xff0c;各种协议&#xff0c;每种协议都有自己对应的应用场景以及对应功能&#xff0c;学好协议&#xff0c;就学好了计算机努网络。 协议分层 协议分层围绕数据的传递展开。数据的传递需要包括&#xff1a;打包数据&#xff0c;控制传递&a…

开源科学工程技术软件介绍 – EDA工具KLayout

link 今天向各位知友介绍的 KLayout是一款由德国团队开发的开源EDA工具。 KLayout是使用C开发的&#xff0c;用户界面基于Qt。它支持Windows、MacOS和Linux操作系统。安装程序可以从下面的网址下载&#xff1a; https://www.klayout.de/build.html KLayout图形用户界面&…

SpringMVC的视图

目录 一.视图分类 &#xff08;1&#xff09;转发视图&#xff08;Forward View&#xff09;&#xff1a; &#xff08;2&#xff09;重定向视图&#xff08;Redirect View&#xff09;&#xff1a; &#xff08;3&#xff09;其他视图技术 二.转发视图 三.重定向视图 四…