4LPC2000硬件结构

合集下载

LPC2000系列ARM硬件结构与功能简介

LPC2000系列ARM硬件结构与功能简介
件仿真 模式
1.4 处理器状态及模式
用户和系统模式
处理器模式 用户 用户 系统 系统 快中断 中断 管理 中止 未定义 说明 备注 不能直接切换到其它模式 (usr) 正常程序工作模式 (usr) 用于支持操作系统的特 与用户模式类似,但具有可以 (sys) (sys) 权任务等 直接切换到其它模式等特权 而且它们使用完全相同的寄存器组。 (fiq) (irq) (svc) (abt) (und) 支持高速数据传输及通 系统模式是特权模式,不受用 FIQ异常响应时进入此模式 道处理
ARM公司简介
ARM是Advanced RISC Machines的缩写,它是 一家微处理器行业的知名企业,该企业设计了大量 高性能、廉价、耗能低的RISC (精简指令集)处 理器。 公司的特点是只设计芯片,而不生产。 它将技术授权给世界上许多著名的半导体、软件和 OEM厂商,并提供服务。
1.2 ARM体系结构简介
(svc) 操作系统保护代码 (abt) (und) 用于支持虚拟内存和/或 存储器保护 支持硬件协处理器的软 件仿真
1.4 处理器状态及模式
特权模式
处理器模式 用户 系统 系统 说明 用于支持操作系统的特 权任务等 备注 不能直接切换到其它模式 与用户模式类似,但具有可以 直接切换到其它模式等特权 (usr) 正常程序工作模式 (sys) (sys)
处理器模式说明备注用户usr正常程序工作模式不能直接切换到其它模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权快中断fiq支持高速数据传输及通道处理fiq异常响应时进入此模式中断irq用于通用中断处理irq异常响应时进入此模式管理svc操作系统保护代码系统复位和软件中断响应时进入此模式中止abt用于支持虚拟内存和或存储器保护在arm7tdmi没有大用处未定义und支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式14处理器状态及模式?处理器模式14处理器状态及模式?特权模式处理器模式说明备注用户usr正常程序工作模式不能直接切换到其它模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权快中断fiq支持高速数据传输及通道处理fiq异常响应时进入此模式中断irq用于通用中断处理irq异常响应时进入此模式管理svc操作系统保护代码系统复位和软件中断响应时进入此模式中止abt用于支持虚拟内存和或存储器保护在arm7tdmi没有大用处未定义und支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式除用户模式外其它模式均为特权模式

嵌入式系统总结PPT课件

嵌入式系统总结PPT课件

LDR R1,[R2]
;将R2指向的存储单元的数据读出
;保存在R1中
SWP R1,R1,[R2] ;将寄存器R1的值和R2指定的存储
;单元的内容交换
3.1 ARM处理器寻址方式
• 寻址方式分类——基址寻址
基址寻址就是将基址寄存器的内容与指令中给 出的偏移量相加,形成操作数的有效地址。基址寻 址用于访问基址附近的存储单元,常用于查表、数 组操作、功能部件寄存器访问等。基址寻址指令举 例如下:
MOV R1,R2
;将R2的值存入R1
SUB R0,R1,R2 ;将R1的值减去R2的值,结果保存到R0
3.1 ARM处理器寻址方式
• 寻址方式分类——立即寻址
立即寻址指令中的操作码字段后面的地址码部 分即是操作数本身,也就是说,数据就包含在指令 当中,取出指令也就取出了可以立即使用的操作数 (这样的数称为立即数)。立即寻址指令举例如下:
fOSC
1
晶体 振荡器
产生稳定的 时钟信号
FOSC
ON/OFF
3
PLL
外接晶体或 外接时钟源
2
唤醒
定时器
将Fosc提升到 合适的频率
FCCLK
CPU内核
4
VPB FPCLK 分频器
芯片外设
2.在复位或处理器从掉电模式被唤醒时,为输入的时钟信 号做计数延时,使芯片内部部件有时间进行初始化。
3.把Fosc信号提高到一个符合用户需要的频率(Fcclk) 其中 Fcclk用于CPU内核。
3.2 指令集介绍
• 算术逻辑运算指令
算术逻辑运算指令包括“加/减”以及“与/ 或/异或”等指令,它们的格式如下:
OpCode 结果寄存器,运算寄存器,第二操作数

第4章 LPC2000系列ARM硬件结构(14~18)(1)

