出版时间:2013-3 出版社:张永辉 电子工业出版社 (2013-03出版) 作者:张永辉
内容概要
本书从基础的理论知识到实际的应用开发,详细地介绍了ARM Cortex-M3处理器的内核体系结构,包括其内核组件、总线结构、流水线、指令集、编程模型、存储器系统、电源管理、系统时钟和复位、异常模型以及调试系统等。本书选取恩智浦半导体(NXP)公司的ARM Cortex-M3系列芯片LPC176x处理器为例,详细介绍了LPC1700系列处理器的内核结构与高级外设的工作原理与应用开发方法,以及基于CMSIS接口标准软件设计方法。本书的例程已在LPCXpresso开发平台上调试通过,该平台可与本书配合使用。
书籍目录
第1章ARMCortex—M3微处理器1 1.1ARMCORTEX系列微处理器简介1 1.1.1Cortex—A系列2 1.1.2Cortex—R系列2 1.1.3Cortex—M系列2 1.1.4经典ARM处理器的Cortex替代方案3 1.2ARMCORTEX—M3微处理器4 1.2.1Cortex—M3的版本5 1.2.2Cortex—M3处理器应用领域8 1.2.3Cortex—M3处理器的实现8 1.3从ARM7升级到ARMCORTEX—M39 1.4NXP公司CORTEX—M3系列微处理器10 1.4.1LPC1300系列11 1.4.2LPC1700系列11 1.4.3LPC1800系列13 1.5ARMCORTEX—M3微处理器开发工具14 1.5.1Cortex—M3开发套件15 1.5.2嵌入式操作系统支持20 习题121 第2章ARMCortex—M3内核体系结构22 2.1CORTEX—M3处理器组件22 2.1.1处理器内核23 2.1.2嵌套向量中断控制器NVIC23 2.1.3总线矩阵24 2.1.4存储器保护单元MPU24 2.1.5系统调试组件24 2.1.6调试端口SW/SWJ—DP26 2.1.7AHB访问端口AHB—AP27 2.1.8唤醒中断控制器WIC27 2.1.9ROM表27 2.2总线结构28 2.3流水线29 2.4指令集29 2.5编程模型30 2.5.1工作模式30 2.5.2工作状态30 2.5.3特权访问和用户访问30 2.5.4主堆栈和进程堆栈32 2.5.5寄存器组33 2.5.6数据类型38 2.6存储器系统38 2.6.1存储器映射38 2.6.2位带操作40 2.6.3存储器格式41 2.7系统时钟和复位43 2.7.1时钟43 2.7.2复位43 2.7.3复位序列45 2.8电源管理46 2.9异常47 2.9.1异常模型47 2.9.2异常类型48 2.9.3异常优先级49 2.9.4异常处理50 2.10调试系统52 习题253 第3章LPC1700系列微处理器基础54 3.1LPC1700微处理器结构54 3.2存储器系统55 3.2.1存储器映射55 3.2.2APB外设地址56 3.2.3存储器重映射57 3.2.4片上Flash存储器系统57 3.2.5片上静态RAM57 3.2.6Flash存储器加速器57 3.2.7Flash存储器接口和编程59 3.3系统控制单元60 3.3.1复位电路60 3.3.2掉电检测62 3.3.3外部中断输入62 3.3.4系统控制和状态寄存器64 3.4系统时钟65 3.4.1振荡器66 3.4.2时钟源选择多路复用68 3.4.3锁相环PLL068 3.4.4锁相环PLL176 3.4.5时钟分频器80 3.4.6外部时钟输出引脚82 3.5实时时钟RTC83 3.5.1RTC引脚描述和配置83 3.5.2寄存器描述84 3.5.3RTC中断89 3.5.4校准过程89 3.5.5RTC基本操作90 3.5.6RTC使用注意事项92 3.6电源管理92 3.6.1功率模式控制寄存器92 3.6.2外设功率控制寄存器93 3.6.3睡眠模式95 3.6.4深度睡眠模式95 3.6.5掉电模式95 3.6.6深度掉电模式96 3.6.7唤醒定时器96 3.7引脚及I/O功能配置96 3.7.1引脚布局96 3.7.2引脚连接模块99 3.8通用输入/输出GPIO108 3.8.1GPIO引脚描述108 3.8.2GPIO寄存器描述114 3.8.3GPIO使用示例123 3.9嵌套向量中断控制器NVIC123 3.9.1中断源124 3.9.2向量表的重新映射125 3.9.3寄存器描述126 3.10定时器134 3.10.1通用定时器0/1/2/3135 3.10.2重复中断定时器RIT142 3.10.3看门狗定时器WDT145 3.10.4系统节拍定时器149 3.11调试接口153 3.11.1概述153 3.11.2调试端口引脚153 3.11.3调试接口电路154 3.11.4调试注意事项155 习题3155 第4章LPC1700系列微处理器 高级接口156 4.1通用异步收发器UART156 4.1.1概述156 4.1.2UART接口引脚与配置156 4.1.3UART接口电路设计157 4.1.4寄存器功能描述159 4.1.5UART基本操作168 4.1.6UART程序示例171 4.2串行总线接口SPI和I2C175 4.2.1SPI接口175 4.2.2I2C接口179 4.3脉宽调制器PWM193 4.3.1概述193 4.3.2引脚描述和配置194 4.3.3寄存器描述195 4.3.4PWM波形举例200 4.3.5PWM程序示例202 4.4正交编码接口QEI203 4.4.1QEI简介203 4.4.2功能概述203 4.4.3引脚描述和配置206 4.4.4寄存器描述207 4.4.5QEI基本操作213 4.5模数转换器和数模转换器214 4.5.1模数转换器214 4.5.2数模转换器218 4.6USB总线接口219 4.6.1USB设备控制器220 4.6.2USB主机控制器263 4.6.3USBOTG控制器265 4.6.4USB固件库282 习题4289 第5章基于CMSIS接口标准 软件设计290 5.1CMSIS标准简介290 5.2CMSIS代码规范292 5.3CMSIS文件结构293 5.4CMSIS例子程序298 习题5300 附录ACortex—M3指令集301 A.1指令集汇总301 A.2内在函数303 附录B缩写305 附录C术语表307 参考文献310
章节摘录
版权页: 插图: 3.6.6深度掉电模式 在深度掉电模式中,需关断整个芯片的电源(实时时钟、RESET引脚、WIC和RTC备用寄存器除外)。进入深度掉电模式使PCON中的DPDFLAG位置位。为了优化功耗,用户有其他的选择,可关断或保留32kHz振荡器的电源。 当使用外部复位信号或使能RTC中断且产生RTC中断时,可将器件从深度掉电模式中唤醒。 3.6.7唤醒定时器 在上电或使用4MHz内部IRC振荡器作为时钟源将LPCI700系列Cortex—M3从掉电模式中唤醒时,处理器开始运行。如果应用需要主振荡器或PLL,那么软件将需要使能这些特性并在主振荡器用作时钟源之前等待其变为稳定。 当主振荡器开始激活时,唤醒定时器允许软件确认主振荡器完全工作,然后处理器将其用作时钟源并开始执行指令。这在上电、所有类型的复位以及任何原因所导致主振荡器功能关闭时非常重要。由于振荡器和其他功能在掉电模式下关闭,因此使处理器从掉电模式中唤醒要使用唤醒定时器。 唤醒定时器通过检测晶振是否可靠以让代码安全执行。当给芯片加电或某个事件使芯片退出掉电模式时,振荡器需要一段时间来产生足够振幅的信号以驱动时钟逻辑。时间的长度取决于许多因素,包括VDD(3V3)的上升速率(上电时)、晶振的类型及其电气特性(是否使用石英晶振)、其他任何外部电路(例如电容)和振荡器在现有环境下自身的特性等。 一旦检测到一个时钟,唤醒定时器就对固定的时钟数(4096个时钟)进行计数,然后设置标志(SCS寄存器中的OSCSTAT位)表示主振荡器已准备使用,接着软件可切换为主振荡器并且启动所需的PLL。 3.7 引脚及I/O功能配置 3.7.1 引脚布局 LPCI76x系列处理器共有100个引脚,提供LQFPl00封装形式的IC,其引脚分布和封装LQFPl00如图3—15所示。从功能上将,LPCI700的100引脚分为P0/P1/P2/P3/P4接口引脚,以及电源、复位、晶振、仿真接口和其他引脚部分,P0/P1/P2/P3/P4为GP10接口,具有复用功能,通过引脚连接模块进行设置。 P0/P1/P2/P3/P4接口部分引脚、JTAG/SW仿真调试接口引脚是5V容差引脚,可提供带滞后TTL电平的数字I/O功能,晶振引脚、电源引脚和参考电压引脚不是5V容差引脚,另外当引脚选择为A/D转换输入时就不再是5V容差引脚,而且必须被限制到ADC正参考电平(VREF+),使用时要注意接口电平标准。
编辑推荐
《普通高等教育"十二五"规划教材•电子信息科学与工程类专业规划教材:ARM Cortex-M3微控制器原理与应用》内容丰富实用、层次清晰、叙述详尽,方便教学与自学,可作为高等院校电子信息类专业本科生及研究生“嵌入式系统”课程的入门教程,也可供从事嵌入式系统设计的研发人员参考。
图书封面
评论、评分、阅读与下载
ARM Cortex-M3微控制器原理与应用 PDF格式下载