典型MCU 架构详解与主流MCU 介绍典型MCU 架构详解与主流 MCU 介绍在前面的介绍中,我们已经了解到 MCU 就是基于一定的内核体系,集 成了存储、并行或串行I/O 、定时器、中断系统以及其他控制功能的微 型计算机系统,如图4.1是典型的MCU 组成框图。
目前,虽然很多厂商采用了 ARM 内核体系,但是在具体的MCU 产品 上,各个公司集成的功能差异非常大,形成 MCU 百花齐放的格局,由 于本书的重点是介绍32位MCU ,所以我们将重点以恩智浦公司的MCU 为例来介绍,这些 MCU 中,LPC3000、LH7A 采用ARM9内核, LPC2000 和 LH7 采用 ARM7 内核,LPC1000 系列采用 Cortex-M3 或 M0内核,通过这几个系列的介绍可以了解 MCU 的构成和差异。
4.1恩智浦LPC1000系列MCULPC1000系列MCU 是以第二代Cortex-M3为内核的微控制器,用于处^4.1典即的纠成椎图外耀童时元理要求高度集成和低功耗的嵌入式应用。
采用3级流水线和哈佛结构,其运行速度高达100MHz,带独立的本地指令和数据总线以及用于外设的第三条总线,使得代码执行速度高达 1.25MIPS/MHZ,并包含一个支持分支预测的内部预取指单元,特别适用于静电设计、照明设备、工业网络、报警系统、白色家电、电机控制等领域。
LPC1000系列MCU又分为LPC1700系列和LPC1300系列,下面我们分开介绍。
4.1.1 LPC1700 系列MCU 介绍LPC1700系列ARM是以第二代的Cortex-M3为内核,是为嵌入式系统应用而设计的高性能、低功耗的32位微处理器,适用于仪器仪表、工业通讯、电机控制、灯光控制、报警系统等领域。
其操作频率高达100MHz,采用3级流水线和哈佛结构,带独立的本地指令和数据总线以及用于外设的高性能的第三条总线,使得代码执行速度高达 1.25MIPS/MHZ,并包含一个支持分支预测的内部预取指单元。
LPC1700系列ARM Cortex-M3的外设组件:最高配置包括512KB片内Flash程序存储器、64KB片内SRAM、8通道GPDMA控制器、4个32位通用定时器、一个8通道12位ADC、一个10位DAC、一路电机控制PWM输出、一个正交编码器接口、6路通用PWM输出、一个看门狗定时器以及一个独立供电的超低功耗RTC。
LPC1700系列ARM Cortex-M3还集成了大量的通信接口:一个以太网MAC、一个USB 2.0 全速接口、4个UART接口、2 路CAN、2 个SSP 接口、1个SPI接口、3个I2C接口、2路I2S输入和2路I2S输出。
1. L PC1700 系列MCU关键特性:*第二代Cortex-M3内核,运行速度高达100MHz;*采用纯Thumb2指令集,代码存储密度高;*内置嵌套向量中断控制器(NVIC),极大程度的降低了中断延迟;*不可屏蔽中断(NMI)输入;*具有存储器保护单元,内嵌系统时钟;*全新的中断唤醒控制器(WIC);*存储器保护单元(MPU);* 以太网、USB Host/OTG/Device、CAN、I2S ;* 快速(Fm+)I2C、SPI/SSP、UART;*电机控制PWM输出和正交编码器接口;* 12 位ADC;*低功耗实时时钟(RTC);*第二个专用的PLL可用于USB接口,增加了主PLL设置的灵活性;*4个低功率模式:睡眠、深度睡眠、掉电、深度掉电,可通过外部中断、RTC中断、USB活动中断、以太网唤醒中断、CAN总线活动中断、NMI等中断唤醒;*具有在系统编程(ISP)和在应用编程(IAP)功能的512KB片上Flash程序存储器;* 64KB片内SRAM包括:* 32KB SRAM可供高性能CPU通过本地代码/数据总线访问;* 2个16KB SRAM模块,带独立访问路径,可进行更高吞吐量的操作。
这些SRAM模块可用于以太网、USB、DMA存储器,以及通用指令和数据存储;* AHB多层矩阵上具有8通道的通用DMA控制器(GPDMA),结合SSP、I2S、UART、AD/DA转换、定时器匹配信号和GPIO使用,并可用于存储器到存储器的传输;*多层AHB 矩阵内部连接,为每个 AHB 主机提供独立的总线。
AHB 主 机包括CPU 通用DMA 控制器、以太网MAC 和USB 接口。
这个内部 连接特性提供无仲裁延迟的通信;实用的LQFP 80/100脚封装2. L PC1700 系列中LPC1766 方框图规他拱块代农nJUii 接钏GPDMA 的艸心IS 4.2 LPC"肓百方框图DEBUG-.;?: 1.1 」TAG !4 I .USB .醤Is rr厨试口AHM COF E TE X G3CK1 ,J :I IMI5O1[ ■MKSll J ^WDorrMuo * fl"UAH r i貝HI 卷*TDU2 * aajQri ■•SOMTI ・ gOKi'fi-fiFi2□同/MISO2:・J ►fMcyi Ufljr pwy 甲B J6-AOCPIM C 0>*4.FCTK=)RTCiMMttuta*60驼ISGWIMAL10ffeameif[&<^Lc^rtd£~ 1(1 hU ^IPVWMC^COkCTH]正工諾丙攀18CKDSSELO•謝心- J A 逞 5RK★ 口盼TX fifld RX SGIL2- SQA2 4 - Wi \Z ?> S/AT3EiMqa aiI^CQAp朗WCiGRp B] Mcica.ci+ *our-PHA P MB -ULKI djEPhlr ].-□MA命DW-4宝囱卜JsLavo:■SEJ^Ir?C«'-AHH roAPB URi^etr LP0r P2VHAT尺TGK1 p'/wi 'ff.c-]- FQ^P^I.CI-SHAM 3ZiT>4 KB丄□两£吐脸计瞬咱FT#3. LPC1700系列MCU参数规格如下表所示:^4.1 LPC1700^4.1.2 LPC1300 系列MCU 介绍LPC1311/13/42/43是以第二代ARM Cortex-M3为内核的微控制器,其系统性能大大提高,增强了调试特性,令所支持模块的集成级别更咼。
其最大亮点在于具有极咼的代码集成度和极低的功耗,是业界功耗最低的32位Cortex-M3 MCU 。
LPC1300系列ARM微控制器的操作频率高达70MHz,具有3级流水线功能,并采用支持独立本地指令和数据总线以及用于外设的第三条总线的哈佛架构,使得代码执行速度高达 1.25MIPS/MHZ,还包括了一个内部预取单元,支持分支预测操作。
LPC1311/13/42/43的外设组件:最高配置有32KB的Flash存储器、8KB的数据存储器、USB设备(仅对于LPC1342/43)、一个快速模式I2C接口、一个UART、四个通用定时器、42个通用I/O引脚。
1. LPC13XX 系列MCU关键特性*第二代Cortex-M3内核,高达70MHz的运行速度;*内置有嵌套向量中断控制器(NVIC);* 具有32KB(LPC1343/13)/16KB(LPC1342)/8KB(LPC1311)片上Flash程序存储器;* 10位ADC,在8个引脚中实现输入多路复用;*在系统编程(ISP)和在应用编程(IAP)可通过片内引导装载程序软件来实现;串行接口*带有用于设备的片内PHY的USB 2.0全速设备控制器(仅对于LPC1342/43);*可产生小数波特率、具有调制解调器、内部FIFO和支持RS-485/EIA-485 标准的UART;* SSP控制器,带FIFO和多协议功能;* I2C总线接口,完全支持I2C总线规范和快速模式,数据速率为1Mbit/s,具有多个地址识别功能和监控模式;其它外设*多达42个通用I/O(GPIO)引脚,带可配置的上拉/下拉电阻,并有新的、可配置的开漏操作模式;* 4个通用定时器/计数器,共有4路捕获输入和13路匹配输出;*可编程的看门狗定时器(WDT);*具有系统定时器;*每个外设都具有其自身的时钟分频器,以进一步降低功耗;*集成了PMU (电源管理单元),可在睡眠、深度睡眠和深度掉电模式中极大限度减少功耗;*具有三种低功耗模式:睡眠模式、深度睡眠模式和深度掉电模式;*带驱动的时钟输出功能可以反映主振荡器时钟、IRC时钟、CPU时钟、看门狗时钟和USB时钟;*掉电检测,具有4个独立的阀值,用于中断和强制的复位;* 12MHz内部RC振荡器可调节到1 %的精度,可将其选择为系统时钟;* PLL允许CPU在最大的CPU速率下操作,而无需高频晶振,可从主振荡器、内部RC 振荡器或看门狗振荡器中运行;*可采用48脚LQFP封装和33引脚HVQFN封装。
2. LPC13XX 系列MCU方框图如下表所示:删“ MAT *1^1 \tftF" 翌?- MAT* 巧『GAP —(1. 1XLPClM7X3a» (2) WK^LQFP^fiiill3. LPC13XX 系列MCU 参数规格如下表所示:/<4.2 LPC13XX MCU 笏救刮[轻 瞳器■件型号Flash(KS)SRAMi KB 卜 US02.O F 口 Fast+)ADCTimer32biti'l6brtSSP UART (RS-4B5)舞装LPC1311 B 2-1 8ch/10twt 2^21 1 HVQFN33 LPC1313 323 =1 ficn/iotMt 2/3 1 1 HVQFN33/ LQFP4S LPC1342 te A□*V1« 1 SchHObrt 2/21 1 HVQFN33 LPC1M332B□win1BcWlObit2J211HVQFN33/ LOFP4eXTALIttXTX3 OLH .3PIO ma p〕<xriMRESETMW-aytSEi时 * 5(4 - U* 相・AM-kfrt a ft—GLKQUTSCK1 ssa Ol&O MOSI jhXD________ TK& * — DcmiJ ftifii 箭曾A^M CORTFX-M3d .ri 广 os 凶nbusLf3uPUARTTOWAOCfinsaiitnt<-7tacc^ricFLASHJ2 1fi-B kUAUHTQAPS dRLDQtUSBglA FIHB'IJSf^M 现H ・E< : 32“ ilSCLsex;一4.1.3 LPC1100-- 更高效能MCU向我们走来2009年5月,恩智浦宣布推出将于2010年初推出基于Cortex-M0的LPC1100系列产品。