第4章  LPC2000系列ARM硬件结构(14~18)(1)
UnRBR
• 中断源说明
CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字 节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个 时间为:3.5~4.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零 该中断标志。 RxDn
UnRSR 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
4.14 UART(0、1)
• 中断接口
UART0和UART1的中断接口包含中断使能寄存器 (UnIER)和中断标识寄存器(UnIIR)。
UART0中断源
UART0接收单元
UART1中断源
中断
UART1接收单元 UART1发送单元 Modem模块
中断使能寄存器 UnIER 中断标志寄存器 UnIIR
4.14 UART(0、1)
• 回写模式
在Modem回写模式下,发 送器输出的串行数据在内部连接 到接收器的串行输入端。输入脚 RxD1对回写模式无影响,输出脚 TxD1保持总为1的状态。4个 Modem输入(CTS, DSR, RI和 DCD)与外部断开。此时, U1MSR的高4位分别由U1MCR的 低4位驱动。
LPC2000系列ARM硬件结构
1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM) 6.外部存储器控制器 (EMC) 7.引脚连接模块 8. GPIO 9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12. SPI接口 2 13. I C接口 14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟

LPC2000系列练习解析

LPC2000系列练习解析

第八章 I2C、SPI
1、应用I2C发送, 十个数据’0’~’9’,再读取已存储的数据, 看是否确是‘0’~‘9’,如果出错,LED等闪烁报警。
第八章 I2C、SPI
2、实现SPI计数器,应用SPI发送数据,显示在数码管上, 由按键KEY1控制数字++,由按键KEY2控制数字--。
第八章 I2C、SPI
第七章 RTC、PWM、AD、WDT
4、完成实时时钟秒表练习,将时间打印到串口。
第七章 RTC、PWM、AD、WDT
5、实现液晶时钟,在小屏上显示时、分、秒电子时钟。
第七章 RTC、PWM、AD、WDT
6、完成看门狗练习,让四个小灯闪烁亮灭8次,然后让最 后一个灯亮,其余灯灭。添加看门狗设置,试试不定时喂 狗会出现什么情况。
第五章:时间控制
5、定时1分钟完成led灯和lcd1602屏切换,灯灭对应显示 LED down ,灯灭对应显示LED up 。
第六章:串行通信
1、控制led灯每400ms变反一次,灯的状态显示到串口。
第六章:串行通信
2、使用串口UART0查询发送字符串HELLO WORLD! MY UART0,外接虚拟终端显示出来(波特率57600b/s)。
2、设置引脚功能,实现应用UART0发送接收数据(注意:不 影响别的管脚连接设置)。
3、GPIO设置有那些寄存器?分别是什么功能?
第二章 引脚连接模块、GPIO
4、查询P0.15引脚值变化,控制P0.9引脚连接LED小灯亮 灭跳变。
第二章 引脚连接模块、GPIO
5、 GPIO流水灯练习,控制流水灯依次点亮,往复循环。
第六章:串行通信
3、使用串口UART1应用中断发送字符串HELLO WORLD! ,外接虚拟终端显示出来(波特率57600b/s)。

周立功 LPC2000系列ARM微控制器应用开发教程说明书

周立功 LPC2000系列ARM微控制器应用开发教程说明书

个人电脑已经是64位了,您还在使用8位微控制器吗?尽管一般情况下嵌入式系统对CPU处理能力的要求比个人电脑(对CPU处理能力的要求)低,但随着人们生活的提高和技术的进步,嵌入式系统对CPU处理能力的要求也稳步的提高,大量高速的与MCS51体系结构兼容的微控制器的出现就证明了这一点。

但8位微控制器受限于体系结构,处理能力的提高始终有限。

而16位系统在性能上与8位机相比始终没有太大优势,成本上与32位系统相比也没有什么优势,未来一段时间嵌入式微控制器的发展方向必然是32位系统。

基于ARM体系结构的32位系统占领了32位嵌入式系统的大部分分额,但长期以来,基于ARM体系结构的32位系统仅在嵌入式式系统的高端(通讯领域、PDA)等场合使用,要么以专用芯片的面貌出现,要么以位处理器的庙貌出现,并没有出现性价比高的通用的微控制器。

PHILIPS发现了这个空当,推出了性价比很高LPC2000系列微控制器,让更多的嵌入式系统具有32位的处理能力。

这也预示着32位系统即将成为嵌入式系统的主流。

基于ARM体系结构的芯片在中国推广已经有好几年了,关于ARM的图书也出了不少。

关于ARM的图书主要有以下几类:1.关于ARM内核的图书,主要读者是芯片设计者,内容主要是介绍芯片设计的。

2.芯片应用类图书,主要是芯片的生产商或代理商编写,主要读者为应用工程师。

3.开发板类图书,主要介绍相应的ARM开发板,给应用者一些参考。

以上3类图书的侧重点都不是ARM应用开发教学,用于大学本科教学不太适合。

为了方便高等院校教学方便,笔者编写了这本教材。

不过,因为嵌入式系统牵涉的知识太广,一本教材无法深入论述。

为此,笔者还会推出多本被套图书以便学生知识扩展。

