打印

5 1 嵌入式系统

[复制链接]
1920|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
maxianhui120|  楼主 | 2011-2-12 11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
§1.1、嵌入式系统的概念
    1、嵌入式系统概念的产生
    嵌入式系统本身是一个相对模糊的定义。一个手持的MP3和一个PC104的微型工业控制计算机都可以认为是嵌入式系统。
    嵌入式系统已经有了近30年的发展历史,它是硬件和软件交替发展的双螺旋式发展。
    第一款微处理器是Intel的4004,它出现在1971年,然后是是Intel公司的8048,它出现在1976年。Motorola同时推出了68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256字节的RAM、4K的ROM、4个8位并口、1个全双工串行口、两个16位定时器。
    之后在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051。 1981年Ready System发展了世界上第1个商业嵌入式实时内核(VTRX32)包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。
    随后,出现了如Integrated System Incorporation (ISI)的PSOS、IMG的VxWorks、QNX公司的QNX 等,Palm OS,WinCE,嵌入式Linux,Lynx,uCOS、Nucleus,以及国内的Hopen、Delta OS等嵌入式操作系统。

[size=+0]
    今天RTOS已经在全球形成了1个产业,根据美国EMF(电子市场分析)报告,1999年全球RTOS市场产值达3.6亿美元,而相关的整个嵌入式开发工具(包括仿真器、逻辑分析仪、软件编译器和调试器)则高达9亿美元。
 
[size=+0]    2、嵌入式系统的定义
    嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”。它与通用计算机技术的最大差异是必须支持硬件裁减和软件裁减,以适应应用系统对体积、功能、功耗、可靠性、成本等的特殊要求。

    根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

[size=+0]
    可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。
 
[size=+0]    3、嵌入式系统的几个重要特征
[size=+0]    ⑴、系统内核小
[size=+0]
    由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5K,而Windows的内核则要大得多。
[size=+0]    ⑵、专用性强
    嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。
[size=+0]    ⑶、系统精简
[size=+0]
    嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
[size=+0]    ⑷、高实时性OS
[size=+0]
    这是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。
[size=+0]    ⑸、嵌入式软件开发走向标准化
[size=+0]
    嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
[size=+0]    ⑹、嵌入式系统开发需要开发工具和环境
[size=+0]
    由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。
 
[size=+0]    4、嵌入式系统与PC之间的区别
[size=+0]
    嵌入式系统一般是专用系统,而PC是通用计算平台嵌入式系统的资源比PC少得多嵌入式系统软件故障带来的后果比PC机大得多嵌入式系统一般采用实时操作系统嵌入式系统大都有成本、功耗的要求嵌入式系统得到多种微处理体系的支持嵌入式系统需要专用的开发工具。
 
§1.2、嵌入式系统的构成
    嵌入式系统一般指非PC系统,它包括硬件软件两部分。
[size=+0]    1、硬件部分
    包括处理器/微处理器存储器外设器件I/O端口图形控制器等。
    嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
    1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
    2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
    3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。
    4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
 
[size=+0]    2、软件部分
    包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。
    有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
[size=+0]    实时操作系统
[size=+0]是嵌入式系统目前最主要的组成部分。实时性需要调度一切可利用的资源完成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分级(如联机查询系统)。
    按实时性分类
[size=+0]    ●[size=+0]具有强实时特点的嵌入式操作系统:其系统响应时间在毫秒或微秒级(数控机床);
[size=+0]    ●[size=+0]具有弱实特点的嵌入式操作系统其系统响应时间约为数十秒或更长(工程机械)。
[size=+0]    ●[size=+0]没有实时特点的嵌入式操作系统其系统响应时间在毫秒-几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。

 
§1.3、目前流行的几种嵌入式系统
[size=+0]    1、缩减PC系统
[size=+0]
    所谓缩减PC系统,指利用PC体系结构设计的嵌入式系统,例如利用PC104模块构成工业控制装置就是比较典型的设计。
    这种设计是建立在技术上己非常成熟的PC的体系结构之上的,它的硬件环境往往是一台单板化的PC系统。利用DOS或Windows操作系统为应用软件提供平台。
    这种设计可以利用PC作为开发工具,可以利用众多的PC环境软、硬件资源,在成熟的操作系统支持下,系统可以达到较高的可靠性和稳定性,这些显然是它的优点。但是这样的设计目前尚难以实现满足小体积、低功耗、低成本等嵌入式系统的常见技术要求。
 
