A研究生课程嵌入式控制系统_第1页
A研究生课程嵌入式控制系统_第2页
A研究生课程嵌入式控制系统_第3页
A研究生课程嵌入式控制系统_第4页
A研究生课程嵌入式控制系统_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式控制技术与系统fujian_2@

武汉理工大学傅剑EMBEDDEDCONTROL

TECHNOLOGYANDSYSTEM武汉理工大学本课程收获科研能力的培养1嵌入式技术研发基本知识与方法2演示与模拟3获得学分4希望大家有所收获!武汉理工大学教材与参考书教材

《嵌入式系统开发与应用教程》(第二版)

田泽,北京航空航天大学出版社参考书1.金敏,《嵌入式系统-组成、原理与设计编程》人民邮电出版社20062.周立功,《ARM微控制器基础与实战》北京航空航天大学出版社

2005

3.徐英慧,《ARM9嵌入式系统设计--基于S3C2410与Linux》(第2版北京航空航天大学出版社,2011年4.慕春棣,嵌入式系统设计,清华大学出版社20125.施部.克.威(ShibuKV)著,伍微(译):嵌入式系统原理、设计及开发,清华大学出版社,2012年6.嵌入式系统设计及实例开发——ARM与μC/OS-Ⅱ

王田苗:清华大学出版社2002武汉理工大学成绩组成设计大作业课堂表现考勤武汉理工大学1.1.2

嵌入式系统的应用概况嵌入式系统的典型实例武汉理工大学1.1.2

嵌入式系统的应用概况

消费产品(ConsumerProduct)

常见消费类产品如:手机、PDA/PPC/HPC、数码相机/摄像机洗衣机、微波炉、数字电视机顶盒等智能消费类产品如:坐姿测试椅、带味觉的匙子

[MIT]仿生运动鞋

[Adidas]情绪类装饰品

[NYU]武汉理工大学1.1.2

嵌入式系统的应用概况图1-2常见消费类产品武汉理工大学1.1.2

嵌入式系统的应用概况图1-3智能消费类产品武汉理工大学1.1.2

嵌入式系统的应用概况工业控制

(IndustryControl)

对生产过程和工业设备等各种动作流程的控制,这种控制是在对被控对象和环境进行不断观测的基础上做出及时的、恰当的反应在控制过程中,计算机扮演着中心的角色。它通过传感器从外部接收有关过程的信息,对这些信息进行加工处理,然后对执行机构发出控制指令。武汉理工大学1.1.2

嵌入式系统的应用概况图1-4工程机械智能控制器

武汉理工大学1.1.2

嵌入式系统的应用概况图1-5汽车电子产品(VOLVOS80汽车,18个嵌入式控制模块+CAN总线网络)武汉理工大学1.1.2

嵌入式系统的应用概况通信设备

(Telecommunication)

例如:程控交换机路由器桥接器集线器

Modem等武汉理工大学1.1.2

嵌入式系统的应用概况图1-6通信设备武汉理工大学1.1.2

嵌入式系统的应用概况智能仪器(IntelligentInstrument)

例如:数字示波器医疗仪器等

武汉理工大学1.1.2

嵌入式系统的应用概况图1-7穿刺肿瘤医疗仪器武汉理工大学1.1.2

嵌入式系统的应用概况

机器人(Robot)

武汉理工大学1.1.2

嵌入式系统的应用概况图1-8智能玩具机器人武汉理工大学1.1.2

嵌入式系统的应用概况图1-9基于WinCE的移动机器人平台武汉理工大学1.1.2

嵌入式系统的应用概况图1-10基于RTLinux的仿人机器人武汉理工大学1.1.2

嵌入式系统的应用概况图1-111997年4月在火星表面登陆的火星探测器(基于VxWorks)武汉理工大学1.1.2

嵌入式系统的应用概况图1-122004年“勇气号”再次登陆火星武汉理工大学1.1.2

嵌入式系统的应用概况计算机外设

(Computerperipheral)

例如:打印机终端磁盘驱动器等武汉理工大学1.1.2

嵌入式系统的应用概况图1-13计算机外设武汉理工大学1.1.2

嵌入式系统的应用概况

军事电子设备和现代武器

例如:雷达电子对抗坦克战机战舰等

武汉理工大学1.1.2

嵌入式系统的应用概况图1-14阿富汗战争中的军事电子设备武汉理工大学1.1.2

嵌入式系统的应用概况图1-15军用机器人(2002年11月28日,以色列一举投票点发生枪击事件,造成至少7人死亡、数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体)

武汉理工大学1.1.2

嵌入式系统的应用概况图1-16高性能武器平台武汉理工大学1.1.2

嵌入式系统的应用概况图1-17高性能武器平

武汉理工大学1.1.2

嵌入式系统的应用概况太空科学

例如:卫星跟踪太空舱管理系统航空电子设备武汉理工大学1.1.2

嵌入式系统的应用概况图1-18太空科学第一章 嵌入式系统开发基础

本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。

本章主要内容有

1.1嵌入式系统基本概念1.2嵌入式系统的硬件组成及开发1.3嵌入式系统软件组成及开发1.4嵌入式系统发展的趋势

1.1 嵌入式系统基本概念

1.1.1嵌入式计算机 1.1.2嵌入式系统的定义、特点及应用范围1.1.3嵌入式系统的组成结构

1.1.4嵌入式系统的基本开发流程1.1.5嵌入式系统的知识体系

嵌入式计算机的发展历史算盘→机械加法器→差分机→加法器→ENIAC→4004→8080(8085)→8086(8088)→IBMPC→i7武汉理工大学1.1.1嵌入式计算机在电子计算机发展的初期,计算机一直是“供养”在特殊的机房中的大型、昂贵的专用设备,主要是实现一些特殊的数值计算。直到20世纪70年代微处理器的出现,计算机应用才出现了历史性的变化。这也使计算机摘掉神圣的光环走下了神坛,步入平民化的时代。同时微处理器表现出的智能化水平引起了设备制造、机电控制等专业人士的兴趣,要求将微型机嵌入到一个控制对象的体系中,实现对象体系的智能化控制。

嵌入式计算机微处理器的问世极大的促进了控制领域的发展,复杂的控制系统最初只是由简单的设备组成,以微处理器这样的部件作为主要的控制和反馈器件,极大的提高了系统的可控性和智能化。经过发展,到80年代初微处理器及微控制器各自已发展为一个庞大的家族,以Intel公司x86为主流的应用于个人计算机PC的微处理器格局已形成。为了区别于原有使用在PC的通用计算机,把嵌入到对象体系中、实现对象体系智能化控制的微控制器的计算机,称作嵌入式计算机。

嵌入式计算机因此,嵌入式计算机是诞生于微处理器发展时代;早期嵌入式计算机是将一个计算机嵌入到一个具体应用的控制对象的体系中去,这些是嵌入式系统发展的起点。这也标志着计算机进入了通用计算机与嵌入式计算机两大分支、并行发展时代,从而导致20世纪末,计算机应用的高速发展并由此引发了计算机分类方式的变化。1.1.2嵌入式系统的概念传统的计算机分类是按照计算机的处理字长、体系结构、运算速度、结构规模、适用领域进行的,如通常所说的大型计算机、中型机、小型机和微型计算机,并以此标准来组织学科和产业分工,这种分类方法也沿袭了多年。随着近20年来微电子技术、计算机技术和移动通信技术的迅速发展以及网络技术的广泛应用,实际情况已经产生了根本性的变化。例如在70年代末定义的微型计算机演变出来的个人计算机PC其处理速度已远远超过了当年对大、中、小型计算机的定义。

嵌入式系统的概念随着计算机技术对其它行业的广泛渗透和与其它行业应用技术的相互结合,以应用为中心的分类方法变得似乎更加切合实际发展;按计算机的嵌入式应用和非嵌入式应用将其分为通用计算机和嵌入式计算机。而通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的面目出现并应用在社会的各个方面,其典型产品为PC;

嵌入式系统的概念而非通用计算机的计算机-嵌入式计算机,则是非通用计算机形态的计算机应用,它是以作为嵌入式系统的核心部件的形式隐藏在各种装置、设备、产品和系统中。因此嵌入式计算机是计算机技术发展中的一种计算机存在的形式,是从计算机技术的发展中分离出来的。

一般定义以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度)嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。(系统角度)术语嵌入式反映了这些系统通常是更大系统(被称之为嵌入的系统)的一个完整子系统。嵌入式的系统可以包含多个嵌入式系统。广义定义任何一个非计算机的计算系统嵌入式系统的定义IEE定义嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”(原文为devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。通常执行特定功能嵌入式系统的核心----嵌入式微处理器严格的时序和稳定性要求全自动操作循环1.1.3嵌入式系统的特点专用计算机系统。运行环境差异很大。比通用PC系统资源少。功耗低、体积小、集成度高、成本低。具有完整的系统测试和可靠性评估体系。具有较长的生命周期需要专用开发工具好和方法进行设计包含专用调试电路多学科知识集成系统

1.1.4嵌入式系统的分类嵌入式系统按表现形式及使用硬件种类分为:系统中使用含程序或算法的处理器的嵌入式系统为芯片级嵌入;系统中使用某个核心模块的嵌入式系统为模块级嵌入;嵌入式系统按软件实时性需求分:

非实时系统(如PDA);

软实时系统(如消费类产品);

硬实时系统(工业实时控制系统)

1.1.5嵌入式系统的应用范围

嵌入式系统的应用范围消费电子嵌入式应用信息家电智能玩具军事电子通信设备移动存贮工控设备智能仪表汽车电子网络设备工业军事国防电子商务网络

崭新的数字世界多彩的嵌入式应用

无线电的发展BTH矿石收音机

单二极管Bush收音机

7个晶体管

单二极管EvokeDAB收音机

1亿个晶体管

2-3个嵌入式处理器

电话的发展电话

无晶体管BTDECT1千万个晶体管

3个处理器诺基亚手机

超过7亿个晶体管

(多数用于存储器)

5-6个处理器计算机的发展+=AppleMacintosh

黑白显示器

1MIP处理器AcornArchimedes

彩色显示器

10MIP处理器

…RISC集惠普-康柏掌上电脑

彩色显示

200MIP处理器64MB内存

…袖珍型航海仪器的发展地图、时钟、指南针

印刷及磁技术

无晶体管Raytheon

船用航海仪器GarminGPS定位器

约1亿个晶体管

2-3个处理器

…+4个人造卫星!

日用电器的发展AppleIPOD

100张CDs

袖珍型四处理器HP1315

照片质量彩色打印机双处理器GameBoyAdvance

手持式彩色联网型双处理器

其他产品发展SeagateCheetahX15DisconKeySagemMorphoSmartKonicaRevio

我们正步入一个崭新的“数字世界”无线连接是“数字胶水”嵌入式应用嵌入式技术是中国IT发展的难得机遇当前信息技术和网络技术高速发展和后PC(Post-PC)时代到来,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。

后PC时代,即非PC信息设备大显神通的时代,嵌入式系统正是非PC设备的主体,由于其应用广、领域特色突出,谁也无力独吞这一市场。

互联网技术在世界范围的扩展和中国通信事业的高速发展,已为我国开发嵌入式产品造就了广大市场,此外我国是人口大国,素有智力优势

1.2嵌入式系统的组成结构1.2.1嵌入式系统硬件基本结构1.2.2嵌入式系统软件基本结构

1.2.3启动程序BootLoader介绍

应用程序实时操作系统(RTOS)输入输出接口处理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器DMA电源管理典型的嵌入式系统组成人机交互接口LCD/触摸屏、键盘、鼠标设备驱动程序、HAL、BSP文件系统/图形用户应用程序接口驱动层OS层应用层软件硬件以太网看门狗及复位电路Timer/RTCCANFlashEEPROMSDRAMSRAM内存武汉理工大学1.2.1嵌入式系统硬件基本结构介绍 嵌入式系统的硬件架构如图下半部分所示,是以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。嵌入式系统是“量身定做”的“专用计算机应用系统”,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可以根据需要和成本进行“裁剪”、“定制化”(Customize),非常经济、可靠。

嵌入式系统硬件基本结构介绍 嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常常外接DSP和DSP协处理器(也可内部集成)完成高性能信号处理。随着计算机技术、微电子技术、应用技术的不断发展和纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的SoC芯片,这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。

嵌入式系统硬件基本结构介绍可编程片上系统SOPC(SystemOnProgrammableChip)结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大的提高了系统的在线升级、换代能力。以SoC/SOPC为核心,可以用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,也是嵌入式系统发展的一个方向因此现代嵌入式设计是以处理器/SoC/SOPC为核心,完成系统设计的,其外围接口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等)构成硬件系统。对于嵌入式硬件的各个模块将在第三部分作全面介绍。1.2.2嵌入式系统软件的层次结构如当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。依据系统所提供的程序界面来编写应用程序,可以大大的减少应用程序员的负担。对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:设备驱动层、实时操作系统(RTOS)、应用程序接口(API)层、实际应用程序层。有些资料将应用程序接口API归属于OS层,如图1-1的上半部分所示的嵌入式系统的软件结构,是按三层划分的。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。本节主要讲述的具有操作系统的嵌入式软件层次。