第1章嵌入式系统概述 (1)1.1嵌入式系统 (1)1.1.1 现实中的嵌入式系统 (1)1.1.2 嵌入式系统的概念 (2)1.1.3 嵌入式系统的未来 (2)1.2嵌入式处理器 (2)1.2.1 简介 (2)1.2.2 分类 (3)1.3嵌入式操作系统 (4)1.3.1 简介 (4)1.3.2 基本概念 (5)1.3.3 使用实时操作系统的必要性 (8)1.3.4 实时操作系统的优缺点 (8)1.3.5 常见的嵌入式操作系统 (8)第2章嵌入式系统工程设计 (14)2.1嵌入式系统项目开发生命周期 (14)2.1.1 概述 (14)2.1.2 识别需求 (15)2.1.3 提出方案 (17)2.1.4 执行项目 (19)2.1.5 结束项目 (21)2.2嵌入式系统工程设计方法简介 (22)2.2.1 由上而下与由下而上 (22)2.2.2 UML系统建模 (22)2.2.3 面向对象OO的思想 (23)第3章ARM7体系结构 (25)3.1简介 (25)3.1.1 ARM (25)3.1.2 ARM的体系结构 (25)3.1.3 ARM处理器核简介 (26)3.2ARM7TDMI (27)3.2.1 简介 (27)3.2.2 三级流水线 (28)3.2.4 存储器接口 (28)3.3ARM7TDMI的模块和内核框图 (29)3.4体系结构直接支持的数据类型 (31)3.5处理器状态 (32)3.6处理器模式 (32)3.7内部寄存器 (33)3.7.1 简介 (33)3.7.2 ARM状态寄存器集 (33)3.7.3 Thumb状态寄存器集 (35)3.8程序状态寄存器 (37)3.8.1 简介 (37)3.8.2 条件代码标志 (38)3.8.3 控制位 (38)3.8.4 保留位 (39)3.9异常 (39)3.9.1 简介 (39)3.9.2 异常入口/出口汇总 (39)3.9.3 进入异常 (40)3.9.4 退出异常 (41)3.9.5 快速中断请求 (41)3.9.6 中断请求 (41)3.9.7 中止 (41)3.9.8 软件中断指令 (42)3.9.9 未定义的指令 (42)3.9.10 异常向量 (42)3.9.11 异常优先级 (43)3.10中断延迟 (43)3.10.1 最大中断延迟 (43)3.10.2 最小中断延迟 (44)3.11复位 (44)3.12存储器及存储器映射I/O (44)3.12.1 简介 (44)3.12.2 地址空间 (44)3.12.3 存储器格式 (45)3.12.4 未对齐的存储器访问 (46)3.12.5 指令的预取和自修改代码 (47)3.13寻址方式简介 (51)3.14ARM7指令集简介 (52)3.14.1 简介 (52)3.14.2 ARM指令集 (52)3.14.3 Thumb指令集 (54)3.15协处理器接口 (56)3.15.1 简介 (56)3.15.2 可用的协处理器 (56)3.15.3 关于未定义的指令 (57)3.16调试接口简介 (57)3.16.1 典型调试系统 (57)3.16.2 调试接口 (58)3.16.3 EmbeddedICE-RT (58)3.16.4 扫描链和JTAG接口 (59)3.17ETM接口简介 (59)第4章ARM7TDMI(-S)指令系统 (61)4.1ARM处理器寻址方式 (61)4.2指令集介绍 (64)4.2.1 ARM指令集 (64)4.2.2 Thumb指令集 (90)第5章LPC2000系列ARM硬件结构 (112)5.1简介 (112)5.1.1 描述 (112)5.1.2 特性 (112)5.1.3 器件信息 (113)5.1.4 结构概述 (113)5.2引脚配置 (114)5.2.1 引脚排列及封装信息 (114)5.2.2 LPC2114/2124的引脚描述 (116)5.2.3 LPC2210/2212/2214的引脚描述 (120)5.2.4 引脚功能选择使用示例 (126)5.3存储器寻址 (126)5.3.1 片内存储器 (126)5.3.3 存储器映射 (127)5.3.4 预取指中止和数据中止异常 (131)5.3.5 存储器重映射及引导块 (132)5.3.6 启动代码相关部分 (134)5.4系统控制模块 (136)5.4.1 系统控制模块功能汇总 (136)5.4.2 引脚描述 (137)5.4.3 寄存器描述 (137)5.4.4 晶体振荡器 (138)5.4.5 复位 (139)5.4.6 外部中断输入 (142)5.4.7 外部中断应用示例 (145)5.4.8 存储器映射控制 (146)5.4.9 PLL(锁相环) (148)5.4.10 VPB分频器 (153)5.4.11 功率控制 (154)5.4.12 唤醒定时器 (156)5.4.13 启动代码相关部分 (156)5.5存储器加速模块(MAM) (158)5.5.1 描述 (158)5.5.2 MAM结构 (159)5.5.3 MAM的操作模式 (160)5.5.4 MAM配置 (161)5.5.5 寄存器描述 (161)5.5.6 MAM使用注意事项 (162)5.5.7 启动代码相关部分 (162)5.6外部存储器控制器(EMC) (163)5.6.1 特性 (163)5.6.2 概述 (163)5.6.3 引脚描述 (164)5.6.4 寄存器描述 (164)5.6.5 外部存储器接口 (166)5.6.6 典型总线时序 (168)5.6.7 外部存储器选择 (168)5.6.8 启动代码相关部分 (169)5.7引脚连接模块 (170)5.7.1 介绍 (170)5.7.2 寄存器描述 (170)5.7.3 引脚功能控制 (173)5.7.4 启动代码相关部分 (173)5.8.1 特性 (175)5.8.2 描述 (175)5.8.3 结构 (176)5.8.4 寄存器描述 (177)5.8.5 中断源 (181)5.8.6 VIC使用事项 (183)5.8.7 VIC应用示例 (184)5.8.8 启动代码相关部分 (185)5.9GPIO (186)5.9.1 特性 (186)5.9.2 应用 (186)5.9.3 引脚描述 (187)5.9.4 寄存器描述 (187)5.9.5 GPIO使用注意事项 (189)5.9.6 GPIO应用示例 (189)5.10UART 0 (189)5.10.1 特性 (189)5.10.2 引脚描述 (190)5.10.3 应用 (190)5.10.4 结构 (190)5.10.5 寄存器描述 (191)5.10.6 使用示例 (198)5.11UART1 (200)5.11.1 特性 (200)5.11.2 引脚描述 (200)5.11.3 应用 (201)5.11.4 结构 (202)5.11.5 寄存器描述 (203)5.12I2C接口 (211)5.12.1 特性 (211)5.12.2 应用 (211)5.12.3 引脚描述 (211)5.12.4 I2C接口描述 (211)5.12.5 I2C操作模式 (214)5.12.6 寄存器描述 (225)5.13SPI接口 (228)5.13.1 特性 (228)5.13.2 引脚描述 (228)5.13.3 描述 (229)5.13.5 寄存器描述 (235)5.14定时器0和定时器1 (237)5.14.1 描述 (237)5.14.2 特性 (237)5.14.3 应用 (238)5.14.4 管脚描述 (238)5.14.5 结构 (239)5.14.6 寄存器描述 (239)5.14.7 定时器举例操作 (244)5.14.8 使用示例 (245)5.15脉宽调制器(PWM) (247)5.15.1 特性 (247)5.15.2 引脚描述 (248)5.15.3 描述 (248)5.15.4 结构 (249)5.15.5 寄存器描述 (251)5.15.6 使用示例 (256)5.16A/D转换器 (258)5.16.1 特性 (258)5.16.2 描述 (258)5.16.3 引脚描述 (258)5.16.4 寄存器描述 (259)5.16.5 操作 (261)5.16.6 使用示例 (261)5.17实时时钟 (262)5.17.1 特性 (262)5.17.2 描述 (262)5.17.3 结构 (262)5.17.4 RTC中断 (263)5.17.5 闰年计算 (264)5.17.6 寄存器描述 (264)5.17.7 混合寄存器组 (265)5.17.8 完整时间寄存器 (267)5.17.9 时间计数器组 (268)5.17.10 报警寄存器组 (269)5.17.11 基准时钟分频器(预分频器) (269)5.17.12 RTC使用注意事项 (271)5.17.13 使用示例 (271)5.18看门狗 (274)5.18.2 应用 (274)5.18.3 描述 (274)5.18.4 结构 (275)5.18.5 寄存器描述 (275)5.18.6 使用示例 (277)5.19本章小结 (278)第6章接口技术与硬件设计 (280)6.1最小系统 (280)6.1.1 框图 (280)6.1.2 电源 (280)6.1.3 时钟 (284)6.1.4 复位及复位芯片配置 (284)6.1.5 存储器系统 (287)6.1.6 调试与测试接口 (288)6.1.7 完整的最小系统 (289)6.2片内外设 (291)6.2.1 GPIO(通用I/O) (291)6.2.2 UART、MODEM (295)6.2.3 I2C (298)6.2.4 SPI (304)6.3总线接口 (308)6.3.1 并行SRAM (308)6.3.2 并行FALSH (314)6.3.3 USB(D12)接口 (328)6.3.4 液晶接口 (332)6.3.5 网络接口 (341)6.4其它外设 (350)6.4.1 并行打印机接口 (350)6.4.2 CF卡及IDE硬盘接口 (356)第7章移植µC/OS-II到ARM7 (362)7.1µC/OS-II简介 (362)7.1.1 概述 (362)7.1.2 µC/OS-II的特点 (362)7.2移植规划 (363)7.2.1 编译器的选择 (363)7.2.2 任务模式的取舍 (363)7.3移植µC/OS-II (363)7.3.1 概述 (363)7.3.2 关于头文件includes.h和config.h (364)7.3.3 编写OS_CPU.H (365)7.3.4 编写Os_cpu_c.c文件 (366)7.3.5 编写Os_cpu_a.s (371)7.3.6 关于中断及时钟节拍 (374)7.4移植代码应用到LPC2000 (376)7.4.1 编写或获取启动代码 (376)7.4.2 挂接SWI软件中断 (376)7.4.3 中断及时钟节拍中断 (377)7.4.4 编写应用程序 (377)7.5本章小结 (379)第8章嵌入式系统开发平台 (380)8.1如何建立嵌入式系统开发平台 (380)8.1.1 使用平台开发是大势所趋 (380)8.1.2 建立开发平台的方法 (383)8.1.3 编写自己的软件模块 (384)8.2数据队列 (384)8.2.1 简介 (384)8.2.2 API函数集 (384)8.3串口驱动 (387)8.3.1 简介 (387)8.3.2 API函数集 (387)8.4MODEM接口模块 (389)8.4.1 简介 (389)8.4.2 MODEM的状态 (389)8.4.3 API函数集 (389)8.5I2C总线模块 (390)8.5.1 简介 (390)8.5.2 API函数集 (391)8.6SPI总线模块 (392)8.6.1 简介 (392)8.6.2 API函数集 (392)第1章嵌入式系统概述1.1 嵌入式系统经过几十年的发展,嵌入式系统已经在很大程度改变了人们的生活、工作和娱乐方式,而且这些改变还在加速。

