基于ARM Cortex-M4F内核的MSP432 MCU开发实践
上QQ阅读APP看书,第一时间看更新

为了实现单片机更低的功耗和更优的性能,2015年3月美国德州仪器公司(简称TI公司)在原有超低功耗MSP430单片机的基础上,推出了32位ARM Cortex-M4F的MCU(微控制器单元,俗称单片机)。ARM Cortex-M4F处理器是由ARM公司专门开发的最新嵌入式处理器,TI公司将其作为MSP432单片机的内核,让用户可以更容易、更方便地设计IoT(物联网)产品,提供面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的解决方案。为了让读者对MSP432单片机有一个初步的认识和了解,本章首先介绍MSP430单片机的发展历史和MSP432单片机的诞生过程,然后叙述MSP432单片机具有的特点及优势,最后简要讲解MSP432单片机的应用选型。

1.1 MSP432微控制器的诞生及应用

1.1.1 MSP430微控制器的发展和MSP432微控制器的诞生

TI公司于1996年推出MSP430单片机。经过20年的发展,MSP430单片机家族的成员不断壮大,特别是MSP430F5xx、MSP430F6xx系列产品,充分体现了MSP430的优点。在MSP430的基础上,TI公司又推出了极低功耗的MSP432单片机。

从MSP430发展到MSP432诞生,经历了4个阶段。

(1)开始阶段

这一阶段是从1996年TI公司推出MSP430单片机开始到2000年年初。在这个阶段,TI公司首先推出了MSP430单片机中的33x、32x和31x等几个系列,而后于2000年年初又推出了11x和11x1系列。

MSP430单片机的33x、32x和31x等系列具有LCD(液晶显示器)驱动模块,有利于提高系统的集成度。每一系列有ROM(只读存储器)型(C)、OTP(一次性可编程存储器)型(P)、EPROM(可擦除可编程只读存储器)型(E)等芯片。因为EPROM型的价格昂贵,运行环境温度范围窄,所以主要用于样机开发。这也反映了TI公司的开发模式:用EPROM型开发样机;用OTP型进行小批量生产;用ROM型进行大批量生产。2000年TI公司推出的11x/11x1系列采用20引脚封装,虽然内存容量、片上功能和I/O引脚数比较少,但是价格比较低廉。

这个时期的MSP430单片机已经显露出其特低功耗等技术特点,但是,也有不尽如人意之处。例如:只有32x系列才有片内高精度A/D转换器;只有33x系列才具备片内串行通信接口、硬件乘法器、足够的I/O引脚等。33x系列价格较高,比较适合用于较为复杂的应用系统。当用户在设计时,若需要更多地考虑成本,则33x并不一定是最适合的选择。

(2)寻找突破,引入Flash技术

随着Flash(闪存)技术的迅速发展,TI公司也将这一技术引入MSP430单片机中,于2000年7月推出F13x/F14x系列,2001年7月~2002年又相继推出F41x、F43x、F44x系列,这些全部是Flash型单片机。

F41x系列单片机具有48个I/O口和96段LCD驱动。F43x和F44x系列在13x和14x的基础上,增加了LCD驱动器,并将驱动LCD的段数由3xx系列的最多120段增加到160段,还相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。

MSP430单片机由于具有Flash存储器,在系统设计、开发调试及实际应用上都表现出较为明显的优点。这时TI公司推出了具有Flash型存储器及JTAG(联合测试行为组织,常指一种边界扫描技术)的廉价开发工具MSP-FET430x110,将国际上先进的JTAG技术和Flash在线编程技术引入MSP430单片机。这种以Flash技术与FET(场效应晶体管)开发工具组合的开发方式,具有方便、廉价和实用的特点,给用户提供了一个较为理想的样机开发方式。

另外,2001年TI公司又公布了BOOTSTRAP LOADER(BSL,引导装入程序)技术,它可在烧断熔丝以后,通过口令更改并运行内部的程序,这为系统软件的升级提供了又一个方便的手段。BSL具有很高的保密性,口令长度可达到32字节。

