物联网师资班_第1页
物联网师资班_第2页
物联网师资班_第3页
物联网师资班_第4页
物联网师资班_第5页
已阅读5页,还剩161页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、物联网设计物联网设计与与实现实现-认识认识物联网物联网? 物联网定义物联网定义 到目前为止,物联网还没有形成一个为大家所公认的定义。 通俗的讲,物联网就是“物物相连的互联网”; 从技术上来说,物联网可以定义为“通过射频识别(RFID)、 红外感应器、全球定位系统、激光扫描器等信息传感设备, 按约定的协议,把任何物品与互联网连接起来,进行信息 交换和通讯,以实现智能化识别、定位、跟踪、监控和管 理的一种网络。” 国外定义:嵌入式+互联网=物联网 物联网概述物联网概述定义定义 物联网概述物联网概述框架框架 物联网概述物联网概述支撑技术支撑技术 RFID技术 ZigBee技术常见的组网技术 微机电系

2、统技术 智能服务技术 环境保护 安全防范 卫生安全 商务金融 物联网应用物联网应用 交通事业 物流配送 电力系统 城市社区 物联网应用物联网应用 教育娱乐 工业生产 农林畜牧 司法行政 物联网应用物联网应用 国防军事医疗健康 物联网应用物联网应用 物联网应用物联网应用智能家居智能家居 物联网应用物联网应用智能家居智能家居 仿人机器人 虚拟管家 居家监护网络系统 物联网的物联网的3 3个层次个层次 物联网的八层架构物联网的八层架构 物联网工程专业知识体系物联网工程专业知识体系 物联网设计物联网设计与与实现实现嵌入式部分嵌入式部分 ARMARM公司公司 成立于1990

3、年11月 前身为 Acorn计算机公司 主要设计ARM系列RISC处理器 内核 授权ARM内核给生产和销售半 导体的合作伙伴 ARM 公司不生产芯片 另外也提供基于ARM架构的开 发设计技术 软件工具, 评估板, 调试工具,应用软 件,总线架构, 外围设备单元,等等 ARM 全球分布 England Cambridge, Maidenhead, Sheffield, Blackburn Germany Munich France Paris, Sophia Antipolis Korea Seoul US Seattle, Los Gatos, Walnut Cr

4、eek, Austin, Boston, San Diego Asia Taiwan Japan Shin-Yokohama (Tokyo) ARM合作伙伴 SILICON DESIGN SUPPORT SOFTWARE TRAINING CONSORTIA ARM Powered Products Google Nexus One JVC Pixstar GC-X1 Psion Revo Plus HP CapShare Sony MZ-R90 MiniDisc Nokia 8810Nokia Mediamaster Nintend

5、o Gameboy Advance Ericsson R380 Alba Bush Internet TV 3Com 10/100 PCI NIC Iomega HipZip Diamond Multimedia Rio 600 ARMARM处理器的最新发展处理器的最新发展 低功耗、低成本的微控制器方向低功耗、低成本的微控制器方向 Cortext-M3 Stm32系列 36MHz72MHz (LQFP48 基本型:1.8美元) ATMEL ATSAM3X系列 Cortex-M1 Cortex-M0 LPC11xx系列 实时方向实时方向

6、 Cortex-R4 Cortex-R5 安全方向安全方向 SecurCore SC300 (Cortex-M3) SC200 (ARM9) SC100 (ARM7) 议程议程 Cortex-M0 内核内核 LPC1100 介绍介绍 LPC1100 外设外设 ISP/IAP/SWD 下载和调试下载和调试 开发工具和环境开发工具和环境 RealView MDK 编译器使用编译器使用 LPC1114 开发开发 uC/OS-II 传感器和控制传感器和控制 有线互联有线互联 无线互联无线互联 22 23 Cortex-M0 Cortex-M0 内核内核 ARM ARM Cortex-M0Cortex-

7、M0 处理器处理器 32-bit ARM RISC 处理器处理器 Thumb 16-bit 指令集 最优化的功能和硅片面积最优化的功能和硅片面积 用于低成本和功能少的设计 发生中断和异常时自动存储状态发生中断和异常时自动存储状态 异常进入和退出时软件开销低 确定的指令运行时序确定的指令运行时序 指令永远占用相同时间运行 24 ARM Cortex-M0 ARM Cortex-M0 处理器处理器 32-bit 内核、三级流水线、冯内核、三级流水线、冯 诺依曼结构诺依曼结构 ARMv6-M 体系结构体系结构 16-bit Thumb 指令集并包含Thumb-2技术 简单的体系结构,易于学习和编程简

8、单的体系结构,易于学习和编程 与与Cortex-M处理器系列向上兼容处理器系列向上兼容 25 Thumb Thumb 指令集指令集 32-bit运行运行, 16-bit指令指令 ARM7TDMI (T 代表 Thumb) 中有介绍 从一开始所有ARM 处理器就支持 更小的代码尺寸 Thumb-2 所有处理器操作可只在 Thumb 状态进行 可优化16/32-bit指令混合运行 全部 Cortex处理器支持 26 Thumb ARM7ARM9Cortex-A9Cortex-R4Cortex-M3Cortex-M0 Thumb instruction set upwards compatibili

