PAGE1
PAGE1
硬件架构详解
1.引言
在单片机开发中,了解硬件架构是至关重要的一步。硬件架构决定了单片机的基本性能、功能和应用范围。本节将详细介绍LPC1700系列单片机的硬件架构,包括其核心处理器、内存系统、外设接口和电源管理等关键部分。通过深入理解这些硬件组件,开发者可以更好地优化代码,提高系统的性能和可靠性。
2.核心处理器
2.1ARMCortex-M3核心
LPC1700系列单片机采用ARMCortex-M3核心,这是一种高性能、低功耗的32位RISC处理器。Cortex-M3核心具有以下特点:
高性能:最高主频可达100MHz,提供卓越的计算能力。
低功耗:在性能和功耗之间取得了良好的平衡。
丰富的指令集:支持Thumb-2指令集,兼容16位和32位指令,提高了代码密度和执行效率。
强大的中断处理能力:支持72个中断源,具有可配置的中断优先级和嵌套中断处理机制。
2.1.1核心性能指标
主频:100MHz
工作电压:1.65V至3.6V
功耗:典型运行功耗为1mA/MHz
存储器访问:支持单周期访问Flash和SRAM
2.2存储器系统
LPC1700系列单片机配备了丰富的存储器资源,包括Flash存储器、SRAM和外设存储器。
2.2.1Flash存储器
容量:512KB至1MB
访问速度:在100MHz主频下,支持单周期访问
编程和擦除:支持字节、半字和整字编程,以及页擦除和整片擦除
2.2.2SRAM
容量:32KB至64KB
访问速度:在100MHz主频下,支持单周期访问
用途:用于存储运行时数据和堆栈
2.2.3外设存储器
容量:取决于具体型号
用途:用于存储外设寄存器,控制外设功能
2.3时钟系统
LPC1700系列单片机的时钟系统非常灵活,支持多种时钟源和时钟配置。
2.3.1时钟源
内部RC振荡器:4-24MHz,出厂默认为12MHz
外部晶振:支持4-25MHz
PLL(锁相环):可以将外部晶振频率倍频至100MHz
2.3.2时钟配置
系统时钟:由PLL输出,用于核心处理器和大部分外设
低频时钟:由内部RC振荡器提供,用于RTC(实时时钟)等低功耗应用
外设时钟:可以独立配置,支持不同的外设需求
2.4电源管理
LPC1700系列单片机具有多种电源管理模式,包括正常模式、睡眠模式和深度睡眠模式,以满足不同应用的需求。
2.4.1正常模式
工作电压:1.65V至3.6V
功耗:典型运行功耗为1mA/MHz
2.4.2睡眠模式
工作电压:1.65V至3.6V
功耗:典型功耗为0.7μA
特点:核心处理器停止运行,外设可以继续工作
2.4.3深度睡眠模式
工作电压:1.65V至3.6V
功耗:典型功耗为0.4μA
特点:核心处理器和大部分外设停止运行,仅保留RTC和唤醒中断
2.5外设接口
LPC1700系列单片机提供了丰富的外设接口,包括GPIO、UART、I2C、SPI、CAN、USB、ADC、DAC和PWM等。这些外设接口使得LPC1700在各种应用中具有高度的灵活性和可扩展性。
2.5.1GPIO(通用输入输出)
数量:多达114个GPIO引脚
功能:可以配置为输入、输出、中断和外设功能
配置:通过寄存器配置GPIO的功能和状态
//配置GPIO引脚为输出
voidconfigure_GPIO_output(uint8_tport,uint8_tpin){
LPC_PINCON-PINSEL0=(LPC_PINCON-PINSEL0~(3(pin*2)))|(0(pin*2));//清除引脚功能选择
LPC_GPIO0-FIODIR=(1pin);//设置为输出
}
//设置GPIO引脚状态
voidset_GPIO_output(uint8_tport,uint8_tpin,uint8_tvalue){
if(value){
LPC_GPIO0-FIOSET=(1pin);//设置高电平
}else{
LPC_GPIO0-FIOCLR=(1pin);//设置低电平
}
}
2.5.2UART(通用异步收发传输器)
数量:4个UART接口
波特率:支持多种波特率配置
功能:支持全双工通信,具有硬件流控制和中断功能
//初始化UART0
voidinit_UART0(uint32_tbaud_rate){
LPC_SC-PCLKSEL0=(LPC_SC-PCLKSEL0~(0x36))|