嵌入式系统软件的层次结构具有操作系统的嵌入式软件层次驱动层程序实时操作系统(RTOS)操作系统的应用程序接口(API)应用程序启动程序BootLoader介绍对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(BasicInput/OutputSystem)完成的,但对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。系统加电复位后,几乎所有的CPU都从由复位地址上取指令。因此在系统加电复位后,处理器将首先执行BootLoader程序。

启动程序BootLoader介绍BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令;对于没有操作系统的系统直接执行应用程序或等待用户命令

启动程序BootLoader介绍系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动。当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。有时候用户必须根据自己板子的硬件资源情况做适当的调整与修改。

嵌入式系统的基本开发流程系统定义域需求分析阶段方案设计阶段详细设计阶段软硬件集成测试阶段系统功能测试及可靠性测试阶段武汉理工大学嵌入式系统的知识体系应用领域学科嵌入式系统电子技术数字与模拟电路EDA和电子系统设计计算机技术(硬件)嵌入式处理器和体系结构接口技术与网络技术计算机技术(软件)汇编、C/JAVA操作系统、数据结构微电子技术FPGA/CPLDASIC/Soc/IP设计武汉理工大学1.2嵌入式系统硬件组成及开发

1.2.1嵌入式处理器 1.2.2典型嵌入式处理器介绍 1.2.3嵌入式SoC 1.2.4可编程片上系统—SOPC 1.2.5嵌入式外围接口电路和设备接口