9、ty 指令集体系结构指令集体系结构 以以 ARM7TDMI 16-bit Thumb 结构为基础结构为基础 56 个指令, 所有指令有确定的运行时间 一个指令可以传送8, 16 或 32-bit 数据 Dhrystone 0.9DMIPS/MHz 参考参考 ARM 文档文档 DDI0432 和和 DDI0419B27 28 程序寄存器程序寄存器 全部寄存器为全部寄存器为 32-bit 指令支持 8/16/32-bit 数据 13 个通用寄存器个通用寄存器 寄存器 r0 r7 (低寄存器) 寄存器 r8 r12 (高寄存器) 3 个专用个专用/通用寄存器通用寄存器 堆栈指针 (SP) r13 链

10、接寄存器 (LR) r14 程序计数器 (PC) r15 特殊功能寄存器特殊功能寄存器 - xPSR 29 指令表现指令表现 大部分指令大部分指令 2 bytes 内存内存 运行时完全占用固定时间运行时完全占用固定时间 数据处理 (e.g. 加, 移位, 逻辑或) 占用 1 cycle 数据传送 (e.g. 装载, 存储) 占用 2 cycles 跳转, 当发生时占用 3 cycles 指令操作为指令操作为 32-bit 数据值数据值 寄存器和 ALU 是 32-bit 宽! MULS 15 0 MULS r0, r1; Assembler a = a * b; C code 嵌套向量中断控制

11、器嵌套向量中断控制器 (NVIC)(NVIC) NVIC 有高效的异常有高效的异常/中断处理中断处理 集成在处理器内部 与内核有更紧密的连接 处理系统异常和中断 NVIC 支持支持 32 向量向量 异常优化 咬尾和晚到中断处理技术 完全确定的异常处理时间性能完全确定的异常处理时间性能 处理异常时永远占用同样的系统周期数 固定的16个时钟周期, 没有偏差 潜在的时间偏差由寄存器操作慢引起 所有编程可以使用所有编程可以使用 C 语言实现语言实现 30 31 中断表现中断表现 中断时, 硬件根据状态自动处理堆栈 中断处理程序可全部使用C程序实现 堆栈内容支持 C/C+ ARM体系结构过程调用标准(A

12、APCS) 复位时处理器从0 x0地址处取初始化堆栈指针 r0 r1 r2 r3 r12 r15 (PC) r14 (LR) xPSR Memory r13 (SP) Stack Growth Push 32 软件支持睡眠模式软件支持睡眠模式 ARM Cortex-M 系列有支持睡眠状态的设计系列有支持睡眠状态的设计 允许极低功耗状态操作 对在应用中延长电池寿命有关键作用 有非常低门阵列的唤醒中断控制器 (WIC) NVIC Cortex-M0 WIC Wake-up External interrupts Wake-up sensitive Interrupts Power Manageme

13、nt Unit Deep Sleep 睡眠睡眠 CPU 可以时钟可控 NVIC 对中断保持敏感 深度睡眠深度睡眠 WIC 对所选择中断保持敏感 Cortex-M0 可进入状态保持 WIC 向向 PMU 发出唤醒信号发出唤醒信号 Core 可以几乎立刻唤醒 对外部重要事件反应 ARM7, M3ARM7, M3和和M0M0对比对比: : 指令集指令集 33 ARM7, M3ARM7, M3和和M0M0对比对比: : 指令集和操作模式指令集和操作模式 34 ARM7, M3ARM7, M3和和M0M0对比对比: : 中断中断 35 36 32-bit 32-bit 对比对比 8/16-bit MCU

14、 8/16-bit MCU 代码尺寸代码尺寸 37 计算性能计算性能 38 LPC1100 LPC1100 介绍介绍 内核内核 Cortex-M0, 50MHz 内置嵌套向量中断控制器(NVIC) 系统定时器 (24bit) SWD 调试功能 内存内存 8 - 32kB Flash (将来128kB) 2 - 8kB SRAM 时钟时钟 内部 RC 时钟 主时钟 串行外设串行外设 UART SSP(包含SPI) I2C 内部固件内部固件 在系统编程 (ISP) , 在应用编程 (IAP) 模拟外设模拟外设 10-bit ADC (8 channel, 400kHz) 其它外设其它外设 4 个通

15、用定时器/计数器 可编程软件狗定时器 (WDT) I/O 管脚管脚 Up to 42 pins Up to 2 high current sourcing/sinking (20mA) pins 系统控制系统控制 电力不足检测 (BOD) 时钟产生单元 (CGU) 电源管理单元 (PMU) 三种低功耗模式: 睡眠, 深度睡眠, 深度掉电 芯片封装芯片封装 48-pin LQFP 33-pin HVQFN LPC1100 LPC1100 概述概述 39 40 电源效率高电源效率高 性能效率高性能效率高 代码效率高代码效率高 容易使用容易使用 低成本低成本 LPC1100 LPC1100 优势优势