第6章 LPC2000系列微处理器片上外设接口

第6章 LPC2000系列微处理器片上外设接口
数据总 线宽度 32位 16位 8位 无 P2.27:15 D[31:16] PINSEL2 [20;22] 控制 P2.15:8 D[15:0] D[15:0] GPIO GPIO P2.7:0 D[7:0] D[7:0] D[7:0] GPIO P3.31 BLS0 BLS0 BLS0 GPIO P3.3 0 BLS1 BLS1 GPIO GPIO P3.29:28 BLS3:2 PINSEL2 [6;7] 控制 P1.1 OE OE OE GPIO P1.0 CS0 CS0 CS0 GPIO
保留
保留 保留 EINT2 保留 EINT3 保留 保留 保留 保留 保留 保留
00
00 00 00 00 00 00 00 00 00 00 00
管脚功能选择寄存器1(PINSEL1 )
引脚名称 PINSEL1位 00 01 10 11 复位值
P0.16
P0.17 P0.18 P0.19 P0.20 P0.21 P0.22 P0.23
作为输入功能时,引脚处于高阻态。
14

GPIO相关寄存器描述——IOxSET
out in IOxDIR IOxCLR IOxSET 1 0
PINSELx
IOxPIN
IOxSE T 31 : 0
描述 输出置位。IOxSET[0]对应于Px.0 … IOxPIN[31]对应于Px.31引脚
复位值 0
当引脚设臵为GPIO输出模式时,可使用该寄存器从引脚输出高电平。 向某位写入1使对应引脚输出高电平。写入0无效。
第6章 LPC2000系列微处理器 片上外设接口