1.2.1嵌入式处理器嵌入式微处理器

嵌入式微控制器

嵌入式DSP

嵌入式微处理器嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,早期的嵌入式系统是将微处理器装配在专门设计的电路板上,在电路板上设计了和嵌入式系统相关的功能模块,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:MIPS处理器,PowerPC处理器,Sparc处理器,ARM处理器,Xtensa处理器。

嵌入式微控制器

嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。

嵌入式DSP

嵌入式DSP处理器有两个发展方向:是嵌入式DSP处理器和嵌入式处理器经过单片化设计,片上增加丰富的外设成为具有高性能DSP功能的SoC;是在通用微处理器、微控制器或SoC中增加DSP协处理器,例如Intel的MCS-296和Siemens的TriCore。1.3.2典型嵌入式处理器介绍MIPS处理器

PowerPC处理器

Sparc处理器

ARM处理器

MIPS处理器

MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。在RISC处理器方面占有重要地位。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages),最早是在80年代初期由美国斯坦福大学Hennessy教授领导的研究小组研制出来的。1986年推出R2000处理器,1988年推出R3000处理器,1991年推出第一款64位商用微处理器R4000。之后,又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。之后,MIPS公司的战略发生变化MIPS处理器

此外,24K微架构能符合各种新兴的服务趋势,为宽频存取以及还在不断发展的网络基础设施、通讯协议提供软件可编程的弹性。在嵌入式方面,MIPS系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由器、激光打印机、掌上电脑等各个方面。MIPS的系统结构及设计理念比较先进,在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。PowerPC处理器PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。处理器芯片主要型号是PowerPC750,它于1997年研制成功,最高的工作频率可以达到500MHz,采用先进的铜线技术。该处理器有许多品种,以便适合各种不同的系统。包括IBM小型机、苹果电脑和其他系统。嵌入式的PowerPC405(主频最高为266MHz)和PowerPC440(主频最高为550MHz)处理器内核可以用于各种SoC设计上,在电信、金融和其他许多行业具有广泛的应用。Sparc处理器