16、 Sponsored Session LPC1100 Cortex-M0 LPC1100 Cortex-M0 配置配置 单周期乘法单周期乘法 小端对齐小端对齐 操作系统扩展操作系统扩展 24-bit Sys Tick 操作堆栈指针寄存器 管理调用指令 调试调试 只有串行线调试 无 JTAG 调试, 无 SWO 4 个断点, 2 个观测点 41 LPC1100 LPC1100 框图框图 42 LPC1100 LPC1100 电源范围电源范围 单单 3.3 V 电源电源 VDD(3V3) 低电压范围 1.8 V to 2.0 V 正常电源范围 2.0 V to 3.6V 片上 DC-DC 转换器

17、VDD(3.3V) 同时为 ADC 参考电压 (2.5V- 3.6V) VDD(I/O) I/O 低电压范围 1.8 V to 2.0 V I/O 正常电压范围 2.0 V to 3.6V 43 44 LPC1100 LPC1100 电源模式电源模式 睡眠模式睡眠模式 Core 时钟停止 复位或中断重新开始程序运行 外设功能继续运行 深度睡眠模式深度睡眠模式 所有其它时钟停止 (状态保持),只有WDO和BOD工作 所有模拟部分停止,数字部分保持静态 由13个GPIO管脚唤醒 深度掉电模式深度掉电模式 全部芯片电源关 (状态丢失),只有PMU的5个通用寄存器保存 一直处于域寄存器保持状态, 可以

18、用来通知在深度掉电之前处理器 Core处于什么状态 由唤醒管脚唤醒 Performance Current Consumption 45 电流消耗图标电流消耗图标 Deep Power- Down 220nA Sleep 2mA Deep- Sleep 6uA Active 12MHz 3mA Active 50MHz 8.6mA Normal voltage supply range VDD(3V3) = 2.0 V to 3.6 V LPC11Cxx / 11xxL / 11Uxx LPC11Cxx / 11xxL / 11Uxx 介绍介绍 46 LPC11Cxx 在LPC11xx基础上增

19、加了CAN外设 LPC11xxL 具有更低的功耗 LPC11Uxx 有USB外设 47 NXP LPC1xxx NXP LPC1xxx 系列发展系列发展 Performance Peripherals IAR EWARM IAR EWARM 介绍介绍 IAR Embedded Workbench for ARM 是一个针对是一个针对ARM 处理器的集成开发环境,处理器的集成开发环境, 包含项目管理器、编辑器、编译连接工具和支持包含项目管理器、编辑器、编译连接工具和支持RTOS 的调试工具,在该环的调试工具,在该环 境下可以使用境下可以使用C/C+和汇编语言方便地开发嵌入式应用程序。和汇编语言方

20、便地开发嵌入式应用程序。IAR EWARM 的主要模块如下:的主要模块如下: 项目管理器 功能强大的编辑器 高度优化的IAR ARM C/C+ Compiler IAR ARM Assembler 1 个通用的IAR XLINK Linker IAR XAR 和XLIB 建库程序和IAR DLIB C/C+运行库 IAR C-SPY 调试器(先进的高级语言调试器) 命令行实用程序 48 IAR EWARM IAR EWARM 介绍介绍 EWARM 编译器的软件特色编译器的软件特色 先进的通用编译器优化和针对特定处理器的速度优化及存 储器优化功能 轻量运行库,用户可以根据需要自行配置,提供全部源

21、代 码 灵活的存储器控制,允许详细地为代码和数据分配地址 去除不需要的函数和变量 C/C+变量和函数连接时全局类型检查 可选的校验和生成功能,用于运行时映象校验 自动将代码和数据放置到非连续的存储器区域 强大的可重定位宏汇编器,支持丰富的命令集和操作符 49 50 RealView MDK 编译器使用 51 议程议程 RealView MDK 介绍介绍 RealView MDK 使用使用 RealView MDK 程序运行机制程序运行机制 U-LINK2 仿真器仿真器 CoLinkEx 仿真器仿真器 52 Keil RealView MDK Keil RealView MDK 介绍介绍 简介简

22、介 RealView MDK全称RealView MDK中国版开发套件,源自德国Keil公司,被全球超过10万 的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的对各种嵌入式处理器的软 件开发工具。RealView MDK集成了业内最领先的技术,包括Vision4集成开发环境与 RealView编译器,支持ARM7、ARM9和最新的Cortex-M0 、 Cortex-M1 、 Cortex-M3和 Cortex-M4核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模 拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本