6.1 引脚连接模块 6.2 GPIO原理及应用 6.3 外部中断输入 6.4 定时计数电路 6.5 UART串行接口 6.6 片上一些其它常用接口(SPI、I2C、 A/D、WDT、PWM及RTC)

lpc2000系列做课程设计

lpc2000系列做课程设计一、课程目标知识目标:1. 学生能理解LPC2000系列微控制器的硬件结构和原理;2. 学生能掌握LPC2000系列微控制器的编程方法和接口技术;3. 学生能了解LPC2000系列微控制器在嵌入式系统中的应用。

技能目标:1. 学生具备使用LPC2000系列微控制器进行硬件设计和编程的能力;2. 学生能够运用所学知识解决实际问题,完成简单的嵌入式系统设计;3. 学生能够通过查阅资料、开展小组合作,提高自主学习能力和团队协作能力。

情感态度价值观目标:1. 学生对嵌入式系统产生兴趣,激发学习热情;2. 学生养成严谨的科学态度,注重实践操作和问题解决;3. 学生树立正确的价值观,认识到科技对社会发展的作用。

课程性质:本课程为实践性较强的课程,旨在帮助学生将理论知识与实际应用相结合。

学生特点:学生具备一定的电子技术基础和编程能力,对嵌入式系统有一定了解。

教学要求:注重理论与实践相结合,以项目为导向,培养学生的动手能力和创新能力。

通过课程学习,使学生能够达到上述具体的学习成果,为后续深入学习嵌入式系统打下坚实基础。

二、教学内容1. 硬件结构原理:介绍LPC2000系列微控制器的内部结构、工作原理以及主要性能参数,对应教材第3章。

- 微控制器核心架构- 存储器组织- 外设接口2. 编程方法和接口技术:讲解LPC2000系列微控制器的编程语言和开发工具,以及常用接口技术的应用,对应教材第4章和第5章。

- C语言编程基础- Keil集成开发环境- GPIO、UART、I2C、SPI等接口3. 嵌入式系统设计:结合实际案例,教授LPC2000系列微控制器在嵌入式系统中的应用,对应教材第6章和第7章。

- 系统设计流程和方法- 硬件电路设计- 软件编程与调试4. 实践项目:设计具有实际应用价值的嵌入式系统项目,让学生动手实践,巩固所学知识,对应教材第8章。