[size=+0]    2、高级单片系统
[size=+0]
    所谓高级单片系统,是指那些准备加载Linux操作系统或类Linux操作系统的嵌入式系统。它的硬件构成的核心是一个集成了丰富功能的单一芯片,一般数据宽度往往是32位、它已经包含了儿乎全部的系统硬件,使得只需再增加很少几个器件,如存储器芯片,即可构成全部系统。
    生产高级单片的厂家及高极单片型号越来越多了,典型的是以ARM或MIPS内核为核心的单片机。在这里已经完全没有了PC体系结构的影子。芯片包容的功能极其丰富,往往除了大容量存储器以外,系统的硬件几乎都集成在一个单片上。它们的寻址空间大,数据总线宽,处理能力强,功耗低。这些芯片的设计目标是非常明确的,就是为了构成一个嵌入式系统。
    利用这样的芯片可以设计出非常紧凑的系统,ARM内核单片在移动电话上的成功是一个有力的佐证。
    采用高级单片的设计,大都取Linux或类Linux操作系统作为系统软件,向应用软件提供C语言级的开发平台。在Linux操作系统的支持下 系统的可靠性可以得到保证。操作系统带来的优点可以人大加快系统应用软件的开发效率。由于Linux的开放性,可以利用的资源也非常丰富。
 
[size=+0]    3、单片机系统
    所谓单片机是将CPU、存储器、I/O接口等集成在一块芯片上,因此称为“Single-Chip Microcomputer”。单片机主要是针对工业控制以及与控制有关的数据处理而设计的。
    随着单片机技术的不断发展,新型的单片机内部不断扩展了各种控制功能。如:A/D转换器、D/A转换器、PWM脉宽调制器、PCA计数器捕获/比较逻辑、高速I/O口等等,使得它已突破了Microcomputer的传统内容,而朝着Microcontroller的内涵发展。因此国外已将单片机统一称为Microcontroller(微控制器)。国内,仍按习惯称为“单片机”,但其实质应该是“微控制器”或“单片微控制器”。

    单片机的硬件系统分为单片机单片机系统和单片机应用系统三个层次。
[size=+0]   
单片机[size=+0]:将CPU[size=+0]和计算机的外围功能单元(如:存储器、I/O[size=+0]口、定时计数器、中断系统等)集成在一起的芯片。
[size=+0]    ●单片机系统
[size=+0]:当单片机内部的计算机外围功能单元不能满足对象要求时,通过系统扩展,在外部并行总线上扩展相应的计算机外围功能单元所构成的系统。构成单片机系统的手段是“[size=+0]系统扩展”[size=+0]
[size=+0]    ●单片机应用系统
[size=+0]:通过系统配置,给单片机系统按控制对象的环境要求配置相应的外部接口电路(如:数据采集系统的传感器接口、控制系统的伺服驱动接口单元以及人机对话窗口等),以构成满足对象全部要求的单片机硬件环境。构成单片机应用系统的手段是“[size=+0]系统配置”[size=+0]
    单片机的软件一般应该分层为系统软件应用软件。系统软件处于底层硬件和高层应用软件之间。但是,单片机的资源有限,设计者必须在系统软件的功能与构成系统软件的软硬件开销之间,仔细地寻求平衡。
    单片机的系统软件构成有两种模式:
[size=+0]    ●监控程序:
[size=+0]用非常紧凑的代码,编写系统的底层软件。这些软件实现的功能,往往主要是实现系统硬件的管理及驱动,并内嵌一个用于系统的开机初始化、程序代码下载及辅助调试等功能的引导( BOOT)模块。
[size=+0]    ●操作系统
[size=+0]:经过多年的努力,今天已有许多种适合于8位至32位单片机的操作系统进入实用阶段,在操作系统的支持下,嵌入式系统会具有更好的技术性能,如:程序的多进程结构,与硬件无关的设计特性,系统的高可靠性,软件开发的高效率等等。

相关帖子