23、可 将性能改善超过20。 突出特性突出特性 菜鸟的阿拉伯飞毯 启动代码生成向导,自动引导,一日千里 高手的无剑胜有剑 软件模拟器,完全脱离硬件的软件开发过程 专家的哈雷望远镜 性能分析器,看得更远、看得更细、看得更清 未来战士的激光剑 支持Cortex-M0 、 Cortex-M1 、 Cortex-M4和Cortex-M4 业界最优秀的编译器 RealView 编译器,代码更小,性能更高配备ULINK2仿真 器 无需安装驱动 Flash编程模块 轻松实现Flash烧写 绝对的高性价比 国际品质,本土价格 53 Keil RealView MDK Keil RealView MDK 介绍介绍

24、产品模块介绍产品模块介绍 Vision4 IDE 启动代码生成向导 设备模拟器性能分析器 RealView 编译器MircoLib RL-ARM(可选) ULINK2仿真器 Vision4 IDE Vision IDE在全球拥有庞大的用户群,超过10万开发工程师在使用Keil开发工具。不管以前是用8位、16位MCU,还是 现在改用ARM 32位处理器,Vision IDE简单易用,能快速上手。 Vision4 IDE主要特性:主要特性: 功能强大的源代码编辑器; 可根据开发工具配置的设备数据库; 用于创建和维护工程的工程管理器; 集汇编、编译和链接过程于一体的编译工具; 用于设置开发工具配置的

25、对话框; 真正集成高速CPU及片上外设模拟器的源码级调试器; 高级GDI接口,可用于目标硬件的软件调试和ULINK2仿真器的连接; 用于下载应用程序到Flash ROM中的Flash编程器; 完善的开发工具手册、设备数据手册和用户向导。 54 Keil RealView MDK Keil RealView MDK 介绍介绍 启动代码配置向导启动代码配置向导 Vision4 IDE 的启动代码配置向导将各个所需配置 的功能模块以对话框方式展示,附加的提示说明, 帮助你快速轻松的做出选择,生成完善的启动代码, 免除手工写几百行汇编程序的痛苦。 55 Keil RealView MDK Keil R

26、ealView MDK 介绍介绍 Vision4设备模拟器设备模拟器 Vision4设备模拟器的功能强大,能模拟整个MCU的行为。使你在没有硬件或对目标 MCU没有更深的了解的情况下,仍然可以立即开始开发软件。 高效指令集仿真 中断仿真片内外围设备仿真 ADC,DAC, EBI,Timers UART,CAN,I2C 外部信号和 I/O仿真 56 Keil RealView MDK Keil RealView MDK 介绍介绍 性能分析器性能分析器 性能分析器可给所有的MCU实现如程序运行时间 统计、被调用次数统计、代码覆盖率统计等高端功 能,而这些功能对于快速定位死区代码,帮助优化 分析等起