- 项目要求与功能划分- 硬件搭建与软件编程- 系统测试与优化教学内容安排和进度:本课程共计16课时,其中理论教学8课时,实践教学8课时。

2嵌入式产品安装与调试课程标准

《嵌入式产品安装与调试》课程标准一、课程基本信息(一)课程信息(二)专业概况1、培养目标通过《嵌入式产品安装与调试》的理论及实验教学,使学生了解嵌入式系统体系结构,嵌入式处理器结构(ARM架构为主),异常处理,存储处理,系统控制过程,流水线作业及各种I/O接口;引导学生自主学习,使学生掌握嵌入式操作系统(uC/OS-ll),以及在嵌入式 OS支持下的开发应用方法,训练学生的系统整合能力、程序语言能力、市场应用导向能力,使学生具备理论联系实际、运用所学知识发现问题和解决问题的能力。

为今后学习Linux内核,外围驱动的开发奠定坚实的基础,为学生的职业素质和职业技能的形成服务,为IT企业输送合格的软硬件从业者。

2、岗位面向嵌入式产品安装与调试课程是计算机科学与应用学科下的一个重要课程,设有嵌入式系统设计与开发室、计算机组装与维护、Linux操作系统、计算机网络基础、单片机及应用、第1页共9页Linux C编程、OA外围设备原理与维修、嵌入式系统原理、£口庆、嵌入式系统应用、常用工具软件、Internet操作技术、可编程控制器、微机组成原理、电工仪表与测量、局域网的组建与安装、传感器及应用、网络设备配置与管理等课程。

主要面向嵌入式电子产品的设计开发、生产制作、安装调试、运行维护、故障分析等岗位。

3、专业核心能力(1)训练学生的系统整合能力;(2)具备理论联系实际、运用所学知识发现问题和解决问题的能力;(3)提高学生在电子电路设计方面的实践技能;(4)能够进一步自学相关知识。

二、教学大纲(一)总体目标与任务1、课程性质和任务《嵌入式产品安装与调试》课程是所属学科为电气与信息类下的一级学科计算机科学与技术,在计算机科学与技术专业培养方案中属专业基础系列课程之一。

2、课程定位《嵌入式产品安装与调试》课程是应用电子技术专业的学生必修的一门实践性很强的专业技能课。

3、课程目标(1)能力目标1)使学生能够全面了解嵌入式系统的状况,培养学生系统整合能力。

典型MCU架构详解与主流MCU介绍

典型MCU架构详解与主流MCU介绍在前面的介绍中,我们已经了解到MCU就是基于一定的内核体系,集成了存储、并行或串行I/O、定时器、中断系统以及其他控制功能的微型计算机系统,如图4.1是典型的MCU组成框图。

目前,虽然很多厂商采用了ARM内核体系,但是在具体的MCU产品上,各个公司集成的功能差异非常大,形成MCU百花齐放的格局,由于本书的重点是介绍32位MCU,所以我们将重点以恩智浦公司的MCU为例来介绍,这些MCU中,LPC3000、LH7A采用ARM9内核,LPC2000和LH7采用ARM7内核,LPC1000系列采用Cortex-M3或M0内核,通过这几个系列的介绍可以了解MCU的构成和差异。

4.1 恩智浦LPC1000系列MCULPC1000系列MCU是以第二代Cortex-M3为内核的微控制器,用于处理要求高度集成和低功耗的嵌入式应用。

采用3级流水线和哈佛结构,其运行速度高达100MHz,带独立的本地指令和数据总线以及用于外设的第三条总线,使得代码执行速度高达1.25MIPS/MHz,并包含一个支持分支预测的内部预取指单元,特别适用于静电设计、照明设备、工业网络、报警系统、白色家电、电机控制等领域。

LPC1000系列MCU又分为LPC1700系列和LPC1300系列,下面我们分开介绍。

4.1.1 LPC1700系列MCU介绍LPC1700系列ARM是以第二代的Cortex-M3为内核,是为嵌入式系统应用而设计的高性能、低功耗的32位微处理器,适用于仪器仪表、工业通讯、电机控制、灯光控制、报警系统等领域。

其操作频率高达100MHz,采用3级流水线和哈佛结构,带独立的本地指令和数据总线以及用于外设的高性能的第三条总线,使得代码执行速度高达1.25MIPS/MHz,并包含一个支持分支预测的内部预取指单元。

LPC1700系列ARM Cortex-M3的外设组件:最高配置包括512KB片内Flash程序存储器、64KB片内SRAM、8通道GPDMA控制器、4个32位通用定时器、一个8通道12位ADC、一个10位DAC、一路电机控制PWM输出、一个正交编码器接口、6路通用PWM 输出、一个看门狗定时器以及一个独立供电的超低功耗RTC。

uart硬件结构