(3)蓬勃发展阶段

TI公司在2003年年底至2004年推出了F15x和F16x系列产品。这些产品大大增加了RAM(随机存取存储器)容量,如F1611的RAM容量增加到了10kB,以便引入实时操作系统(RTOS)或简单文件系统等。同时,还增加了I2C、DMA、DAC12和SVS等外设模块。

TI公司在2004年下半年推出了MSP430x2xx系列。该系列进一步精简了MSP430x1xx的片内外设,使得单片机具有小型、快速和灵活的特点,且价格低廉,可以用于开发超低功耗医疗、工业与消费类嵌入式系统。与MSP430x1xx系列相比,MSP430x2xx的CPU时钟提高到16MHz(MSP430x1xx系列是8Hz),待机电流从2μA降到1μA,具有最小14引脚的封装产品。

2003年以来,TI公司针对热门的应用领域,利用MSP430的超低功耗特性,还推出了一系列专用单片机,如专门用于电能计量的MSP430FE42x、用于水表计量的MSP430FW42x和用于医疗仪器的MSP430FG4xx等。

2007年,TI公司推出了具有120kB闪存、8kB RAM的MSP430FG461x系列超低功耗单片机。该系列产品可满足设计大型应用系统时对内存的要求;同时,高集成度与超低功耗的特性,使它可以应用于便携式医疗设备和无线射频等嵌入式系统。

2008年,TI公司推出了具有革命性突破的超低功耗MSP430F5xx系列产品。该系列单片机能够针对主频高达25MHz的产品实现最低的功耗,并拥有更大的闪存与RAM存储器,以及诸如射频(RF)、USB(通用串行总线)、加密和LCD接口等片上外设。与1xx、2xx以及4xx等前几代产品相比,F5xx器件的处理性能提高了50%以上,闪存与RAM存储器容量也实现了双倍增长,从而使系统能以极小的功耗执行复杂度极高的任务。

2011年年底,TI公司推出了具有LCD控制器的MSP430F6xx系列产品。该系列产品支持高达25MHz的CPU时钟,且能够提供不同的内存,如256kB闪存和18kB RAM,可在电能计量和能源监测应用中为开发人员提供更大的发挥空间。

(4)MSP432诞生

为了将低功耗MCU的理念与优势从16位领域延伸至32位领域,同时实现低功耗与高性能的完美结合,TI公司于2015年3月推出了内核为Cortex-M4F的MCU——MSP432单片机。MSP432中的32代表该MCU是32位的。相较于16位RISC(精简指令集)的MSP430单片机,MSP432单片机采用的是32位RISC,性能有很大的提升。这一全新的MCU充分利用TI公司在超低功耗MCU方面的独特技术,在实现优化性能的同时降低了功率的损耗,使其有效功耗和待机功耗分别只有95μA/MHz和850nA。MSP430单片机与MSP432单片机的比较如表1-1所示。

表1-1 MSP430单片机与MSP432单片机的比较

MSP432单片机的内核使用32位的Cortex-M4F内核,具有32位的数据总线、32位的寄存器组和32位的存储器接口。Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的、基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列针对微控制器。Cortex-M系列是一系列针对成本敏感的应用程序进行优化的深层嵌入式处理器。Cortex-M4F是由ARM专门开发的最新嵌入式处理器,在M3的基础上强化了运算能力,新加了浮点、DSP、并行计算等功能,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。CortexM4F中的F表示具有浮点运算功能(FPU,浮点运算单元)。Cortex-M4F采用哈佛结构,这意味着它拥有独立的指令总线和数据总线,对指令和数据的访问可以同时进行,数据访问的过程不会影响或干扰指令的流水线,因此,提升了处理器的性能。此特性使得整个Cortex-M4F内核中有多个总线和接口,每个总线和接口均可同时使用,以实现最佳的利用率。数据总线和指令总线共享同一存储空间,此空间称为统一的存储系统。

