随着物联网技术的发展,MCU 处理器的能力日益强大,如今的MCU 与微处理器的界线越来越模糊,将会进一步融合成为嵌入式处理器。由于AMetal 已经完全屏蔽了底层的复杂细节,因此开发者仅需了解MCU 的基本功能就可以了。
1.1 LPC824 微控制器
>>> 1.1.1 特性
-
系统:
-ARM Cortex-M0+嵌入式处理器,内置可嵌套中断向量控制器(NVIC),系统节拍定时器,运行时频率高达30 MHz;
-支持串行线调试(SWD)模式与JTAG 边界扫描(BSDL)模式。
最高32kB 片内Flash 和8kB SRAM,带64 字节页面写入和擦除功能。
-
数字外设:
-集成了多达32 个通用I/O 引脚,并具备可配置上拉/下拉电阻、可编程开漏模式、输入反相器和干扰滤波器,GPIO 方向控制支持各个位的独立置位/清零/触发;
-4 个引脚具备20mA 的输出驱动能力,2 个开漏引脚具备20mA 灌入驱动能力;
-GPIO 中断生成能力,8 个GPIO 输入具有布尔模式匹配特性;
-开关矩阵,用于灵活配置每个I/O 引脚功能;
-CRC 引擎,带18 个通道和9 个触发输入的DMA。
-
定时器:
-状态可配置定时器(SCTimer/PWM),输入和输出功能(包括捕获和匹配)用于定时和PWM 应用;
-四通道多速率定时器(MRT),以多达4 种可编程固定速率生成可重复中断;
-自唤醒定时器(WKT),采用IRC、低功耗、低频率内部振荡器作为时钟,或always-on 电源域的外部时钟输入作为时钟;
-窗口看门狗定时器(WWDT)。
-
模拟外设:
-一个12-位ADC,多达12 个输入通道,带有多个内部和外部触发输入,采样速率高达1.2Msamples/s,ADC 支持两个独立的转换顺序;
-比较器,带有4 个输入引脚以及外部或内部基准电压。
-
串行接口:
-3 个USART 接口,引脚功能通过开关矩阵和一个共用小数波特率发生器分配;
-2 个SPI 控制器,引脚功能通过开关矩阵分配;
-4 个I2C总线接口。一个I2C支持高速模式plus,在两个真开漏引脚和监听模式上数据率为1Mbit/s,三个I2C支持标准数字引脚的数据率高达400kbit/s。
-
时钟生成:
-调整到1.5%精度的12MHz 内部RC 振荡器,可选择性地用作系统时钟;
-晶体振荡器,工作频率范围为1MHz 至25MHz;
-可编程看门狗振荡器,频率范围为9.4kHz 至2.3MHz;
-用于WKT 的10 kHz 低功耗振荡器;
-PLL 使CPU 无需使用高频晶体即可生成最高CPU 主频,可从系统振荡器、外部时钟输入或内部RC 振荡器运行;
-带分频器的时钟输出功能,可反映所有内部时钟源。
-
功率控制:
-可最大程度降低功耗的集成式PMU(电源管理单元);
-节能模式:睡眠模式、深度睡眠模式、掉电模式和深度掉电模式;
-深度睡眠模式和掉电模式可由USART 、SPI 和I2C外设唤醒;
-深度掉电模式可由定时器控制进行自唤醒;
-上电复位(POR),掉电检测(BOD)。
单电源(1.8V~3.6V),工作温度范围-40℃~+105℃。
>>> 1.1.2 概述
如图1.1 所示的LPC824 系列微控制器(MCU)具有丰富的片上外设,除GPIO 外,还支持开关矩阵、状态可配置定时器、多速率定时器、窗口看门狗定时器和DMA 控制器等。模拟外设包括12 位高速ADC 和模拟比较器,支持3 路UART、2 路SPI 和4 路I2C。此外芯片内部还集成了12MHz 的RC 振荡器,可以作为系统的时钟源。
图1.1 LPC824 功能框图
LPC824 系列MCU 具有得天独厚的低功耗优势,拥有业界领先的超低功耗(90uA/MHz)。此外还支持4种低功耗模式,用户可以根据应用需求,灵活地选择合适的功耗模式,最低功耗模式下功耗不到1uA。
虽然这些概念对于初学者来说可能会感到非常陌生,但也不要害怕,如同你使用的计算机一样,尽管也很复杂,但毫不影响你使用计算机编程和上网。
LPC812/824 同属于LPC800 系列MCU,LPC824 是LPC812 系列的增强版本,外设资源更加丰富,可以更好地满足不同场合的应用需求。因为两者相同外设的寄存器保持一致,在软件设计上可以做到完全兼容,大大降低了平台建设的难度,可以根据不同需求进行合理选择,详见表1.1。
表1.1 LPC800 系列MCU 选型表
LPC824 系列MCU 有两种封装,分别为TSSOP20 和HVQFN33,其引脚分布详见图1.2。
图1.2 封装示意图
LPC824 系列MCU 的引脚描述及主要功能详见表1.2。
表1.2 LPC824 系列的引脚描述
1.2 LPC84x 微控制器
>>> 1.2.1 特性
-
系统:
-ARM Cortex-M0+处理器,运行时频率高达30 MHz,支持单周期乘法和快速的单周期I/O 口;
-内置可嵌套中断向量控制器(NVIC);
-系统节拍定时器;
AHB 总线矩阵:
-支持串行线调试(SWD)模式与JTAG 边界扫描(BSDL)模式;
-微跟踪缓冲(MTB)。
-
存储
-最高64kB 片内Flash,支持 64 字节页面写入和擦除功能;
-FAIM 内存允许用户配置芯片上电时的行为;
-代码读保护(CRP)
-最高可到16 KB 的SRAM,包括2 块8 KB 连续的SRAM,其中一块8 KB 的SRAM 可被MTB 使用;
-支持位带操作,用于支持单个位的原子操作。
-
ROM API 支持
-Bootloader;
-支持应用程序Flash 编程(IAP);
-支持片上系统编程(ISP),通信接口可以是USART、SPI 和I2C;
-整数除法API 接口。
-
数字外设:
-集成了多达32 个通用I/O 引脚,并具备可配置上拉/下拉电阻、可编程开漏模式、输入反相器和干扰滤波器,GPIO 方向控制支持各个位的独立置位/清零/翻转;
-4 个引脚具备20mA 的输出驱动能力;
-2 个开漏引脚具备20mA 灌入驱动能力;
-GPIO 中断生成能力,8 个GPIO 输入具有布尔模式匹配特性;
-开关矩阵,用于灵活配置每个I/O 引脚功能;
-CRC 引擎;
-带25 个通道和13 个触发输入的DMA;
-电容触摸屏接口。
-
定时器:
-状态可配置定时器(SCTimer/PWM),输入和输出功能(包括捕获和匹配)用于定时和PWM 应用,支持8 个匹配/捕获、8 个事件、8 个状态;
-1 个通用定时器,带有4 个匹配输出、3 个输入捕获,支持PWM 模式,外部计数和DMA;
-四通道多速率定时器(MRT),以多达4 种可编程固定速率生成可重复中断;
-自唤醒定时器(WKT),采用IRC、低功耗、低频率内部振荡器作为时钟,或always-on 电源域的外部时钟输入作为时钟;
-窗口看门狗定时器(WWDT)。
-
模拟外设:
-一个12-位ADC,多达12 个输入通道,带有多个内部和外部触发输入,采样速率高达1.2Msamples/s,ADC 支持两个独立的转换序列;
-比较器,带有4 个输入引脚以及外部或内部基准电压;
-2 个10 位DAC。
-
串行接口:
-5 个USART 接口,引脚功能通过开关矩阵和一个共用小数波特率发生器分配;
-2 个SPI 控制器,引脚功能通过开关矩阵分配;
-4 个I2C总线接口。一个I2C支持高速模式plus,在两个真开漏引脚和监听模式上数据率为1Mbit/s,三个I2C支持标准数字引脚的数据率高达400kbit/s。
-
时钟生成:
-自由运行的振荡器(FRO),精度位±1%,可以提供18MHz、24MHz 或者30MHz 的时钟,也可以分频到9MHz、12MHz 或者15MHz 作为系统时钟;
-使用FAIM 内存完成低功耗启动,运行频率3MHz;
-晶体振荡器,工作频率范围为1MHz 至25MHz;
-低功耗振荡器可做看门狗时钟;
-可编程看门狗振荡器,频率范围为9.4kHz 至2.3MHz;
-PLL 使CPU 无需使用高频晶体即可生成最高CPU 主频,可从系统振荡器、外部时钟输入或内部RC 振荡器运行;
-带分频器的时钟输出功能,可反映所有内部时钟源。
-
功率控制:
-运行模式下功耗最低可至90uA/MHz;
-内部集成可最大程度降低功耗的PMU(电源管理单元);
-节能模式:睡眠模式、深度睡眠模式、掉电模式和深度掉电模式;
-深度睡眠模式和掉电模式可由USART 、SPI 和I2C外设唤醒;
-深度掉电模式可由定时器控制进行自唤醒;
-上电复位(POR),掉电检测(BOD)。
单电源(1.8V~3.6V),工作温度范围-40℃~+105℃;
可选封装有 LQFP64、LQFP48、HVQFN48、HVQFN33。
>>> 1.2.2 概述
如图1.3 所示的LPC84x 系列微控制器(MCU)具有丰富的片上外设,除GPIO外,还支持开关矩阵、状态可配置定时器、多速率定时器、窗口看门狗定时器和DMA控制器等。模拟外设包括12 位高速ADC和2 个10 位DAC,支持5 路UART、2 路SPI 和4 路I2C。此外芯片内部还集成了自由运行振荡器,可以作为系统的时钟源。
图1.3 LPC84x 功能框图
LPC84x 系列MCU 具有得天独厚的低功耗优势, 拥有业界领先的超低功耗(90uA/MHz)。此外还支持4 种低功耗模式,用户可以根据应用需求,灵活地选择合适的功耗模式,最低功耗模式下功耗不到1uA。虽然这些概念对于初学者来说可能会感到非常陌生,但也不要害怕,如同你使用的计算机一样,尽管也很复杂,但毫不影响你使用计算机编程和上网。
LPC84x 系列MCU 提供4 中不同的封装,可以根据不同需求进行合理选择,详见表1.3。
表1.3 LPC84x 系列MCU 选型表
LPC84x 系列MCU 的引脚描述及主要功能详见表1.4。
表1.4 引脚描述