NXP 系列:LPC810 系列 (低功耗)_(3).硬件架构详解.docxVIP

NXP 系列:LPC810 系列 (低功耗)_(3).硬件架构详解.docx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

硬件架构详解

1.概述

LPC810系列是NXP推出的一款低功耗ARMCortex-M0+单片机。该系列单片机以其高性能、低功耗和丰富的外设资源而著称,广泛应用于各种嵌入式系统和物联网设备中。在这一节中,我们将详细探讨LPC810系列的硬件架构,包括其核心处理器、存储器、时钟系统、电源管理、I/O端口、通信接口等关键部件。

2.核心处理器

LPC810系列单片机基于ARMCortex-M0+核心处理器。Cortex-M0+是ARM公司设计的一款低功耗、高性能的32位RISC处理器,适用于对功耗要求严格的嵌入式应用。

2.1处理器特性

32位RISC架构:Cortex-M0+处理器采用32位RISC架构,具有高效的指令集和低功耗特性。

低功耗:Cortex-M0+的功耗非常低,适用于电池供电的设备。

高性能:尽管功耗低,但Cortex-M0+仍然具有较高的处理性能,能够满足大多数嵌入式应用的需求。

调试支持:支持硬件调试接口,如SWD(SerialWireDebug)和JTAG,方便开发和调试。

2.2处理器寄存器

Cortex-M0+处理器有多个寄存器,用于存储指令、数据和控制信息。主要寄存器包括:

程序状态寄存器(PSR):包括APSR(应用程序状态寄存器)、IPSR(中断程序状态寄存器)和EPSR(执行状态寄存器)。

通用寄存器(r0-r12):用于存储数据和地址。

堆栈指针寄存器(SP):用于管理堆栈。

链接寄存器(LR):用于存储子程序返回地址。

程序计数器(PC):用于存储当前执行指令的地址。

3.存储器

LPC810系列单片机集成了多种类型的存储器,包括闪存(Flash)、静态随机存取存储器(SRAM)和存储器映射I/O。

3.1闪存(Flash)

容量:LPC810系列通常配备8KB或16KB的闪存存储器。

用途:用于存储程序代码和固定数据。

访问速度:闪存的访问速度通常在几纳秒到几十纳秒之间,能够支持快速的代码执行。

3.2SRAM

容量:LPC810系列通常配备1.5KB或2KB的SRAM。

用途:用于存储运行时数据和堆栈。

访问速度:SRAM的访问速度非常快,通常在几个纳秒内。

3.3存储器映射I/O

用途:用于控制外设和寄存器。

地址空间:LPC810的存储器映射I/O位于特定的地址空间内,可以通过读写这些地址来控制外设和寄存器。

4.时钟系统

LPC810系列单片机的时钟系统是其硬件架构的重要组成部分,负责提供系统的时钟频率和时钟源选择。

4.1时钟源

内部RC振荡器:LPC810集成了一个内部RC振荡器,频率通常为1MHz。

外部晶振:可以通过外部晶振提供更精确的时钟源,通常频率为12MHz。

PLL(锁相环):用于提高时钟频率,可以通过PLL将外部晶振的频率提升到30MHz。

4.2时钟配置

时钟配置通常通过特定的寄存器来实现。以下是一个配置外部晶振和PLL的示例代码:

#includeLPC8xx.h

//配置外部晶振和PLL

voidconfigure_clock(void){

//使能外部晶振

LPC_SYSCON-SYSAHBCLKCTRL|=(112);//使能SYSCTL时钟

LPC_SYSCON-EXTOSCCTRL=(116)|(10);//使能外部晶振,频率为12MHz

LPC_SYSCON-SYSOSCCTRL=(10);//使能系统振荡器

//配置PLL

LPC_SYSCON-PDRUNCFG=~(17);//使能PLL

LPC_SYSCON-PLL0CTRL=0x24;//设置PLL乘法因子为30(12MHz*30=30MHz)

LPC_SYSCON-PLL0STAT|=(10);//使能PLL

//选择PLL作为系统时钟源

LPC_SYSCON-SYSCTLCLKSEL=0x07;//选择PLL作为时钟源

LPC_SYSCON-SYSCTLCLKUEN=0;//更新时钟源

LPC_SYSCON-SYSCTLCLKUEN=1;//确认时钟源更新

//设置系统时钟分频

LPC_SYSCON-SYSAHBCLKDIV=1;//AHB时钟不

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档