注意:只有UART1才有Modem中断。
VIC 中断控制器
ARM7TDMI 内核
4.14 UART(0、1)
• UART中断优先级
RLS中断
UnIER bit3 bit2 bit1 bit0
优先级 最高
RDA中断 第二
CTI中断 第二 THRE中断 第三
VIC 中断控制器
Modem中断 第四 注意:只有UART1才有Modem中断。

6.外部存储器控制器 (EMC) 7.引脚连接模块

15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM)
8. GPIO
18. 实时时钟
4.14 UART(0、1)
• 特性
LPC2000系列微控制器具有两个功能强大的 UART,其特性如下:
16字节接收FIFO和16字节发送FIFO; 寄存器位置符合16C550工业标准; 接收FIFO触发点可设置为1、4、8或14字节; 内置波特率发生器; UART1含有标准调制解调器接口信号 。
UnRBR
• 中断源说明
CTI中断:当接收FIFO中的有效数据少于预定的触发点数量(至少有一个字
节)时,如果在一定时间内仍然没有接收到新的数据,那将触发该中断。这个
时间为:3.5~4.5个字节所需要的时间。注:对接收FIFO的任何操作都会清零
该中断标志。
UnRSR
RxDn
UnIIR[0] 10 UnIIR[3:1] x11x0x
TxDn
4.14 UART(0、1)
• UART设置
使用UART前需要设置的寄存器
MODEM Modem控制寄存器
U1MCR
中断 中断使能寄存器
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AHB & VPB
映射位置固定在 内部存储器顶端 RAM和Flash 的变化不会影响 BootBlock的位置
Boot Block SRAM SRAM
0x80000000
Flash Flash
地址空间
5.3存储器寻址
• 存储器重新映射
存储器重新映射是将复位后用户所见的存储器 中部分区域,再次映射到其它的地址上。 对于Philips的LPC系列ARM微控制器,存储器 重新映射区域一共为64字节,分别为异常向量区 (32字节)和紧随其后的32字节。存储器重新映射 的方法允许在不同模式下处理中断,重新映射的存 储器区域在地址0x00000000~0x0000003F处。存储 器重新映射的控制见“存储器映射控制”小节。
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
AHB总线
VIC EMC
外部中断
TIMER0/1 ADC
I2C串行接口
SPI串行接口 UART0 & 1 CAN 看门狗定时器
看门狗定时器带有内部分频器, 可以方便设置溢出时间,在软 件使能看门狗后只有复位可以 禁止(具有调试模式);
外部中断
TIMER0/1 ADC 通用I/O PWM0
I2C串行接口
SPI串行接口 UART0 & 1 CAN 看门狗定时器
接口,支持最高速度400kb;
实时时钟
系统控制
• 芯片内部各单元简介
具有两个完全独立的SPI控制 器,遵循SPI规范,可配置为SPI 主机或从机; 具有两个UART接口,均包含 16字节的接收/发送FIFO,内置 波特率发生器。其中UART1具 有调制解调器接口功能; 在LPC2119/2129/2290/2292 等芯片中包含CAN总线接口;
AHB总线
VIC EMC
外部中断
TIMER0/1 ADC 通用I/O PWM0
I2C串行接口
SPI串行接口 UART0 & 1 CAN 看门狗定时器
实时时钟具有可编程的积存时 钟分频器,以适应不同的晶振 频率。带日历和时钟功能,提 供秒、分、时、日、月、年和 星期,同时具有非常的功耗。
实时时钟
系统控制
通用I/O PWM0
实时时钟
系统控制
• 芯片内部各单元简介
系统控制模块包括一些与其它 外设无关的功能,如功率控制 等; 外部中断有4路多引脚输入, 可用于CPU掉电唤醒;
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
AHB总线
VIC EMC
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
AHB总线
VIC EMC
向量中断控制器(VIC)可以 减少中断的响应时间,最多可 以管理32各中断请求;
外部存储器控制器(EMC)支 持4个BANK的外部SRAM或 Flash,每个BANK最多16MB; I2C串行接口为标准的I2C总线
定时器0/1为两个独立的带可 编程32位预分频器的32位定时 器/计数器,具有捕获和匹配输 出功能;
具有4/8路10位ADC,可以设 置为多路循环采样模式。10位 转换时间最短为2.44us;
外部中断
TIMER0/1 ADC 通用I/O PWM0
I2C串行接口
SPI串行接口 UART0 & 1 CAN 看门狗定时器
GPIO
P0.0
TXD0 PWM1输出
通过PINSEL0控制引脚功能
5.3 存储器寻址
• 一个具体应用可能存在的物理存储器
地址空间 片外存储器
外部存储器
0xFFFFFFFF
0x80000000
Boot Block
0x7FFFE000
片内存储器
内部SRAM
0x40000000
内部Flash
0x00000000
向量中断控制器 AHB 外设#126 AHB 外设#125 … AHB 外设#1 AHB 外设#0 地址空间 0xFFE04000 0xFFE00000
AHB 外设#127
0xFFFFF000 0xFFFFC000
0xFFFF8000 0xFFFF4000
5.3存储器寻址
• VPB外设映射
系统控制模块 VPB外设#127
? A B 回写缓冲区
写入A
? A 内部SRAM
写入地址
5.3存储器寻址
• 存储器映射基本概念
ARM处理器产生的地址叫虚拟地址,把这个 虚拟地址按照某种规则转换到另一个物理地址去 的方法称为地址映射。这个物理地址表示了被访 问的存储器的位置。它是一个地址范围,该范围 内可以写入程序代码。 通过地址映射的方法将各存储器分配到特定 的地址范围后,这时用户所看见的存储器分布为 存储器映射。
5.3存储器寻址
• 外设存储器映射
4.0GB AHB 外设 4.0GB-2MB 0xFFE00000 0xFFE00000
保留
3.5GB+2MB VPB 外设 VPB 外设
0xE0000000
AHB 外设
3.5GB
地址空间
0xE0000000
均为128×16KB(2MB)范围
5.3存储器寻址
• AHB外设映射
0x400000000
5.3存储器寻址
• AHB和VPB
AHB(先进的高性能总线)和VPB(VLSI外设总线)外设 区域都为2M字节,可各分配128个外设。每个外设空间的规格 都为16K字节,这样就简化了每个外设的地址译码。
注意:AHB和VPB外设区域中不管是字还是半字,都 是一次性访问。例如不可能对一个字寄存器的最高字 节执行单独的读或写操作
5.2 引脚配置
• LPC2000系列芯片外形
LPC2114/2124
LPC2210/2212/2214
5.2 引脚配置
• 引脚功能选择使用示例
LPC2000系列微控制器的引脚一般是多个功 能复用,但是同一引脚在同一 引脚在同一时刻只 能使用其中一个功能,这可以通过设置PINSELx寄 存器来选择,详细介绍见“引脚连接模块”小节。
• LPC2000系列器件信息
器件型号 LPC2114 LPC2124 引脚数 64 64 片内RAM 16KB 16KB 片内Flash 128KB 256KB 10位AD通道数 4 4 CAN控制器 - - 备注 - - 带外部 存储器 接口 -
LPC2210
LPC2212 LPC2214 LPC2119
实时时钟
系统控制
• 芯片内部各单元简介
不同封装的芯片具有数目不等 的IO口,它们可以承受5V电压。 每个IO口可以独立设置为输入/ 输出模式,在作为输出模式时 可以分别置位或清零; 脉宽调制器可以灵活设置,以 适应不同的场合。可以设置为 单边沿或双边缘输出方式,可 以灵活的设置频率和占空比;
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
144
144 144 64
16KB
16KB 16KB 16KB