沙发
maxianhui120|  楼主 | 2011-2-12 11:53 | 只看该作者
§1.4、嵌入式系统的开发技术
[size=+0]
    单片机应用系统中的程序存储器中必须放入调试好的应用程序,系统才能运行。
如果研制人员对单片机的结构、系统的硬件结构、指令系统十分熟悉,能确保所编制的程序不会出错,可以不需要开发装置,只要将所编制的程序固化到程序存储器中就可以了。否则就需要用开发工具。
[size=+0]    1、开发工具的主要作用
[size=+0]    ① [size=+0]系统硬件电路的诊断与检查。
[size=+0]    ② [size=+0]程序的输入与修改。
[size=+0]    ③ [size=+0]程序的运行、调试,具有单步运行、设断点运行、状态查询等功能。
[size=+0]    ④ [size=+0]能将程序固化到程序存储器中。
    不同等级的开发工具都必须具备上述功能,对于较完善的开发工具还应具备以下功能:
[size=+0]    ⑤ [size=+0]有较齐全的开发用软件工具。
[size=+0]    ⑥ [size=+0]有全速跟踪调试,运行的能力。
[size=+0]    ⑦ [size=+0]为方便模块化的软件调试,还应配置软件转储、程序文本打印等功能和设备。
[size=+0]    2、开发工具的种类
[size=+0]
    目前,国内使用较多的开发工具大致可分为四类:
[size=+0]    ① 普及型开发装置
    这种开发装置通常采用相同类型的单片机做成单板机形式,所配置的监控程序能满足应用系统仿真调试的要求。既能输入程序、设断点运行、单步运行、修改程序,也能方便地查询各寄存器、I/O口、存储器的状态和内容,是一种廉价的、能独立完成应用系统开发任务的普及性单板系统。
    系统中一般还配有:EPROM写入器、仿真头、磁带机转储接口等。
    通常,这类开发装置只能在机器语言水平上进行开发,配备反汇编和打印机时能实现反汇编和文本打印。
    为了提高开发效率,这类开发装置大多配备有与通用计算机连接的通信接口(通常为RS232C),并提供相应的组合软件,联机后,能在通用计算机上进行汇编语言编程、纠错,然后经通讯接口输入开发装置中进行运行和调试。
    这是目前国内应用最多的一类开发装置。

[size=+0]    ② 通用机开发装置
    这是一种在通用计算机上加开发模板的开发装置。
    在这种系统中,开发模板不能独立完成开发任务,只是起着开放系统接口的作用,其硬件结构应包含有通用计算机不可替代的部件。如:EPROM写入器、仿真头及CPU仿真所必需的单片机系统等。这种系统可充分利用通用机的软硬件资源,开发效率较高。

[size=+0]    ③ 专用开发系统
    这是一种高档次的开发系统,是专门用来开发单片机的专用计算机系统。硬件上具有通用机的配置水平,还具有EPROM写入板,用户系统仿真插头等。软件上配置有高级语言和功能完善、能高效率地开发调试的软件包。

[size=+0]    ④ [size=+0]模拟开发系统
    这是一种完全依靠软件来进行开发的系统。开发系统和用户系统在硬件上无任何联系,通常由通用计算机加模拟开发软件构成。
习题一
[size=+0]
    1、什么是嵌入式系统?
    2、嵌入式系统有哪些重要特征?
    3、目前流行的嵌入式系统有哪几种类型?
    4、嵌入式系统与PC有哪些区别?
    5、什么是缩减PC系统?
    6、什么是高级单片系统?
    7、什么是单片机?
    8、单片机的硬件系统分为哪几个层次?
    9、单片机的软件系统分为哪几个层次?
    10、单片机的系统软件有哪几种模式?
    11、单片机的开发工具有哪几类?

使用特权

评论回复
板凳
china_fog| | 2011-2-12 12:28 | 只看该作者
真长啊。直接下拉,赚分,走人

使用特权

评论回复
地板
maxianhui120|  楼主 | 2011-2-12 12:41 | 只看该作者
不想看直接点我要回复就行了,呵呵。

使用特权

评论回复
5
maxianhui120|  楼主 | 2011-2-12 12:43 | 只看该作者
这个文字挺长的,只是不让我建博客,只好在这里发了。其实才发了1/10,想学东西看吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

66

帖子

2

粉丝