版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文)题 目 基于LPC2103 ARM7的温度测量系统 电气与自动化工程学院 电气工程及其自动化专业学 号 B06071007 学生姓名 指导教师 起讫日期 2010年3月-2010年6月 设计地点 实验楼L403 37摘要随着信息化、智能化、网络化的发展,嵌入式系统技术广泛应用于工业控制、信息家电、交通管理、农业、商业、服务业等各行业,己成为现代电子产品设计的一大领域和方向。因此,研究嵌入式系统有着相当重要的理论和实际意义。嵌入式系统是以计算机技术为基础,以应用为中心,软件硬件可裁剪,适合于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。本文基于ARM核心微
2、控制器LPC2103的硬件环境,集成搭建了一套具有实时操作系统的嵌入式平台,对嵌入式系统的硬件和软件及相关方面进行研究。通过分析具有一定实时性的、源代码公开的嵌入式操作系统uC/OS-II,在初步了解其内核原理,如任务管理、时钟管理、任务间通讯等基础上,在基于LPC2103处理器的目标板上,对操作系统uC/OS-II进行配置,将此实时嵌入式操作系统成功地移植到目标板上,并用于实时温度测量及报警系统中。该系统采用温度传感器PT100,并对系统的温度进行测量,通过液晶显示屏对温度信息进行显示。同时,通过按键可以设定报警温度值,系统对温度进行实时监测,超过警示值,由LED灯进行报警。【关键词】嵌入式
3、系统;LPC2103;uC/OS-II;温度传感器PT100;温度测量与报警AbstractWith the development of information, intelligence and network, the technology of embedded system is widely applied to industrial control, information appliance, traffic control, agriculture, commerce, service industry, etc., and it has become a direction
4、 of design of modern electrical products. Therefore, making research on embedded system has very important meaning both in theory and practice. The embedded system is a professional computer system which is based on computer technique and application-centered, with cutting software and hardware, app
5、lies to application system, and meanwhile has strict requirement for function, reliability, cost diminution and power consumption. Based on the environment of the ARM core microcontroller LPC2103, this design builds an embedded platform of real-time operating system, and makes research on the hardwa
6、re and software of embedded system and related aspects. This design analyzes the embedded system which is real-time, with open source code. With a preliminary understanding of core structure, such as task management, time management, task communication and so on, based on the target board of LPC2103
7、 processor, we can allocate the operating system uC/OS-II and put the real-time embedded system into target board successfully, and meanwhile apply this system to real-time temperature mean sure and alarm system. This system adopts temperature sensor PT100, using PT100 to measure temperature of the
8、system, and shows the temperature by liquid crystal display. Moreover, the system can be set temperature alarm value for real-time monitoring. The LED light will alarm as it is over warning value.KEYWORDS:embedded system;LPC2103;uC/OS-II;temperature sensor PT100;temperature measure and alarm. 目录摘要IA
9、bstractII第一章 前言1§1.1课题背景和意义1§1.2国内同行研究概况1§1.3研究的主要内容2第二章 ARM处理器及嵌入式系统综述4§2.1 ARM处理器4§2.1.1处理器的简介4§2.1.2 ARM处理器的体系结构4§2.1.3 ARM编程模型5§2.2 嵌入式系统6§2.2.1嵌入式系统的定义6§2.2.2嵌入式系统的特征6§2.2.3嵌入式系统的应用6§2.2.4嵌入式系统的发展趋势7§2.3 本章小结7第三章 基于LPC2103的软硬件平台8&
10、#167;3.1 LPC2103概述8§3.1.1 LPC2103内核8§3.1.2LPC2103的系统控制模块8§3.2 LPC2103最小系统9§3.2.1基于LPC2103的硬件平台实物图9§3.3 温度传感器PT10010§3.3.1 温度传感器的介绍及选择10§3.3.2 PT100温度传感器工作原理10§3.4 液晶显示屏S0-1286411§3.5 集成开发环境及仿真软件11§3.5.1 集成开发环境IAR11§3.5.2 H-JTAG功能介绍17§3.6 本章
11、小结21第四章 uC/OS-移植22§4.1 uC/OS-概述22§4.1.1 任务管理22§4.1.2 时间管理23§4.2 uC/OS-在系统上的移植23§4.3 uC/OS-移植的测试23§4.4 本章小结25第五章 系统软硬件的设计调试26§5.1 各功能模块设计系统26§5.1.1 液晶屏12864的调试26§5.1.2 按键输入功能嵌入30§5.1.3 温度报警功能嵌入34§5.2 uC/OS-系统中应用程序的加载及其优点35§5.3 本章小结35总结与展望36本
12、文小结36前景展望36谢 辞37参考文献38第一章 前 言§1.1课题背景和意义随着信息化、智能化、网络化的发展,嵌入式系统技术广泛应用于工业控制、信息家电、交通管理、农业、商业、服务业等各行业,己成为现代电子产品设计的一大领域和方向。嵌入式系统是以计算机技术为基础,以应用为中心,适合于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,因此可以说嵌入式系统开创了电子元器件的新纪元。因此,研究嵌入式系统有着相当重要的理论和实际意义。而温度测量是工业、农业、国防和科研等部门最普遍的测量项目,它在工农业生产,现代科学研究及高新技术开发过程中也是一个极其普遍而重要的测量参数。
13、本次研究就是将这两者有机的结合起来,实现基于嵌入式系统的温度测量。实现了这样的研究将大大的提高温度测量的稳定性和有效性,更进一步的展现出进入嵌入式系统开发时代给社会的各个领域所带来的高技术的支持,将让我们更好的处于信息化时代。虽然我国目前的一些科技研发还远不如国外,但是只要坚持着这一个研究方向一直走下去,我国的科技实力将会得到很大程度的提高。基于LPC2103ARM的温度测量系统就是嵌入式系统在实际的生产生活中的一个简单的实践和运用,就是嵌入式系统和温度测量的一个有效的结合。这样的温度测量系统稳定性好,对温度的采集、处理、监控都有很高的要求。通过对这样的一个温度测量系统的研究不但可以增进对嵌入
14、式系统的认识,而且将近一步了解嵌入式系统发展的历程及其今后的发展方向和温度测量在现实生产生活中的普遍运用。这样的一个研究最后要达到的目标就是对一些超过警示温度的温度进行预报警,这样在工厂生产过程中将可以对一些因温度而引起的事故进行有效的避免,大大提高生产的安全系数,而且它可以进一步的弥补目前市场上的一些温度测量系统的不足之处,让温度测量系统变得更加完善。§1.2国内同行研究概况温度测量是工业,农业,国防和科研等部门最普遍的测量项目,它在工农业生产,现代科学研究及高新技术开发过程中也是一个极其普遍而重要的测量参数。而嵌入式系统已经渗透到我们生活中的每个角落,工业、服务业、消费电子,世界
15、上第一个应用的嵌入式系统可以追溯到20世纪60年代中期的阿波罗导航计算机AGC(Apollo Guidance Computer)系统用来完成阿波罗飞船的导航控制。从单片机地出现到今天各种嵌入式微处理器、微控制器的广泛应用,嵌入式系统开发少说也有了30多年的历史。纵观嵌入式系统的发展历程,大致经历了4个阶段:(1)、无操作系统;(2)、简单操作系统;(3)、实时操作系统;(4)、面向Internet阶段。把嵌入式系统的开发与温度测量结合起来的设计联系起来将是基于这两种研究上的成熟运用。黄坚,朱节云在基于嵌入式技术的温度测量系统1一文中采用可编程单总线数字式温度传感器DS18B20, 以嵌入式系
16、统作为现场处理单元, 并利用中间件技术实现了与上位机的实时数据交换。实验表明, 该温度测量系统具有较高的可靠性和精度。增加温度控制功能并扩充测控点数,构造一个集中监控的分布式温度测控系统为下一步的研究目标。刘鹏程在基于ARM的温度测量系统2一文中设计了一款基于ARM的温度测量系统,其具有体积小、处理能力强、接口丰富、成本低、测温精度高等特点。整个系统由三个模块组成,包括温度测量模块、微处理器模块和温度控制模块基于ARM芯片的温度测量系统,在功能、价格以及应用前景这些方面,都比目前广泛使用的基于普通单片机技术的系统有很大优势。该系统的升级空间很大,可通过更换传感器及相应软件以实现不同物理量的测量
17、。系统完成后进行了测量与处理模块的试验,试验证明该系统的温度测量性能满足设计要求。系统结构图如图1.1。SDJTAGLCDKEYARMLPC2114时钟UART电源铂电阻传感器A/D光耦隔离D/A温度控制系统陀螺仪图1.1 系统整体结构图在很多应用领域中,基于温度探测的监控和报警系统已经不仅仅是一个独立的系统,更多的时候是某个更大的监控系统的一个组成部分。有时和上位机相连,有时又和PC机连接,甚至可能连接在互联网上以实现远程监测、控制和访问。数字化、智能化的传感器集采样、A/D转换、电平兼容、总线地址、阀值报警、数据双向通信、接口协议众多功能于一身。这为其广泛应用于各种不同的环境提供了便捷的条
18、件。§1.3研究的主要内容本课题研究的是基于ARM7的一个温度测量系统。在翻阅了大量资料后,决定采用PT100温度传感器和ARM7内核的LPC2103处理器进行开发。其中涉及一线总线技术的应用,嵌入式系统开发应用等。装置通过数字温度传感器采集温度,信息送到处理器上并计算出实际的温度数值,并且由LCD进行显示,并可以设置警示温度值,超过警示温度,由LED灯进行提示报警,整个装置在uC/OS-II系统下运行。研究的工作:1 熟悉掌握LPC2103和PT100的功能。2 接收采集得到的温度信息,编写相应的处理程序并且在LCD上显示采集到的温度,设置上下限警示温度3 IAR集成开发环境的建立
19、。这部分主要利用IAR编写程序后下载到ARM芯片使操作系统在ARM上工作。4 设计报警电路,对采集到上下限外的温度信息实施报警5 熟悉uC/OS-II系统6 将以上程序移植到uC/OS-II上,整个程序能在uC/OS-II操作系统上运行第二章 ARM处理器及嵌入式系统综述嵌入式系统是指用于执行独立功能的专用计算机系统,以应用中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件和软件的协同性及整合性,软件和硬件可裁剪,以满足系统对功能、成本、体积和功耗等的要求。§2.1 ARM处理器§2.1.1处理器的简介ARM是Advanced RISC Machines的缩
20、写。ARM公司,是近年来在嵌入式系统中非常有影响的微处理器设计商,它主要是将芯片设计技术的授权出售给世界上众多著名的半导体、软件和OEM厂商,并且为他们提供ARM相关技术及服务3。ARM CPU是RISC架构的CPU,其设计主要适合于要求体积小、功耗低和功能较强处理能力等要求的嵌入式系统。它的主要特点有:(1)采用固定长的指令格式;(2)使用单周期指令,便于流水线操作执行;(3)大量使用寄存器,数据处理指令只对寄存器操作,只有加载/存储指令可以访问储器,以提高指令的执行效率;(4)所有的指令都可以跟前面的执行效果决定是否被执行,从而提高指令的执行效率;(5)可用加载/存储指令批量传输数据,以提
21、高数据的传输效率;(6)可在一条数据处理指令中同时完成逻辑处理和移位处理;(7)在循环处理中使用地址的增减来提高运行效率。ARM内核中有四个功能模块可供生产厂商根据不同的用户的不同要求来配置生产。这四个模块分别用T、D、M和I来表示。T:表示Thumb,该内核可从16位指令集扩充到32位ARM指令集;D:表示Debug,该内核中放置了用于调试的结构,可以使CPU进入调试模式,从而可方便地通过JTAG进行断点设置、单步调试;M:表示Multiplier,该内核内部带有8位乘法器;I:表示Embedded ICE Logic,该内核可用于实现断点观测及变量观测。§2.1.2 ARM处理器
22、的体系结构ARM一般采用RISC结构,版本也在不断升级。嵌入式微处理器可分为CISC和RISC两类。RISC和CISC是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大。两者比较而言,传统的CISC结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。在CISC指令集的各种指令中,其使用频率相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%,而余下的80%的指令却不经常使用,在程序设
23、计中只占20%。而RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。除此之外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗。·所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。·可用加载/存储指令批量传输数据,以提高数据的传输效率。·可在一调数据处理指令中同时完成逻辑处理和移位处理。·在循环处理中使用地址的自动增减来提高运行效率。当然,尽管RISC架构有上述的优点,但绝不能认为RISC架构就可以取代CISC架构,事实上,RISC和CISC各
24、有优势,而且界限并不是那么明显,现代的CPU往往采用CISC的外围,内部加入了RISC的特征,如超长指令集CPU就是融合了RISC和CISC的优势。§2.1.3 ARM编程模型ARM7支持7种操作模式,可以由软件配置,分别如下:User mode(usr):正常程序执行模式;FIQ mode(fiq):支持快速数据传送和通道处理;IRQ mode(irq):用于通用中断处理;Supervisor mode(svc):操作系统保护模式;System mode(sys):运行特权模式操作系统任务;Abort mode(abt):数据或指令预取失效后进入的状态;Undefined mode
25、(und):执行未定义的指令时进入的模式。对这些操作模式的支持,使得ARM可以支持虚拟存储器机制,支持多种特权模式,从而可以运行多种主流的嵌入式操作系统。ARM微处理器中共定义了37个编程可见寄存器,每个寄存器的长度均为32位。根据不同的用途,可将其划分为以下几类:31个通用寄存器。在任意一种处理器模式下,只有15个通用寄存器可以使用,编号分别为r0,.,r14。其中,r13一般作为堆栈指针寄存器(SP:Stack Pointer)4。该寄存器由ARM编译器自动使用。r14一般作为链接寄存器(LR:Link Register)。当系统中发生子程序调用时,用r14来记录返回地址。如果返回地址己经
26、保存在堆栈中,则该寄存器也可以用于其它用途。6个状态寄存器。这些寄存器也是32位的,当只使用了其中的12位。在所有处理器模式下都可以访问当前程序状态寄存器CPSR(Current Program Status Register)。CPSR包含条件吗标志、中断禁止位、当前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR(Saved Program Status Register)。当异常出现时,SPSR用于保留CPSR的状态。§2.2 嵌入式系统§2.2.1嵌入式系统的定义嵌入式系统是指用于执行独立功能的专用计算机系统。它由微处理器、定时器、微
27、控制器、存储器、传感器等一系列微电子芯片及器件,和嵌入在存储器中的微型操作系统及控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件和软件的协同性及整合性,软件和硬件可裁剪,以满足系统对功能、成本、体积和功耗等的要求。最简单的嵌入式系统仅有执行单一功能的控制能力,在唯一的ROM中仅有实现单一功能的控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字处理(PDA)、手持电脑(HPC)等,几乎具有与PC一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM
28、或FLASH存储器中,而不是存储与磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的4。§2.2.2嵌入式系统的特征嵌入式系统作为计算机应用系统的一个分支跟我们平时见到的PC机系统相比,有其自身的特点:(1)嵌入式系统要求其CPU具有功耗低、体积小、集成度高、处理能力强、价格低的特点,把很多板卡完成的功能集中到CPU芯片内部,从而使整个系统能够做到小型化。而其高性能和低廉的价格是处理器具有市场竞争能力的保证。(2)嵌入式系统和具体的应用有机的结合,其升级换代也是和具体产品同步进行的,嵌入式产品一旦进入市场,就有较长的生命周期。(3)嵌入式系统为了提高系统的可靠性和执行
29、速度,一般都是将嵌入式的操作系统和应用软件固化在可擦写的ROM或者FLASH中。(4)由于嵌入式系统对实时性要求较高,因此嵌入式的操作系统必须具有较高的实时性。同时对程序的质量和可靠性提出了较高要求。(5)由于储存容量和体积的限制,嵌入式操作系统必须要具有体积小、功能强、可定制并能够管理系统硬件的特点。(6)嵌入式系统的开发需要专门的开发工具和开发环境,一般采用宿主机(PC机)或工作站上编辑、编译,最后固化到目标机上的方式。§2.2.3嵌入式系统的应用随着嵌入式系统的高速发展,嵌入式软件将继续增加新的功能,并产生更加灵巧智能的产品,具体应用如下:(1)嵌入式系统在无线通信领域的应用有
30、手机、小灵通、智能手机等,85%以上的无线设备(手机等)都采用了ARM技术,在向3G升级的过程中,ARM的地位也非常稳固。(2)嵌入式系统在消费类电子中的应用迅速增长,如数字音频播放器(mp3)、数字机顶盒和游戏机等。(3)信息家电将成为嵌入式系统最大的应用领域。具有用户界面,能远程控制,智能管理的电器是未来的发展趋势,如冰箱、空调等得网络化、智能化等。(4)嵌入式技术在交通管理、环境监测中的应用·交通管理在车辆导航、流量控制、信息监测与汽车服务方面,目前GPS设备已经从尖端产品进入了普通百姓的家庭。·水文资料实时监测,防洪体系及水土质量监测、堤坝安全、地震监测网,实时气象
31、信息网,水源和空气污染监测。·加油站·停车场管理(5)嵌入式系统在其他领域也有着广泛的应用,如工业控制、海量存储设备(微型闪速存储卡)、成像设备(包含ARM技术的数码相机和数码打印机)以及安全产品(32为SIM智能卡)等。§2.2.4嵌入式系统的发展趋势以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注入了新的生命,同时也对嵌入式系统技术,特别是软件技术提出了新的挑战。这主要包括:支持灵活的网络链接、轻便的移动应用和多媒体的信息处理。此外,当然还对需要对付更加激烈的市场竞争。(1)嵌入式的应用软件越来越丰富、成熟。(2)联网成为必然趋势。(
32、3)支持小型电子设备实现小尺寸、微功耗和低成本。(4)提供精巧的多媒体人机界面。§2.3 本章小结本章主要对ARM微处理器和嵌入式系统做了一些方面的了解。对ARM的体系结构和一些编程模型进行了必要的学习。明确了嵌入式系统在现在社会的重要性,发现它对现在科学技术的发展有着其不可替代的作用,并且以后的发展趋势特别的明朗,越来越注重社会的需要。第三章 基于LPC2103的软硬件平台LPC2103 是基于一个支持实时仿真的32 位ARM7 TDMI-S CPU 的微控制器,并带有32kB 嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率
33、下运行。针对LPC2103具有着与其他微处理器不同的特征及其内部的一些结构以及软件的仿真,将在本章做简要的阐述。§3.1 LPC2103概述§3.1.1 LPC2103内核LPC2103是基于ARM7TDMI-S内核的嵌入式微处理器,它的主要特征如下:n ARM7TDMI-S处理器,频率可达60MHz;n 128k字节片内Flash程序存储器,具有ISP和IAP功能,Flash的编程时间:1ms ,可编程512字节,扇区擦除或整片擦除时间只需400ms;n l6k字节静态RAM;n 向量中断控制器;n 标准ARM测试/调试接口,兼容现有的工具;n Real Monitor模
34、块支持实时调试,仿真跟踪模块,支持实时跟踪;n 极小封装:TQFP48 (77mm);n 单UART;n I2C串行接口和SPI串行接口;n 两个定时器,分别具有4 路捕获/比较通道;n 多达6路输出的PWM单元;n 实时时钟和看门狗定时器;n 通用I/O口;n 高效的电源管理;由于LPC2103具有非常小的尺寸和极低的功耗,它们非常适合于那些小型化为主的应用,也可以和其它芯片一起封装。它的主要应用领域有:Internet网关、串行通信协议转换器、访问控制、工业控制、MP3音频产品、医疗产品等。§3.1.2LPC2103的系统控制模块LPC2103的系统控制模块包括几个系统特征和控制
35、寄存器,这些寄存器具有众多与特定外设无关的功能,它们的设置决定了系统的工作模式。它们包括:n 晶体振荡器:n 外部中断输入:n 存储器映射控制器:n PLL:n 功率控制:n 复位:n VPB分频器:n 唤醒定时器:每种类型的功能都有其自身的功能,不需要的位则定义为保留。为了满足将来扩展的需要,无关的功能不共用相同的寄存器地址。§3.2 LPC2103最小系统基于LPC2103的最小系统如图3.1所示,主要由LPC2103核心板、电源模块、复位和I2C模块、时钟模块、按键和显示模块、UART串口模块、JTAG调试模块组成。LPC2103核心板电源模块复位和I2C模块时钟模块按键和显示
36、模块UART串口模块JTAG调试模块图3.1:LPC2103最小系统原理图§3.2.1基于LPC2103的硬件平台实物图如图3.2图3.2 基于LPC2103的硬件平台实物图§3.3 温度传感器PT100§3.3.1 温度传感器的介绍及选择温度传感器从使用的角度大致可分为接触式和非接触式两大类,前者是让温度传感器直接与待测物体接触,来敏感被测物体温度的变化,而后者是使温度传感器与待测物体离开一定的距离,检测从待测物体放射出的红外线,从而达到测温的目的。由于本课题的任务要求测量的范围为-40一600,测量的精度为士0.2,综合价格以及后续的电路,决定采用线性度相对较
37、好的PT100作为本课题的温度传感器,具体的型号为铂电阻温度传感器,其测温的范围从-200一+650。温度传感器PT100是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在-200至650的范围.本电路选择其工作在-19至500范围。整个电路分为两部分,一是传感器前置放大电路,一是单片机A/D转换和显示,控制,软件非线性校正等部分。§3.3.2 PT100温度传感器工作原理传感器的接入非常简单,从系统的5V供电端仅仅通过一支3K92的电阻就连接到PT100了.这种接法通常会引起严重的非线性问题,但是.由于有了单片机的软件校正作为后盾,因此就简化了传感器的接入方式. &
38、#160; 按照PT100的参数,其在0到500的区间内,电阻值为100至280.9,我们按照其串联分压的揭发,使用公式:Vcc/(PT100+3K92)* PT100=输出电压(mV),可以计算出其在整百时的输出电压,见下面的表格:温度 PT100 阻值 传感两端电压 mV0100.00124.381100.39124.850119.40147.79100138.51170.64150157.33192.93200175.86214.68250194.10235.90300212.05256.59350229.72276.79400247.09296.48450264.18315.
39、69500280.98334.42§3.4 液晶显示屏S0-12864SO-12864是一个汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵,16*8=128,16*4=64,一行只能写8个汉字,4行)、128个字符(8*16点阵)及64*256点阵显示PAM(GDRAM)。S0-12864实物图如图3.5:图3.5 液晶显示屏S0-12864§3.5 集成开发环境及仿真软件嵌入式系统本身不具备自己的开发能力,必须有一套开发工具和环境才能进行开发。本系统的工具主要包括:集成开发环境IAR和仿真软件H-JTAG。§3.5.1 集成开
40、发环境IARIAR Embedded Workbench for ARM是IAR Systems公司为ARM微处理器开发的一个集成开发环境。比较其他的ARM开发环境,IAR EWARM具有入门容易、使用方便和代码紧凑等特点。IAR EWARM集成了开发嵌入式系统所需的文件编辑、项目管理、编译、链接和调试工具。特别是IAR C-SPY调试器支持实时操作系统的响应调试,这给移植C/OS-II的调试带来了很大的方便。另外,本设计在连接目标板与开发环境之间采用H-JTAG调试代理软件。下面介绍下如何运用IAR建立一个工程:1:双击IAR图标,打开开发环境;2:点击第一个图标,新建一个工程;(图3.6)
41、图3.6 新建工程3:设计保存目录和工程名为;(图3.7)图3.7保存目录4:新建一个文件;(图3.8)图3.8新建文件5:保存为main.c文件;(图3.9)图3.9 保存main.c文件6:右键点击option,将C文件添加到工程中;(图3.10)图3.10 添加C文件至工程7 :进行编译,保存EWW文件;(图3.11)图3.11 编译,保存为EWW类型文件8 :进入option选项Generaltarget中设置ARM类型;(图3.12)图3.12 设置ARM类型9 :进入option选项Generaldebug中设置软件仿真;(图3.13)图3.13 设置软件仿真10:软件仿真后可以查
42、看相应的寄存器,按F10为单步运行 ;(如图3.14)图3.14 单步运行显示§3.5.2 H-JTAG功能介绍H-JTAG如图3.15图3.15 H-JTAG功能图H-JTAG主要有以下五大功能:n 仿真测试功能利用H-JTAG的外测试功能,可以在指定I/0口模拟数字信号,测试板级系统的数字逻辑及逻辑验证。n 在线测试功能利用H-JTAG的抽样和预加载功能,可以在不影响系统工作的情况下,观察系统各部分工作的情况。n 在线编程功能如系统中有EEPROM器件,可以利用H-JTAG的外测试功能,将需装载的数据通过I/O加载到系统中EEPROM器件的引脚上,在无须任何附加电路情况下完成在线
43、编程功能。n 冗余测试功能在本身具有测试功能的系统中,可以通过H-JTAG的测试完成冗余测试,加强测试的可靠性。n 远程测试诊断利用H-JTAG测试信号技术和Internet技术结合,就可扩展H-JTAG的测试手段和能力。下面介绍利用H-JTAG调试代理制RAM中仿真1:进入option选项Generaltarget中设置硬件仿真; 2:进入option选项 linkoutput中设置,选择C-spy ;(图3.16)图3.16 选择C-spy调试器3:进入option选项 linkextra output中设置 ;(图3.17)4:进入option选项 linkconfig中设置为$PROJ
44、_DIR$sysLPC2103_RAM.XCL;图3.17 设置link中的选项5:进入option选项 Debugger中设置,选择调试代理RDI ;(图3.18)图3.18 选择调试代理RDI6:在option选项 debuggerRDI中选择H-JTAG ;(图3.19) 图3.19 选择H-JTAG7:进入option选项 Debugger中设置,选择设置类型 ;(图3.20)图3.20 对Debugger进行设置从其他的程序中将LPC2103_RAM.xcl文件拷贝过来再make一下就可以。 点击 make一下,完成代码编写,按F7进行编译。 §3.6 本章小结本章主要研究
45、基于LPC2103的软硬件平台的设计。其中主要包括对LPC2103的内核、LPC2103的最小系统、温度传感器PT100、液晶显示屏S0-12864、集成开发环境IAR及仿真软件H-JTAG的介绍和它们相应的运用,为下面做整个系统的设计打下基础。第四章 uC/OS-移植操作系统是一种运行在嵌入式硬件平台上,对整个系统机器所操作的部件、装置等资源进行统一协调、指挥和控制的系统软件。具有微型化、可裁剪性、实时性、高可靠性和易移植性等优点。操作系统按对外部时间的响应能力来分类,有实时操作系统和分时操作系统两类。实时操作系统是指系统能及时响应外部时间的请求,并能及时控制所有实施设备与实施人物协调运行,
46、且能在一个规定的时间内完成对事件的处理。uC/OS-就是一种嵌入式多任务实时操作系统。自问世以来,已有成千上万的开发者把它成功地应用于各种系统中,安全性和稳定性己经得到认证,现已经通过美国认证。§4.1 uC/OS-概述uC/OS-是源码公开的嵌入式操作系统。它是一种抢先式实时内核,是基于优先级的,即总是让就绪状态中优先级高的任务先执行。它可支持个任务,包含了实时内核、任务管理、任务间通信信号量、邮箱、消息队列等和内存管理等功能它的代码是用C语言和汇编语言编写的,结构简单、可移植性强。一该操作系统可以在8位、16位、32位微处理器、微控制器和数字信号处理器上运行。§4.1.
47、1 任务管理一个任务通常是一个无限的循环,由程序和数据组成。在uC/OS-中,任务有5种状态:休眠态、就绪态、运行态、中断态、等待态,在任一时刻,任务处于这五种状态之一。实时系统uC/OS-对任务的管理和调度主要是通过任务控制块和任务就绪表来实现。任务控制块是一个数据结构,它与任务一一对应。任务控制块包括任务的指针,任务的堆栈信息,任务的优先级,任务的状态,任务在任务就绪表中的位置等数据信息。在操作系统初始化OSINIT时,系统申请了一块RAM空间来存储空闲任务控制块。 一旦任务建立, 系统就会分配一个任务控制块(task control blocks)OS_TCB给该任务。当任务的CPU使用
48、权被剥夺时,uC/OS-用它来保存该任务的状态。当任务重新得到CPU使用权时,任务控制块能确保任务从被中断的那一点继续执行下去。OS_TCB全部驻留在RAM中,在任务建立的时候,OS_TCB被初始化。应用程序中最多任务数(OS_MAX-TASKS)是在文件OS_CFG.H中定义的,所有的任务控制块OS_TCBS都是放在任务控制块列表数组OSTCBTb1中的。目前,系统uC/OS-占用了两个任务,一个用于空闲任务,另一个用于任务统计。在uC/OS-初始化时,所有任务控制块OS_TCBS被链接成空任务控制块的单向链表。当任务一旦建立,空任务块指针OSTCB Free List指向的任务控制块便赋给
49、了该任务,然后OSTCB Free List的值调整为指向链表中下一个空的任务控制表。一旦任务被删除,它的任务控制块就回到空任务控制块链表中。uC/OS-对任务的管理实质上通过一系列函数改变任务控制块的链表和数组以及改变任务控制块的信息,例如OSTaskCreate()创造任务。uC/OS-任务的调度是基于优先级调度, 通过就绪表来实现,每个任务被赋予一个优先级,优先级高的任务先运行,反之亦然。§4.1.2 时间管理uC/OS-(其他内核也一样)要求用户提供定时中断来实现延时与超时控制等功能,这个定时中断叫时钟节拍,它应该每秒发生10至100次。时钟节拍的频率实际上是由用户应用程序决
50、定的,时钟频率越高,系统的负荷就越重。时间管理提供如下功能:n 产生时钟节拍n 任务延时n 结束延时n 系统时间§4.2 uC/OS-在系统上的移植所谓移植,就是使一个实时内核能在其它的微处理器或微控制器上运行。C/OS-II移植到AT91M40800上需要修改几个与处理器相关的文件:os_cpu.h、os_cpu.c和os_cpu_a.asm。在os_cpu.h文件中,重新定义与IAR编译器相关的数据类型。定义保护临界段代码的开/关中断模式为模式3。AT91M40800的堆栈生长方式设置为由高地址向低地址递减方式。os_cpu.c文件包含与移植有关的10个简单的C语言函数。本文移植
51、了其中的2个函数:OSTaskStakInit()和OSInitHookBegin()。前者用于堆栈的初始化设置,而后者则用于初始化变量OSIntCtxSwFlag,该变量用以表示在完成所有嵌套的中断服务程序后是否需要进行任务切换。在os_cpu_a.asm文件中,编写了5个汇编语言函数: OSStartHighRdy ( )、OSCtxSw ( )、OSIntCtxSw()、OS_CPU_SR_Save()和OS_CPU_SR_Restore()。它们分别实现开/关中断、上下文切换、时钟中断服务等功能。§4.3 uC/OS-移植的测试C/OS-II移植完成后,需要进行测试,以验证移
52、植的C/OS-II是否能正常工作。本设计将测试程序放在app.c和app.h文件中。app.c文件是一个标准的C/OS-II测试文件,它包含main()函数和AppStartTask()函数。app.h文件中是与应用相关的常量、宏定义以及函数原型声明等。main()函数首先建立空闲任务和统计任务,接着通过调用C/OS-II提供的OSTaskCreateExt()函数建立灯闪烁任务AppStartTask(),最后调用OSStart()开始运行多任务。main()函数程序流程如图4.1所示。开始初始化uC/OS-建立灯闪烁任务AppStartTask内核进行多任务调度结束图4.1 main()函
53、数程序流程图AppStartTask()任务首先调用BSP()函数来初始化目标硬件;C/OS-II统计任务OSStatInit()执行的必要条件是使能时钟中断;最终进入任务体,该任务通过AT91M40800的置位/清零P17口点亮或熄灭连接在该I/O口上的小灯,以直观地表明C/OS-II是否进行了多任务调度。AppStartTask任务程序流程如图4.2所示。开始初始化CPU 片内外围设备BSP_Init()使能统计任务OSStatInit()任务体,循环点亮小灯图4.2 AppStartTask()任务程序流程图在IAR EWARM集成开发环境成功添加上述文件后,工作区界面如图4.3所示图4
54、.3在IAR EWARM集成开发环境下进行C/OS-II移植时的工作区界面§4.4 本章小结本章针对uC/OS-系统进行了简要的概述。对于系统的时间管理和任务管理,做了详尽的介绍;由于uC/OS-系统的移植是运用这个系统的关键,所以针对该系统在ARM7上的移植与测试都进行了简要的了解。第五章 系统软硬件的设计调试对所有的分模块进行有效的整合,并设计温度报警程序,同时将在其中加入按钮输入,流水灯报警以及液晶显示屏12864的显示。最后将以上程序移植到uC/OS-II上,整个程序能在uC/OS-II操作系统上运行。§5.1 各功能模块设计系统整个温度测量装置主要由以下几部分构成:LPC2103、SO-12864液晶显示屏、PT100、三路按键输入、三路LED灯报警。系统总体结构如图5.1:液晶显示屏1212S0-12864温度传感器PT100LPC2103流水灯、蜂鸣器报警按钮输入图5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年临时搬运合同
- 2024年度某新能源汽车制造技术许可合同
- 2024年度文化娱乐活动策划合同
- 2024年广播剧配音委托合同
- 2024年建筑工程地面建设合同
- 企业普通员工年终个人工作总结
- 2024年度风力发电设备安装合同
- 节能宣传课件教学课件
- 2024医疗机构人力资源共享与培训合同
- 2024年度碎石料供需合同
- 护士与医生的合作与沟通
- GB 42295-2022电动自行车电气安全要求
- 产品系统设计开发 课件 第4、5章 产品系统设计类型、产品系统设计开发综合案例
- 1编译原理及实现课后题及答案
- 焊接材料的质量控制和追溯规范
- 让阅读成为习惯家长会课件
- 家庭健康照护服务方案
- 施工方案 谁编
- 沪教牛津版八上英语Unit-6-单元完整课件
- 新能源及多能互补互补技术
- 混凝土搅拌站安装及拆除方案
评论
0/150
提交评论