《基于ARM的嵌入式系统设计.doc》由会员分享,可在线阅读,更多相关《基于ARM的嵌入式系统设计.doc(83页珍藏版)》请在三一办公上搜索。
1、 基于ARM的嵌入式系统设计 第一章 摘要嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。嵌入式处理器内嵌实时操作系统(RTOS),具有实时性、低成本、小型化、专用化和高可靠性,克服了传统的基于单片机控制系统功能不足和基于PC的系统非实时性的缺点。随着嵌入式系统软硬件技术的飞速发展,其应用领域必将更为广阔,嵌入式系统的研究将会有非常广泛的前景。 本课题的目的就是研究适用于学校教学的嵌入式系统平台,这对于提高对嵌入式系统的理解具有重要意义。本课题以嵌入式系统设计原理和实际应用为核心,从理论上和技术方法上开展了一系列研究
2、。主要工作有:1、全面系统地概述了嵌入式系统的发展过程和分类,及其在各个领域内的应用,以及嵌入式系统的发展方向;2、基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案,从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性的论证;3、嵌入式系统硬件平台的设计与调试,着重叙述了硬件平台的整体设计方案,包括各个设计模块的选型与接口电路的设计;4、嵌入式系统所采用的操作系统的移植与调试,详细讲叙了C/OS-II实时操作系统在基于LPC2136的嵌入式控制器硬件平台上的移植过程及注意事项;5、对C/OS-II内核实时性能进行了深入的分析,通过实际测试得出了在特定条件下C/OS-II的实时
3、响应参数。6、在后继的工作中,我们还要在实时嵌入式操作系统的基础上完成对操作系统的扩展以及对各个模块的驱动。总之,本文完成了嵌入式系统的硬件平台构架、实时嵌入式操作系统的移植,为今后嵌入式系统的后继开发提供了一个嵌入式平台。关键词:嵌入式系统 ARM RTOS C/OS-II第二章 AbstractWith the development of IT network technology, embedded system shows a new direction of technology development. Embedded system has been applied in mi
4、litary, electronics, communication, industrial control and so on, with respect to its small size, high performance, low cost, high reliability and oriented object program. Embedded controller with RTOS gets over the traditional microcontroller and the disadvantage of the un-real time specialty base
5、on pc, instead it is real-time, low cost ,miniaturized ,customized ,and high dependability. It also has a broad foreground , along with the fast development of hardware of embedded system .This intention of this topic is designing the embedded system, which is important for enhancing the understandi
6、ng of embedded system. The research is highlighted in both design theory and applications of embedded system, which extended its developments. This paper is organized into six parts:1. This article essentially introduced the development of embedded system, its classification, applications in numerou
7、s areas, and its development orientation.2. The second chapter covers the general design of the embedded system, based on the elements of embedded system design. then it shows the devise ideology and methods in either hardware or software, and the demonstration of its accessibility. 3. The third cha
8、pter gives out the hardware of the embedded system, including design, test and implementation of each module, as well as their interface circuitry.4. The forth chapter introduces the process and attentions of RTOS C/OS-II, when explanted to the LPC2136 embedded controller hardware platform.5. It cov
9、ers a in-dept analyzing in the real-time performance in C/OS-II core, as well as the real time respond parameter in the very condition.6. In the future, we will expand the operation system based on RTOS, and derivations of each module.In a word, the article provides keen insight into the platform ar
10、chitecture of hardware and explants of the RTOS, in addition to affording an embedded platform for the subsequence developments. Key word: embedded system ARM RTOS C/OS-II目 录第一章 绪论11.1 嵌入式系统简介11.1.1 嵌入式系统的定义和特点11.1.2 嵌入式系统的发展和趋势21.2 嵌入式处理器概述31.2.1 嵌入式处理器的分类31.2.2 ARM处理器简介51.3 本文主要研究的问题背景和内容71.3.1 本文
11、主要研究的问题背景71.3.2 本文主要内容描述和安排8第二章 嵌入式系统总体设计92.1 嵌入式系统设计方法讨论92.2 开发平台的功能需求分析102.3 开发平台软硬件的选择122.3.1 系统硬件平台的选择132.3.1.1 嵌入式ARM处理器的选型132.3.1.2 LPC2136芯片简介152.3.1.3 片外外围设备的选择162.3.2 系统软件的选择172.3.2.1 实时操作系统的选型原则182.3.2.2 几种开源的嵌入式操作系统的比较202.3.2.3 C/OS-II的特点242.4 开发平台方案总体规划252.4.1 硬件规划252.4.2 软件规划27第三章 嵌入式系统
12、硬件详细设计293.1 LPC2136芯片结构293.1.1 LPC2136功能模块293.1.2 LPC2136管脚配置303.2 硬件原理303.2.1 电源电路303.2.2 复位电路313.2.3 系统时钟电路323.2.4 JTAG接口电路333.2.5 串口及MODEM接口电路333.2.6 按键电路343.2.7 LED显示电路353.2.8 蜂鸣器控制电路373.2.9 I2C电路383.2.10 直流电压测量电路383.2.11 DAC电路393.2.12 RTC电路403.2.13 USB电路40第四章 软件系统的基础构建与设计424.1 启动代码综述424.1.1 一般A
13、RM芯片启动过程424.1.2 LPC2136启动文件组成444.1.3 LPC2136启动代码工作流程474.2 移植C/OS-II到LPC2136484.2.1 移植规划484.2.2 编写移植代码514.2.3 移植C/OS-II体会634.3 C/OS-II实时性能测试分析644.3.1 测试方案设计644.3.2 内核函数时间参数测试654.3.3 中断时间参数测试694.3.4 测试结果与性能分析71第五章 结论与展望73参考文献75致 谢78个人简历79第一章 绪论随着社会的日益信息化,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们来说,需要的已经不再仅仅是哪种桌面计算
14、机,任何一个人都可能拥有从小到大的各种使用嵌入式技术的电子产品,小到MP3、PDA、信息家电等消费数码,大到网络通信、车载电子、工业控制、国防武器等设备。目前,各种新型的嵌入式系统设备的应用领域和数量已经远远超过了通用计算机,如果说我们生活在一个充满嵌入式系统的世界中,是毫不夸张的。嵌入式系统(Embedded System)是当今最热门的技术之一,然而到底什么是嵌入式系统呢?什么样的技术可以称之为嵌入式技术呢?2.1 嵌入式系统简介2.1.1 嵌入式系统的定义和特点嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可裁减,适应应用系统对功能、成本、体积、功耗和可靠性严格要求的专用计算机
15、系统。嵌入式系统主要由嵌入式处理器、外围硬件设备、嵌入式实时操作系统(RTOS)以及特定的应用程序等四部分组成,是集软/硬件于一体的可独立工作的“器件”。嵌入式系统与通用型的相比其主要特点是:1.嵌入式系统通常是面向特定应用的。嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。2.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能
16、在具体应用中对处理器的选择更具有竞争力。3.为了提高执行速度和系统可靠性,嵌入式系统中的系统程序(包括操作系统)和应用程序是浑然一体的,这些程序被编译连接成一个可以执行的二进制映像文件,然后被固化在系统存储空间中。4.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的大部分程序功能进行修改的,所以嵌入式系统的开发系统和实际运行系统并不是同一个,需要交叉编译系统和适当的调试系统;5.高可靠性和高实时性。即在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;同时对于特殊的信号、消息、中断有极高的响应。2.1.2 嵌入式系统的发展和趋势虽然嵌入式系统是近几年才风靡起来的,但
17、是这个概念并非最近才出现。它是随着微电子技术和计算机技术的发展,从而越来越来引人注目。从20世纪70年代单片机的出现到今天各种各样的嵌入式微处理器、微控制器的大规模应用,嵌入式系统已经有近30年的发展历史。作为一个越来越复杂的系统,往往都是在硬件和软件双螺旋式交替发展下逐渐趋于成熟和稳定,嵌入式系统也不例外。嵌入式系统最初的应用是基于单片机的。20世纪70年代单片机的出现,使得汽车、家电、工业机器、通信设备以及成千上万种产品可以通过内嵌电子装置来获得更多性能,更容易使用,更便宜。这些设备已经初步具备了嵌入式的特点,但是这只是8位芯片,内部不过几万到十几万个门;执行单线程的程序,程序不过几千行;
18、还不是“系统”。随着深亚微米技术的不断进步,集成度大幅度提高,现在芯片工艺已经从0.5um变成90nm,将整个嵌入式系统集成在单一芯片上已成为现实,即嵌入式系统,也就是通常所说的SOC。除了以前的微处理器内核以外,还在内部集成了必要的ROM/RAM/FLASH、系统总线、定时/计数器、看门狗、串口、脉宽调制输出、A/D、D/A、I/O等各种必要功能和外设,更有的特定应用芯片还有视频编解码、以太网控制、DSP等模块。现在主流的嵌入式芯片已经从8位的51、AVR、PIC系列拓展到32位的ARM、MIPS、POWERPC系列。为了满足应用功能的升级,设计师在采用更强大的嵌入式处理器如32位、64位R
19、ISC芯片或信号处理器DSP增强处理能力的同时,还采用C/C+等高级语言编程、实时多任务操作系统和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。90年代以后,随着实时性要求的提高,软件规模不断上升,嵌入式控制技术逐渐发展为实时多任务操作系统(RTOS,Real Time Operation System),并作为一种软件平台逐步成为目前嵌入式系统的主流。现在除了几家老牌的公司的实时多任务操作系统外,还出现了PalmOS、WindowsCE、嵌入式Linux、Nucleus、C/OS-II以及国内的Hopen等嵌入式操作系统。据权威杂志IC INSIGHT指出:
20、未来5到10年,仅移动计算设备和信息家电2项,国内对嵌入式系统的需求容量至少可达1.5-2亿套。整个嵌入式软件市场金额可达700亿美元。可见嵌入式技术的发展前景日益广阔,嵌入式工业的应用规模、应用深度和应用广度也将日益扩大。2.2 嵌入式处理器概述2.2.1 嵌入式处理器的分类嵌入式系统的核心部件是各种类型的嵌入式处理器,目前据不完全统计,全世界嵌入式处理器的品种总量已经超过1500多种,流行体系结构有30几个系列。现在几乎每个半.导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64KB到256MB,处理速度从0.1MIPS 到2000MIPS,
21、常用封装从8个引脚到292个引脚。过去国际上公认的通用嵌入式处理器有三大类: MCU、DSP和MPU。TI公司曾把处理器比作汽车,有个生动的比喻: MPU是轿车,追求的是经济性与速度的折中;DSP是跑车,追求的是速度;MCU是满足特殊用途的车。现在嵌入式处理器已经发展到SOC阶段。l 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式微控制器又称单片机,从20世纪70年代就出现到今天。 嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash R
22、AM、EEPROM 等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括51、AVR、PIC、MC68K等。目前MCU占嵌入式系统约60的市场份额。l 嵌入式DSP处理器(Digital Signal Processor, DSP) DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行D
23、SP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现 DSP 功能,过渡到采用嵌入式 DSP处理器。推动嵌入式DSP 处理器发展的另一个因素是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。嵌入式DSP处理器比较有代表性的产品是Texas Instruments的TMS320系列和Motorola 的
24、DSP56000系列。l 嵌入式微处理器(Microprocessor Unit, MPU) 嵌入式微处理器的基础是通用计算机中的 CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,嵌入式处理器目前主要有Power PC、68000、MIPS、ARM 系列等。l 嵌入式片上系统(System On Chip) 随着EDA的推广和VLSI设计的普及化,
25、及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是 System On Chip(SOC)。各种通用处理器内核将作为SOC 设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的Verilog等语言描述,存储在器件库中。用户只需定义出其整个应用统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。目前常见的SOC架构包括TriCore、M-Core、ARM、 Neuron等系列。特别需要提出的是ARM系列的应用最
26、为广阔。2.2.2 ARM处理器简介ARM嵌入式处理器是一种高性能、低功耗的32位RISC系列芯片。它是英国先进RISC机器公司的产品。ARM公司只出售芯片技术IP授权,购买授权的公司将ARM内核嵌入到芯片中,通过总线将自己的外设和模块加入其中。目前ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。采用RISC架构的ARM微处理器三大特点归纳如下:l 体积小、低功耗、低成本、高性能l 支持Thumb(16位)/ARM(32位)双指令集;指令执行速度更快;寻址方式灵活简单,执行效率高l 全球众多的合作伙伴,拥有最完整的产业链目前非常流行的ARM核有ARM7TDMI
27、、ARM720T、ARM9TDMI、ARM920T、ARM940T、ARM946T、ARM10TDMI、ARM1156T和XSCALE等。ARM7适合于中低端的网络设备、终端、各种通用型的嵌入式应用和工业控制等领域。ARM9适合于智能手机、PDA和先进的控制管理和仪器仪表应用。Intel XSCALE系列产品提供了高性能价格比、低功耗、适用于智能无线终端、PDA、家庭网络和网络存储器设备等应用。此外,ARM芯片还获得了许多实时操作系统(RTOS)供应商的支持,比较出名的有Windows CE、CLinux、pSOS、VxWorks、C/OS和Palm OS等。采用ARM核的嵌入式处理器具有低功
28、耗、低成本等卓越性能和显著优点,越来越多的芯片厂商早已看好ARM的前景。ARM处理器核得到了众多半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,如INTEL、MOTOROLA、NS、ATMEL、PHILIPS、NEC、SONY等世界上几乎所有知名的半导体公司都获得了ARM公司的授权,开发具有自己特色的嵌入式系统芯片。ARM公司具有完整的产业链,其全球合作伙伴主要为半导体和系统伙伴、操作系统伙伴、开发工具伙伴、应用伙伴和ARM技术共享计划伙伴。ARM公司的紧密合作伙伴已发展为122家半导体和系统合作伙伴、50家操作系统合作伙伴、35家技术共享合作伙伴,并于2002年在上海
29、成立中国全资子公司。目前,80%的GSM手机,99%的CDMA手机,以及未来3G手机也都是采用基于ARM核的嵌入式处理器。提供研究分析信息的机构Gartner Inc, 早在1999年,ARM核就已突破1.5亿个,市场份额超过嵌入式处理器的50%。而最新的市场调查表明,在2001年度,ARM占据了整个32位和64位嵌入式微处理器市场的75%;2002年度,占据了79.5%。全世界已使用20多亿个ARM核。2003年6月份统计,2002年ARM在全球半导体IP供应商中排名第一,占市场份额的19.8%,销售收入达1.8亿美圆,比2001年增长10%。 目前,除了像TI OMAP, Intel的Xs
30、cale和Motorola的iMX系列这样的移动终端处理器采用ARM核外,也还有象Samsung, Atmel, Sharp, OKI和Philip等半导体公司设计一些通用ARM核的处理器,可以广泛应用在各种嵌入式系统,现在市场上看到比较多的有Philip的LPC系列、Samsung的S3C44B0、4510、2410, Atmel 的AT91系列和Intel PXA255等。ARM公司已经成为业界的龙头老大,“每个人口袋中都装着ARM”是毫不夸张的,应为几乎所有的手机、移动设备、PDA几乎都是用具有ARM核的系统芯片开发的。2.3 本文主要研究的问题背景和内容2.3.1 本文主要研究的问题背
31、景从上面的阐述可以看出嵌入式系统的需求量很大,特别是在未来10年嵌入式的需求量达到了巅峰。从IT产业在国内的发展来看,国内设备开发商有从众心理,为了可靠性,都去用别人用过的比较成熟的产品,但是这些产品往往价格昂贵,而且技术核心都掌握在别人手里,长期受制于人,不利于自身的发展和成长。由于嵌入式系统不同于以往PC市场,硬件和软件已经不可能出像一家垄断的情况。实际上对硬件及软件的选择来说,主要因素是由应用决定的,国内应该抓住这个机会加入到这个竞争行列中来。ARM微处理器因其卓越的低功耗、高性能在32位嵌入式应用中已位居世界第一,是高性能、低功耗嵌入式处理器的代名词。为了顺应当今世界技术革新的潮流,了
32、解、学习和掌握嵌入式技术,就必然要学习和掌握以ARM微处理器为核心的嵌入式开发环境和开发流程,这对于研究和开发高性能微处理器、DSP以及开发基于SOC芯片设计及应用系统是非常必要的。作为电子信息专业的本科、研究生很有必要了解和掌握32位嵌入式应用的开发技术。通过对嵌入式的学习使学生具有较强的综合素质,成为具有良好的实际操作能力设计能力符合社会需求的开拓性电子应用人才。所以,针对这一紧迫的问题,就特别需要在大专院校开设嵌入式系统设计的实验课程。本文所涉及的嵌入式系统设计,就是为了给高年级本科生、研究生提供一个可扩展的嵌入式系统设计平台。2.3.2 本文主要内容描述和安排本文以上述的设计实现为背景
33、,对嵌入式系统的总体开发流程、功能论证、设计原则、平台选型和技术难点进行探讨,不仅涉及嵌入式系统实现的一般方法,而且也对项目本身的细节进行了详细的描述。与通用PC系统相比,嵌入式系统于硬件的关系更为密切,因而每个设计都有自己特定的硬件平台。本文将以笔者进行项目开发时设计的实验板为例子,介绍嵌入式系统开发需要使用的基本软硬件模块:、LED、IIC、SPI/SSP、VIC、A/D、WDT、UART、GPIO、RTC和低功耗等。就嵌入式系统设计的工作量而言,系统开发的重点在于软件,而其中操作系统内核的移植往往是整个设计最关键也是难度最大的部分。所以,我们在简要介绍基于ARM核的LPC2136芯片的启
34、动程序后,重点介绍C/OS-II的移植过程这个部分。论文通过对比研究,归纳、总结出嵌入式系统设计和实现过程中所必需面对的问题、难点及其解决办法,以及在实际应用中,对嵌入式系统进行构建的诸多决定因素。第二章 嵌入式系统总体设计本章介绍当前流行的嵌入式设计流程,并针对嵌入式系统开发平台这一具体的项目功能要求,从硬件和软件两个角度分别进行分析,阐述嵌入式系统设计的总体设计方案。2.4 嵌入式系统设计方法讨论在设计过程中,一个好的学习方法可以事半功倍,同样在嵌入式系统设计中,一个合理、科学的设计方法可以令设计在规定的时间内很容易达到性能指标。传统嵌入式系统在开发应用中,是按照瀑布式的流程进行的。其工作
35、模式简单,任务的划分协调、人员安排及物质材料的分配管理都比较简单。如图2-1所示,全部开发都按流水线式进行。用户需求硬件制作硬件调试软件编程软件调试最终产品出错出错图2-1 瀑布式开发过程这种开发采用的是软件开发与硬件开发分离的模式,虽然可以各部分独立进行,但不一定是系统综合性能达到最佳。各自部分的修改和缺陷很容易导致系统集成出现问题,这些问题不但难于定位,而且更重要的是,对它们的修改往往会涉及整个软件结构或硬件配置的改动。显然,这是灾难性的。为避免上述问题,20世纪90年代,国外有些学者提出了一种新的开发方式软硬件协同设计方法。首先,应用独立于任何硬件和软件的功能性规格方法对系统进行描述,其
36、作用是对硬件/软件统一表示,便于功能的划分和综合;然后,从系统的功能要求和限制条件出发对硬件/软件进行划分,即对硬件/软件的功能模块进行分配,同时需要对划分的结果做出性能评估、指令参数评估。如果评估结构不满足要求,说明划分方案选择不合理,需要重新划分;以上重复直到获得一个满意的硬件/软件实现为止。图2-2就是该方法的框图。系统功能描述硬件/软件划分(软硬件统一表示)硬件综合软件综合系统集成图2-2 软硬件协同设计方法这种方法的特点在协同设计、协同测试和协同验证上,充分考虑了软硬件的关系,并在涉及的每个层次上给以验证,使得尽早发现和解决问题。显然,对于具体应用系统而言,这种方法很容易获得满足综合
37、性能指标的最佳解决方案。所以,我们的项目也是按照这种方法设计。2.5 开发平台的功能需求分析在实际设计前我们要明确的就是嵌入式系统开发平台需要实现的功能,也就是对项目进行需求分析。要确定这个问题,我们首先要知道对于学生来说,如何学习嵌入式系统的开发和应用:技术基础是关键。技术基础决定了一个人学习知识、掌握技能的能力。嵌入式技术融合了具体应用系统技术、嵌入式微处理器、DSP技术、系统芯片SOC设计制造技术、应用电子技术和嵌入式操作系统及应用软件技术,具有极高的系统集成性,可以满足不断增长的信息处理技术对嵌入式系统设计的要求。因此,学习嵌入式系统首先是基础知识的学习,主要是相关的基本硬件知识,例如
38、一般接口电路(FLASH/SRAM/SDRAM/CACHE、UART、TIMER、WATCHDOG、GPIO、USB、IIC、IIS等)等硬件知识,至少了解一种CPU的体系结构;至少了解一种嵌入式操作系统(中断、优先级、任务间通信、同步等)。对于应用编程,要掌握C/C+和汇编语言程序设计(至少会C语言),对处理器的体系结构、组织结构、指令系统、编程模式和应用编程要有一定的了解。在此基础上,还需在实际工程实践中掌握一定的实际项目开发技能。其次,对于嵌入式系统开发的学习者来说,必须要有一个较好的嵌入式开发教学平台。功能全面的开发平台,一方面为学习提供了良好的开发环境,另一方面开发平台本身也是一般的
39、典型实际应用系统。在教学开发平台上开发一些基础例程和典型实际应用例程,对于初学者和进行实际工程应用也是非常必要的。嵌入式系统的学习必须对基本内容有深入的了解。在处理器指令系统编程学习的基础上,重点是加强外围功能接口的应用学习,主要是人机接口和通信接口,如UART、SPI/SSP、VIC、USB接口、A/D转换、GPIO、以太网、IIC串行数据通信、音频接口和液晶屏等知识的掌握。嵌入式操作系统也是嵌入式系统学习重要的一部分,在此基础上才能进行各种设备的驱动应用程序的开发。通过上面的分析,我们可以得出项目的具体要求:整个系统的结构框图如图2-3所示,嵌入式系统的基本组成部分是硬件和软件。前者是整个
40、系统的物理基础,它是软件运行的平台;后者实际控制系统的运行。硬件包括ARM处理器、存储器、输入输出设备。软件包括启动代码、嵌入式操作系统、外设接口驱动程序和应用程序。微处理器外围设备嵌入式实时操作系统应用程序图2-3 嵌入式开发平台框图2.6 开发平台软硬件的选择嵌入式系统开发平台硬件和软件的选择一般都要求考虑以下几个方面:l 利于二次开发。对于嵌入式系统开发平台而言,一个设计的成功与否很大程度在于系统是否可以二次开发。因为一个扩展性很强、移植方便、可靠的设计可以为学习者或评估者缩短二次开发的时间,加快产品推出。l 确保系统的稳定性。系统的稳定性对于开发平台来说是至关重要的,试想一个很不稳定的
41、开发平台会让用户立刻失去兴趣。l 底层软件的安排。对嵌入式系统来说,软件是应用的最终实现途径,所以是否需要监控程序、操作系统都是必须考虑的。特别是选用何种操作系统是设计进度的重要保证。2.6.1 系统硬件平台的选择2.6.1.1 嵌入式ARM处理器的选型基于ARM的嵌入式开发硬件平台的选择主要是ARM处理器的选择。在一个系统中使用什么样的ARM处理器内核主要取决于应用的领域、用户的需求、成本问题、开发的难易程度等因数。由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。
42、 ARM微处理器目前在国内常见的有这几个系列:ARM7、ARM9、ARM9E、ARM10E、ARM11和XSCALE。ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,
43、与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。XSCALE 处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。 ARM微处理器内核的选择从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功
44、能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、XSCALE都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有C/OS-II、CLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上,C/OS-II、uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。ARM系列的处理器版本越高功能越强大,但是版本越高,成本就越贵,功耗就越高、设计就越复杂,相对周期也越长,对于实验和学习来说,底端的处理器往往是最佳的选择。ARM7TMDI是最适合应用于对成本敏
45、感的产品,也是目前使用最广泛的32位嵌入式RISC处理器。我们综合考虑了系统性能、功耗、价格、开发难度和技术支持等因数后确定ARM7TMDI内核适用于我们的开发方案。ARM7TMDI微处理器系列具有如下特点:l 具有嵌入式ICE、片上Debug,支持片上断点和调试点调试,开发方便。l 极低的功耗,适合对功耗要求较高的应用,如便携式产品。l 能够提供0.9MIPS/MHz的三级流水线结构。l 代码密度高并兼容16位的Thumb指令集。l 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。l 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用
46、。 系统工作频率的选择系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。在实验的应用前提下,有50 MHz的工作频率完全够用了。 片内外围电路的选择确定了使用哪种
47、ARM内核后,接下来就是结合实际情况,根据系统外围设计的需求情况,选择一款合适的处理器。除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如UART、IIC、USB接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等。设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。在实际过程忠,挑选最好的硬件是一件很复杂的工作,充满着各种顾虑和干扰,包括其他工程的影响以及缺乏完整和准确的信息等。根据我们开发平台的实际需要,最后确定选用Philip公司出品的LPC2136芯片。2.6.1.2 LPC2136芯片简介LPC2136通过提供全面的、通用的片上外设,大大减少了系统电路中处理器以外的元器件配置,从而最小化系统的成本。它拥有以下片上功能:l 16/32位ARM7TDMI-S核,超小LQFP64封装。l 32kB 的片内静态RAM和256kB的片内Flash程序存储器。128位宽度接口/加速器可实现高达60MHz工作频率。l 通过片内boot装载程序实现在系统编程/在应用编程(ISP/IAP)。单扇区或整片擦除时间为400ms。256字节行编程时间为1ms。l 2个