什么是嵌入式系统

来源:互联网 发布:c语言 libevent 编辑:程序博客网 时间:2024/04/30 04:05

传统意义上讲,嵌入式系统就是指非PC系统,有计算机功能但又不是计算机的设备。专业地讲,就是以应用为中心的,软硬件可裁减的,适应业务系统对功能,可靠性,成本,体积,功耗等综合性严格要求的专用计算机系统。普通的PC或者服务器就是通用软件平台,而嵌入式系统是“专用”的应用平台。比如在通信领域,专业进行传输,交换,视频流处理,编解码,复用,路由等都采用专用CPU,是专门为特定应用设计的平台。比如说专业的玩游戏,有SONY PS2,PSP等等,播放多媒体的CD,VCD,DVD等。

嵌入式系统主要有CPU,外围设备,嵌入式操作系统(含“板级支持软件”——BPS),用户程序四部分组成。

嵌入式系统开发包括硬件开发和软件开发两个部分。嵌入式系统开发者即使不是硬件开发工程师也需要具备一定的硬件知识,因为嵌入式系统操作系统,应用软件等都会受硬件的影响,甚至一部分鼓掌需要先判断是软件还是硬件引起的。

网络层及以下的设备大多做成嵌入式的,而应用层设备多以非嵌入式居多。

嵌入式CPU模块主要芯片就是CPU,和内存(RAM和ROM),一般不会选择高价的通用CPU,而是采用具有特定控制功能的专用嵌入式CPU,它被称为采用RISC(Reduced Instruction Set Computer精简指令集计算机)的CPU。

业务数据处理模块对于不同的通信产品可能有很大的差异,比如媒体压缩也解压缩等,一般都用ASIC,DSP,NP,FPGA等组成。

                                               根据复杂度对CPU分类

                                                     ——RISC 和 CISC (Complex Instruction Set Computer复杂指令集计算机)

为了适应各种应用,通用CPU往往需要考虑多种需求,指令集更为复杂。某种CPU可能只需要处理几种特定需求,不必过于复杂,就可以剔除通用CPU中大量的指令集,这种CPU就被称为RISC。CISC CPU指令集丰富,但一条指令的执行需要若干机器周期,因此CPU结构复杂,但完成复杂功能时,只需要少数的软件代码。RISC CPU指令集小,指令本身简单,但指令执行快,结构相对简单,在完成复杂功能时代码量大。CISC CPU构成的通用计算机功能强大,但对于通信类设备,CISC很多优势难以发挥。目前绝大多数嵌入式系统都使用RISC CPU,主要因为功耗低,散热要求低,可靠性高,体积小,成本低。目前RISC CPU三大达标类型是Power PC(IBM,苹果,摩托罗拉成功开发的芯片), MIPS(常见供应商有TI,中国龙芯等等笔者不太清楚的公司,SONY的PS2就是用的MIPS), ARM(Advanced RISC Machines,是微处理器行业的一家知名企业)。

                                               专用集成电路及实现技术

                                                                        ——ASIC, CPLD和FPGA

应特定用户要求,为实现特定功能而设计,制造的完全专用集成电路称为ASIC(Application Specific Integrated Circuits).ASIC芯片本身不运行任何形式的代码,一经制成,功能就完全不能增加或改变,但开发人员可以利用改变管脚高低电平修改寄存器来配置功能参数。

ASIC芯片是硬件逻辑,具有高效的特点,而且芯片研发,制造一次性投入极高,但后期生产成本相对较低。因此只有具备相当数量需求,并且功能稳定,不需要经常变化的芯片才会被制成ASIC。

如果对芯片功能灵活性要求高,或者用量非常有限的情况下,一般采用可编程器件通过编程来实现特定的功能,CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件

和FPGA((Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。)是这些可编程器件中的佼佼者。

FPGA通过编程可实现用户的功能,具体的操作方法是对FPGA内部的逻辑模块和输入/输出模块进行重新配置。FPGA较多应用于数据链路层和网络层。

CPLD是一种更加复杂的可编程逻辑器件。

CPLD和FPGA都可以根据开发者需求来进行编程,集成度,速度及编程方式上各有各自的特定。目前利用CPLD和FPGA来进行ASIC设计是最为流行的方式之一。CPLD,FPGA的代表厂家有Xilinx(Xilinx(赛灵思)是全球领先的可编程逻辑完整解决方案的供应商。Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual Property)核。怪不得笔者之前修读课程时候下载的一个软件名字就是什么Xilinx的,原来是赛灵思!!),Altera(二十年前发明世界上第一个可编程逻辑器件开始,Altera公司(阿尔特拉)(NASDAQ:ALTR)秉承了创新的传统,是世界上“可编程芯片系统”(SOPC)解决方案倡导者。Altera结合带有软件工具的可编程逻辑技术、知识产权(IP)和技术服务,在世界范围内为14,000多个客户提供高质量的可编程解决方案。我们新产品系列将可编程逻辑的内在优势——灵活性、产品及时面市——和更高级性能以及集成化结合在一起,专为满足当今大范围的系统需求而开发设计。2015年12月英特尔斥资167亿美元收购了Altera公司。笔者发现之前学院好像也发过这么一个芯片)

ASIC与通用集成电路相比,体积小,重量轻,功耗低等等优点,缺点是功能扩展性较弱。基础CPLD和FPGA的功能开发,受限于其基础模块的一些特想,想天马行空就没那么容易了。

                                                    Soc

集成电路设计从晶体管的集成发展到逻辑门的集成,现在又发展到IP(Intellectual Property),即Soc设计技术。Soc源于20世纪90年代中期,人们希望将完整计算机所有不同功能一次直接集成于一颗芯片上,System on chip,也叫系统级芯片。 Soc是实现了复杂系统功能的VLSI超大规模集成电路(Very Large Scale Integration)的简称,指几毫米见方的硅片上集成上万至百万晶体管、线宽在1微米以下的集成电路。由于晶体管与连线一次完成,故制作几个至上百万晶体管的工时和费用是等同的。大量生产时,硬件费用几乎可不计,而取决于设计费用。),由可设计重用的IP核组成(IP核是具有复杂系统功能的,能独立出售的VLSI,笔者大二的时候用ISE进行VGA实验时用过里面IP核模块,但一直不太清楚是什么。终究要多看书才懂得多啊!)Soc一大关键优势是降低系统板上因信号在多个芯片之间进出带来的延迟而导致的性能局限,在PCB板空间特别紧张和将低功耗视为第一设计目标的应用(如手机)中,Soc常常是唯一的高性价比解决方案。

                                                 嵌入式操作系统

被称为实时操作系统Real Time Operating System ,RTOS是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。)对应的叫分时操作系统,按照相等的时间片调度进程轮流进行,无法实时响应外部的突发事件。通信产品一般对实时性要求是很高的,所以绝大部分通信产品使用RTOS。嵌入式Linux操作系统就是比较常见的了。

 

 

0 0