您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > LPC2131ARM硬件结构及程序设计报告
重庆理工大学嵌入式体系结构课程总结题目:LPC2131ARM硬件结构及程序设计二级学院计算机科学与信息学院专业计算机科学与技术班级学生姓名学号教师时间2015.1.2成绩目录1.系统控制和启动过程:........................................................................................................22.GPIO......................................................................................................................................43.向量中断及外部中断输入....................................................................................................64.定时器....................................................................................................................................85.SPI..........................................................................................................................................96.I2C........................................................................................................................................117.UART...................................................................................................................................138.A/D.......................................................................................................................................149.WDT....................................................................................................................................151.系统控制和启动过程:系统控制模块:晶振振荡器支持晶振范围为10MHz~25MHz。晶振输出频率称为fOSC,而ARM处理器时钟频率称为cclk。除非连接并运行PLL,否则在该文档中FOSC和cclk的值是相同的。参见6.21.2节“PLL”。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。复位和唤醒定时器LPC2131/2132/2138有2个复位源:RESET管脚和看门狗复位。RESET管脚是一个施密特触发输入管脚,带有附加的干扰滤波器。任何复位源所导致的芯片复位都会启动唤醒定时器(见下面描述的唤醒定时器),复位状态将一直保持到外部复位撤除,振荡器开始运行。振荡器运行经过固定数目的时钟后Flash控制器完成其初始化。当内部复位撤除后,处理器从复位向量地址0开始执行。此时所有的处理器和外设寄存器都被初始化为预设的值。唤醒定时器的用途是确保振荡器和其它芯片操作所需要的模拟功能在处理器能够执行指令之前完全正常工作。这在上电、各种类型的复位以及任何原因所导致上述功能被关闭的情况下非常重要。由于振荡器和其它功能在掉电模式下关闭,因此将处理器从掉电模式中唤醒就要利用唤醒定时器。唤醒定时器监视晶体振荡器是否可以安全地开始执行代码。当芯片上电时,或某些事件导致芯片退出掉电模式时,振荡器需要一定的时间以产生足够振幅的信号驱动时钟逻辑。时间的长度取决于许多因素,包括VDD上升速度(上电时)、晶振的类型及电气特性(如果使用石英晶体)以及其它外部电路(例如:电容)和外部环境下振荡器自身的特性。掉电监测器LPC2131/2132/2138包含一个VDD管脚电压的2级检测。如果VDD电压低于,掉电检测器(BOD)向向量中断控制器声明一个中断。该信号可通过中断使能;或者,也可由件通过读取相应的寄存器来监控信号。当VDD管脚的电压低于2.6V时,这个第二级的低电压检测将产生复位,禁能LPC2131/2132/2138。该复位可以防止Flash的内容发生改变,因为低电压下芯片的各种功能部件的操作都将变得不可靠。BOD电路将使电压降低到1V以下来维持复位,这个电压下上电复位电路也可保持复位。2.9V和2.6V阈值都有滞后。正常工作时,这个滞后可使2.9V的检测能产生可靠的中断或使正常反复执行的事件能检测到掉电条件。代码安全LPC2131/2132/2138可控制应用代码是否被调试或被保护以防盗用。当片内boot-loader在Flash中检测到一个有效校验和并在Flash的0x1FC地址单元读取0x87654321时,禁止调试,Flash代码被保护。一旦调试被禁能,它就只能通过执行芯片擦除来使能。外部中断输入根据可选管脚功能的设定,LPC2131/2132/2138最多可包含9个边沿或电平触发外部中断输入。外部事件可作为4个独立的中断信号来处理。外部中断输入可用于将处理器从掉电状态唤醒。存储器映射控制存储器映射控制改变了从地址0x00000000开始的中断向量的映射。向量可以映射到片内Flash存储器的底部,也可以映射到片内静态RAM。这使得在不同存储器空间中运行的代码都能够对中断进行控制。功率控制LPC2131/2132/2138支持两种低功耗模式:空闲模式和掉电模式。在空闲模式中,指令的执行被暂停,直到产生复位或中断为止。外围功能在空闲模式下继续工作并可产生中断唤醒处理器。空闲模式使处理器自身、存储器系统和相关的控制器以及内部总线不再消耗功率。在掉电模式中,振荡器被关闭,芯片没有任何的内部时钟。处理器状态和寄存器、设寄存器和内部SRAM的值在掉电模式下保持不变。芯片管脚的逻辑电平保持静态。通过复位或特定的不需要时钟还可工作的中断可终止掉电模式并恢复正常操作。由于芯片所有动态的操作都被暂停,掉电模式使芯片消耗的功率降低到几乎为零。外设的功率控制特性允许关闭单独的不需要使用的外设,这样可进一步降低功耗。VPB总线VPB分频器决定处理器时钟(cclk)和外设时钟(pclk)之间的关系。VPB分频器有两个用途。第一,VPB分频器通过VPB总线为外设提供所需的时钟(PCLK),使外设可工作在ARM处理器选择的速率下。为了实现该功能,VPB总线频率可以降低为处理器时钟频率的1/2~1/4。由于VPB总线必须在上电时正确工作(如果VPB总线由于VPB分频器控制寄存器的原因而不工作,则它的时序不能改变),因此VPB总线在复位后的默认状态是以1/4的处理器时钟速率运行。VPB分频器的第二个用途是当所有外设都不必在全速率下运行时降频以降低功耗。由于VPB分频器连接到PLL的输出,PLL(如果正在运行)在空闲模式时保持有效。仿真和调试LPC2131/2132/2138支持通过JTAG串行端口进行仿真和调试。跟踪端口允许跟踪程序的执行。调试和换页跟踪功能只在GPIO的P1口复用。这意味着当应用在嵌入式系统内运行时,位于P0口的所有通信、定时器和接口外设在开发和调试阶段都可用。EmbeddedICE标准的ARMEmbeddedICE逻辑提供对片内调试的支持。对目标系统进行调试需要一个主机来运行调试软件和EmbeddedICE协议转换器。EmbeddedICE协议转换器将远程调议命令转换成所需要的JTAG数据,从而对目标系统上的ARM内核进行访问。ARM内核有一个内置的调试通信通道功能。调试通信通道允许程序在目标系统上运行,即使进入调试状态,目标系统程序与主机调试器或其它独立的主机进行通信时也不会中断程序流程。ARM7TDMI-S内核上运行的程序将调试通信通道作为协处理器14进行访问。调试通信通道允许JTAG端口发送和接收数据,但不影响正常的程序流程。调试通信通道数据和控制寄存器映射EmbeddedICE逻辑中的地址。嵌入式跟踪由于LPC2131/2132/2138带有大量的片内存储器,因此不能简单地通过观察外部管脚来确定处理器核是如何运行的。嵌入式跟踪宏单元(ETM)对深嵌入处理器内核提供了实时跟踪能力。它向一个跟踪端口输出处理器执行的信息。ETM直接连接到ARM内核而不是主AMBA系统总线。它将跟踪信息压缩并通过一个窄带跟踪端口输出。外部跟踪端口分析仪在软件调试器的控制下捕获跟踪信息。指令跟踪(或PC跟踪)显示了处理器的执行流程并提供所有已执行指令的列表。指令跟踪被压缩为广播分支地址和一套用于指示流水线状态的状态信号。跟踪信息的产生可通过选择触发源进行控制。触发源包括地址比较器、计数器和序列发生器。由于跟踪信息被压缩,软件调试器需要一个执行代码的静态映像。由于这个限制,自修改代码无法被跟踪。RealMonitorRealMonitor是一个可配置的软件模块,它由ARM公司开发,可以提供实时的调试。它是一个轻便的调试监控器,当用户对运行在前台的应用程序进行调试时,它运行在后台。它使用DCC(调试通信通道)(EmbeddedICE逻辑中包含了DCC)与主机进行通信。LPC2131/2132/2138包含一个编程到片内Flash存储器中的特定RealMonitor软件。2.GPIOGPIO功能描述每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。GPIO端口的每个位可以由软件分别配置成多种模式。─输入浮空─输入上拉─输入下拉─模拟输入─开漏输出─推挽式输出─推挽式复用功能─开漏复用功能每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;这样,在读和更改访问之间产生IRQ时不会发生危险。下图给出了一个I/O端口位的基本结构。复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式(CNFx[1:0]=01b,MODEx[1:0]=00b)。复位后,JTAG引脚被置于输入上拉或下拉模式:─PA15:JTDI置于上拉模式─PA14:JTCK置
本文标题:LPC2131ARM硬件结构及程序设计报告
链接地址:https://www.777doc.com/doc-2885508 .html