LPC2131/2132/2138使用指南1.简介概述LPC2131/2132/2138是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微控制器,并带有32kB、64kB、512kB的嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在昀大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb®模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和极低的功耗使LPC2131/2132/2138可理想地用于小型系统中,如访问控制和POS机。宽范围的串行通信接口和片内8/16/32kB的SRAM使LPC2131/2132/2138非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。多个32位定时器、1个或2个10位8路ADC、10位DAC、PWM通道和47个GPIO以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。特性小型LQFP64封装的16/32位ARM7TDMI-S微控制器。8/16/32kB片内静态RAM。片内Boot装载软件实现在系统/在应用中编程(ISP/IAP)。扇区擦除或整片擦除的时间为400ms,1ms可编程256字节。EmbeddedICE®RT和嵌入式跟踪接口可实时调试(利用片内RealMonitor软件)和高速跟踪执行代码。1个(LPC2132/2132)或2个(LPC2138)8路10位A/D转换器共包含16个模拟输入,每个通道的转换时间低至2.44us。1个10位D/A转换器,可提供不同的模拟输出(LPC2132/2138)。2个32位定时器/计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗。实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPITM和SSP(具有缓冲功能,数据长度可变)。向量中断控制器。可配置优先级和向量地址。多达47个5V的通用I/O口(LQFP64封装)。9个边沿或电平触发的外部中断引脚。通过片内PLL可实现昀大为60MHz的CPU操作频率,PLL的稳定时间为100us。片内晶振频率范围:1~30MHz。2个低功耗模式:空闲和掉电。可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。通过外部中断将处理器从掉电模式中唤醒。单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路:-CPU操作电压范围:3.0~3.6V(3.3V+/-10%),I/O口可承受5V的昀大电压。1应用工业控制医疗系统访问控制POS机通信网关嵌入式软moderm一般性应用器件信息表1LPC2131/2132/2138器件信息器件管脚数片内RAM片内FLASH10位A/D通道数10位D/A通道数注LPC2131648kB32kB8--LPC21326416kB64kB8--LPC21386432kB512kB161-结构概述LPC2131/2132/2138包含一个支持仿真的ARM7TDMI-SCPU、与片内存储器控制器接口的ARM7局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB,ARMAMBA总线的兼容超集)。LPC2131/2132/2138将ARM7TDMI-S配置为小端(little-endian)字节顺序。AHB外设分配了2M字节的地址范围,它位于4G字节ARM存储器空间的昀顶端。每个AHB外设都分配了16k字节的地址空间。LPC2131/2132/2138的外设功能(中断控制器除外)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设在VPB地址空间内都分配了16k字节地址空间。片内外设与器件管脚的连接由管脚连接模块控制。该模块必须由软件进行控制以符合外设功能与管脚在特定应用中的需求。ARM7TDMI-S处理器ARM7TDMI-S是通用的32位微处理器,它具有高性能和低功耗的特性。ARM结构是基于精简指令集计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。ARM7TDMI-S处理器使用了一个被称为THUMB的独特结构化策略,它非常适用于那些对存储器有限制或者需要较高代码密度的大批量产品的应用。在THUMB后面一个关键的概念是“超精简指令集”。基本上,ARM7TDMI-S处理器具有两个指令集:标准32位ARM指令集16位THUMB指令集THUMB指令集的16位指令长度使其可以达到标准ARM代码两倍的密度,却仍然保持ARM的大多数性能上的优势,这些优势是使用16位寄存器的16位处理器所不具备的。因为THUMB代码和ARM代码一样,在相同的32位寄存器上进行操作。THUMB代码仅为ARM代码规模的65%,但其性能却相当于连接到16位存储器系统的相同ARM处理器性能的160%。关于ARM7TDMI-S处理器的详细内容请参阅ARM官方网站上的ARM7TDMI-S数据手册。2片内FLASH程序存储器LPC2131/2132/2138分别含有32kB、64kB和512kB的FLASH存储器系统。该存储器可用作代码和数据的存储。对FLASH存储器的编程可通过几种方法来实现:通过内置的串行JTAG接口,通过在系统编程(ISP)和UART0,或通过在应用编程(IAP)。使用在应用编程的应用程序也可以在应用程序运行时对FLAH进行擦除和/或编程,这样就为数据存储和现场固件的升级都带来了极大的灵活性。如果LPC2131/2132/2138使用了片内引导装载程序(bootloader),32/64/512kB的Flash存储器就可用来存放用户代码。LPC2131/2132/2138的Flash存储器至少可擦除/编程10,000次,保存数据的时间长达10年。片内静态RAM片内静态RAM(SRAM)可用作代码和/或数据的存储,支持8位、16位和32位的访问。LPC2131/2132/2138含有8/16/32kB的静态RAM。LPC2131/2132/2138SRAM是一个字节寻址的存储器。对存储器进行字和半字访问时将忽略地址对准,访问被寻址的自然对准值(因此,对存储器进行字访问时将忽略地址位0和1,半字访问时将忽略地址位0)。因此,有效的读写操作要求半字数据访问的地址线0为0(地址以0、2、4、6、8、A、C和E结尾),字数据访问的地址线0和1都为0(地址以0、4、8和C结尾)。该原则同样用于片外和片内存储器。SRAM控制器包含一个回写缓冲区,它用于防止CPU在连续的写操作时停止运行。回写缓冲区总是保存着软件发送到SRAM的昀后一个字节。该数据只有在软件请求下一次写操作时才写入SRAM(数据只有在软件执行另外一次写操作时被写入SRAM)。如果发生芯片复位,实际的SRAM内容将不会反映昀近一次的写请求(即:在一次“热”芯片复位后,SRAM不会反映昀后一次写入的内容)。任何在复位后检查SRAM内容的程序都必须注意这一点。通过对一个单元执行两次相同的写操作可保证复位后数据的写入。或者,也可通过在进入空闲或掉电模式前执行虚写(dummywrite)操作来保证昀后的数据在复位后被真正写入到SRAM。3功能框图AHB译码器ARM7TDMI-S8/16/32kBSRAM32/64/512kBFLASHI2C串行向量中断控制器AMBAAHB外围总线)测试/调试接口AHB桥VPB(VLSI系统功能SCL0,1SDA0,1SPI和SSP串行接口SCK0,1MOSI0,1MISO0,1SSEL0,1UART0&1TxD0,1RxD0,1AD0.7:00和12P0.31:0PWM6:1PWM08xCAP08xMAT(w/外部时钟)定时器0&1DSR12,CTS12,RTS12DTR12,DCD12,RI12PLLAHB到VPB桥系统时钟VPB分频器ARM7局部总线EINT3:0外部中断P1.31:16,1:02AD1.7:02RTXC1RTXC2VbatAout32(先进的高性能总线)内部SRAM控制器内部Flash控制器捕获/比较A/D转换器D/A转换器通用I/O口系统控制看门狗定时器实时时钟接口0和11与GPIO共用。2仅适用于LPC2138。3仅LPC2132/2138。图1LPC2131/2132/2138方框图2.LPC2131/2132/2138存储器寻址存储器映射LPC2131/2132/2138包含几个不同的存储器组,见以下各图。图2所示为复位后从用户角度所看到的整个地址空间映射。中断向量支持地址的重新映射,详见后面的章节。44.0GBAHB外设VPB外设保留地址空间0x000000000xFFFFFFFF0x800000000xF00000003.75GB2.0GB1.0GB0.0GB0xC00000000xE00000003.5GB3.0GBBootBlock0x00007FFF0x000080000x000100000x0000FFFF0x0007FFFF0x000800000x400000000x40001FFF0x400020000x400040000x40003FFF0x40007FFF0x40008000(从片内Flash存储器重新映射)保留地址空间32kB片内静态RAM(LPC2138)16kB片内静态RAM(LPC2132)8kB片内静态RAM(LPC2131)保留地址空间512kB片内非易失性存储器(LPC2138)64kB片内非易失性存储器(LPC2132)32kB片内非易失性存储器(LPC2131)图2系统存储器映射54.0GB0xFFFFFFFF3.750xE00000000xFFE000000xFFDFFFFF4.0GB-2MBAHB外设GB3.5GB0xF00000000xEFFFFFFF0xE02000000xE01FFFFF保留保留VPB外设注:-×16kB)。-VPB部分是128×16kB的范围(共2MB)。3~5显示了从不同角度所观察到的外设地址空间。AHB和VPB外设区域都为2M字节,可各自分配昀多128个外设。每个外设空间的规格都为16k字节。这样可简化每个外设的地址译码。所有外设寄存器不管规格大小,都按照字地址进行分位边界)。这样就不再需要使用字节定位的硬件来进行小边界的字节(816位)访问。不管字还是半字寄存器都是一次性访问。例如,不可能对一个字3.5GB+2MBAHB部分是128的范围(共2MB图3外设存储器映射图配(32位)或半字(寄存器的昀高字节执行单独的读或写操作。60xFFE000000xFFFFC0000xFFFF80000xFFFF40000xFFFF00000xFFE080000xFFE040000xFFE0C0000xFFE100000xFFFFF000(4G-4K)向量中断控制器(AHB外设#126)(AHB外设#125)(AHB外设#124)(AHB外设#3)(AHB外设#2)(AHB外设#1)(AHB外设#0)图4AHB外设映射70xE01FFSPI0FFF0xE00000000xE0020000TIMER0UART0UART1PWMI2C00xE001C0000xE00180000xE00140000xE00100000xE000C0000xE00080000xE0004000TIMER1RTC0xE0024000GPIO0xE00280000xE002C0000xE00300000xE003400010位AD00xE00380000xE01FC000DAC0xE005C0