Sun公司以其性能优秀的工作站闻名,这些工作站的心脏全都是采用Sun公司自己研发的Sparc芯片。根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列,首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。目前UltraSparcⅢs的频率已经达到750MHz。将推出UltraSparcⅣs和UltraSparcⅤs等型号。其中UltraSparcⅣs的频率为1GHz,UltraSparcⅤs则为1.5GHz。其次是集成式i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSparcⅢi的频率达到700MHz,未来的UltraSparcⅣi的频率将达到1GHz。最后是嵌入式e系列,为用户提供理想的性能价格比,嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。Sun公司还将推出主频300、400、500MHz等版本的处理器。1.3.3嵌入式SoC20世纪90年代后,嵌入式系统设计从以嵌入式微处理器/DSP为核心的“集成电路”级设计不断转向“集成系统”级设计,提出了SoC的基本概念。目前嵌入式系统已进入单片系统SoC的设计阶段,并开始逐步进入实用化、规范化阶段,集成电路已进入SoC的设计流程。

嵌入式SoC系统芯片出现的原因是由于信息市场快速的变化和竞争的日益加剧,使得新产品在市场上的生命大为缩短,平均从36月到缩短为15-9月,而具有原始创新思想的产品的设计周期也大大缩短,这样Time-to-Market给SoC供了良好的发展空间。随着高性能系统对系统复杂度、处理速度、功耗、功能多样化的需求,在信息处理与通信系统如网络、多媒体、移动通信中迫切需要开发高性能的SoC芯片;

