0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

标签 > 嵌入式设计

嵌入式设计简介

  IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。

  嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

  从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式设计百科

  IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。

  嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

  从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

  单片机和嵌入式设计的区别

  单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们自己的定义,接下来,就谈谈本人对这两个概念的理解和感悟。

  首先明确概念,什么是单片机,单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

  比如最经典的51系列单片机,如下图所示,外观只是一块一个拇指大小的长方体芯片,共40个引脚,里面包含了逻辑运算单元。实际上也就是一个cpu。

  

  在最开始接触单片机的时候,还曾经有过一个疑问,为什么单片机是黑色的而不可以是别的颜色,后来才知道是单片机材料的限制。

  对单片机而言,其实一个芯片就是全部,其他的比如单片机最小系统都是为了单片机的正常运作而加入其他元件,比如晶振,5v电源,电感电阻等。当然最小系统只能保证单片机正常运行,几乎实现不了基于单片机的任何应用。为了使单片机实现应用,必须要加入其他外设。比如按键,led灯,led屏,蜂鸣器,各种sensor。这也就是市面上很多公司都在做的单片机开发板。

  总结,单片机就是完成运算、逻辑控制、通信等功能的单一模块。也就是单片机真的姓“单”。DSP芯片也可以认为是一个单片机。当然它们性能很强大,但是功能依然很单一,总之就是处理数据、逻辑。

  那么什么是嵌入式呢,一般说嵌入式都是指嵌入式系统,嵌入式系统是将应用程序、操作系统、和计算机硬件在一起的系统,是指以应用为中心,以计算机技术为基础,软硬件可裁剪,其针对的用户应用对功能、可靠性、成本、体积、功耗和使用环境有特殊要求的专用计算机系统。IEEE(Instituteof Electrical and ElectronicsEngineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。

  嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。这是因为嵌入式系统一般用于工业控制,也就是说对外设的控制都是写死的,并不需要人工干预,同时也为了保证系统的稳定和可靠。

  我们经常可以听到公司招聘的要求是嵌入式软件工程师或者嵌入式硬件工程师,也就是说嵌入式系统包括软件和硬件,其实仔细想想也能明白,都已经跑系统了,当然有软件也有bsp硬件啦。也就是说嵌入式系统是软硬件结合体,国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

  接下来将嵌入式分成硬件和软件详细说明。

  硬件层:

  硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

  其中核心就是微处理器,嵌入式处理器和一般的电脑cpu还有区别,嵌入式微处理器大多工作在特定设计的系统中,比如TI或者Atmel公司都有很多定位不同的处理器,atmel的SAM系列是专门为物联网设计的,AVR则由于性能十分突出,广泛应用于工业领域。

  嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。

  比如arm公司有各种各样的处理器架构,最经典的cortex系列,它属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。下图就是cortex系列的不同定位。

  

  在嵌入式领域,可以说arm架构的处理器占据了半壁江山,而arm公司也成为著名的科技公司,而它却没有生产任何处理器,而只是提供了IP,可以看出一流公司做标准。而其他用的比较多的架构就是sparc、powerpc等。

  嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。

  嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。这一点其实和单片机类似。

  软件层:

  也就是操作系统了,包括内核和文件系统,还有就是更为顶层的应用程序,嵌入式操作系统一般都是Linux或者其他类Unix,还有一些实时操作系统(RTOS)比如VxWorks、RTEMS、ucOS等。

  其中Linux还包括不同的distribution,比如Ubuntu、Redhat、Debian、centos等,他们都是采用Linux的内核,不同的是上面的software和tools,当然不用太过于担心标准问题,这些Linux发行版选择的软件几乎都是比较通用的,比如网页服务器的Apache、电子邮件服务器的postfix、sendmail、文件服务器的Samba等。此外还有Linuxstandard base等标准来规范开发者。

  类Unix主要是FreeBSD以及Solaris等。

  嵌入式领域最常用的还是一些实时操作系统,实时操作系统的核心就是实时性,本质就是任务处理所华为时间的可预测性,即任务需要在规定内时限内完成。IEEE对实时系统的定义是“那些正确性不仅取决于计算的逻辑结果也取决于产生结果所花费时间的系统”。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。

  那么实时操作系统和Linux这种分时操作系统的区别列举如下:

  (1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。

  (2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。

  (3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。

  (4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。

  (5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

  由于更加可靠和及时。嵌入式实时操作系统更加广泛应用于工业控制、航空航天、军工等领域,比如美国航天局NASA近几年发射的火星探测器等都是采用的RTEMS实时操作系统。

  中间层:

  所谓的中间层就是软件层和硬件层之间的接口层,其实严格而言也属于软件层。一般开发者称之为BSP,这一层主要负责的是向下提供硬件的驱动,硬件的配置等操作,向上则向软件开发者提供标准API,进行中间层开发的开发者通常称为嵌入式驱动工程师。

  从这里也可以看出来,嵌入式设计和软硬都分不开,既要掌握底层硬件的特性以及如何驱动其工作,也要了解操作系统的相关知识,才可以编写相应功能的应用。

  因此看一个操作系统是否支持某个芯片或者某个开发板,只要看其源码中是否包含相应芯片或开发板的板级支持包。

  以上就是本人对嵌入式系统系统的理解,接下来再来谈谈嵌入式系统应该跑在什么样的硬件上。

  谈起嵌入式硬件或者开发板,我想很多人第一印象就是RaspberryPi,是一块只有信用卡大小的微型电脑,别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。树莓派推出后,很多厂商争相推出类似产品,比如香蕉派之类的。在这里用TI的Beagleboneblack板子进行说明,Beagleboneblack板如下图所示:

  

  可以看出体积大小和树莓派类似,外设包括有USBhost和USBmini以及网卡接口,,背面还有一个sd卡槽和HDMI接口。接下来看看它的性能参数:

  下表是BBB板和树莓派的性能参数比较:

  

  Beagleboneblack的处理器是一块主频达到1GHZ的Ti处理器,基于arm的cortexa8架构,RAM是512M的DDR3,存储器大小为2GB,支持的操作系统包括Ubuntu、archLinux、Android等。外设有USBhost和一块百兆网卡。

  BBB的处理器采用的是当前嵌入式系统中最流行的ARMv7指令集。采用当今广泛使用的指令集的处理器可以被更多的软件支持。例如,一些操作系统已经不支持在ARMv6指令集上运行,例如,Ubuntu在2012年4月放弃了对ARMv6指令集的支持。

  ARMv7相对与ARMv6指令集的另一个优势在于,使用ARMv7的处理器的实际性能更加强劲。ARMv7相对与ARMv6的优势还有很多,比如一些显著的改进:实现了超标量架构、包含了SIMD操作指令、改进了分支预测算法从而极大的提高了某些性能。

  总结:

  以上就是一块基本的嵌入式核心板所具有的性能参数,和上面说到的单片机的性能参数相比较,单片机的处理能力较低,主频大多在几十M上下,和嵌入式动辄上百上千M的处理速度还是相差较多,此外单片机并不具有图形界面的处理能力,也就是GPU的缺乏导致单片机几乎不可能带动图形界面;单片机的存储空间和嵌入式处理器也不是一个等级的,单片机通常片内存储只有几k大小,而由于外设的限制也不太可能大范围增加外设emmc,而嵌入式处理器通常有几百兆的RAM,如此巨大的差别导致单片机几乎不可能像嵌入式处理器那样运行操作系统,甚至连TCP/IP协议栈和USB协议栈都跑不起来,一些高端的单片机比如ST公司的STM32系列,可能可以跑一些轻量级的系统os和嵌入式网络协议栈,比如IwIP协议栈。嵌入式处理器丰富强大的性能决定它能完成更多单片机不能完成的应用,比如网络通信功能,视频传输处理功能等,而当外设存储增加后,嵌入式处理器能够轻松运行各种Linux系统,以及图形GUI界面。

  在开发方式上单片机和嵌入式也有较大差别,也就是编译过程的区别,单片机主要在Windows等图形界面下开发,目前有很多成熟的IDE工具比如keil、IAR、以及ti的CCS等,这些工具集编译、汇编、链接、仿真为一体,并且由于在Windows下开发,具有友好的用户界面,开发者只需编写c代码,然后点击编译链接按键即可,出现错误还可以debug或者仿真,上手还是非常快的。而嵌入式开发一般是在Linux下进行的,要将c代码在自己主机上编译完成,然后通过系统镜像或者uboot引导将编译好的文件烧入开发板,由于主机的处理器的x86架构,而编写的代码是为了运行在arm架构或sparc架构的处理器上,因此存在一个交叉编译链的安装,此外,Linux下没有Windows那样的IDE,也就是编译,链接源代码都需要开发者自己完成,一般都是利用GNUmake脚本编写Makefile以及configure文件来完成,Makefile文件中编写如何对c或者h文件编译,也就是编译规则以及依赖文件是什么。这些都需要开发者自己完成。并且以上过程都是在Linux下的终端也就是命令行中完成,这也给嵌入式开发增加了难度。

查看详情

嵌入式设计知识

展开查看更多

嵌入式设计技术

基于HMI-BOARD的智能交互推杆控制系统设计

基于HMI-BOARD的智能交互推杆控制系统设计

在工业界,推杆在设计完成后,常常需要进行反复伸缩的测试,用来检测推杆的使用寿命。目前业界厂家常常采用PLC进行控制,这样的测试方法安全且稳定,但是成本高...

2023-09-26 标签:控制系统嵌入式设计Flash存储 421 0

单片机引脚是如何控制负载大电流的呢?

单片机引脚是如何控制负载大电流的呢?

工作中,我们使用的单片机常常被用于控制大电流设备的正常运转,这样的例子是嵌入式设计中非常的常见技术,因为于单片机它属于是低功耗微处理器,因此其I/O引脚...

2023-09-22 标签:继电器MOS管嵌入式设计 586 0

网络安全评估工具LaboryzrTM

网络安全评估工具LaboryzrTM

Secure-IC提供的专用评估和安全工具LaboryzrTM,支持从产前阶段开始的整个设计流程的评估。

2023-01-11 标签:芯片半导体嵌入式设计 1062 0

DM21011烟机测温模组

DM21011烟机测温模组

一、模组介绍该烟机温感模组的组成结构为一个红外测温模组集成在一个方形外壳内,应用于抽油烟机内,能够通过检测锅炉内的温度实现自动控制油烟机的开关和挡位大小...

2022-09-21 标签:嵌入式设计家电类设计 258 0

加密如何帮助设计保持安全

嵌入式电子产品在各行各业几乎都无处不在。例如微控制器,不论是用于监控汽车的CAN总线,还是用于读取某物联网设备的传感器数据,亦或是用于控制厨房电器,像这...

2022-09-14 标签:CAN总线嵌入式设计加密 590 0

FPGA夹层卡对高级嵌入式设计的影响

FPGA夹层卡对高级嵌入式设计的影响

和 JESD204B 一样,存在对更快、更密集光纤的需求。使用光纤排带的器件能让部件的尺寸最小。因为 FMC+ 的空间能立即支持 24 路全双工光纤链路...

2019-07-30 标签:fpga光纤嵌入式设计 2470 0

关于分布式控制系统简化了机器人的3C设计的相关方案设计

关于分布式控制系统简化了机器人的3C设计的相关方案设计

MCU用于发动机控制已经好几年了,而且当更高效,更可靠,磨损减少,使用寿命延长的新算法出现,MCU总会开发新功能来跟上这些改变。举个例子,升级的处理能力...

2019-08-27 标签:机器人嵌入式设计分布式 1682 0

关于嵌入式硬件电路设计的基本教程分析

关于嵌入式硬件电路设计的基本教程分析

一个嵌入式系统如果有电源、晶振和CPU,那么这就是我们熟悉的最小系统。如果该嵌入式系统需要运行大点的操作系统,那么不但需要CPU具有MMU,CPU还需要...

2019-08-27 标签:电路控制器嵌入式设计 3963 0

关于将RF引进嵌入式设计的方案设计和应用分析

其次,微波行业至少这些服务于航空航天和国防的部门,没有像VITA一样的标准机构,并且不习惯处理国防部或其他政府机构以外的任何标准。它也与VITA和嵌入式...

2019-08-27 标签:变频器嵌入式设计串行接口 2790 0

用于嵌入式设计的BGA封装技术正在稳步前进

除了基于特定BGA的嵌入式设计固有的这些设计因素外,设计的主要部分还包括嵌入式设计师从BGA正确迂回信号走线所必须采取的两种基本方法:Dog bone型...

2018-07-20 标签:嵌入式设计封装技术BGA 3401 0

查看更多>>

嵌入式设计资讯

推出嵌入式人才认证体系,ST联合培训机构加强MCU应用人才培养

推出嵌入式人才认证体系,ST联合培训机构加强MCU应用人才培养

在5月12日的STM32峰会上,来自ST中国区微控制器和数字IC产品部总监曹锦东、ST微控制器市场经理丁晓磊,以及来自凡亿教育的总经理郑振凡与专家级讲师...

2023-06-28 标签:mcuST嵌入式设计 1044 0

简谈汽车安全与保障

简谈汽车安全与保障

Secure-IC提供的Securyzr TM可达到 ASIL-D 安全级别。

2023-01-10 标签:半导体嵌入式设计安全标准 608 0

关于嵌入式系统安全性,需要在产品设计前了解的九大要点

关于嵌入式系统安全性,需要在产品设计前了解的九大要点

嵌入式系统是物联网(loT)的心脏和灵魂,大至家用汽车,小至医用起搏器,嵌入式系统已经广泛应用到了我们的生活中。通常嵌入式系统为执行专用功能设计,采用轻...

2023-01-03 标签:半导体嵌入式系统嵌入式设计 1291 0

单板计算机为什么对于嵌入式计算设计很重要?

单板计算机为什么对于嵌入式计算设计很重要?

几乎所有计算解决方案都嵌入了单板计算机。从智能设备到交互式数字标牌,有大量的应用程序在幕后部署了单板计算机。为什么将单板计算机嵌入到所有这些应用程序中?...

2022-09-27 标签:嵌入式设计嵌入式计算机 421 0

雅特力精彩亮相2022"嵌入式设计与万物联网市场脉动研讨会"

雅特力精彩亮相2022"嵌入式设计与万物联网市场脉动研讨会"

6月16日,由ASPENCORE在台北华南国际会议中心举办的「嵌入式设计与万物联网市场脉动研讨会」圆满落幕,雅特力受邀出席活动并发表演讲!在今年疫情如此...

2022-06-18 标签:嵌入式设计雅特力 347 0

用案例分析如何将客户需求转化为产品之一

用案例分析如何将客户需求转化为产品之一

本文介绍了整理客户需求,采用3D软件完成产品外形和布局设计的思路。

2022-05-07 标签:嵌入式嵌入式设计 611 0

芯灵通科技发布PLL时钟芯片:打破技术垄断,助力小基站全国产化!

芯灵通科技发布PLL时钟芯片:打破技术垄断,助力小基站全国产化!

根据工信部最新统计,截至2022年底我国移动通信基站总数达1083万个,其中5G基站有231万个,占全球比例超过60%。而为了实现更深更广的网路覆盖,就...

2023-04-13 标签:嵌入式设计时钟发生器相位噪声 1308 0

边缘智能 X 嵌入式创新 点亮数字中国—2021研华嵌入式设计论坛圆满落幕!

研华中国IoT嵌入式平台事业群总经理许杰弘先生也在开场致辞中明确表示:近年来,具有数据化、智能化、平台化、生态化等特征的数字经济,已成为我国高质量发展的...

2021-05-27 标签:云计算嵌入式设计AI 1864 0

活动邀请|2021研华嵌入式设计论坛报名开启中,诚邀您参加!

为更好的助力企业数字化转型,加快数字中国建设,研华将于2021年5月27日在深圳举行“边缘智能&嵌入式 点亮数字中国”主题论坛。

2021-05-17 标签:恩智浦嵌入式设计研华科技 2484 0

教你动手写UDP协议栈—OTA上位机<3>

OTA采用现成的协议栈不香吗,为什么要自己写协议栈。究竟有啥好处?

2020-12-24 标签:嵌入式设计UDP协议栈 559 0

查看更多>>

嵌入式设计数据手册

相关标签

相关话题

换一批
  • 可编程直流电源
    可编程直流电源
    +关注
    可编程直流电源是一种用于电子与通信技术领域的科学仪器,于2015年1月5日启用,可编程直流电源是用数字或编码器输入,非电位器调节电压、电流的直流电源。
  • 三相系统
    三相系统
    +关注
  • vr教育
    vr教育
    +关注
    vr教育即虚拟现实在教育领域中的应用,它主要体现在可以构建虚拟学习环境、虚拟实验基地,能创造虚拟学习伙伴,可以建立虚拟仿真校园,还能做虚拟实验。禾艾VR就是利用VR技术做的虚拟现实教育。
  • 分析工具
    分析工具
    +关注

关注此标签的用户(0人)

编辑推荐厂商产品技术软件/工具OS/语言教程专题