第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗5.1简介•LPC2000系列微控制器概述LPC2000系列微控制器基于ARM7TDMI-SCPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。器件型号引脚数片内RAM片内Flash10位AD通道数CAN控制器备注LPC21146416KB128KB4--LPC21246416KB256KB4--LPC221014416KB-8-带外部存储器接口LPC221214416KB128KB8-LPC221414416KB256KB8-LPC21196416KB128KB42-LPC21296416KB256KB42-LPC21946416KB256KB44-LPC229014416KB-82带外部存储器接口LPC229214416KB256KB82LPC229414416KB256KB84LPC2131648KB32KB8--LPC21326416KB64KB8-带1路DACLPC21346416KB128KB双8路-LPC21366416KB256KB双8路-LPC21386432KB512KB双8路-•LPC2000系列器件信息•芯片内部框图LPC2000系列微控制器包含四大部分:ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能ARM7TDMI-SCPUARM7局部总线及相关部件AHB高性能总线及相关部件VLSI外设总线及相关部件•芯片内部框图ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能LPC2000系列微控制器将ARM7TDMI-S配置为小端模式(Little-endian)。ARM7TDMI-SCPUAHB外设分配了2M字节的地址范围,它位于4G字节ARM寻址空间的最顶端。每个AHB外设都分配了16KB的地址空间。EMCVICLPC2000系列微控制器的外设功能(除中断控制器)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设都分配了16KB的地址空间。I2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟AHBToVPB桥•芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能SRAMFlash内部存储器包括无等待SRAM和Flash;外部存储器控制器(EMC)支持4个BANK的外部SRAM或Flash,每个BANK最多16MB;系统功能包括维持芯片工作的一些基本功能,如系统时钟、复位等;向量中断控制器(VIC)可以减少中断的响应时间,最多可以管理32各中断请求;I2C串行接口为标准的I2C总线接口,支持最高速度400kb;EMC系统功能VICI2C串行接口•芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能具有两个完全独立的SPI控制器,遵循SPI规范,可配置为SPI主机或从机;具有两个UART接口,均包含16字节的接收/发送FIFO,内置波特率发生器。其中UART1具有调制解调器接口功能;在LPC2119/2129/2290/2292等芯片中包含CAN总线接口;看门狗定时器带有内部分频器,可以方便设置溢出时间,在软件使能看门狗后只有复位可以禁止(具有调试模式);SPI串行接口UART0&1CAN看门狗定时器•芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能系统控制模块包括一些与其它外设无关的功能,如功率控制等;外部中断有4路多引脚输入,可用于CPU掉电唤醒;定时器0/1为两个独立的带可编程32位预分频器的32位定时器/计数器,具有捕获和匹配输出功能;具有4/8路10位ADC,可以设置为多路循环采样模式。10位转换时间最短为2.44us;系统控制外部中断TIMER0/1ADC•芯片内部各单元简介ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能不同封装的芯片具有数目不等的IO口,它们可以承受5V电压。每个IO口可以独立设置为输入/输出模式,在作为输出模式时可以分别置位或清零;脉宽调制器可以灵活设置,以适应不同的场合。可以设置为单边沿或双边缘输出方式,可以灵活的设置频率和占空比;实时时钟具有可编程的积存时钟分频器,以适应不同的晶振频率。带日历和时钟功能,提供秒、分、时、日、月、年和星期,同时具有非常的功耗。通用I/OPWM0实时时钟第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗5.2引脚配置•LPC2000系列芯片外形LPC2210/2212/2214LPC2114/2124GPIOTXD0PWM1输出P0.05.2引脚配置•引脚功能选择使用示例LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一引脚在同一时刻只能使用其中一个功能,这可以通过设置PINSELx寄存器来选择,详细介绍见“引脚连接模块”小节。通过PINSEL0控制引脚功能第5章目录1.简介2.引脚配置3.存储器寻址4.系统控制模块5.存储器加速模块6.外部存储器控制器7.引脚连接模块8.向量中断控制器9.GPIO10.UART011.UART112.I2C接口13.SPI接口14.定时器0/115.脉宽调制器(PWM)16.A/D转换器17.实时时钟18.看门狗小节目录•存储器分布•各存储器操作方法•存储器映射•预取指中止和数据中止•异常向量表小节目录•存储器分布•各存储器操作方法•存储器映射•预取指中止和数据中止•异常向量表5.3存储器寻址地址空间0xFFFFFFFF0x00000000内部Flash0x40000000内部SRAM0x80000000外部存储器0x7FFFE000BootBlock片外存储器片内存储器•一个具体应用可能存在的物理存储器256K16K5.3存储器寻址•不同芯片内部存储器分布16K128K16KLPC2210LPC2114/2212LPC2124/2214片内Flash片内RAM0x000000000x0001FFFF0x0003FFFF0x400000000x40001FFF小节目录•存储器分布•各存储器操作方法•存储器映射•预取指中止和数据中止•异常向量表5.3存储器寻址•片内Flash编程方法:JTAG串口1.通过内置JTAG接口;2.通过在系统编程(ISP),使用UART0通信;3.通过在应用编程(IAP);5.3存储器寻址•片外Flash编程方法(LPC2200):在CPU上运行一个装载程序(Loader,一般由用户编写),该程序通过串口接收要烧写的数据,然后擦除编程Flash。串口Loder程序外部Flash5.3存储器寻址•片内SRAM的写操作SRAM控制器包含一个回写缓冲区,它总是保存着软件发送到SRAM的最后一个字数据。该数据只有在软件请求下一次写操作时才写入SRAM。如果发生芯片复位,实际的SRAM内容将不会反映最近一次的写操作。??回写缓冲区内部SRAM写入地址写入A写入BAA写入AB小节目录•存储器分布•各存储器操作方法•存储器映射•预取指中止和数据中止•异常向量表5.3存储器寻址•存储器映射基本概念ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。通过地址映射的方法将各存储器分配到特定的地址范围后,这时用户所看见的存储器分布为存储器映射。5.3存储器寻址•芯片复位后用户看见的地址空间128KBFlash(LPC2114/2212)256KBFlash(LPC2124/2214)16KBSRAM8KBBootBlock2MBVPB外设2MBAHB外设0x000000000xFFFFFFFF保留给片内存储器使用保留给片内存储器使用保留给外部储器使用0x400000000xE00000000x800000000xF00000000x00020000地址空间5.3存储器寻址•AHB和VPBAHB(先进的高性能总线)和VPB(VLSI外设总线)外设区域都为2M字节,可各分配128个外设。每个外设空间的规格都为16K字节,这样就简化了每个外设的地址译码。注意:AHB和VPB外设区域中不管是字还是半字,都是一次性访问。例如不可能对一个字寄存器的最高字节执行单独的读或写操作5.3存储器寻址•外设存储器映射VPB外设AHB外设保留3.5GB3.5GB+2MB4.0GB-2MB地址空间4.0GB0xE00000000xE00000000xFFE000000xFFE00000VPB外设AHB外设均为128×16KB(2MB)范围5.3存储器寻址•AHB外设映射AHB外设#126地址空间0xFFE000000xFFE040000xFFFF40000xFFFF8000AHB外设#125AHB外设#0AHB外设#10xFFFFF000…0xFFFFC000向量中断控制器AHB外设#1275.3存储器寻址•VPB外设映射VPB外设#3地址空间0xE00000000xE00040000xE00080000xE000C000VPB外设#2VPB外设#0VPB外设#10xE01FC000…VPB外设#127看门狗定时器定时器0系统控制模块定时器1UART05.3存储器寻址•Bootlock的映射地址安排为了兼容将来的器件,整个BootBlock被映射到片内存储器