(推广)Cortex-M0内核与应用方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

走近Cortex-M0——市场定价最低的32位MCU目录Cortex-M0内核简介12LPC1100系列MCU简介3LPC1100系列MCU性能分析4LPC1100系列MCU开发工具5LPC1100系列MCU应用案例NXP微处理器回顾80C51LPC900/LPC7008位单片机高达18MHz重点应用工业消费多媒体自动化NXP微控制器CortexCortex-M0ARM7ARM9Cortex-M3Cortex-M4ARM7DMI-SARM720(LH7)ARM926EJ-SARM922T(LH7A)ARM968(LPC2900)LPC1000LPC2000LPC3000低功耗/混合信号中档应用处理器高达100MHz高达84MHz高达270MHz传感器电子计量16位应用电池应用网络互联工业智能控制白色家电网络互联工业消费多媒体凭借其出色的数据处理能力、多样化的节能模式及业界领先的超低功耗,为追求ARM架构的8/16位MCU用户提供一种全新的32位处理器解决方案。目前是市场上定价最低的32位MCU,其价值和易用性远远超过市场上的8/16位MCU。LPC1100LPC1100LPC1100Cortex-M0TM系列处理器的市场定位Cortex-M0内核简介Cortex-M0处理器32位ARMRISC处理器16位Thumb指令集功耗与面积高度优化设计专用于低成本、低功耗场合中断现场自动保存减少进入与退出中断的软件开销确定的指令执行时间同一类指令的执行时间总是确定的Thumb指令集32位的操作码16位的指令系统应用于ARM7TDMI(‘T’代表Thumb)自ARM处理器问世以来都支持Thumb指令集更小的代码量超集:Thumb-2指令集处理器所有的操作都能在Thumb状态下完成16位指令与32位指令并存Cortex系列处理器都能支持ARM7ARM9Cortex-M3Cortex-M0Cortex-R4Cortex-A9ThumbⓇ向上兼容Cortex-M0指令集架构基于16位的ThumbISA指令集Dhrystone测试-0.9DMIPS/MHzISA:ARM7TDMI的小型指令集架构完成8、16或32位的数据传输只需一条指令Dhrystone:整形运算性能测试ThumbThumb-2仅56条指令,且指令执行时间都是确定的Cortex-M0/M3指令集比较内部寄存器(17个)所有的寄存器都是32位存在可以处理8/16/32位数据的指令内部寄存器(17个)堆栈指针R13(SP)连接寄存器R14(LR)程序计数器R15(PC)程序状态寄存器组(xPSR)R0–R7(低区寄存器)13个通用寄存器(R0~R12)R8–R12(高区寄存器)3个特殊功能寄存器(R13~R15)指令执行绝大多数指令占用2字节的存储空间指令执行占用确定的时间―数据处理指令(例如加、移位、逻辑或)1个时钟周期内完成―数据传输(例如加载,存储)需2个时钟周期―分支转移指令需要3个时钟周期指令操作码都是32位―处理器的寄存器和算术逻辑单元(ALU)都是32位示例:16位乘法以一个具有10位模数转换器(ADC)的处理器乘法操作为例:8位操作16位操作32位操作时间:48个时钟周期代码量:48个字节时间:8个时钟周期代码量:8个字节时间:1个时钟周期代码量:2个字节嵌套向量中断控制器(NVIC)更有效地处理异常中断―集成于处理器内部,靠近内核―高效处理系统异常(Exceptions)和中断(Interrupts)特性―异常优先级设置―“咬尾中断”机制和“晚到异常”处理完全确定的异常处理时间―异常处理所花销的时钟周期数一样―16个时钟周期的固定开销―特定寄存器用来权衡延时和预防抖动只要会C就能编写程序中断处理当中断发生时,硬件自动将相关寄存器的值压入堆栈Push中断处理程序可完全用C语言编写―堆栈内容支持ARM架构的C/C++函数调用标准复位后初始堆栈指针SP指向0x00处中断处理函数的对比软件控制睡眠模式Sleep(睡眠)Deepsleep(深度睡眠)WIC唤醒信号传递给PMUCortex-M0NVIC电源管理单元(PMU)WIC唤醒外部中断唤醒深度睡眠Cortex-M系列具很好的睡眠模式控制―极低的待机功耗(Cortex-M0内核功耗不到40μA/MHz)―非常适用于电池便携设备―一个低门数中断唤醒控制器(WIC)―内核时钟停止―NVIC继续对中断有效―WIC对选择指定中断有效―Cortex-M0可进入保持状态―内核立即被唤醒―立即响应关键事件LPC1100系列产品介绍LPC1100系列芯片选型型号FlashSRAMUARTRS-485I2C/Fast+SSPADC封装LPC1111LPC1111FHN33/1018kB2kB1118HVQFN33LPC1111FHN33/2018KB4kB1118HVQFN33LPC1112LPC1112FHN33/10116kB2kB1118HVQFN33LPC1112FHN33/20116kB4kB1118HVQFN33LPC1113LPC1113FHN33/20124kB4kB1118HVQFN33LPC1113FHN33/30124kB8kB1118HVQFN33LPC1113FBD48/30124kB8kB1128LQFP48LPC1114LPC1114FHN33/20132kB4kB1118HVQFN33LPC1114FHN33/30132kB8kB1118HVQFN33LPC1114FBD48/30132kB8kB1128LQFP48LPC1114FA44/30132kB8kB1128PLCC44LPC1100的优点ARMⓇARMCoreBusMatrixNVICWICDebugDebuggerInterfaceAHB-LiteInterfaceCortexTM-M0超低功耗性能优越应用简单片内外设丰富功耗分析RAM占25%左右外设占10%左右模拟部分占5%左右内核占20%左右Flash占40%左右功耗分析143205612162024283236频率(MHz)电流(mA)LPC1100电流与频率While(1);循环150µA/MHz1.8mA12MHz单周期乘法器LPC1100单周期内实现对两个32位字进行乘法运算存储方式小端模式操作系统扩展24位系统节拍定时器进程堆栈指针寄存器高级访问指令调试支持串行调试(SWD)支持4个断点,2个观察点不支持串行线跟踪输出(SWO)LPC1100系列芯片的配置LPC1100的系统框图AHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKAHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100简单的AHB-lite接口内核零等待进入AHB无缓冲无突发交换无组合访问和重定义顺序访问AHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100存储系统Cortex-M0交叉存取指令和数据—与独立的指令和数据总线存取方式相比,这种方式不会产生明显的性能下降,性能变化小于5%零延尺32位总线接口所有的IAP和ISP代码都装在ROM—用来编程Flash和驱动代码AHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100存储系统Thumb指令集(16位)Flash总线宽度和系统总线宽度匹配,均为32位宽—使用自定义时间的读时序—相比两次16位读取操作,一次32位读取消耗的电流更强增强处理器性能AHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100时钟产生带分频器的时钟产生单元,可用于—主振荡器时钟—IRC时钟—CPU时钟—看门狗时钟12MHz内部RC振荡器,1%精度,可选择作为系统时钟PLL允许CPU以最大速率运行而无需高频晶体。支持从主振荡器、IRC、看门狗振荡器启动外部晶体振荡器范围:1MHz~25MHzAHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100时钟输出时钟输出可以输出任何一种频率的时钟而不受CPU时钟的影响集成时钟分频器CclkOsc_clkIRC_oscWD_oscCLKOUTSEL时钟输出选择时钟输出分频器CLKOUTAHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100电源控制集成PMU(电源管理单元),降低三种节能模式的功耗:—睡眠模式—深度睡眠模—深度掉电模式3.3V单电源供电(1.8V至3.6V)AHB-Lite总线32位Flash8/16/24/32kBSRAM2/4/8kBROM高速GPIO时钟产生电源控制IRCPORAHB转APB总线桥UART32位Counter/Timer0/116位Counter/Timer0/110位ADCSPI0/1I2CWDTIO配置系统控制电源管理LPC1111/12/13/14系统总线调试接口Cortex-M0NVICSYSTICKLPC1100外设——UART接口用于控制波特率的小数分频器实现软件或硬件流控制的自动波特率的检测能力16字节的接收和发送FIFO并可配置触发深度—1,4,8,14字节触发深度完全支持Modem控制支持EIA-485/RS-485的9位模式—支持9位模式的

1 / 77
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功