27、了关键的作用。 57 Keil RealView MDK Keil RealView MDK 介绍介绍 RealViewRealView编译器(编译器(RVCTRVCT) RealView MDK集成的RealView编译器(跟RVDS使用一样 的编译器),是业界最优秀的编译器,它能使代码容量更 小、执行效率更高;使应用程序运行更快、系统成本更低。 MicroLib 为进一步改进基于ARM处理器的应用代码密度,RealView MDK采用了新型MicroLib C库(用于C的ISO标准运行时库 的一个子集),并将其代码镜像降低最小以满足微控制器 应用的需求。MicroLib C库可将运行时库代

28、码大大降低。 58 Keil RealView MDK Keil RealView MDK 介绍介绍 RealView Real-time Library实时库实时库 RealView实时库(RealView RL-ARM)是为解决基于ARM MCU的嵌入式系统 中的实时及通信问题而设计的紧密耦合库集合。它可以非常方便地应用于所有 ARM7、ARM9和Cortex-M0 、 Cortex-M1 、 Cortex-M3和Cortex-M4系列的处理 器,使得在ARM处理器上运行实时程序非常容易。 该实时库包含4个部分:RTX实时内核、Flash文件系统、TCP/IP协议簇和RTL- CAN(控制

29、域网络)。 RealView实时库可以解决嵌入式开发中的如下几个常见问题: 多任务(可以在单CPU上管理几个工作或任务); 实时控制(可以控制任务在既定时间内完成); 任务间通信(可以实现系统中的任务间通信); Internet 连接(通过以太网或串口(Modem); 嵌入式Web服务器(包括CGI脚本); E-mail公告(通过SMTP)。 59 议程议程 RealView MDK 介绍介绍 RealView MDK 使用使用 RealView MDK 程序运行机制程序运行机制 U-LINK2 仿真器仿真器 CoLinkEx 仿真器仿真器 60 Keil RealView MDK Keil

30、RealView MDK 使用使用 创建工程创建工程 Vision是一个标准的窗口应用程序,可以单击“程序”按钮开始运行。为了创 建一个新的Vision工程必须做如下处理: 选择工具集; 创建工程文件; 选择设备。 选择工具集选择工具集 Vision可以使用ARM RealView编译工具、ARM ADS编译器、GNU GCC编译 器和Keil C ARM编译器。当使用GNU GCC编译器或ARM ADS编译器时必须另 外安装它们编译集。实际使用的工具集可以选择“ProjectManage”,在弹上 的“Components,Environment and Books”对话框中选择“Folde

31、rs/Extensions”页。 61 Keil RealView MDK Keil RealView MDK 使用使用 创建工程文件创建工程文件 单击ProjectNew.Vision Project菜单项,Vision 4将打开一个标准对话框, 输入希望新建工程的名字即可创建一个新的工程,建议对每个新建工程使用独 立的文件夹。例如,这里先建立一个新的文件夹,然后选择这个文件夹作为新 建工程的目录,输入新建工程的名字Project1,Vision将会创建一个以Project1 . uvproj为名字的新工程文件,它包含了一个缺省的目标(target)和文件组名。 这些内容在Project W

32、orkspaceFiles中可以看到。 选择设备选择设备 在创建一个新的工程时,Vision要求为 这个工程选择一款CPU。当选择设备对 话框显示了Vision的设备数据库后,只 需要选择用户所需的微控制器即可。例 如, 图中显示了选择LPC1114微控制 器, 简化了工具的配置。 62 Keil RealView MDK Keil RealView MDK 使用使用 增加连接控制文件增加连接控制文件 对于GNU和ARM ADS/RealView工具链来说,链接器的配置是通过链接器控制 文件实现的。这个文件指定了ARM目标硬件的存储配置。预配置的链接器控制 文件在文件夹.ARM GNU或.AR

33、MADS中。为了与目标硬件相匹配,用户可 能会修改链接器控制文件,所以工程中的那个文件是预配置的连接控制文件的 一个副本。这个文件可以通过Project-Options for Target对话框的Linker页添加到 工程中。 对于复杂的memory layout分配方式,应该采用scatter File选项指定Scatter文件, 对于简单的工程,直接指定R/O和R/W的基地址即可。关于Scatter 文件的更多 内容,请读者参考ARM工具相关资料。 63 Keil RealView MDK Keil RealView MDK 使用使用 添加文件添加文件 创建源文件以后,就可以将这个文件添

34、加到工程中。Vision提供了几种方法将 源文件添加到工程中。例如,在Project WorkspaceFiles页的文件组上单击鼠标 右键,然后在弹出的菜单中选择“Add Files”菜单项,这时将打开标准的文件对 话框,选择我们创建的.asm或.c文件即完成源文件的添加。 设置目标硬件的工具选项设置目标硬件的工具选项 Vision可以设置目标硬件的选项。通过工具栏 按钮或选择“ProjectOptions for Target”菜单项, 打开“Options for Target”对话框,在Target页中 设置目标硬件及所选CPU片上组件的参数。 LPC1114的一些参数设置如图3.7所

35、示。 64 Keil RealView MDK Keil RealView MDK 使用使用 编译链接编译链接 一般来说,在新建一个应用程序的时候OptionsTarget页中的所有的工具和属 性都要配置。单击“Build Target”工具栏按钮将编译所有的源文件,链接应用程 序。当编译有语法错误的应用程序时,Vision将在Output WindowBuild窗口 中显示错误和警告信息。单击这些信息行,Vision将会定位到相应的源代码处。 图中显示了编译结果输出框。 65 Keil RealView MDK Keil RealView MDK 使用使用 程序调试程序调试 进入调试模式之后

36、,可以选择单步、全速运行;可以设置断点等常规的调试。所有有关 调试的操作都可以在Debug菜单下找到 当程序进入调试时,常用的调试手段有以下几种当程序进入调试时,常用的调试手段有以下几种: - 单步、全速运行程序,按快捷键F10进入单步运行程序;按快捷键F5进入全速运行程序 - 对于各种模式下的寄存器,可以在左边的窗口中查看。可以查看ARM的7种模 式下的 寄存器。当处理器处于任何一种模式时,可以查看Current中所有的寄存器的值。处理器 从一种状态改变到另外一种状态时,该模式下物理上独立的寄存器将会被用到 - 设置断点:选中需要设置断点的行,然后按F9键即在该行设置断点,程序运行到此处 就

37、 停止运行。 - 查看变量的实时值:对于局部变量,选择“ViewWatch Top of Stack DCD Reset_Handler ; Reset Handler DCD NMI_Handler ; NMI Handler DCD HardFault_Handler ; Hard Fault Handler DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler DCD 0 ; Reserv

38、ed DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved DCD SVC_Handler ; SVCall Handler DCD DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved DCD PendSV_Handler ; PendSV Handler DCD SysTick_Handler ; SysTick Handler ; External Interrupts DCD WAKEUP_IRQHandler ; 15 wakeup sources for all the D

39、CD WAKEUP_IRQHandler ; I/O pins starting from PIO0 (0:11) DCD WAKEUP_IRQHandler ; all 40 are routed to the same ISR DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKEUP_IRQHandler DCD WAKE

40、UP_IRQHandler DCD WAKEUP_IRQHandler ; PIO1 (0:11) DCD CAN_IRQHandler ; CAN DCD SSP1_IRQHandler ; SSP1 DCD I2C_IRQHandler ; I2C DCD TIMER16_0_IRQHandler ; 16-bit Timer0 DCD TIMER16_1_IRQHandler ; 16-bit Timer1 DCD TIMER32_0_IRQHandler ; 32-bit Timer0 DCD TIMER32_1_IRQHandler ; 32-bit Timer1 DCD SSP0_

41、IRQHandler ; SSP0 DCD UART_IRQHandler ; UART DCD USB_IRQHandler ; USB IRQ DCD USB_FIQHandler ; USB FIQ DCD ADC_IRQHandler ; A/D Converter DCD WDT_IRQHandler ; Watchdog timer DCD BOD_IRQHandler ; Brown Out Detect DCD FMC_IRQHandler ; IP2111 Flash Memory Controller DCD PIOINT3_IRQHandler ; PIO INT3 DC

42、D PIOINT2_IRQHandler ; PIO INT2 DCD PIOINT1_IRQHandler ; PIO INT1 DCD PIOINT0_IRQHandler ; PIO INT0 NVICNVIC介绍介绍 其它中断控制器其它中断控制器 由第三方厂家分别独立设计 不同厂家设计不同 ARM Core 只有IRQ和FIQ两个中断 NVIC ( (嵌套向量中断控制器嵌套向量中断控制器) ) NVIC是Cortex-M0内部集成部分 与CPU紧耦合可提供低中断潜伏 控制系统异常和外设中断 NVIC支持32个向量中断 4个硬件处理的可编程中断优先级 可产生软件中断 中断控制寄存器中断控

43、制寄存器 下面列出下面列出NVIC控制寄存器,具体位含义见控制寄存器,具体位含义见LPC1114 手册手册 ISER, 中断设置允许寄存器 ICER, 中断清除允许寄存器 ISPR, 中断设置判断寄存器 ICPR, 中断清除判断寄存器 IPR0-IPR7, 中断优先级寄存器 外设中断控制寄存器外设中断控制寄存器 除NVIC控制寄存器外,还需要设置外设中断控制器。例如:UART发 送和接收,是否允许中断可以分别设置 中断优先级控制中断优先级控制 IPR0-IPR7 为中断优先级控制寄存器为中断优先级控制寄存器 IPRn为32-bit, 分为4个8-bit区, 每个区控制一个中断的优先级 共有4个

44、优先级, 0-3, 0的优先级最高 每个8-bit的bit7, bit6控制优先级, bit5-0为0 通过在IPRn中写入相应优先级数, 决定优先级 系统异常优先级控制寄存器系统异常优先级控制寄存器 SHPR2, SHPR3为系统异常优先级控制寄存器 可控制的系统异常为SVCall, PendSV, SysTick 系统异常的优先级为0-3 硬件介绍硬件介绍 CMSIS介绍介绍 GPIO接口接口 UART接口接口 中断接口中断接口 系统和外设系统和外设定时器定时器 A/D转换转换 SPI/SSP总线总线 I2C总线总线 系统综合编程系统综合编程 代码保护代码保护 LPC1114 LPC111

45、4 开发开发 LPC1114 LPC1114 定时器介绍定时器介绍 SysTick 系统定时器系统定时器 Cortex-M0 Core 内部包含的24-bit定时器 可以产生中断, 中断号15 非常便于RTOS 为不同型号Cortex-M0芯片带来一致性 2个个16-bit外设计数器外设计数器/定时器定时器 16-bit计数/定时器和16-bit可编程预分频器 1个16-bit捕获通道 4个16-bit匹配寄存器 可用于PWM输出 可产生中断 2个个32-bit外设计数器外设计数器/定时器定时器 32-bit计数/定时器和32-bit可编程预分频器 1个32-bit捕获通道 4个32-bit匹

46、配寄存器 可用于PWM输出 可产生中断 SysTick SysTick 寄存器寄存器 下面列出下面列出SysTick控制寄存器,具体位含义见控制寄存器,具体位含义见 LPC1114手册手册 SYST_CSR, 控制和状态寄存器 SYST_RVR, 重装载值寄存器 SYST_CVR, 当前值寄存器 SYST_CVLIB, 校准值寄存器 PRI_15, 中断优先级寄存器, 请参见中断部分 外设定时器结构外设定时器结构 16-bit 16-bit 外设定时器寄存器外设定时器寄存器 下面列出下面列出16-bit 定时器控制寄存器,具体位含义见定时器控制寄存器,具体位含义见LPC1114手册手册. 共共

47、0-1两个两个, 用用n 表示表示 TMR16BnIR, 中断寄存器 TMR16BnTCR, 定时器控制寄存器 TMR16BnTC, 定时器计数器 TMR16BnPR, 预分频寄存器 TMR16BnPC, 预分频计数器 TMR16BnMCR, 匹配控制寄存器 TMR16BnMR0-3, 匹配寄存器0-3 TMR16BnCCR, 捕获控制寄存器 TMR16BnCR0, 捕获寄存器0 TMR16BnEMR, 外部匹配寄存器 TMR16BnCTCR, 计数器控制寄存器 TMR16BnPWMC, PWM控制寄存器 32-bit 32-bit 外设定时器寄存器外设定时器寄存器 下面列出下面列出32-bi

48、t 定时器控制寄存器,具体位含义见定时器控制寄存器,具体位含义见LPC1114手册手册. 共共0-1两个两个, 用用n 表示表示 TMR32BnIR, 中断寄存器 TMR32BnTCR, 定时器控制寄存器 TMR32BnTC, 定时器计数器 TMR32BnPR, 预分频寄存器 TMR32BnPC, 预分频计数器 TMR32BnMCR, 匹配控制寄存器 TMR32BnMR0-3, 匹配寄存器0-3 TMR32BnCCR, 捕获控制寄存器 TMR32BnCR0, 捕获寄存器0 TMR32BnEMR, 外部匹配寄存器 TMR32BnCTCR, 计数器控制寄存器 TMR32BnPWMC, PWM控制寄

49、存器 硬件介绍硬件介绍 CMSIS介绍介绍 GPIO接口接口 UART接口接口 中断接口中断接口 系统和外设定时器系统和外设定时器 A/D转换转换 SPI/SSP总线总线 I2C总线总线 系统综合编程系统综合编程 代码保护代码保护 LPC1114 LPC1114 开发开发 A/D A/D 转换概念转换概念 AD转换是将模拟信号转换为数字信号,被广泛应用于控制领域转换是将模拟信号转换为数字信号,被广泛应用于控制领域 常见常见A/D转换器分类:转换器分类: 积分型 积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频 率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简 单电路就能

50、获得高分辨率,但缺点是由于转换精度依赖于积分时 间,因此转换速率极低。初期的单片AD转换器大多采用积分型, 现在逐次比较型已逐步成为主流。 逐次比较型 逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成, 从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出 进行比较,经n次比较而输出数字值。其电路规模属于中等。其 优点是速度较高、功耗低,在低分辩率(12位)时价格很高。 并行比较型/串并行比较型 并行比较型AD采用多个比较器,仅作一次比较而实行转换,又 称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比 较器,因此电路规模也极大,价格也高,只适用于视频AD转换

51、 器等速度特别高的领域。 A/D A/D 转换器的主要技术指标转换器的主要技术指标 分辩率分辩率(Resolution) 指数字量变化一个最小量时模拟信号的变化量 转换速率转换速率(Conversion Rate) 是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。 积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒 级属中速AD,全并行/串并行型AD可达到纳秒级。 量化误差量化误差(Quantizing Error) 由于AD的有限分辩率而引起的误差 偏移误差偏移误差(Offset Error) 输入信号为零时输出信号不为零的值 满刻度误差满刻度误差(Full Scale E

52、rror) 满度输出时对应的输入信号与理想输入信号值之差。 线性度线性度(Linearity) 实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。 LPC1114 ADCLPC1114 ADC 精度 10-bit 转化时间 2.44us 低功耗 测量范围 0 3.6V (不超 过VDD) 8通道 LPC1114 ADCLPC1114 ADC寄存器寄存器 下面列出下面列出LPC1114 ADC寄存器,具体位含义见寄存器,具体位含义见 LPC1114手册手册 AD0CR, A/D控制寄存器 AD0GDR, A/D全局数据寄存器 AD0INTEN, A/D中断允许寄存器 AD0DR0-7

53、, A/D通道0-7数据寄存器 AD0STAT, A/D状态寄存器 硬件介绍硬件介绍 CMSIS介绍介绍 GPIO接口接口 UART接口接口 中断接口中断接口 系统和外设定时器系统和外设定时器 A/D转换转换 SPI/SSP总线总线 I2C总线总线 系统综合编程系统综合编程 代码保护代码保护 LPC1114 LPC1114 开发开发 LPC1114 SPI/SSP LPC1114 SPI/SSP 控制器特性控制器特性 LPC1114有2个SPI/SSP接口,可以实现串行数据的传输。每个SPI/SSP 接口各有2个移位寄存器分别负责接收和发送数据。在传送数据期间, 发送数据和接收数据是同步进行的

54、,传送的频率可由相应的控制寄存 器设定。如果只想发送数据,则接收数据为哑元。如果只想接收数据, 则需发送哑元“0 xff”。SPI接口共有4个引脚信号:串行时钟 SCK(SPICLK0,1)、主入从出MISO(SPICLK0,1)和主出从入 MOSI(SPIMOSI0,1)数据线、低电平有效引脚/SS(nSSO,1)。 兼容 Motorola SPI, 4-wire TI SSI, 和 National Semiconductor Microwire buses 支持主和从操作 发送和接收都有8个帧 FIFOs 每帧可以 4-bit 到 16-bit SPI SPI 总线介绍总线介绍 SPI

55、(Serial Peripheral interface) 就是串行外围设备接口, 是一种高速的、全双工、同步的通信总线,并且在芯片的 管脚上只占用四根线,节约了芯片的管脚,同时为PCB 的 布局上节省空间,提供方便。 该接口一般使用4 条线:串行时钟线(SCK)、主机输入/ 从机输出数据线MISO、主机输出/从机输入数据线MOSI 和 低电平有效的从机选择线SS(有的SPI 接口芯片带有中断信 号线INT 或INT、有的SPI 接口芯片没有主机输出/从机输入 数据线MOSI)。 SPI 的工作模式有两种:主模式和从模式,无论那种模式, 都支持3Mbit/s的速率 SPISPI总线时序总线时序

56、 典型接线典型接线 LPC1114 SPI/SSPLPC1114 SPI/SSP寄存器寄存器 下面列出下面列出LPC1114 SPI/SSP寄存器,具体位含义见寄存器,具体位含义见 LPC1114手册手册, 寄存器分为寄存器分为0和和1两组两组 SSPnCR0-1, 控制寄存器0-1 SSPnDR, 数据寄存器 SSPnSR, 状态寄存器 SSPnCPSR, 时钟分频寄存器 SSPnIMSC, 中断屏蔽设置和清除寄存器 SSPnRIS, 原始中断状态寄存器 SSPnMIS, 屏蔽中断状态寄存器 SSPnICR, 中断清除寄存器 硬件介绍硬件介绍 CMSIS介绍介绍 GPIO接口接口 UART接

57、口接口 中断接口中断接口 系统和外设系统和外设定时器定时器 A/D转换转换 SPI/SSP总线总线 I2C总线总线 系统综合编程系统综合编程 代码保护代码保护 LPC1114 LPC1114 开发开发 I2C I2C 概述概述 I2C使用两根双向信号线来传递数据使用两根双向信号线来传递数据 Serial Clock Line (SCL) Serial Data Address (SDA) 总线速度分为标准速度总线速度分为标准速度100kbps,快速模式,快速模式 400kbps,高速模式,高速模式1Mbps 特点是:半双工,仅需要两根线(所以又被称为特点是:半双工,仅需要两根线(所以又被称为

58、2-wire总线)总线) I2C I2C 总线硬件协议介绍总线硬件协议介绍 SDA下降沿跟随一个SCL下降沿表 示传输开始 SCL上升沿跟随一个SDA上升沿表 示传输结束 主设备传送一个字节到从设备 I2CI2C总线的限制总线的限制 I2C总线设备都是OC/OD输出,所以高电平靠上拉 电阻产生 由于驱动能力和静态功耗限制,上拉电阻不能取 太小值,导致电压上升率dV/dt受限 I2C总线上总负载电容越小越有利于驱动 I2C高速规范要求负载电容小于400pF I2C I2C 总线结构框图总线结构框图 LPC1114 I2C LPC1114 I2C 总线控制器读写总线控制器读写 7bit地址的写模式

59、 7bit地址的读模式 LPC1114 I2C LPC1114 I2C 总线控制器数据传输总线控制器数据传输 数据传输,支持中断方式 LPC1114 I2C LPC1114 I2C 寄存器寄存器 LPC1114 I2C 寄存器数量多寄存器数量多, 这里只介绍分类这里只介绍分类, 具具 体寄存器参见体寄存器参见LPC1114手册手册 控制寄存器 状态寄存器 数据寄存器 地址寄存器 时钟周期寄存器 硬件介绍硬件介绍 CMSIS介绍介绍 GPIO接口接口 UART接口接口 中断接口中断接口 系统和外设系统和外设定时器定时器 A/D转换转换 SPI/SSP总线总线 I2C总线总线 系统综合编程系统综合

60、编程 代码保护代码保护 LPC1114 LPC1114 开发开发 LPC1114 LPC1114 系统综合编程系统综合编程 下面列出下面列出LPC1114 系统综合编程的注意事项系统综合编程的注意事项 系统时钟的设置 选择适当的时钟源 外设时钟的配置 配置适合的分频 外设电源的开启 电源开启由时钟Enable控制 复用管脚的设置 大部分管脚有多个复用功能, 需要根据实际使用进行设置 外设驱动文件管理 每一外设驱动程序分别有单独的源代码和头文件 中断配置 中断优先级设置(NVIC), 中断允许和中断禁止等 外设关联 各外设的互相配合和影响 硬件介绍硬件介绍 CMSIS介绍介绍 GPIO接口接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论