由于有周立公开发板的影响,LPC系列的开发板在工程师心目中一般是入门的最好型号之一。这次刚好有STM32的竞赛,正好将两者的资源进行比较一下(LPC系列以LPC213X为例)。
LPC213X包括LPC2131、2132、2138等, 是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STM CPU,并带有32kB、64kB和512kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
而STM32则大致分为两类,一种是基本型,一种是增强型。这同51内核的单片机有点类似,51系列的单片机也有普通型和增强型。基本型STM32系列ARM包括STM32F101x6、STM32F101x8、STM32F101xB等,它是32位基于ARM核心的带闪存微型控制器,有六个16位定时器、ADC、7个通信接口;而增强型STM32系列的ARM包括STM32F103x6、STM32F103x8、STM32F103xB等,它是32位基于ARM核心的带闪存的、USB、CAN总线的微控制器,它有七个16位定时器、2个ADC、9个通信接口。
内核方面,LPC213X是ARM7TDMI-S内核,而STM32则是Cortex-M3?CPU
片内存储方面,LPC213X有8/16/32kB的片内静态RAM和32/64/512kB的片内Flash程序存储器。而STM32则有从32K字节至128K字节闪存程序存储器,从6K字节至16K字节SRAM。
LPC有如下特征:
??通过片内boot装载程序实现在系统编程/在应用编程(ISP/IAP)。单扇区或整片擦除时间为400ms。
256字节行编程时间为1ms。
?? EmbeddedICE?RT和嵌入式跟踪接口通过片内RealMonitorTM软件对代码进行实时调试和高速跟
踪。
?? 1个(LPC2131/2132)或2个(LPC2138)8路10位的A/D转换器,共提供16路模拟输入,每
个通道的转换时间低至2.44us。
1个10位的D/A转换器,可产生不同的模拟输出。(仅适用于LPC2132/2138)
2个32位定时器/计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗。
实时时钟具有独立的电源和时钟,可在节电模式中极大地降低功耗。
多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400 kbit/s)、SPITM和具有
缓冲作用和数据长度可变功能的SSP。
向量中断控制器。可配置优先级和向量地址。
小型的LQFP64封装上包含多达47个通用I/O口(可承受5V电压)。
多达9个边沿或电平触发的外部中断管脚。
通过片内PLL(100us的设置时间)可实现最大为60MHz的CPU操作频率。
片内晶振频率范围:1~30 MHz。
低功耗模式:空闲和掉电。
可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。
通过外部中断将处理器从掉电模式中唤醒。
单电源,具有上电复位(POR)和掉电检测(BOD)电路:
CPU操作电压范围:3.0V~3.6 V (3.3 V±10﹪),I/O口可承受5V的电压。
STM32有如下特征:
■能够有单周期乘法和硬件除法
■存储器
从32K字节至128K字节闪存程序存储器
从6K字节至16K字节SRAM
■时钟、复位和供电管理
2.0至3.6伏供电和I/O管脚
上电/断电复位(POR / PDR)、可编程电压监测器(PVD)
内嵌4至16MHz高速晶体振荡器
内嵌经出厂调校的8MHz RC振荡器
内部40kHz的RC振荡器
PLL供应CPU时钟
带校准的32kHz RTC振荡器
■低功耗
睡眠、停机和待机模式
VBAT为RTC和后备寄存器供电
■调试模式
串行线调试(SWD)和JTAG调试接口
■DMA
7通道DMA控制器
支持的外设:定时器、ADC、SPI、I2C和USART
■1个12位模数转换器,1us转换时间(16通道)
■多达80个快速I/O口
26/37/51/80个多功能双向5V兼容的I/O口
所有I/O口可以映像到16个外部中断
■多达6个定时器
多达3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/ PWM或脉冲计数的通道
2个16位看门狗定时器(独立的和窗口型的)
系统时间定时器:24位自减型
■多达7个通信接口
多达2个I2C接口(SMBus/PMBus)
多达3个USART接口,支持ISO7816,LIN,IrDA接口和调制解调控制
多达2个SPI同步串行接口(18兆位/秒)