通过片内PLL,没有高频晶振,CPU也可以最高频率运转。用户可从主振荡器、内部 RC振荡器或RTC振荡器三者中选择一个作为PLL时钟源; ●第二个专用的PLL可用」USB接口,以允许增加主PLL设置的灵活性; ●用户可在管脚对应的多种功能中进行选择 可采用100脚和80脚LQFP封装(14×14×1.4m)。 1.3应用 静电计; 照明设备; T业网终 报警系统; 白色家电 电机控制 14订购信息 表1.1订购信息 封装 器件型号 名称 描述 版本 LPCI768FBD100 LPC1766FBD100 LOFP100 LQFP封装:100脚;本体14×14×1.4m SOT40 LPC1765FBD100 LPC1764FBD100 LPC1758FBD80 LPC1756FBD80 LPC1754FBD8O LQFP80 LQFP封装:80脚:本体12×12×14m SOT315 LPC1752FBD80 LPC175IFBD80 14.1器件选项汇总 表1.2LPC1700系列Cortex-M3微控制器器件的订购选项 器件型号 FlashSRAM以太网 USB CAN|I?SDAC封装采样 LPC1768FBD100512KB64KB 有 Device/llostotg 2有有100脚待定 LPC1766FBD100256KB64KBADevice/Host/OTG 有有100脚待定 LPC1765FBD10064KB 无Device/Host/otg2有有100脚待定 LPC1764FBD100128KB32KB 有Device 2无无100脚待定 LPCl758FBD80512KB64KB有Device/Host/OTG2有有80脚待定 LPC1756FBD80256KB32KB 无Device/hostory2有有80脚待定 LPC1754FBD80128KB32KB 无|Device/Host'otg 1无有80脚|待定 LPCI752FBD8064KB 16KB Device 无|无 80 LPC1751FBD8032KB8KB 无|Device 1无无80脚待定 3/498 1.5简化方框图 跟踪端口TAG接口 H接口UB接日 些测试调试接口 以太网 USB 时钟产生、 DMA 10/100 设备、时钟功率控制 ARMCortex-M3 控制器 MAC 主机 掉电检测 OTG 控制 和其它系统 功能 洲 [落 Flash Flash 加速器 512kB 高速GPO 多层AHB矩阵 SRAM 4kB ROM 8kB AHB到 AHB到 APB桥 APB桥 APB从机组0 APB从机组1 SSP1 SSPO liA UARTs0&1 UARTS2&3 AN1&2 12S C0&1 1?C2 重复性的中断 定时器 捕获/比较 定时器0&1 捕获/比较 定时器2&3 看门狗定时器 外部中断 PWM1 DAG 12-位ADC 系统控制 管脚连接模块 电机控制PWM GP|o中断ct 正交编码器 32KHz 振荡器 实时时钟 注:有图案阴影的外设模块 支持通用DMA 20字节备用 寄存器 RTC电源域 图1.1LPC1768简化方框图 1.6结构概述 ARMCortex-M3包含二条AHB-ite总线,条系统总线以及I-code和D-code总线,后二 者的速率较快,且在TCM接口的用法类似:一条总线专用于指令取指(I-code),另一条总线 用于数据访问(D-code)。这二条内核总线的用法允许同时执行操作,即使同时要对不同的设 备日标进行操作。 4 LPC1700系列Cortex-M3微控制器使用多层AHB矩阵来连接上Cortex-M3总线,并以灵活 的方式将其它总线主机连接到外设,允许矩阵的不同从机端口上的外设可以同时被不同的总线 主札访问,从而能获取到最优化的性能。图1.2所示为多层知阵连接的详细情况 APB外设使用多层AHB矩阵的独立从机端口通过两条APB总线连接到CPU。这减少了 CPU和DMA控制器之间的争用,可实现更好的性能。APB总线桥配置为缓冲区写操作,使得 CPU或DMA控制器无需等待APB写操作结束。 17ARMCortex-M3处理器 ARMCortex-N3是一个通用的32位微处理器,它具有高性能和超低功耗的特性。Cortex-M3 还提供许多新的特性,包括Thumb-2指令集、低屮断延时、硬件除法、可屮断可持续的多次加 载和存放指令、对中断的自动状态进行保存和恢复、紧密结合中断控制器与唤醒中断控制器、 多条内核总线可同时用于访问 采用这样的沇水处理技术,使得各个器件的处理和存储器系统可以连续进行操作。通常, 当一个指令正在执行时,第二个指令正在进行解码,而第三个指令正在存储器中被取指出来。 ARMCortex-M3处理器的详细描述请查看ARM官方网站的Cortex-M3技术参考手册。 17.1Cortex-M3配置选项 LPCI700系列Cortex-M3微控制器使用Cortex-M3CPU的r2p0版本,其中包含了下面所标 记的众多可配置选项。 系统选项: 包含嵌套的向量中断控制器(NVC)。NV包括SYSTICK定时器 包含唤醒中断控制器(wIC)。wIC可实现更有效的选项,将CPU从低功耗模式中唤 醒: 包含存储器保护单元(MPU); ●包含ROM表。ROM表提供了调试部件到外部调试系统的地址; 调试相关的选项 包含JTAG调试接口 包含串行线调试。串行线调试允许仅使用两条线进行调试操作,简单的跟踪功能可增 加第三条线 ●包含嵌入式跟踪宏单元(ETM)。ETM提供指令跟踪功能; 包含数据观察点和跟踪(DWT)单元。DWT允许数据地址或数据值匹配为跟踪信息 或触发其亡事件。DWT包含4个比较器和计数器以用于特定的内部事件 ●包含指令跟踪宏单元(ITM)。软件可写IM以发送信息到跟踪端口; 包含跟踪端口接口单元(TPIU)。TPIU编码并向外面提供跟踪信息。这可以在串行线 浏览器管脚(SerialWireviewerpin)或4位并行跟踪端口上实现; 包含Flash修补和断点(FPB)。FPB可宀生硬件断点并且在代码空间中重新映射特定 的地址到SRAM作为更改非易失性代码的暂时方法。FPB包括2个文字比较器(literal comparator)和6个指令比较器 1.8片上Flash存储器系统 IPC1700系列Cortex-M3徵控制器含有512KB的片上Flash存储器。一个新的2-端口Flash 存储器加速器通过两条快速AHB-Lite总线将其使用性能扩至极限。该存储器可用于存放代码 和数据。对Flash存储器的编写有若干种方式来实现。它可通过串口来进行在系统编稈。应用 5/498 程序也可以在运行时对Flash进行探除和或编程,从而为数据存储域固件升级等操作带来了极 大的灵活性。 1.9片上静态RAM IPC1700系列Cortex-M3微控制器包含共计为64KB的片上静态RAM存储器。这包活主 32KBSRAM(CPU和高速总线上的3个DMA控制器均可对其进行访问)以及另外两个各为 16KB的、位于AHB多层矩阵独立从机端口的SRAM模块。 这种结构允许各自执行CPU和DMA访问操作,从而对总线主机的延迟变少或无延迟 6/4 西广州周立功单片机发展有限公司 第1章 1.10方框图 JTAG 以太网PHY 接口 USB 调试端口 接口 接口 测试/调试 接口 拉K 以太网 时钟|时钟产生 CLK DMA 设备、 电源控制OUT 控制器 10/100 主机 控制 和其它 MAC 系统功能 ARMCortex-M3+ OTG 内部 电压调节器 I-codeD-code 系统 总线总线总线 Flash 加速器 512kB SRAM ROM 32kB 8kB SRAM 16KB SRAM HS 16kB GPIO DMAC [c[ Etherne regs regs AHB到 APB桥 AHB到 LAHB矩阵 APB桥 APB从机组0 APB从机组1 SSP1 SSPO UARTs0&1 UARTs2&3 CAn1&2 12s FC0&1 |2C2 SPIO 捕获/比较 定时器283 捕获/化比较 定时器0&1 重复性的 中断定时器 看门狗定时器 外部中断 PWM1 DAC 12位ADC 系统控制 管脚连接模块 电机控制PWM GP|O中断控制 正交编码器 32kHz 实时时钟 ALARM 振荡器 注:有阴影的外设 模块支持通用DMA at「极低功耗 备用寄存器 节 (20字节) RTC电源地 图12LPC1768方框图,CPU和总线 LPc1700用户手册 @2010GuangzhouZLGMCUDevelopmentCO,LTD 7/498 第2章存储器映射 21存储器映射和外设寻址 LPC1700系列Cortex-M3微控制器含有一个4GB的地址空间,如表2.1所示为LPC1700系 列Cortex-M3微控制器的存储器分布 表2.1LPC1700系列Cortex-M3微控制器存储器分布 地址范围 用途 描述 0x00000000-0x0003FFFF 上非易失性存储器 Flash存储器(512KB) 0x1000F片上SRAM 本地SRAM-Bank0(32KB) 片上SRAM,通常用于存 0x2007C000-0x2007FFFF AHBSRAM-Bank0(16KB) 储外设数据 片上SRAM,通常用于存 0x20080000-0x20083FFF AHBSRAM-Bank1(16KB) 储外设数据 0x20090000x2009FFF通用O 0×40000400FFFFAPBO外设 32个外设模块,每个16KB x40800010x400FF|APB外设 32个外设模块,每个16KB 0x5000050FFF|AHB外设 DMA控制器、以人网接口和USB接口 0xE000000600:FFFFCortex-M3相关功能 包括NVIC和系统节拍定时器 22存储器映射 LPC1700系列Cortex-M3微控制器的存储器映射由几个不同的存储区域组成,如图21所示 为复位后从用户编程角度所看到的整个地址空间映射。 0x401000o APB1外设 LPc1768存储器 0x0Fc0p1,统控制 OxFFFFFFFF 0x400C0000 私有外设 oxE0100000 AHB外设 c50200000 康机控 127=4未使用 0x4c0B8c00 OxE0000000 0x40084000 LsB控制器 5000c000 04002:复住的中定时 Cx5000800C 40Ac图,来使用 AH外发 GPDMA程器 0004DO 0x4C0A8000 0x40040( 保留 0:以太网控制器 0x44000000 c50o00000 0×400A0o00 外设md到名寻址oxa200 ox4009c000 保冒 UART2 0x40100000 APB1外设 APB0外设 040060000 Dx4C080000 AP90外设 31+24未使用 0x4006c000 0x40090000 1GB 23:z1 0x4003C000 x4008c000 保留 0x24000000 22·19未使用 x4C4c000 AHB$RAMbaband别名寻址 CANZ 1-0保国 400600 DY40080000 I7:CANT 0404000 GPO 16:cAN公用 5CAN斯F毒存81∞406 14:CANAFRAM x43E000 05c,州部M块,每块为om 4Ds4000 保留 1FFF2000 2 SSPi 0x4003c000 8kB|导ROM 引脚连技 Ox1FFF0000 1:cPo中断 0x40028000 32kB本地静态RAM }RTC+备用存器 x4C24000 0x10o00000 D×4002c000 x400180oo 000000100 266字节 未使用 000080000 4C1400 512kB片上fash Dx40o04000 Dx4o00000 图2.1LPC1700系列Cortex-M3微控制器的存储器映射 图2.1和表22显示了从不同角度所观察到的外设地址空间。AHB外设区域为2MB,可分配 8/498 多达128个外设。APB外设区域为IMB,可分配多达64个外设。每个外设空间大小都为16KB, 这样可简化每个外设的地址译码。 此外,所有外设寄存器个管规格大小,都按照字地址进行分配(32位边芥)。这样就不冉 需要使用字节定位映射的硬件来进行小边界的字节(8位)或半字(16位)访问。字和半字寄 存器都是一次性访问。例如,不能对一个宇寄存器的最高字节执行单独的读或写操作。 23APB外设地址 下表22所示为APBO1地址映射。APB外设不会全部使用分配给它的16KB空间。通常, 每个器件的寄存器在各个16KB范围内采用“别名”。 表22APB0外设和基址 APB0外设 基址 外设名称 0x40000000 看门狗定时器 0x40004000 定时器0 0x40008000 定时器1 3 x4000CO00 UARTO 0x40010000 UARTI 0×40014000 未使用 6 0x40018000 PWMI 0x4001C000 0x40020000 SPI 0x40024000 RTC 0x40028000 GPIO中断 11 0x4002C000 脚连接模块 0x40030000 SSPI 0x40034000 ADO 0×40038000 CAN验收滤波器RAM 0x4003C000 CAN验收滤波器寄存器 16 0x40040000 CAN公共寄存器 0x40(44000 CAN控制器1 18 0x40048000 CAN控制器2 19-22 0x4004C000-0x40058000 未使用 23 0x4005C000 ICl 24-31 0x40060000.0x4007C000 未使用 表23APB1外设和基址 APB1外设 基址 外设名称 0x40080000 未使用 ()x40084000 保留 0x40088000 SSPO 3 0x4008C000 DAO 0X40090000 定时器2 9/498 西广州周立功单片机发展有限公司 第2章 续上表 APB1外设 基址 外设名称 0X40094000 定时器3 6 0x40098000 UART2 7 0x4009C000 UaRT 0x400A0000 IC2 0X400A4000 未使用 10 0x400A8000 0x400AC000 未使用 12 0x400B0000 重复性屮断定时器 13 0x400B4000 末使用 0x400B8000 电机控制PWM 15 0x400BC000 正交编码器接口 16-30 0x400C0000-0x400F8000 未使用 0x400FC000 系统控制 2.4存储器重映射 Cortex-M3包含一个机制:允许将中断向量表重新映射到存储器映射空间的备用单元。这 通过包含在NvC(嵌套向量中断控制器)中的向量表偏移寄存器米进行控制。 向量表可位于Cortex-M3的地址空间1GB范韦内的任意一处。向量表必须是128字(512 字节)边界对齐,因为LPC1700系列Cotx-M3微控制器上的NVC可分配128个中断。详细 描述请参考《ARM"Cortex-M3技术参考指南》第8章 2.5预取指中止和数据中止异常 如果试图访问个保留地址或木分配区域的地址,LPC1700系列Cortex-M3微控制器将六 生适当的总线周期中止异常。这些区域是特定的Cortex-M3微控制器器件所没有执行的存储器 映射区域。这包括图2.中所标记的为“保留”或“未使用”的地址空间。 试图对这些区域进行数据访问和指令取指都将会产生异常。此外,对映射到AHB或APB 外设的地址空间进行任何取指,会产生预取指中止异常。 在现有的APB外设地址空间内,对木定义地址空间的访问不会产生数据中止异常。每个外 设内的地址译码被限定为外设内部需要判别的已定义寄存器。例如,对地址O4000D000 (UARI0空间内一个未定义的地址)的访问可能导致对定义在地址0x4000C000处的寄存器进 行访问。LPC1700系列Cortex-M3微控制器文档并没有对外设空间内的这种地址别名定义的详 细内容进行说明,且IPC1ˆ00系列Cortex-M3微控制器不支持这种地址别名特性 如果软件执行直接写Flash存储器,则Flash加速器产生数据中止异常。Flash编程必须通 过使用引导代码提供的特定Flash编程接口来完成。 需要注意的是,只有在试图执行从非法地址中取指吋,在沇水线阶段,Cortex-M3内核会 保存相关预取指令(这些指令是无意义的)的异常标志,并且只有在试图执行从非法地址中取得 的指令时,才会去处理这个预取指令终止异常。当代码在非常靠近存储器边界执行时,这种操 作可防止由预取指所造成的意外中止 LPc1700用户手册 @2010GuangzhouZLGMCUDevelopmentCO,LTD 10/498