,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,基于ARM的嵌入式系统设计,专业:电子信息与科学技术,班级:电科2班,学号:080531060204,学生姓名:崔欢,指导教师:李广伟,基于ARM的嵌入式系统设计,1,摘 要,嵌入式系统以其特殊,体积小,便于携带,高可靠性,已经在广泛领域得到应用,如军事国防,消费电子,通信设备,工业控制。嵌入式处理器嵌入式实时操作系统(,RTOS,),具有实时性,低成本,小型,专用和高可靠性,克服传统的基于微控制器的控制系统功能不全和非实时的基于,PC,系统的缺点。随着嵌入式系统的硬件和软件技术的飞速发展,其应用将更加广泛,嵌入式系统的研究将有非常广泛的前景。,这个项目的目的是研究对学校教学的嵌入式系统平台,这提高对嵌入式系统的理解是非常重要的。本篇以嵌入式系统设计的原则和实际应用为核心,以理论和技术方法为主题,开展了一系列研究。,摘 要嵌入式系统以其特殊,体积小,便于携带,高可靠性,已经,2,嵌入式系统的定义和特点,嵌入式系统是指以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。这是从技术的角度来定义的,嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等,4,个部分组成,用于实现对其它设备的控制、监视或管理等功能。,“,嵌入式,”,反映了这些系统通常是更大系统中的一个完整部分,嵌入式的系统中可以共存多个嵌入式系统。,与通用的嵌入式系统相比,其主要特征是,:,1.,嵌入式系统通常是面向特定应用的。嵌入式,CPU,与通用型的最大不同就是嵌入式,CPU,大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用,CPU,中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。,嵌入式系统的定义和特点 嵌入式系统是指以应用,3,2.,嵌入式系统的硬件和软件都必须高效率的设计,消除冗余度,在同样的硅片面积,努力实现更高的性能,所以在处理器的具体应用选择上才更具有竞争力。,3.,为了提高执行速度和系统可靠性,嵌入式系统中的系统程序,(,包括操作系统,),和应用程序是浑然一体的,这些程序被编译连接成一个可以执行的二进制映像文件,然后被固化在系统存储空间中。,4.,嵌入式系统本身不具有引导发展的能力,即使设计完成后,大多用户通常不能自行修改程序的功能,使嵌入式系统开发的系统和实际的操作系统是不一样的,需要交叉编译系统和适当的调试系统。,5.,高可靠性和高实时性。也就是说,在恶劣的环境或突然断电的情况下,系统仍然会工作,;,并且对于一个特殊的信号,消息快速响应中断。,2.嵌入式系统的硬件和软件都必须高效率的设计,消除冗余度,在,4,本文主要研究的问题背景和内容,本文主要研究的问题背景:,可以在嵌入式系统的巨大需求描述中发现,特别是在未来,10,年嵌入式的需求达到了一个高峰。从国内,IT,行业的发展来看,国内设备开发有从众心理,为了提高可靠性,而去使用别人早已用过比较成熟的产品,但这些产品往往价格昂贵,并且核心技术长期掌握在他人控制的手中,不利于自身的发展和成长。,由于嵌入式系统不同于以往,PC,市场,硬件和软件已经不可能出像一家垄断的情况。实际上对硬件及软件的选择来说,主要因素是由应用决定的,国内应该抓住这个机会加入到这个竞争行列中来。,本文主要研究的问题背景和内容 本文主要研究的问题背景:,5,ARM,微处理器因其卓越的低功耗、高性能在,32,位嵌入式应用中已位居世界第一,是高性能、低功耗嵌入式处理器的代名词。为了顺应当今世界技术革新的潮流,了解、学习和掌握嵌入式技术,就必然要学习和掌握以,ARM,微处理器为核心的嵌入式开发环境和开发流程,这对于研究和开发高性能微处理器、,DSP,以及开发基于,SOC,芯片设计及应用系统是非常必要的。作为电子信息专业的本科、研究生很有必要了解和掌握,32,位嵌入式应用的开发技术。通过对嵌入式的学习使学生具有较强的综合素质,成为具有良好的实际操作能力设计能力符合社会需求的开拓性电子应用人才。,ARM微处理器因其卓越的低功耗、高性能在,6,本文主要内容概述和任务安排,本文是在上述背景下的设计和实施的,对整体发展过程中的嵌入式系统功能进行可行性研究,并对平台的选择和技术上的困难进行了讨论,不仅涉及一般的嵌入式系统的实施方法,而且对项目本身的细节进行详细说明。与通用,PC,系统相比,嵌入式系统的硬件之间能更紧密的合作,使每个设计都有其特定的硬件平台。此文以笔者设计实验板为例,介绍嵌入式系统开发需要使用的基本软硬件模块:,LED,、,IIC,、,SPI/SSP,、,VIC,、,A/D,、,WDT,、,UART,、,GPl0,、,RTC,和低功耗等。,依据嵌入式系统设计的工作量,系统开发的重点在软件,操作系统内核移植往往是最关键的也是最困难的设计部分。因此,我们简要介绍了,LPC2136,基于,ARM,内核的芯片启动程序,着重介绍,C/OS-II,的移植过程这个部分。,论文通过比较研究,得出结论,总结了嵌入式系统设计和实施的必要问题,困难和他们的解决方案,以及在实际应用中,对嵌入式系统进行构建产生影响的诸多因素。,本文主要内容概述和任务安排本文是在上述背景下的设计和实施的,,7,嵌入式系统总体设计,嵌入式系统总体设计,8,传统的嵌入式系统的开发应用是基于瀑布式流程。操作模式很简单,分工任务协调,人员配备和管理物质材料的分布都比较简单。如图,2-1,所示,所有的发展是由流水线进行。,这方面的开发使用一个单独的软件开发和硬件的发展模式,虽然各部分可以独立进行,但不一定是最好的系统性能。每一部分的变化和缺陷,很容易导致系统集成出现问题,这些问题将不仅难以找到,更重要的是它们往往会涉及到的软件或硬件配置变化和结构变化。显然,这是灾难性的。,为了避免这些问题,在,20,世纪,90,年代,国外一些学者提出了一个新的发展方法,-,硬件和软件协同设计的方法。首先,应用程序是独立于任何硬件和软件功能规范的方法来描述系统,其作用使硬件,/,软件的统一功能和易于合成的划分,;,然后,从系统的功能要求,并在开始限制硬件,/,软件,分配系统的硬件,/,软件模块,但结果需要性能评估师对命令参数评估。如果评估不符合结构的要求,说明方案的选择分工是不合理的,需要进行重新划分,重复直到你得到一个更令人满意的硬件,/,软件至今。图,2-2,是该方法的框图。,传统的嵌入式系统的开发应用是基于瀑布式流程。,9,10,这种方法的特点是通过联合设计,联合测试和协同验证,充分考虑硬件和软件之间的关系,并给予参与核查的每个级别,及早的发现和解决问题。显然,对于具体的应用程序,这种方法很容易获得满足综合性能指标的最佳解决方案。因此,我们的项目也是按照这种方法设计。,这种方法的特点是通过联合设计,联合测试和协同验证,充分考,11,开发平台总体规划,硬件规划,:,我们利用的,ARM,核心处理器设计了一个通用的测试平台,您可以添加各种外设和接口,并且它们都是高度可伸缩的。实验板采用“核心板和多种可选适配器”的形式组成了,LPC2136,开发平台。,下面就是基于,LPC2136,的核心板的组成框图,从此图中就可以看到其各部分的布局结构。,开发平台总体规划硬件规划:,12,13,核心板的资源如下:,CPU,:基于,ARM7TDMI,内核的,LPC2136,微处理器。外部时钟为,11.0592MHz,,内部倍频最高可至,60MHz,。,所有,I/O,口全部引出,方便用户连接外部电路的开发与使用;,可进行,GPIO,的控制实验,如键盘输入、蜂鸣器控制、模拟,SPI,等;,6,个独立按键,(,可用于外部中断、定时器捕获输入,),,,8,个,LED,指示灯;,具有,RS232,转换电路,可与上位机进行通讯,完成,UART,通讯实验;可以与标准串行,modem,和,GPRS,直接接口,方便远程通讯;,具有,I,2,C,接口和,SPI/SSP,接口输出;,使用板内的,CAT1025,(内含复位功能),完成,I,2,C,总线读写,ROM,;,使用,74HC595,芯片,实现,SPI,接口数据发送、接收;,A/D,转换实验;,DAC,转换;,实时时钟控制;,WDT,及低功耗控制;,多种可选的适配器可根据用户自己所需来外设接口:如果面板功能部件,CPU,之间的跳线断开,用户可以用连接配置适配器的方法进行外部扩展设计。如以太网接口,,SD,卡,调制解调器,,GPRS,,液晶显示器,,USB,设备和其他设备。,核心板的资源如下:,14,软件规划,:,软件规划:,15,在芯片通过了启动程序的引导后,直接进入,C,语言的,MAIN,函数入口,通过调用移植好的实时多任务操作系统,C/OS-II,函数包就可以完成多任务之间的调度和同步,并为设备驱动和系统服务程序提供信号量、邮箱、消息队列的服务。因为内核需要实现时间延时和确认超时,所以还需要时钟节拍中断服务程序为其服务。,当然,C/OS-II,只是一个内核,操作系统的其他部分都没有提供,所以我们需要自行设计设备驱动程序和部分系统服务程序。设备驱动是连接底层硬件和上层简洁规范的接口程序的纽带。对下层它可以直接操作硬件,也可能通过中断处理程序与硬件通信,对上层接受上层的请求并执行。一般来说应用程序如果要用到设备驱动程序,就需要用,I/O,管理来达到要求。,我们计划在开发平台上完成,RTC,驱动、串口,UART,驱动、按键及,LED,驱动、,GPIO,驱动,形成一套完整的应用程序开发环境。考虑到时间和人力问题,剩下的部分设备用户可以自行设计。,系统服务程序是一个比较大的范围。我们针对处理器的特点考虑到了后续的文件系统,C/FS,,图形系统,C/GUI,和,TCP/IP,协议栈,LWIP,等程序模块的移植,目前待启动。,用户任务顾名思义就是用户自己定义的任务了,可用于调用系统服务来操作系统,不同的任务可以为各种不同的内核函数提供的服务开进行沟通或处理。,在芯片通过了启动程序的引导后,直接进入C语言的MAIN,16,LPC2136,芯片结构,LPC2136,功能模块,LPC2136芯片结构 LPC2136功能模块,17,LPC2136,的管脚分布图,LPC2136的管脚分布图,18,硬件原理,电源电路,LPC2136,微控制器的内核和,I/O,使用同一电源电压,只需要单一电源,3.3V,供电。开发平台的电源电路如图,3-3,所示,由,USB,接口输入,5V,直流电源,二极管,D2,用于限制电源导通方向,经过两个电容的滤波,然后通过,SPX1117M-3.3,将电源稳压至,3.3V,。,LPC2136,具有独立的模拟电源引脚,为了降低噪声和出错几率,模拟电源与数字电源应该隔离,参考图,3-3,中,L1,和,L2,就是用于电源隔离的元件(将数字电源的高频噪声隔离)。,硬件原理电源电路 LPC2136微控制器,19,复位电路,由于,ARM,芯片的高速、低功耗、低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出来更高的要求。复位电路使用了带,I,2,C,存储器的电源监控芯片,CAT1025JI-30,提高系统的可靠性。,复位电路由于ARM芯片的高速、低功耗、低工作电压导致其噪声,20,系统时钟电路,我们使用了外部,11.0592MHz,晶振,用,11.0592MHz,晶振的原因是使串口波特率更精确,同时能够支持,LPC2136,微控制器芯片内部的,PLL,功能及,ISP,功能。,系统时钟电路 我们使用了外部11.0592,21,JTAG,接口电路,采用,