基本信息
文件名称:NXP 系列:LPC54000 系列 (基于 Cortex-M4)_(11).LPC54000系列系统设计.docx
文件大小:26.53 KB
总页数:34 页
更新时间:2025-06-14
总字数:约1.51万字
文档摘要

PAGE1

PAGE1

LPC54000系列系统设计

1.系统复位和启动

1.1系统复位

系统复位是LPC54000系列单片机启动过程中非常重要的一步。复位过程确保所有内部寄存器和外设处于已知的初始状态,从而为后续的系统初始化和运行提供稳定的环境。LPC54000系列支持多种复位源,包括上电复位(POR)、外部复位引脚复位(nRST)、看门狗复位(WDT)、软件复位等。

1.1.1上电复位(POR)

上电复位(POR)是当单片机上电时自动触发的复位。POR确保所有内部寄存器和外设在上电时都被初始化到已知状态。LPC54000系列的POR电路会监视电源电压,并在电压达到安全工作范围时触发复位。

1.1.2外部复位引脚复位(nRST)

外部复位引脚复位(nRST)是通过一个外部引脚(通常称为复位按钮)来触发复位。当nRST引脚被拉低时,单片机会进入复位状态。nRST引脚通常需要连接一个外部上拉电阻以确保在没有外部复位信号时引脚保持高电平。

1.1.3看门狗复位(WDT)

看门狗复位(WDT)是一种硬件复位机制,用于防止软件在运行过程中出现死锁或异常行为。LPC54000系列的WDT可以在一定时间内没有被软件喂狗时触发复位。WDT的配置和使用通常在系统初始化时完成。

1.1.4软件复位

软件复位是通过软件指令来触发的复位。LPC54000系列提供了多种软件复位方式,包括系统复位、内核复位、外设复位等。软件复位通常用于在运行过程中重新初始化某部分系统或外设。

1.2系统启动

系统启动是指单片机从复位状态进入正常运行状态的过程。LPC54000系列的启动过程包括以下几个步骤:

复位处理:单片机进入复位状态后,系统会执行复位处理程序。

初始化:复位处理程序会调用系统初始化函数,对系统和外设进行配置。

主函数执行:初始化完成后,系统会跳转到主函数(通常为main函数)并开始执行用户程序。

1.2.1复位处理程序

复位处理程序是系统启动的第一个步骤。在LPC54000系列中,复位处理程序通常位于startup_LPC54018.s文件中。以下是一个简单的复位处理程序示例:

;startup_LPC54018.s

AREA|.text|,CODE,READONLY

ENTRY

Reset_Handler:

;初始化堆栈指针

LDRSP,=_stack_end_

;初始化向量表

LDRR0,=__Vectors

LDRR1,=0xE000ED08

STRR0,[R1]

;跳转到C语言初始化函数

BL__main

;无限循环

B.

ALIGN

END

1.2.2系统初始化

系统初始化是复位处理程序之后的第一个步骤。在LPC54000系列中,系统初始化通常在system_LPC54018.c文件中完成。以下是一个简单的系统初始化示例:

//system_LPC54018.c

#includeLPC54018.h

voidSystemInit(void){

//配置系统时钟

SystemCoreClockUpdate();

//配置外部存储器

//配置GPIO

//配置其他外设

}

voidSystemCoreClockUpdate(void){

//更新系统时钟频率

SystemCoreClock=120000000;//假设系统时钟频率为120MHz

}

1.3向量表配置

向量表是单片机中用于存储中断向量和复位向量的表格。LPC54000系列的向量表通常位于startup_LPC54018.s文件中。以下是一个简单的向量表配置示例:

;startup_LPC54018.s

AREA|.text|,CODE,READONLY

ENTRY

__VectorsDCD__initial_sp;初始堆栈指针

DCDReset_Handler;复位处理程序

DCDNMI_Handler;NMI处理程序

DCDHardFault_Handler;硬故障处理程序

DCDMemManage_Handler;内存管理故障处理程序