由于有周立公开发板的影响,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兆位/秒)