嵌入式SoC传统的通过多种芯片集成于系统的方法已很难满足实际发展中对高性能的需求,因此市场的需求对传统的IC设计和系统设计提出了新的挑战,使得整机和IC设计在一个产品的设计初期就必须紧密结合在一体。另外,成本价格、可靠性等对集成电路设计者也同样提出新的挑战。因此不断发展和竞争日益激烈的信息市场在不断的推动着SoC技术的迅速发展。

嵌入式SoC随着集成电路技术自身的不断发展,器件的特征尺寸不断缩小、集成度的不断提高、多种工艺及工艺集成技术的发展、设计方法的提高和EDA工具发展,为将一个应用系统融合为SoC从技术上提供了可能;进入二十一世纪后,集成电路设计进入了高度集成的SoC时代,采用SoC设计技术,可以大幅度地提高系统的可靠性,减少系统的面积和功耗,降低系统成本,极大地提高系统的性能价格比。

嵌入式SoCSoC技术的出现表明了微电子设计由以往的IC(电路集成)向IS(系统集成)发展。因此从以功能设计为基础的传统IC设计流程必须转变到以功能整合为基础的SoC设计全新流程,而面向嵌入式系统的SoC设计将是未来推动集成电路设计业发展至关重要的问题这种设计方法不是把系统所需要用到的所有集成电路简单地二次集成到1个芯片上,如果这样的实现单片系统,是不可能达到单片系统所要求的高密度、高速度、高性能、小体积、低电压、低功耗等指标的,特别是低功耗要求。

嵌入式SoC单片系统设计要从整个系统性能要求出发,把微处理器、模型算法、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能。有时也可能把系统做在几个芯片上。因为,实际上并不是所有的系统都能在一个芯片上实现;还可能因为实现某种单片系统的工艺成本太高,以至于失去商业价值;目前,进入实用的单片系统还属简单的单片系统,如智能IC卡等。但几个著名的半导体厂商正在紧锣密鼓地研制和开发像单片PC这样的复杂单片系统。

嵌入式SoC单片系统设计如果从零开始,这既不现实也无必要。因为除了设计不成熟、未经过时间考验,系统性能和质量得不到保证外,还会因为设计周期太长而失去商业价值。为了加快单片系统设计周期和提高系统的可靠性,目前最有效的一个途径就是通过授权,使用已成熟且经过优化的IP内核模块来进行设计集成和二次开发,利用胶粘逻辑技术GLT(GlueLogicTechnology),把这些IP内核模块嵌入到SoC中。

