西安欧亚学院本科毕业论文(设计)-1-第一章绪论一、技术背景:(一)嵌入式系统1、嵌入式系统定义:嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件等部分组成。用于实现对其它设备的控制、监视和管理等功能,它通常嵌入在主要设备中运行。2、嵌入式系统的技术特点:(1)嵌入式系统是集软件、硬件于一体的高可靠性系统嵌入式系统,麻雀虽小,五脏俱全,软件除操作系统外,还需有完成嵌入式系统功能的应用软件,硬件除了CPU外,还需有外围电路支持,微处理器、微控制器、DSP已构成嵌入式系统硬件的基础。(2)嵌入式系统是资源开销小的高性能价格比系统嵌入式系统的发展离不开应用,应用的共同要求是系统资源开销小,由于嵌入式系统技术日益完善,各种高性能嵌入式应用系统层出不穷,它已是资源开销小的高性能价格比的一类应用系统。为了满足系统资源开销小、高性能、高可靠性的要求,大多使用FlashMemory。(3)嵌入式系统是功能强大、使用灵活方便的系统嵌入式系统应用的广泛性,要求该系统通常是无键盘、无需编程的应用系统,使用它应如同使用家用电器一样方便。(二)ARM7TDMI-S简介ARM7TDMI-S是一个通用的32位微处理器,它可提供高性能和低功耗。ARM结构是基于精简指令集计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。二、选题的意义:(一)I2C的简介I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初西安欧亚学院本科毕业论文(设计)-2-为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。(二)I2C总线特点I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。(三)整体设计思路整体框图先借助ADS集成开发环境完成对模块程序语言的编译、调试,再使用JTAG将LPC2290用户板与PC机的ADS集成开发环境连通,把程序的下载到用户板,最后通过LED显示出来。第二章主要功能模块的介绍一、主控芯片(LPC2290)(一)概括:LPC2290是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STMCPU。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。由于LPC2290的144脚封装、极低的功耗、多个32位定时器、8路10位ADC、2路CAN、PWM通道以及多达9个外部中断使它们特别适用于汽车、工业控制应用以及医疗系统和容错维护总线。通过配置总线,LPC2290最多可提供76个GPIO。由于内置了宽范围的串行通信接口,它们也非常适合于通ADS集成开发环境JTAGLPC2290用户板LED显示西安欧亚学院本科毕业论文(设计)-3-信网关、协议转换器以及其它各种类型的应用。(二)技术特性:�★16/32位ARM7TDMI-S核,LQFP144封装。�★16kB片内静态RAM。�★串行boot装载程序通过UART0来实现在系统下载和编程。�★EmbeddedICE-RT和嵌入式跟踪接口使用片内RealMonitorTM软件对任务进行实时调试并支持对执行代码进行无干扰的高速实时跟踪。�★2个互连的CAN接口,带有先进的验收滤波器。多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400kbit/s)和2个SPI接口。�★8路10位A/D转换器,转换时间低至2.44μs。�★2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗。�★向量中断控制器,可配置优先级和向量地址。�★通过外部存储器接口可将存储器配置成4组,每组的容量高达16Mb,数据宽度为8/16/32位。�★多达76个通用I/O口(可承受5V电压),9个边沿或电平触发的外部中断引脚。�★通过片内锁相环(PLL)可实现最大为60MHz的CPU操作频率,设置时间为100us。�★片内晶振频率范围:1~30MHz。�★2个低功耗模式:空闲和掉电。�★通过外部中断将处理器从掉电模式中唤醒。�★可通过个别使能/禁止外部功能来优化功耗。�★双电源-CPU操作电压范围:1.65~1.95V(1.8V±0.15V)-I/O操作电压范围:3.0~3.6V(3.3V±10%),可承受5V电压。(三)功能框图:西安欧亚学院本科毕业论文(设计)-4-(四)常用寄存器1、管功能选择寄存器通过对相应的控制位进行设置,实现相关功能,LPC2290包含3个管脚功能选择寄存器:管脚功能选择寄存器0(PINSEL0–0xE002C000);管脚功能选择寄存器1(PINSEL1–0xE002C004);管脚功能选择寄存器2(PINSEL2–0xE002C014)。2、外部存储器控制器西安欧亚学院本科毕业论文(设计)-5-外部静态存储器控制器是一个为系统总线和外部(片外)存储器器件提供接口的功能模块。它可同时支持4个可单独配置的存储器组的工作(每个存储器组的容量为16M字节,带有字节定位使能控制)。并且每个存储器组都支持SRAM、ROM、FlashEPROM、BurstROM存储器或一些外部I/O器件。每个存储器组的总线宽度为8、16或32位。(五)系统控制1、晶振振荡器支持晶振范围为1MHz~30MHz。晶振输出频率称为FOSC,而ARM处理器时钟频率称为cclk。2.、PLLPLL可以接受范围为10MHz~25MHz的输入时钟频率。输入频率通过一个电流控制振荡器(CCO)可以倍增为10MHz~60MHz。倍增器可以是从1到32的整数(实际上在该系列微控制器当中,由于CPU频率的限制,倍增器的值不可能高于6)。CCO操作的范围为156MHz~320MHz,因此在环当中增加了一个分频器,这样PLL在提供所需要的输出频率时,使CCO保持在其频率范围内。输出分频器可设置为2、4、8或者16以产生输出时钟。由于最小输出分频值为2,这样就确保了PLL输出具有50%的占空比。PLL在芯片复位后关闭并且被旁路,可通过软件使能。程序必须配置并且激活PLL,等待PLL锁定之后再将PLL作为时钟源。PLL的设置时间为100us。3、复位和唤醒定时器LPC2290有2个复位源:RESET管脚和看门狗复位。RESET管脚是一个施密特触发输入管脚,带有附加的干扰滤波器。任何复位源所导致的芯片复位都会启动唤醒定时器(见下面的唤醒定时器),复位状态将一直保持到外部复位撤除,振荡器开始运行。振荡器运行经过固定数目的时钟后片内电路完成其初始化。当内部复位撤除后,处理器从复位向量地址0开始执行。此时所有的处理器和外设寄存器都被初始化为预设的值。唤醒定时器的用途是确保振荡器和其它芯片操作所需要的模拟功能在处理器能够执行指令之前完全正常工作。这在上电、各种类型的复位以及任何原因所导致上述功能被关闭的情况下非常重要。由于振荡器和其它功能在掉电模式下关闭,因此将处理器从掉电模式中唤醒就要利用唤醒定时器。唤醒定时器监视晶体振荡器是否可以安全地开始执行代码。当芯片上电时,或某些事件导致芯片退出掉电模式时,振荡器需要一定的时间以产生足够振幅的信号驱动时钟逻辑。时间的长度取决于许多因素,包括VDD上升速度(上电时)、西安欧亚学院本科毕业论文(设计)-6-晶振的类型及电气特性(如果使用石英晶体)以及其它外部电路(例如:电容)和外部环境下振荡器自身的特性。4、外部中断输入根据可选管脚功能的设定,LPC2290最多可包含9个边沿或电平触发的外部中断输入。外部事件可作为4个独立的中断信号来处理。外部中断输入可用于将处理器从掉电状态唤醒。5、存储器映射控制存储器映射控制改变了从地址0x00000000开始的中断向量的映射。向量可以映射到外部存储器BANK0的底部或片内静态RAM。这使得在不同存储器空间中运行的代码都能够对中断进行控制。6、功率控制LPC2290支持两种低功耗模式:空闲模式和掉电模式。在空闲模式中,指令的执行被暂停,直到产生复位或中断为止。外围功能在空闲模式下继续工作并可产生中断唤醒处理器。空闲模式使处理器自身、存储器系统和相关的控制器以及内部总线不再消耗功率。在掉电模式中,振荡器被关闭,芯片没有任何的内部时钟。处理器状态和寄存器、外设寄存器和内部SRAM的值在掉电模式下保持不变。芯片管脚的逻辑电平保持静态。通过复位或特定的不需要时钟还可工作的中断可终止掉电模式并恢复正常操作。由于芯片所有动态的操作都被暂停,掉电模式使芯片消耗的功率降低到几乎为零。外设的功率控制特性允许关闭单独的不需要使用的外设,这样可进一步降低功耗。7、VPB总线VPB分频器决定处理器时钟(cclk)和外设时钟(pclk)之间的关系。VPB分频器有两个用途。第一,通过VPB总线为外设提供需要的PCLK时钟,以便外设能在选择的ARM处理器速度下操作。为了实现该特性,VPB总线频率可以降低为处理器时钟频率的一半或1/4。由于上电后VPB总线必须正常工作(如果它由于VPB总线的VPB分频器控制寄存器的原因而不能工作,则VPB总线的时序不能改变),因此,VPB总线在复位后的默认状态是以1/4速率运行。VPB分频器的第二个用途是当所有外设都不必在全速率下运行时降频以降低功耗。由于VPB分频器连接到PLL的输出,PLL(如果正在运行)在空闲模式时保持有效。(六)工作时序图西安欧亚学院本科毕业论文(设计)-7-二、I2C功能模块(一)作用:I2C是一个双向总线,它使用两条线:串行时钟线(SCL)和串行数据线(SDA)实现互连芯片的控制,可以极方便地构成多机系统和外围器件的扩展系统。I2C总线采用器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选寻址方法,从而使硬件系统具有最简单而灵活的扩展方法。(二)技术特性★标准的I2C总线接口;�★可配置为主机、从机或主/从机;�★可编程时钟可实现通用速率控制;�★主机从机之间双向数据传输;�★多主机总线(无中央主机);�★同时发送的主机之间进行仲裁,避免了总线数据的冲突;★串行时钟同步使器件在一条串行总线上实现不同位速率的通信;�★串行时钟同步可作为握手机制使串行传输挂起和恢复;�★I2C总线可用于测试和诊断。(三)功能结构框图西安欧亚学院本科毕业论文(设计)-8-(四)总线规范当I2C总线上有2个控制器件同时发动传输时,只能有一个控制器件能真正控制总线成为主机,并使报文不被破坏,与此同时,能同步多个控制器件所产生的时钟信号。西安欧亚学院本科毕业论文(设计)-9-I2C总线应用系统典型结构SDA和SCL都是双向线路。连接到总线的器件的输出级必须是漏极开路或集成电极开路,都通过一个电流源或一个上拉电阻连接到正的电源电压,这样才能实现“线与”功能。当总线空闲时,这两条线路都是高电平。在标准模式下,总线数据传输的速度为0~100kbit/s,在高速模式下,可达到0~400kbit/s。总线速率与总线上拉电阻的关系:总