1.1.2 MSP432微控制器的应用领域

由于MSP432单片机与MSP430单片机有相同的片上外设,在实际应用中,MSP432单片机将凭借其超低功耗和高性能特性,受到越来越多设计者的青睐,在MSP430的应用领域中得到广泛的使用。

作为一个极低功耗、高性能的MCU,MSP432单片机的应用前景十分广阔。MSP432主要瞄准对于功耗和性能要求都比较严苛的应用领域,包括电动机控制、电源管理、嵌入式音频、楼宇控制、可穿戴设备和传感器检测等。一个典型的应用是智能手表,其组成框图如图1-1所示。与Cortex-M0+内核的MCU相比,MSP432具有巨大的性能优势,可迅速处理距离、心率和卡路里变化等数据;同时,允许电池的充电周期长达数天,甚至一周。在物联网设备和可穿戴设备风靡的今天,相信MSP432单片机将大有用武之地。

图1-1 基于MSP432的智能手表框图

1.2 MSP432微控制器的特点

MSP432单片机凭借32位的48MHz Cortez-M4F内核及周围设备,实现低功耗与高性能的完美结合。此单片机可提供更高性能,它的性能是M3内核的两倍;极低功耗是MSP432单片机的另一个重要特点,在工作模式下功耗仅为95μA/MHz,而待机功耗仅为850nA,其中包括了RTC(实时时钟)的功耗。同时,用户能够充分利用MSP430的工具链(工具链是将用户写的代码转换为可执行程序,一般由编译器、连接器、解释器和调试器组成),以及ARM的工具链,以获得最佳的高性能和低功耗。现在,由于MSP430平台的延伸,MSP430和MSP432之间的代码可以无缝移植,即用户可以将现有的基于MSP430平台的项目移植到MSP432平台。

MSP432单片机具有以下主要特点。

(1)强大的处理能力

由于性能是设计MSP432单片机中的一个关键目标,因此,选择了性能最高的Cortex M内核。Cortex-M4F内核包含对完整ARM指令集的访问权限,此外还包含了DSP扩展指令和一个浮点FPU模块,可以更高效地执行运算。MSP432单片机的主频可以高达48MHz,而MSP430单片机中最新的MSP430F6xx系列只有25MHz。同时,该单片机内置了高性能的外设且独具特色,例如,把MCU驱动部分放到只读存储器里而不是闪存中运行,由于只读存储器中的驱动程序执行速度比闪存中高200%,所以可以更快地运行程序,并且,可以把节省下来的Flash存储器空间直接用于存储用户数据或者进行数据计算。另外,单片机内置的模拟模块是目前为止速度最快的1MSPS的14位ADC,这可以让用户以更快的速度进行数据采样,MSP432单片机中14位的ADC的采样速度比原来的MSP430单片机中ADC快了5倍。

(2)极低功耗

MSP432单片机在硅片的级别上就进行了低功耗优化。它加入了宽工作电压范围等功能,可在1.62V电压下工作,这包括全速代码运行以及闪存访问。MSP432单片机还集成了DC/DC稳压器(将一个固定的直流电压变换为可变的直流电压),可以在频率超过24MHz时提高工作效率,与以前的LDO(低压差线性稳压器)相比,可把整个功耗再降40%。而闪存的缓冲器NTMA可以最大限度地缩短CPU的执行周期。MSP432单片机包含一种独特的可选RAM保持特性,此特性能够为运行所需的8个RAM段中的每一段提供专用电源,由此每段的功耗可以减少30nA,从而降低了总体系统功率。

在器件具备低功耗性能的同时,MSP432单片机也提供帮助实现低功耗的工具和软件。位于ROM中的驱动程序库所需要的功耗也低于在闪存中运行驱动程序的功耗。而TI提供的ULP Advisor和Energy Trace+等工具可帮助用户优化代码,从而避免在不必要的情况下产生额外的功耗。