嵌入式SoCIP内核模块是单片系统设计的基础,究竟购买哪一级IP内核模块,要根据现有基础、时间、资金和其他条件权衡确定。购买硬IP内核模块风险最小,但付出最大,这是必然的。但总的来说,通过购买IP内核模块不仅可以降低开发风险,还能节省开发费用,因为一般购买IP内核模块的费用要低于自己单独设计和验证的费用。

嵌入式SoC当然,并不是所需要的IP内核模块都可以从市场上买得到。为了垄断市场,有一些公司开发出来的关键IP内核模块(至少暂时)是不愿意授权转让使用的。像这样的IP内核模块就不得不自己组织力量来开发。而ARM公司以IP提供者的身份向各大半导体制造商出售知识产权,自己却不介入芯片的生产和销售。ARM芯核的卓越特性,使其成为32位嵌入式应用开发工程师的首选;基于ARM处理器核的SoC芯片的应用开发得到广泛的应用。SoC芯片已经成为提高移动通信、网络、信息家电、高速计算、多媒体应用及军用电子系统性能的核心器件,是嵌入式系统的硬件核心。

嵌入式SoC举例我们以HMS30C7202为例讲述一个实际的SoC。HMS30C7202是韩国现代公司开发的基于ARM720T内核、主频为70MHz、功能非常强大高集成度的片上系统,它片内外设的资源很多,广泛应用于PDA、智能电器、工业控制、网络设备、音频设备、电子图书、POS等。图是HMS30C7202的功能和系统配置图。其片上外围设备包括UART、USB、PS2和CAN接口,I2S接口通过外部DAC提供高质量的音频输出。电源管理单元的特点是低功耗。1.3.4可编程片上系统-SOPC

采用超深亚微米工艺技术;使用一个以上的嵌入式处理器/DSP;外部可以对芯片进行编程;主要采用第三方IP进行设计;足够的片上可编程逻辑资源;具有处理器调试接口和FPGA编程接口;可能包含部分可编程模拟电路;单芯片、低功耗、微封装。

用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC

可编程片上系统-SOPC

SOPC的技术基础:超大规模可编程逻辑器件及其开发工具的成熟;FPGA密度提高;FPGA成本大大下降;FPGA设计、综合、仿真、测试工具性能飞速提高。微处理器/DSP以IP核的形式方便的嵌入到FPGA中;基于IPCore的开发模式深入人心。

SOPC基本特征:

超大规模可编程逻辑器件及其开发工具的成熟;FPGA成本大大下降;

FPGA密度提高;FPGA设计、综合、仿真、测试工具性能飞速提高。微处理器/DSP以IP核的形式方便的嵌入到FPG基于IPCore的开发模式深入人心。

可编程片上系统-SOPCSOPC设计技术涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号完整性分析为基础的高速电路设计技术以外SOPC还涉及目前已引起普遍关注的软硬件协同设计技术。

可编程片上系统-SOPC由于SOPC的主要逻辑设计是在可编程逻辑器件内部进行,而BGA封装已被广泛应用在微封装领域中,传统的调试设备,如逻辑分析仪和数字示波器,已很难进行直接测试分析,因此,必将对以仿真技术为基础的软硬件协同设计技术提出更高的要求。同时,新的调试技术也将不断涌现出来。AlteraNois使用SoPCbuilder设计IP,经过验证和批量使用时,通过Hardcopy转化为结构化ASIC来实现!武汉理工大学1.3.5嵌入式外围接口电路和设备接口根据外围设备的功能可分为以下5类

存储器类型通信接口输入输出设备设备扩展接口电源及辅助设备

存储器类型:存储器是嵌入式系统中存储数据和程序的功能部件,目前常见的存储设备按使用的存储器类型分为:静态易失型存储器(RAM,SRAM);动态存储器(DRAM);非易失性存储器ROM(MASKROMEPROM,

EEPROM,FLASH);硬盘、软盘、CD-ROM等。

通信接口

目前存在的所有计算机通信接口在嵌入式领域中都有其广泛的应用,应用最为广泛的接口设备包括

RS-232接口(串口UART)

USB接口(通用串行总线接口)

IrDA(InfraRedDataAssociation-红外线接口)、

