‘壹’ ARM和嵌入式的解释
ARM是Advance RISC Machines的缩写,而RISC(reced instrument set computer)计算机精简的指令集合。
嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
‘贰’ ARM技术,嵌入式系统,单片机的简介和区别
我很碧裤直白的跟你解析
如果 单片机=电脑主尘颤机 ,那么ARM= CPU。
也就是说,ARM是内核处理器
单片机=内核+存储器+IO输出接口。
又所以有ARM可以做出你想派慧败要的任意单片机系统
‘叁’ 嵌入式单片机的简介
中文名称:单片机与嵌入式系统
英文名称:Single Chip Microcomputer & Embedded System 嵌入式系统指的是系统能单独完成一项功能, 而单片机只是能实现这个目的的一个部分而已。 嵌入式系统是指把一个微处理器“嵌入”到实际的应用系统中从而构成一个嵌入式系统,可分为硬件部分和软件部分。
其硬件部分主要有以下几种方式实现:
1.以mpu为核心组成,例如:arm等。
2.以mcu为核心,就是各种各样的单片机,它主要把处理器和存储器等部件集成在一块芯片上。
3.以dsp为核心,主要用来处理语音图形方面。
4.就是人们所说的sop了。
而软件部分,有的嵌入式有操作系统,有的没有。这主要由系统大小来决定。 1.始于微型机时代的嵌入式应用
电子数字计算机诞生于1946年,在其后漫长的历史进程中,计算机始终是供养在特殊的机房中,实现数值计算的大型昂贵设备。直到20世纪70年代,微处理器的出现,计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。
2.现代计算机技术的两大分支
由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。
早期,人们勉为其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元……),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。
如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。
3.两大分支发展的里程碑事件
通用计算机系统与嵌入式计算机系统的专业化分工发展,导致20世纪末、21世纪初,计算机技术的飞速发展。计算机专业领域集中精力发展通用计算机系统的软、硬件技术,不必兼顾嵌入式应用要求,通用微处理器迅速从286、386、486到奔腾系列;操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入到尽善尽美阶段。
嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。
因此,现代计算机技术发展的两大分支的里程碑意义在于:它不仅形成了计算机发展的专业化分工,而且将发展计算机技术的任务扩展到传统的电子系统领域,使计算机成为进入人类社会全面智能化时代的有力工具。 1.单片机开创了嵌入式系统独立发展道路
嵌入式系统虽然起源于微型计算机时代,然而,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”本质上是通用计算机直接芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统(单片微型计算机)。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。
2.单片机的技术发展史
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。
2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最着名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
‘肆’ 2. 单片机是不是嵌入式系统它与ARM嵌入式系统有何异同
一般的说,单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统,它的正式名称叫微控制器(MCU)。
IEEE对嵌入式系统的定义是“用于控制、监视或者辅助操作机器和设备的装置”,因此所有单片机系统都可以称为嵌入式系统,ARM只是其中一种,例如飞利浦公司的LPC2000系统就是着名的32位的ARM单片机。ARM与传统单片机的最大不同在于指令集,传统的单片机如51系列使用的是复杂指令集(CISC),且不具备指令流水线。而ARM使用的是精简指令集(RISC,而且使用了至少3级流水线。这使得ARM的制造成本和运行效率相对51有着明显的优势。
另外,传统的单片机一般都是8位机,而ARM是32位机。32bit数据的加减法,51需要多次处理,而在ARM中只需要1个指令。而且ARM的编译器相对传统单片机来说,易用性大大加强,比较流行的编译工具有IAR,RVCT,ADS,ARM-GCC等。
‘伍’ ARM,单片机,嵌入式,FPGA有啥区别我想学习FPGA,需要其他单片机,嵌入式等的知识吗
ARM是一种微处理器的类型。
单片机范围很广,其实广义上讲,ARM也是单片机。但是算是比较高级的单片机了。
ARM和单片机的关系就像说 酷睿i3 和 计算机处理器之间的关系。
嵌入式,这个没有明确的定义的。曾经有个工程师对我说:只要满足一下两个条件就属于嵌入式产品---1.专用性,就是是为了某一项功能或者某一个领域而设计的软硬件系统.2.可裁剪性,就是陆旅亮说和通用计算机相比,不管是软件还是硬件都可以根据自己的需要镇李进行删减的软硬件系统。就是嵌入式系统。
嵌入式要说定义没有,举例的话很多了,什么手机,MP3\4,Pad,上班用的打卡机,复印机……
FPGA,FPGA和前面所说的ARM,单片机是有本质区别的。因为ARM属于处理器,而FPGA不是。FPGA内部没有运算器,没有控制器,没有寄存器。只有许多逻辑门。你可以通过自己的需要控制里面逻辑门的连通与断开从而实现不同的电路。打个比方ARM是一把剑,那么FPGA就是一块铁,你可以照着ARM的样子打一把剑出来用,也可以照着51单片机一样打一把刀出来用。
单纯从学习方面来说,学习FPGA只早宽需要硬件描述语言的知识,比如verilog、VHDL等等。其他可以不管,有了这基础一定能学会。
如果要是应用的话,还得有单片机、嵌入式的知识才行。因为FPGA独立使用的话价值不大。成本不低。要和嵌入式处理器或其他器件配合使用才能发挥FPGA最大的用处。
‘陆’ ARM技术,嵌入式系统,单片机的简介和区别
ARM技术是ARM公司的一个产品,是一种CPU架构。其它厂商购买ARM授权的IP后,可以自行添加其它外设,比如I2C/SPI/UART等等,制作成真正的处理器芯片,比如三星的SC2440、NXP的LPC22XX等等。嵌入式系统包括两部分:硬件和软件。其中:硬件是以嵌入式处理器为核心的真实的设备的电气连接;软件就是指嵌入式软件。单片机的全称是:单片微型计算机。是微型处理器的统称,包括楼主提到的ARM内核处理器,还有诸如51内核单片机、MSP430系列等等。
‘柒’ 基于ARM的嵌入式系统与传统单片机系统相比性能有哪些明显优势
首先,ARM与传统的单片机一样,都是用来进行运算、控制、通讯的微处理器,都具游侍有ALU、内部寄存器(通用寄存器、栈指针寄存器、状态寄存器等)、地址总线、数据总线、中断控制器等。所以说,ARM并不是什么天外来客,在某种程度上来讲,ARM也是“普通人”,传统的单片机也并非“残疾”。
ARM与传统单片机的最大不同在于级指令集,传统的单片机(如51)使用的是复杂指令集(CISC),且不具备指令流水线;ARM使用的是精简指令集(RISC,正如ARM的全称Advanced
RISC
Machine),而且使用了至少态茄3级流水线。这使得ARM的制造成本和运行效率相对51有着明显的优势。
第三,ARM是32位机,传统的单片机一般都是8位机。随着信息量的增加,我们会越来越多的需要处理超过8位以上的数据。以32bit数据的加减法为例,51需要多次处理,而在ARM中只需要1个指令(数帆磨察据时4Byte对齐的,一般来说都会是对齐的)。
第四,基于ARM内核的芯片种类越来越多,器外围接口(UART/SPI/IIC/USB/CAN/BUS/LCDC),内部一般都加入了DMA,进一步提升了性能。给用户提供了很大的选择空间。
第五,工具和调试。ARM的编译器相对于传统单片机,其易用性大大加强,比较流行的编译工具有IAR,RVCT,ADS,ARM-GCC等。另外,ARM内部集成有JTAG调试接口,可以在线调试,只需要购买于编译器配套的Trace工具即可(IAR的J-link的,淘宝上好像有70元一个USB接口的;另外还有一种打印口的,更是便宜了)。
第六,软件资源。基于ARM的开源软件很多,OS类的有FreeRTOS/Linux/UCOS等。有的厂家还会提供USB/TCPIP协议栈,还有的提供特殊的库(如触摸按键的库、加密库等)。
‘捌’ 什么是嵌入式系统 什么是ARM (我要的是处理机)
一 什么是嵌入式系统
嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROM 、 EEPROM 或闪存 (Flash Memory) 作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
二 嵌入式处理器
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备 4 个特点: (1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度; (2) 具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; (3) 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; (4) 嵌入式悉亩御微处理器的功耗必须很低,尤其是睁岩用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW 甚至μ W 级。
据不完全统计,目前全世界嵌入式处理器的品种总量已经超过 1000 种,流行的体系结构有 30 多个系列。其中 8051 体系占多半,生产这种单片机的半导体厂家有 20 多个,共 350 多种衍生产品,仅 Philips 就有近 100 种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从 64kB 到 16MB ,处理速度为 0.1~2000MIPS ,常用封装 8~144 个引脚。
根据现状,耐备嵌入式计算机可分成下面几类。
(1) 嵌入式微处理器 (Embedded Microprocessor Unit, EMPU)
嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体积和功耗。和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点,但在其电路板上必须包括 ROM 、 RAM 、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。由嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上构成一个通常所说的单板机系统。嵌入式处理器目前主要有 Am186/88 、 386EX 、 SC-400 、 Power PC 、 68000 、 MIPS 、 ARM 系列等。
(2) 嵌入式微控制器 (Microcontroller Unit, MCU)
嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了 ROM/EPROM 、 RAM 、总线、总线逻辑、定时 / 计数器、看门狗、 I/O 、串行口、脉宽调制输出、 A/D 、 D/A 、 Flash RAM 、 EEPROM 等各种必要功能部件和外设。为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,不同的是存储器和外设的配置及功能的设置。这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅度下降、可靠性提高。由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,而且上述诸多优点决定了微控制器是嵌入式系统应用的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。通常,嵌入式微处理器可分为通用和半通用两类,比较有代表性的通用系列包括 8051 、 P51XA 、 MCS-251 、 MCS-96/196/296 、 C166/167 、 68300 等。而比较有代表性的半通用系列,如支持 USB 接口的 MCU 8XC930/931 、 C540 、 C541 ;支持 I2C 、 CAN 总线、 LCD 等的众多专用 MCU 和兼容系列。目前 MCU 约占嵌入式系统市场份额的 70% 。
(3) 嵌入式 DSP 处理器 (Embedded Digital Signal Processor, EDSP
在数字信号处理应用中,各种数字信号处理算法相当复杂,这些算法的复杂度可能是 O(nm) 的,甚至是 NP 的,一般结构的处理器无法实时的完成这些运算。由于 DSP 处理器对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理。在数字滤波、 FFT 、谱分析等方面, DSP 算法正大量进入嵌入式领域, DSP 应用正从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP 处理器。嵌入式 DSP 处理器有两类: (1)DSP 处理器经过单片化、 EMC 改造、增加片上外设成为嵌入式 DSP 处理器, TI 的 TMS320C2000/C5000 等属于此范畴; (2) 在通用单片机或 SOC 中增加 DSP 协处理器,例如 Intel 的 MCS-296 和 Infineon(Siemens) 的 TriCore 。另外,在有关智能方面的应用中,也需要嵌入式 DPS 处理器,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘, ADSL 接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是 DSP 处理器的优势所在。嵌入式 DSP 处理器比较有代表性的产品是 TI 的 TMS320 系列和 Motorola 的 DSP56000 系列。 TMS320 系列处理器包括用于控制的 C2000 系列、移动通信的 C5000 系列,以及性能更高的 C6000 和 C8000 系列。 DSP56000 目前已经发展成为 DSP56000 、 DSP56100 、 DSP56200 和 DSP56300 等几个不同系列的处理器。另外, Philips 公司最近也推出了基于可重置嵌入式 DSP 结构,采用低成本、低功耗技术制造的 R. E. A. L DSP 处理器,其特点是具备双 Harvard 结构和双乘 / 累加单元,应用目标是大批量消费类产品。
(4) 嵌入式片上系统 (System On Chip, SOC)
随着 EDI 的推广和 VLSI 设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了 SOC 技术。各种通用处理器内核将作为 SOC 设计公司的标准库,和其他许多嵌入式系统外设一样,成为 VLSI 设计中一种标准的器件,用标准的 VHDL 、 Verlog 等硬件语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简单,对于减小整个应用系统体积和功耗、提高可靠性非常有利。 SOC 可分为通用和专用两类,通用 SOC 如 Infineon(Siemens) 的 TriCore 、 Motorola 的 M-Core ,以及某些 ARM 系列器件,如 Echelon 和 Motorola 联合研制的 Neuron 芯片等;专用 SOC 一般专用于某个或某类系统中,如 Philips 的 Smart XA ,它将 XA 单片机内核和支持超过 2048 位复杂 RSA 算法的 CCU 单元制作在一块硅片上,形成一个可加载 java 或 C 语言的专用 SOC ,可用于互联网安全方面。
三 嵌入式操作系统
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统 ( 包括硬、软件系统 ) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等 Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序 。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
1. 嵌入式操作系统的种类
一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如 WindRiver 公司的 VxWorks 、 ISI 的 pSOS 、 QNX 系统软件公司的 QNX 、 ATI 的 Nucleus 等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理 (PDA) 、移动电话、机顶盒、电子书、 WebPhone 等。
a. 非实时操作系统
早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中段来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。
实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过 FIFO 队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要 RAM/ROM 的额外开销,因而在简单的嵌入式应用被广泛使用。
b. 实时操作系统
实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。
实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。
实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。实时操作系统具有如下功能:任务管理 ( 多任务和基于优先级的任务调度 ) 、任务间同步和通信 ( 信号量和邮箱等 ) 、存储器优化管理 ( 含 ROM 的管理 ) 、实时时钟服务、中断管理服务。实时操作系统具有如下特点:规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快。
实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的 CPU 使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了 CPU 让别的任务运行。不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把 CPU 的控制权完全交给了该任务,直到它主动将 CPU 控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出 CPU 的控制权。使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。
可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占 CPU 控制权处理不好,会产生系统崩溃、死机等严重后果。
2. 嵌入式操作系统的发展
嵌入式操作系统伴随着嵌入式系统的发展经历了 4 个比较明显的阶段。
第一阶段是无操作系统的嵌入算法阶段,是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。
第二阶段是以嵌入式 CPU 为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是: CPU 种类繁多,通用性比较差;系统开销小, 效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口 (API) ,开发应用程序简单;嵌入式应用软件丰富。
第四阶段是以基于 Internet 为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展以及 Internet 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。
3. 使用实时操作系统的必要性
嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。
首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。长期以来的前后台系统软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以通过系统运行的系统监控进程对其进行修复。通常情况下,这个系统监视进程用来监视各进程运行状况,遇到异常情况时采取一些利于系统稳定可靠的措施,如把有问题的任务清除掉。
其次,提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。 再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。 32 位 CPU 比 8 、 16 位 CPU 快,另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。 32 位 CPU 采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如, CPU 运行状态分为系统态和用户态。将系统堆栈和用户堆栈分开,以及实时地给出 CPU 的运行状态等,允许用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥 32 位 CPU 的优势。
从某种意义上说,没有操作系统的计算机 ( 裸机 ) 是没有用的。在嵌入式应用中,只有把 CPU 嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。
4. 实时操作系统的优缺点
在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的 ROM/RAM 开销, 2~5% 的 CPU 额外负荷,以及内核的费用。
回答者:与尔同轩 - 榜眼 十三级 8-21 10:05
评价已经被关闭 目前有 1 个人评价
好
100% (1) 不好
0% (0)
对最佳答案的评论
我想问:嵌入式系统 等不等于 PLC???
评论者: nickkung - 试用期 一级
其他回答共 1 条
一 什么是嵌入式系统
嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROM 、 EEPROM 或闪存 (Flash Memory) 作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
二 嵌入式处理器
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备 4 个特点: (1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度; (2) 具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; (3) 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; (4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW 甚至μ W 级。
据不完全统计,目前全世界嵌入式处理器的品种总量已经超过 1000 种,流行的体系结构有 30 多个系列。其中 8051 体系占多半,生产这种单片机的半导体厂家有 20 多个,共 350 多种衍生产品,仅 Philips 就有近 100 种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从 64kB 到 16MB ,处理速度为 0.1~2000MIPS ,常用封装 8~144 个引脚。
根据现状,嵌入式计算机可分成下面几类。
(1) 嵌入式微处理器 (Embedded Microprocessor Unit, EMPU)
嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体积和功耗。和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点,但在其电路板上必须包括 ROM 、 RAM 、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。由嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上构成一个通常所说的单板机系统。嵌入式处理器目前主要有 Am186/88 、 386EX 、 SC-400 、 Power PC 、 68000 、 MIPS 、 ARM 系列等。
(2) 嵌入式微控制器 (Microcontroller Unit, MCU)
嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了 ROM/EPROM 、 RAM 、总线、总线逻辑、定时 / 计数器、看门狗、 I/O 、串行口、脉宽调制输出、 A/D 、 D/A 、 Flash RAM 、 EEPROM 等各种必要功能部件和外设。为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,不同的是存储器和外设的配置及功能的设置。这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅度下降、可靠性提高。由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,而且上述诸多优点决定了微控制器是嵌入式系统应用的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。通常,嵌入式微处理器可分为通用和半通用两类,比较有代表性的通用系列包括 8051 、 P51XA 、 MCS-251 、 MCS-96/196/296 、 C166/167 、 68300 等。而比较有代表性的半通用系列,如支持 USB 接口的 MCU 8XC930/931 、 C540 、 C541 ;支持 I2C 、 CAN 总线、 LCD 等的众多专用 MCU 和兼容系列。目前 MCU 约占嵌入式系统市场份额的 70% 。
(3) 嵌入式 DSP 处理器 (Embedded Digital Signal Processor, EDSP
在数字信号处理应用中,各种数字信号处理算法相当复杂,这些算法的复杂度可能是 O(nm) 的,甚至是 NP 的,一般结构的处理器无法实时的完成这些运算。由于 DSP 处理器对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理。在数字滤波、 FFT 、谱分析等方面, DSP 算法正大量进入嵌入式领域, DSP 应用正从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP 处理器。嵌入式 DSP 处理器有两类: (1)DSP 处理器经过单片化、 EMC 改造、增加片上外设成为嵌入式 DSP 处理器, TI 的 TMS320C2000/C5000 等属于此范畴; (2) 在通用单片机或 SOC 中增加 DSP 协处理器,例如 Intel 的 MCS-296 和 Infineon(Siemens) 的 TriCore 。另外,在有关智能方面的应用中,也需要嵌入式 DPS 处理器,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘, ADSL 接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是 DSP 处理器的优势所在。嵌入式 DSP 处理器比较有代表性的产品是 TI 的 TMS320 系列和 Motorola 的 DSP56000 系列。 TMS320 系列处理器包括用于控制的 C2000 系列、移动通信的 C5000 系列,以及性能更高的 C6000 和 C8000 系列。 DSP56000 目前已经发展成为 DSP56000 、 DSP56100 、 DSP56200 和 DSP56300 等几个不同系列的处理器。另外, Philips 公司最近也推出了基于可重置嵌入式 DSP 结构,采用低成本、低功耗技术制造的 R. E. A. L DSP 处理器,其特点是具备双 Harvard 结构和双乘 / 累加单元,应用目标是大批量消费类
‘玖’ 什么叫做嵌入式单片机
MCU的嵌入式开发是与传统的MCU开发方式相对应的开发方式,传统的开发方式是采用仿真MCU(例如:我们目前常见的51系列开发装置,就是利用仿真装置的MCU的插头在插在应用板的MCU插座上,用仿真器代替应用板上的MCU),这类仿真器对于DIP和PLCC封橘烂装的MCU,同时MCU的工作段岩时钟较低时,是十分有效的,但是对于表贴的MCU就不一定适用(当然可以用表贴的接插件,但价格很贵,圆燃漏只适应用于开发用)。
MCU的嵌入式开发是指MCU自身内嵌仿真调功能,如JTAG,BDM接口和软件的monitor。在开发这一类MCU时只需要一根JTAG线或者RSS232
TO
TTL
线就行了。
MCU的嵌入式开发将集应用与开发一体,它是一种非常有效的新型开发方式,目前许多MCU,如:ARM
TI的DSP,C80C51F
M430
一部份AVR......。等都是具用的JTAG开发方式。JTAG已成为IEEE标准。
至于采用UART的monitor方式算不算嵌入式开,我想这是一个定义问题。但这种方式也是一种有效的方式,如富士通的MB90FXX,KEIL
51中的ISD51,和一些ARM开发都是采用UART与软件接合进得的。
‘拾’ IT培训分享ARM与单片机的区别
1、软件方面
这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?
1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。
2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死让闷掉。这在单片机的软件开发中没见到过。
3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。
2、硬件方面
现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32arm相比还是有些差距吧。
arm芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。
总的来说,单片机是个微控制器,arm显然已经是个微处理器了。
引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,java虚拟机等。也就是说,有很多免费的资源可以利用,IT培训发现上述两种服务就正滑悔是例子。举正如果在单片机上开发这些功能可以想象其中的难度。