通过硅片级的低功耗优化和针对低功耗的软件优化,MSP432单片机的有效功耗和待机功耗分别只有95μA/MHz和850nA,如图1-2所示。

图1-2 MSP432单片机的低功耗优化

很多传感器输出的都是模拟信号,模拟信号只有通过ADC转化为数字信号后才能用单片机进行处理。MSP432单片机中14位的ADC采样速度比MSP430中的ADC快了5倍。当使用14位ADC时,以1MSPS的速度运行采样传感器数据时,能耗仅有375μA,非常省电。同时,ADC的采样速度可调,最低功耗可以低至200μA。

(3)高性能模拟技术及丰富的片上外设

MSP432单片机结合TI的高性能模拟技术,具有非常丰富的片上外设:时钟模块(UCS)、Flash控制器、RAM控制器、DMA(直接存储器存取)控制器、通用I/O口(GPIO)、CRC(循环冗余校验)模块、定时器(Timer)、实时时钟模块(RTC)、14位模数转换器(ADC14)、12位数模转换器(DAC12)、比较器(COMP)、UART(通用异步收发器)、SPI(串行外设接口)、I2C(内部串行总线)、USB模块等。丰富的片上外设不仅给应用系统设计带来了极大的方便,同时也降低了应用系统的成本。

(4)高效灵活的开发环境

MSP432单片机具有十分方便的开发调试环境,这是由于其内部集成了JTAG调试接口和Flash存储器,可以在线实现程序的下载和调试,开发人员只需一台计算机、一个JTAG调试器和一个软件开发集成环境即可完成系统的开发。目前针对MSP432单片机,推荐使用CCSv6.1软件开发集成环境。CCSv6.1为CCS软件的最新版本,功能更强大,性能更稳定,可用性更高,是开发MSP432单片机软件的理想工具。

1.3 MSP432微控制器应用选型

目前TI公司仅发布了一款MSP432单片机——MSP432P401,有6种不同的型号,如表1-2所示。带R的器件具有256kB闪存和64kB SRAM,而带M的器件则有128kB闪存和32kB SRAM。TI提供3种不同的封装类型,可以根据具体应用来选择。最小的是5×5mm的BGA(球栅阵列)封装,此外还有64QFN(方形扁平无引脚)和100LQFP(薄型方形扁平)封装。

表1-2 MSP432单片机部分选型表

一般来说,在进行MSP432单片机选型时,可以考虑以下几个原则:

1)选择内部功能模块最接近应用系统需求的型号;

2)若应用系统开发任务重,且时间比较紧迫,可以首先考虑比较熟悉的型号;

3)所选型号的Flash和RAM空间是否能够满足应用系统设计的要求;

4)在满足系统设计的前提下,尽量选用价格最低的MSP432单片机型号。

1.4 本章小结

TI公司最新推出的MSP432是具有极低功耗的32位ARM Cortex-M4F的微控制器,兼具低功耗与高性能的特点。MSP432单片机具有强大的处理能力、极低的功耗、高性能模拟技术,以及丰富的片上外设、高效灵活的开发环境等特点,应用前景十分广阔,包括电源管理、楼宇控制、可穿戴设备等。目前推出的MSP432P401有6种不同的型号,可根据系统设计需要选择合适的型号。通过本章的学习,读者对MSP432单片机具有初步的了解和认识,可为后面章节的学习打下良好的基础。

1.5 思考题与习题

1.简述MSP430单片机的发展和MSP432单片机的诞生历史。

2.MSP432单片机具有哪些特点?可以应用到哪些场合?

3.为什么MSP432单片机具有极低功耗的特性?

4.相比MSP430单片机,MSP432单片机在性能上具有哪些优点?

5.列举MSP432单片机所具有的片内外设,简述它们的功能。

6.了解MSP432单片机的命名规则。