SPI(串行外围设备接口)、

I2C、CAN总线接口、蓝牙接口(Bluetooth)

Ethernet(以太网接口)、

IEEE1394接口和通用可编程接口GPIO。

输入输出设备

CRT、LCD和触摸屏等,构成了嵌入式系统中重要的信息输入输出设备,应用广泛。触摸屏可以方便的实现鼠标和键盘功能。

设备扩展接口

简单的嵌入式系统如具有简单的记事本、备忘录以及日程计划等功能的PDA,它所需要存储的数据量并不需要很大的内存。由于目前的嵌入式系统功能越来越复杂,需要大容量内存,大的内存使得系统成本和体积加大。目前一些高端的嵌入式系统都会预留可扩展存储设备接口,为日后用户有特别需求时,可购买符合扩展接口规格的装置直接接入系统使用。

常用的扩展卡还有各种CF卡、SD卡、MemoryStick等。目前高端的嵌入式系统都留有一定的扩展卡接口。

电源及辅助设备

嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或PDA,体积较大或者过重的机型已经被淘汰。目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。1.2.5嵌入式系统的硬件开发需求和功能分析设计方案的规划核心部件的选型主要部件选型基础部件选型原理图设计PCB设计系统调试产品维护和升级武汉理工大学1.3嵌入式系统的软件组成和开发

1.4.1嵌入式系统的层次结构

1.4.2嵌入式操作系统 1.4.3嵌入式系统的软件开发嵌入式系统的软件层次结构板级支持包层实时操作系统层(RTOS)应用程序接口应用程序层武汉理工大学1.4.1嵌入式操作系统计算机由硬件和软件两部分组成,操作系统OS(OperatingSystem)是配置在计算机硬件上的第一层软件,在计算机系统中占据了特殊重要的地位;操作系统可以解释或理解为补平硬件差异的界面或是说隐藏硬件,让应用程序可以在上面运行。通过由操作系统统一所提供出来的系统界面来写应用程序,无须考虑到不同硬件所造成的差异,让程序设计人员能够专注于所擅长领域的开发

嵌入式操作系统从用户的观点看OS是用户与计算机硬件系统之间的接口,用户在OS的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序;从资源管理观点可以把OS视为计算机系统资源的管理者。嵌入式操作系统就是支持嵌入式系统工作的操作系统。它在知识体系和技术本质上与通用操作系统没有太大的区别,一般用于比较复杂的嵌入式系统软件开发中

嵌入式操作系统嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。嵌入式操作系统是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。

嵌入式操作系统嵌入式操作系统就是支持嵌入式系统工作的操作系统。嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。嵌入式系统的需要,嵌入式操作系统必须包括操作系统的一些最基本的功能,如中断处理与进程调度,用户可以通过API来使用操作系统。

嵌入式操作系统嵌入式操作系统相对于一般操作系统而言,仅指操作系统的内核(或者微内核),其他的诸如窗口系统界面或是通讯协议等模块,可以另外选择,目前大多数的嵌入式操作系统必须提供以下管理功能:多任务管理

存储管理

周边资源管理

中断管理

1.4.2嵌入式实时操作系统大多嵌入式系统应用在实时环境中,因此嵌入式操作系统跟实时(Real-Time)操作系统密切联系在一起。

实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。但以下几个重要组成部分是不太变化的:实时内核、网络组件、文件系统和图形接口等。应用程序驱动程序、硬件抽象层、板级支持包文件系统/图形用户接口驱动层OS层应用层扩展模块基本模块进程调度内存管理调度文件管理进程调度OS核图形驱动数据库模块应用程序接口(API)

硬件(Hardware)网络模块调度图1-4RTOS体系结构图1.4.3典型嵌入式操作系统介绍

嵌入式操作系统的种类繁多,但大体上可分为两种——商用型和免费型。商用型的操作系统主要有VxWorks、WindowsCE、Psos、PalmOS、OS-9、LynxOS、QNX、LYNX等

免费型的操作系统主要有Linux和µC/OS-II嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统

典型嵌入式操作系统介绍

µC/OS-II嵌入式操作系统内核

VxWorks嵌入式实时操作系统

WinCE操作系统

Linux操作系统

