1 / 273

课件下载地址: 周立功网站: zlgmcu 在首页搜索 “ 课件 ” 即可。 注意:请使用 PowerPoint2003 播放。 LPC2000 ADS 工程模板下载地址:

课件下载地址: 周立功网站: www.zlgmcu.com 在首页搜索 “ 课件 ” 即可。 注意:请使用 PowerPoint2003 播放。 LPC2000 ADS 工程模板下载地址: 在首页搜索 “ 模板 ” 即可。 联系方式: LPC2130@zlgmcu.com 020-22644254. 概述. 选择合适的 ARM 芯片 充分了解该 ARM 芯片. ARM 的特性 了解 ARM 内部结构. 设计最小系统 建立开发环境 ( 软件、硬件 ). 当前位置. ARM 程序的组成 了解 ARM 指令系统. 入门级别.

marnie
Download Presentation

课件下载地址: 周立功网站: zlgmcu 在首页搜索 “ 课件 ” 即可。 注意:请使用 PowerPoint2003 播放。 LPC2000 ADS 工程模板下载地址:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 课件下载地址: 周立功网站:www.zlgmcu.com 在首页搜索“课件”即可。 注意:请使用PowerPoint2003播放。 LPC2000 ADS工程模板下载地址: 在首页搜索“模板”即可。 联系方式:LPC2130@zlgmcu.com 020-22644254

  2. 概述 选择合适的ARM芯片 充分了解该ARM芯片 ARM的特性 了解ARM内部结构 设计最小系统 建立开发环境 (软件、硬件) 当前位置 ARM程序的组成 了解ARM指令系统 入门级别 HelloWorld程序 了解级别 掌握部分ARM指令 产品开发 ARM之旅

  3. 主题: LPC2000系列ARM 内核剖析 周立功公司 陈锡炳 工程师

  4. LPC2000系列ARM内核剖析 • 5.1 简介 • 5.2 引脚配置 • 5.3 存储器寻址 • 5.4 系统控制模块 • 5.5 存储器加速模块 • 5.6 外部存储器控制器 • 5.7 引脚连接模块 • 5.8 向量中断控制器

  5. 5.1 简介 • 5.1.1 总体特性 • 5.1.2 LPC2000系列ARM芯片具体特性 • 5.1.3 LPC2000系列ARM芯片外设 • 5.1.4 LPC2000系列ARM器件信息 • 5.1.5 LPC2000系列ARM芯片典型应用

  6. 5.1.1 总体特性 • ARM单片机化 • (1) 针对工控领域 • (2) 少管脚,小封装 • (3) 内嵌大容量SRAM/FLASH,可加密 • (4) 单电源化 • (5) 快速GPIO

  7. 5.1.2 LPC2000系列ARM芯片具体特性 • (1) CPU-ARM7TDMI-S,小端结构。 • (2) 内置大容量SRAM:2~64KB。 • (3) 内嵌128位宽度的高速零等待FLASH,0~512KB。 • (4) 可加密,有效保护劳动成果和知识产权。 • (5) 独特的存储器加速模块,允许代码在最大时钟下运行,极大提高系统性能。

  8. 5.1.2 LPC2000系列ARM芯片具体特性 • (6) 内置PLL,可实现60/70MHz的操作频率。 • (7) 内置BootLoader,可实现ISP和IAP。 • (8) 标准调试接口,通过简单的JTAG即可进行调试。 • (9) 内置嵌入式跟踪单元(ETM),可实现对代码进行无干扰高速实时跟踪。 • (10) 外设丰富。

  9. 5.1.2 LPC2000系列ARM芯片具体特性 • (11) 外部中断输入引脚多。 • (12) 低功耗,多种能耗管理方式。 • (13) 小封装,多功能管脚。 • (14) 工业级芯片,工作温度-40~85/105度。 • (15) 产品线长,品种丰富,选型灵活。

  10. 5.1.3 LPC2000系列ARM芯片外设 • (1) 众多GPIO口,可承受5V电压。 • (2) 2个32位定时器/计数器,带可编程预分频器,带4路比较和4路匹配比较通道。 • (3)脉宽调制器(PWM),6路输出。 • (4) 双串口,符合16C550工业标准,其中UART1具有完整的Modem接口。 • (5) 一个或者多个I2C接口,支持高速模式(400K)。

  11. 5.1.3 LPC2000系列ARM芯片外设 • (6) 多个SPI接口,部分型号具有SSP接口(兼容SPI、MicroWire和SSI总线)。 • (7) 1个或者2个10位AD转换器,最多14路输入。 • (8) 1个10位DA转换器。 • (9) 多路CAN接口。 • (10) USB 2.0 Device(全速)。

  12. 5.1.4 LPC2000系列ARM芯片外设 • (11) 向量中断控制器,可分配优先级。 • (12) 内置实时时钟。 • (13) 内置看门狗。

  13. 5.1.5 LPC2000系列ARM器件信息

  14. 5.1.6 LPC2000系列ARM芯片典型应用 • (1) 工业控制。 • (5) 通信网关。 • (2) 医疗系统。 • (6) 协议转换器。 • (7) 嵌入式软Modem。 • (3) 访问控制。 • (8) 通用性应用。 • (4) POS机。

  15. 5.1.6 LPC2000系列ARM芯片典型应用 • 成熟产品实例-致远以太网产品 ZNE-200T ZNE-200

  16. 5.1.6 LPC2000系列ARM芯片典型应用 • 成熟产品实例-致远以太网产品 ZNE-100TI ZNE-100T

  17. 5.1.6 LPC2000系列ARM芯片典型应用 • 成熟产品实例-致远以太网产品 ZNE-100PT ZNE-100

  18. 5.1.6 LPC2000系列ARM芯片典型应用 • 成熟产品实例-致远以太网产品 NETCOM-10S NETCOM-10M

  19. 5.1.6 LPC2000系列ARM芯片典型应用 • 成熟产品实例-致远金卡产品 MJS-800

  20. 5.1.6 LPC2000系列ARM芯片典型应用 • 成熟产品实例-致远CAN产品 CANET-E

  21. 5.2 引脚配置 • 5.2.1 LPC2000系列芯片外形 • 5.2.2 LPC2000系列管脚分布 • 5.2.3 引脚描述

  22. 5.2.1 LPC2000系列芯片外形 48PIN 64PIN

  23. 5.2.1 LPC2000系列芯片外形 144PIN

  24. 5.2.2 LPC2000系列管脚分布 LPC2114/2124 LPC2210/2212/2214

  25. 5.2.3 引脚描述 (一) 管脚描述列表 (二) 多功能引脚和配置 (三) 特殊管脚

  26. 5.2.3 引脚描述 (一)管脚描述列表

  27. GPIO P0.0 TXD0 PWM1输出 5.2.3 引脚描述 (二)多功能引脚和配置 LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一时刻只能使用其中一个功能,由引脚连接模块控制。 通过引脚连接模块控制

  28. 5.2.3 引脚描述 (三)特殊管脚 1)系统运行相关 P0.14-ISP使能管脚。 P1.20-跟踪端口使能管脚(P1[25:16])。 P1.26(RTCK)-调试端口使能管脚P1[31:26]。 BOOT1:0-启动引导设置选择,总线宽度管脚。 CS3:0-存储器组选择管脚。 BLS3:0-字节定位选择管脚。

  29. 5.2.3 引脚描述 (三)特殊管脚 2) 应用相关 P0.31-仅输出端口。 I2C相关管脚-开漏输出端口。

  30. 内容小结 在前面两节主要讲述了如下几个方面的内容: (1)Philips 通用ARM芯片的总体特点 (2)LPC2000系列芯片的特点 (3)LPC2000系列芯片的外设 (4)LPC2000系列芯片的型号和应用 (5)LPC2000系列芯片的外形、封装和管脚分布 (6)LPC2000系列芯片重点管脚

  31. 5.3 存储器寻址 • 5.3.1 内部结构 • 5.3.2 存储器分布和操作 • 5.3.3 存储器映射 • 5.3.4 异常向量表

  32. 5.3.1 内部结构 (一)LPC2000芯片内部框图 (二)内部各单元简要介绍

  33. ARM7TDMI-S CPU 系统功能 ARM7 局部总线 AHB总线 SRAM VIC Flash AHB To VPB 桥 EMC 外部中断 I2C串行接口 TIMER0/1 SPI串行接口 ADC UART0 & 1 通用I/O CAN PWM0 看门狗定时器 实时时钟 系统控制 5.3.1 内部结构 LPC2000系列微控制器包含四大部分: • ARM7TDMI-S CPU (一)芯片内部框图 • ARM7局部总线及相关部件 • AHB高性能总线及相关部件 • VLSI外设总线及相关部件

  34. ARM7TDMI-S CPU 系统功能 ARM7 局部总线 AHB总线 SRAM VIC Flash AHB To VPB 桥 EMC 外部中断 I2C串行接口 外部中断 I2C串行接口 TIMER0/1 SPI串行接口 TIMER0/1 SPI串行接口 ADC UART0 & 1 ADC UART0 & 1 VIC 通用I/O CAN 通用I/O CAN EMC PWM0 看门狗定时器 PWM0 看门狗定时器 实时时钟 系统控制 实时时钟 系统控制 5.3.1 内部结构 • LPC2000系列微控制器将ARM7TDMI-S配置为小端模式(Little-endian)。 ARM7TDMI-S CPU (一)芯片内部框图 • AHB外设分配了2M字节的地址范围,它位于4G字节ARM寻址空间的最顶端。每个AHB外设都分配了16KB的地址空间。 AHB To VPB 桥 • LPC2000系列微控制器的外设功能(除中断控制器)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设都分配了16KB的地址空间。

  35. ARM7TDMI-S CPU 系统功能 ARM7 局部总线 AHB总线 SRAM VIC Flash AHB To VPB 桥 EMC SRAM 外部中断 I2C串行接口 Flash TIMER0/1 SPI串行接口 ADC UART0 & 1 通用I/O CAN PWM0 看门狗定时器 实时时钟 系统控制 5.3.1 内部结构 • 内部存储器包括无等待SRAM和Flash; 系统功能 (二)芯片内部各单元简介 • 系统功能包括维持芯片工作的一些基本功能,如系统时钟、复位等; VIC EMC • 向量中断控制器(VIC)可以减少中断的响应时间,最多可以管理32个中断请求; I2C串行接口 • 外部存储器控制器(EMC)支持4个BANK的外部SRAM或Flash,每个BANK最多16MB; • I2C串行接口为标准的I2C总线接口,支持最高速度400kb;

  36. ARM7TDMI-S CPU 系统功能 ARM7 局部总线 AHB总线 SRAM VIC Flash AHB To VPB 桥 EMC 外部中断 I2C串行接口 TIMER0/1 SPI串行接口 ADC UART0 & 1 通用I/O CAN PWM0 看门狗定时器 实时时钟 系统控制 5.3.1 内部结构 • 具有两个完全独立的SPI控制器,遵循SPI规范,可配置为SPI主机或从机; (二)芯片内部各单元简介 • 具有两个UART接口,均包含16字节的接收/发送FIFO,内置波特率发生器。其中UART1具有调制解调器接口功能; • 在LPC2119/2129/2290/2292等芯片中包含CAN总线接口; SPI串行接口 UART0 & 1 • 看门狗定时器带有内部分频器,可以方便设置溢出时间,在软件使能看门狗后只有复位可以禁止(具有调试模式); CAN 看门狗定时器

  37. ARM7TDMI-S CPU 系统功能 ARM7 局部总线 AHB总线 SRAM VIC Flash AHB To VPB 桥 EMC 外部中断 I2C串行接口 TIMER0/1 SPI串行接口 ADC UART0 & 1 通用I/O CAN PWM0 看门狗定时器 实时时钟 系统控制 5.3.1 内部结构 • 系统控制模块包括一些与其它外设无关的功能,如功率控制等; (二)芯片内部各单元简介 • 外部中断有4路多引脚输入,可用于CPU掉电唤醒; • 定时器0/1为两个独立的带可编程32位预分频器的32位定时器/计数器,具有捕获和匹配输出功能; 外部中断 TIMER0/1 ADC • 具有4/8路10位ADC,可以设置为多路循环采样模式。10位转换时间最短为2.44us; 系统控制

  38. ARM7TDMI-S CPU 系统功能 ARM7 局部总线 AHB总线 SRAM VIC Flash AHB To VPB 桥 EMC 外部中断 I2C串行接口 TIMER0/1 SPI串行接口 ADC UART0 & 1 通用I/O CAN PWM0 看门狗定时器 实时时钟 系统控制 5.3.1 内部结构 • 不同封装的芯片具有数目不等的IO口,它们可以承受5V电压。每个IO口可以独立设置为输入/输出模式,在作为输出模式时可以分别置位或清零; (二)芯片内部各单元简介 • 脉宽调制器可以灵活设置,以适应不同的场合。可以设置为单边沿或双边沿输出方式,可以灵活的设置频率和占空比; • 实时时钟具有可编程的基准时钟分频器,以适应不同的晶振频率。带日历和时钟功能,提供秒、分、时、日、月、年和星期。非常低的功耗。 通用I/O PWM0 实时时钟

  39. 5.3.2 存储器分布和操作 (一) 概览 (二) 不同芯片内部存储器分布 (三) 片内FLASH (四) 片外Flash编程方法 (五) Boot Block

  40. 5.3.2 存储器分布和操作 (一)概览 0xFFFF FFFF 4.0G 0xE000 0000 3.5G ARM7外设总线 0x8000 0000 2.0G 0x4000 0000 1.0G ARM7局部总线 0x0000 0000 0.0G

  41. 0xFFFFFFFF 外部存储器 0x80000000 Boot Block 0x7FFFE000 内部SRAM 0x40000000 内部Flash 0x00000000 5.3.2 存储器分布和操作 一个具体应用可能存在的物理存储器 地址空间 片外存储器 片内存储器

  42. 16K 16K 16K 256K 128K 片内Flash 片内RAM 5.3.2 存储器分布和操作 (二)不同芯片内部存储器分布 0x40001FFF 0x40000000 0x0003FFFF 0x0001FFFF 0x00000000 LPC2210 LPC2114/2212 LPC2124/2214

  43. 5.3.2 存储器分布和操作 (三)片内FLASH 1. 特点: ARM7局部总线 (1)位于ARM7局部总线上; (2)50ns的访问速度; (3)128位宽度; (4)存储器加速模块,零等待。 内部Flash控制器 内部Flash

  44. 5.3.2 存储器分布和操作 2. 片内Flash编程方法 1. 通过内置JTAG接口下载,方便调试; 2. 通过UART0实现在系统编程(ISP),可用于生产/升级。 3. 通过在应用编程(IAP),可用于数据存储或者现场固件升级。 串口 JTAG

  45. 5.3.2 存储器分布和操作 3. 片内Flash加密 向Flash地址0x1FC写入0x87654321即实现加密功能。 只有有效代码才能被加密。 加密后: (1)JTAG调试端口被禁止 (2)外部存储器引导被禁止 (3)ISP的读存储器、写RAM、运行和复制命令被禁止。 (4)芯片加密后,通过ISP全片擦除后方可JTAG调试。

  46. 5.3.2 存储器分布和操作 3. 片内Flash加密 启动代码中的加密设置: IF :DEF:EN_CRP IF . >= 0x1fc INFO 1,"\n The data at 0x000001fc must be 0x87654321.\nPlease delete some source before this line." ENDIF CrpData WHILE . < 0x1fc NOP WEND CrpData1 DCD 0x87654321; /*当此数为0x87654321时,用户程序被保护*/ ENDIF

  47. 5.3.2 存储器分布和操作 3. 片内Flash加密 0x0000 0000 异常向量表 0x0000 0020 部分初始化代码 或 FIQ中断处理代码 NOP 0x0000 01FC DCD 0x87654321 用户代码 能够实现加密的代码结构

  48. 5.3.2 存储器分布和操作 (四)片外FLASH 片外Flash通过外部存储器控制器连接,所用芯片和接法各异,因此编程算法也不相同,一般在CPU上运行一个装载程序(Loader,一般由用户编写),该程序通过串口/以太网口接收要烧写的数据,然后擦除编程Flash。 Loader 程序 外部 Flash 以太网口 串口

  49. 5.3.2 存储器分布和操作 (五)片内SRAM ARM7局部总线 (1)位于ARM7局部总线上; (2)支持8/16/32位访问。 (3)带回写缓冲区。 内部SRAM控制器 内部SRAM

  50. 5.3.2 存储器分布和操作 回写缓冲区作用 回写缓冲区,它总是保存着软件发送到SRAM的最后一个字数据。该数据只有在软件请求下一次写操作时才写入SRAM。如果发生芯片复位,实际的SRAM内容将不会反映最近一次的写操作。用于防止CPU在连续写操作的时候停止。 ? A B 写入A 写入B 写入A 写入地址 ? A 回写缓冲区 内部SRAM

More Related