128KB 256KB 128KB
8
8 8 4

- - 2
LPC2129
LPC2194 LPC2290 LPC2292
64
64 144 144
16KB
16KB 16KB 16KB
256KB
256KB - 256KB
4
4 8 8
2
4 2 2

带1路 DAC
• 芯片内部框图
LPC2000系列微控制器包含四 大部分: ARM7TDMI-S CPU ARM7局部总线及相关部件 AHB高性能总线及相关部件 VLSI外设总线及相关部件
ARM7 局部总线 SRAM Flash AHB To VPB 桥 ARM7TDMI-S CPU 系统功能
课时授课计划
课 题(章节名称)
LPC2000系列ARM硬件结构
2010年3月25日 星期4 1,2、3,4节 3.26 5,6节
时间 教学目的与要求
1、了解LPC2210的引脚描述 2、了解LPC2210的地址安排 3. 了解GPIO寄存器的描述与用途 了解LPC2210的地址安排 GPIO寄存器的用途
讲授法 教学时数 2
教学重点 教学难点 教学方法 课外作业 主要内容
时间分配
1、了解LPC2210的引脚描述 2、了解LPC2210的地址安排 3. 了解GPIO寄存器的描述与用途
30 30 40
课后小结
第5章 LPC2000系列ARM 硬件结构
5.1 简介
• LPC2000系列微控制器概述
LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集 成丰富外设,而且具有非常低的功率消耗。使该 系列微控制器特别适用于工业控制、医疗系统、 访问控制和POS机等场合。
Loder 程序 串口
外部 Flash
5.3 存储器寻址
• 片内SRAM的写操作
SRAM控制器包含一个回写缓冲区,它总是保 存着软件发送到SRAM的最后一个字数据。该数据 只有在软件请求下一次写操作时才写入SRAM。如 果发生芯片复位,实际的SRAM内容将不会反映最 近一次的写操作。
写入A 写入B
1. 通过内置JTAG接口; 2. 通过在系统编程(ISP),使用UART0通信; 3. 通过在应用编程(IAP);
串口 JTAG
5.3 存储器寻址
• 片外Flash编程方法(LPC2200):
在CPU上运行一个装载程序(Loader,一般由 用户编写),该程序通过串口接收要烧写的数据, 然后擦除编程Flash。
相关文档
最新文档