µC/OS-II嵌入式操作系统内核

µC/OS-II是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。µC/OS-II中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。实时内核在任何时候都是运行就绪了的最高优先级的任务,是真正的实时操作系统。µC/OS-II最大程度上使用ANSIC语言开发,现已成功移植到近40多种处理器体系上。µC/OS-II嵌入式操作系统内核µC/OS-II结构小巧,最小内核可编译至2k(这样的内核没有太大实用性),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等,编译后的µC/OS-II内核也仅有6~10kb,所以它比较适用于小型控制系统。µC/OS-II具有良好的扩展性能,比如系统本身不支持文件系统,但是如果需要的话也可自行加入文件系统的内容。WinCE操作系统

MicrosoftWindowsCE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。高度模块化是WinCE的一个鲜为人知的特性,这一特性有利与它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。WinCE操作系统的基本内核需要至少200K的ROM,它支持

Win32API子集、多种用户界面硬件、多种的串行和网络通讯技术、COM/OLE和其他的进程间通讯的先进方法。Microsoft公司为WindowsCE提供了PlatformBuilder和EmbeddedVisualStudio开发工具。WinCE操作系统WindowsCE有五个主要的模块

内核模块:支持进程和线程处理及内存管理等基本服务;内核系统调用接口模块:允许应用软件访问操作系统提供的服务;文件系统模块:支持DOS等格式的文件系统;

图形窗口和事件子系统模块:控制图形显示,并提供WindowsGUI界面;通讯模块:允许同其他的设备之间进行信息交换。WinCE操作系统WindowsCE嵌入式操作系统最大的特点是能提供与PC机类似的图形界面和主要的应用程序。WindowsCE嵌入式操作系统的界面显示大多数在Windows里出现的标准部件,包括桌面、任务栏、窗口、图标和控件等等。这样只要是对PC机上的Windows比较熟悉的用户,可以很快地使用基于WindowsCE嵌入式操作系统的嵌入式设备。武汉理工大学嵌入式操作系统总结VxWorks类似unix,posix规范高精尖和实时性要求极高的场合简单、功能完备、实时性很强入门和教研,对系统要求不高针对无MMU处理器设计与网络设备相关嵌入式设备WindowsCE内核小,与windows类似界面能用于工业控制等领域1.5嵌入式应用软件开发1.5.1嵌入式软件开发的特点和技术挑战 1.5.2嵌入式软件开发环境 1.5.3嵌入式应用软件开发的基本流程 1.5.4嵌入式软件开发的可移植性和可重用性

嵌入式软件开发的特点和技术挑战开发的复杂度增加需要软硬件开发环境和工具嵌入式软硬件必须协同设计需要新的任务设计方法转变观念,熟悉新的开发模式需固化应用软件并进行相关测试软件技术门槛高,开放量和难度加大武汉理工大学1.5.2嵌入式软件开发环境1)交叉开发环境

交叉开发软件一般为一个整合编辑、编译汇编链接、调试、工程管理及函数库等功能模块的集成开发环境IDE(IntergratedDevelopmentEnvironment)。

嵌入式软件开发环境嵌入式交叉开发环境的宿主机到目标机的调试通道一般有以下三种:

在线调试(On-ChipDebugging,OCD)或在线仿真(On-ChipEmulator)

*基于JTAG的ICD(In-CircuitDebugger)

*背景调试模式(BDM)

在线仿真器ICE(In-CircuitEmulator)

ROM监控器(ROMmonitor)

嵌入式软件开发环境2)软件模拟环境

软件模拟环境也称为指令集模拟器IIS(InstructionSetSimulator)软件模拟不可能完全代替真正的硬件环境,这种模拟调试只能作为一种初步调试,主要是用作用户程序的模拟运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。

嵌入式软件开发环境3)评估电路板

一般用来作为开发者使用的学习板、实验板,可以作为应用目标板出来之前的软件测试、硬件调试的电路板

1.5.3嵌入式应用软件开发的基本流程图1-7嵌入式软件开发流程图链接器命令文件编译预处理编译器汇编器Archive工具链接器和定位器头文件(*.h,*.hpp)可重定位目标文件库文件(*.a,*.lib)头文件(*.h,*.hpp)C/C+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论