《MC9S12XS单片机原理及嵌入式系统开发》MC9S12XS单片机原理及嵌入式系统开发合肥工业大学张阳,吴晔,滕勤Email:TEL:《MC9S12XS单片机原理及嵌入式系统开发》第1章嵌入式系统简介嵌入式系统嵌入式系统硬件嵌入式系统软件嵌入式操作系统嵌入式系统开发方法《MC9S12XS单片机原理及嵌入式系统开发》前言在信息化社会中,计算机和网络已经全面渗透到我们生活的每一个角落。本章作为本书的开篇,主要介绍嵌入式系统的基本概念和嵌入式系统的开发学习方法。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.1系统系统是一种根据固定的计划、程序或者规则进行工作、组织或者执行一项或多项任务的方式。系统也是一种工作安排方法,其所有单元能够按照一定的计划或者程序装配在一起,共同完成工作任务。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.2嵌入式系统《ComputersasComponents——PrinciplesofEmbeddedComputingSystemDesign》一书中指出:什么是嵌入式计算系统?如果不严格地定义,它是任何一个包含可编程计算机的设备,但是它本身却不是一个通用计算机。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.2嵌入式系统《EmbeddedMicrocontrollers》一书作者认为:嵌入式系统是一种电子系统,它包含微处理器或者微控制器,但是我们不认为它们是计算机——计算机隐藏或者嵌入在系统中。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.2嵌入式系统英国电机工程师协会定义:嵌入式系统是控制、监视或辅助某个设备、机器甚至工厂运行的设备。它具备4个特征:①用来执行特定的功能;②以微型计算机与外围设备构成核心;③具有严格的时序与稳定度;④全自动操作循环工作。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.2嵌入式系统还可以用以下文字总结嵌入式系统的概念:嵌入式系统一般指非PC系统,有计算机功能但又不称为计算机的设备,它以应用为中心,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件和硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“机器”或“器件”。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.2嵌入式系统图1.1嵌入式系统的基本架构《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.3嵌入式系统的分类小型嵌入式系统小型嵌入式系统采用一个8位或者16位的微控制器设计;硬件和软件复杂度小,需要进行板级设计。为这些系统开发嵌入式软件时,主要的编程工具是所使用的微控制器或者微处理器专用的编辑器、汇编器和交叉汇编器等,通常利用C语言开发这些系统的软件。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.3嵌入式系统的分类中型嵌入式系统中型嵌入式系统采用一个16位或者32位的微控制器、数字信号处理器(DSP)或者精简指令集(RISC)计算机等设计,硬件和软件复杂度都比较大。对于复杂的软件设计,可以使用如下的编程工具:RTOS、源代码设计工具、模拟器、调试器和集成开发环境(IDE)等,软件工具往往还提供了硬件复杂性的解决和分析方法。《MC9S12XS单片机原理及嵌入式系统开发》1.1嵌入式系统1.1.3嵌入式系统的分类复杂嵌入式系统复杂嵌入式系统的软件和硬件都非常复杂,需要可升级的处理器或者可配置的处理器和可编程逻辑阵列(如FPGA、CPLD等器件)。它们用于边缘应用,在这些应用中,需要硬件和软件协同设计,并且都集成到最终的系统中,然而它们又受到硬件单元所提供的处理速度、存储器等资源的限制。为了解决时间问题,提高系统运行速度,可以在硬件中实现一部分软件功能,例如加密和解密算法、TCP/IP协议栈和网络驱动程序等功能。当然,系统中某些硬件资源的功能模块同样也可以用软件来实现。这些系统的开发工具一般十分昂贵,有时还需要为这些系统开发编译器或者重定目标的编译器等。《MC9S12XS单片机原理及嵌入式系统开发》1.2嵌入式系统硬件嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备4个特点:对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;可扩展的处理器结构,以便能够迅速地扩展满足应用的高性能的嵌入式微处理器;嵌入式微处理器的功耗要求必须很低,尤其是用于便携式的无线及移动的计算和通信设备,对于靠电池供电的嵌入式系统更是如此,功耗往往为mW甚至mW级。《MC9S12XS单片机原理及嵌入式系统开发》1.2嵌入式系统硬件1.2.1嵌入式微处理器微处理器是一个集中取址和处理一组通用指令的单元。任何一个CPU必须包括一个控制单元和一个ALU单元。而嵌入式微处理器采用的是“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度地减小系统的体积和功耗。和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高等一系列优点,但在其电路板上必须包括ROM、RAM、总线接口、必要的外设等器件。由嵌入式微处理器及其存储器、总线、外设等器件安装在一块电路主板上而构成的系统,就是通常所说的单板机系统。嵌入式微处理器目前主要有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。《MC9S12XS单片机原理及嵌入式系统开发》1.2嵌入式系统硬件1.2.2嵌入式微控制器嵌入式微控制器又称为单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能部件和外设。为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,主要的不同在于存储器、外设的配置和功能的设置等方面。这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。《MC9S12XS单片机原理及嵌入式系统开发》1.2嵌入式系统硬件1.2.3嵌入式DSP处理器在数字信号处理应用中,各种数字信号处理算法往往相当复杂,一般结构的处理器无法实时地完成这些运算功能。由于DSP处理器对系统结构和指令进行了特殊的设计,使其特别适合进行实时数字信号处理。在数字滤波、FFT(快速傅里叶变换)、谱分析等方面,DSP算法正大量进入嵌入式领域,DSP应用正逐步从通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两类:①DSP处理器经过单片化、EMC(电磁兼容性)改造、增加片上外设成为嵌入式DSP处理器,TI的TMS320C2000/C5000等属于此范畴;②在通用单片机或SOC中增加DSP协处理器,例如Intel的MCS-296和Infineon的TriCore系列。《MC9S12XS单片机原理及嵌入式系统开发》1.2嵌入式系统硬件1.2.3嵌入式片上系统随着EDA(电子设计自动化)的推广和大规模集成电路(LargeScaleIntegratedCircuit,VLSI)设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上集成实现更为复杂的系统,这就产生了SOC技术。各种通用处理器内核可以作为SOC设计公司的标准库,而嵌入式系统外设也成为了VLSI设计中的标准器件,可以通过标准的VHDL、Verilog等硬件语言描述保存在器件库中,供用户设计选择使用。用户根据需求定义应用系统,通过开发工具仿真、调试、验证设计出的应用系统后,就可以将设计文档等资料提交给半导体工厂制作样品。这样除某些无法集成的功能器件以外,整个嵌入式系统功能模块的实现均可集成到一块或几块芯片中,应用系统电路板设计将变得越来越简洁,这对于减小整个应用系统的体积和功耗、提高可靠性等方面都非常有利。《MC9S12XS单片机原理及嵌入式系统开发》1.3嵌入式系统软件软件是系统设计最重要的一部分,是嵌入式系统的核心。嵌入式系统需要开发给定系统的应用软件,处理器执行指令代码和处理数据,有效、准确地完成指定工作任务。在设计的最后阶段,这些指令代码和相关数据被放置到存储器中,用于执行完成相应的工作。目前,大多数嵌入式系统的应用软件开发都会使用高级语言,例如C、C++和JAVA等,其中C语言选用得最多。《MC9S12XS单片机原理及嵌入式系统开发》1.4嵌入式操作系统嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)设计的重要组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够硬件虚拟化,使得开发人员从复杂的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有更为突出的特点。《MC9S12XS单片机原理及嵌入式系统开发》1.4嵌入式操作系统1.4.1嵌入式操作系统的种类一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。《MC9S12XS单片机原理及嵌入式系统开发》1.4嵌入式操作系统1.4.2嵌入式操作系统的发展嵌入式操作系统伴随着嵌入式系统的发展大致经历了4个阶段。第一阶段是无操作系统的嵌入算法阶段,是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。《MC9S12XS单片机原理及嵌入式系统开发》1.4嵌入式操作系统1.4.3使用实时操作系统的必要性嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得越来越重要。首先,嵌入式实时操作系统(RTOS)提高了系统的可靠性。其次,RTOS提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。《MC9S12XS单片机原理及嵌入式系统开发》1.4嵌入式操作系统1.4.4实时操作系统的优缺点在嵌入式实时操