MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

1、引言

目前,集成电路的嵌入式技术发展越来越快,各色嵌入式产品也越来越受欢迎,尤其是以大屏幕多功能的手机、平板电脑等为典型代表,做为其控制核心的高性能、低功耗的微控制器(MCU)起到了决定性作用。因此以CPU为核心MCU的设计也成为了诸多高等院校、各大公司进行市场竞争的一个主流发展方向。

2、MCU选型技术

微控制器(MCU)的应用领域非常广泛,如消费类电子市场中的手机、照相机、摄像机、MP3、MP4、平板电脑、笔记本电脑、PC机、各种遥控电动玩具等,还有汽车电子的电子钥匙、控制系统、导航、倒车影像、倒车雷达等,还有各种安全防卫系统、医疗器械、工业控制、武器装备、航空航天等各个领域。因此在设计MCU之前需要进行明确的市场定位,从而使目标产品有的放矢,并在高性能、低成本、多功能、轻体积、低功耗、高可靠、散热好、抗辐照、抗单粒子、适应超高温和超低温等方面具有很强的竞争力。MCU硬件设计主要包括两大部分:CPU选型和外围IP核的选取。

3、CPU选型

CPU作为MCU的大脑,起到控制核心的作用,基本上决定了MCU的目标应用领域,因此CPU的选型是设计MCU的关键。目前,可以用于集成电路嵌入式设计的CPU主要有CISC架构的80386EX,RISC架构的ARM7TDMI/EJ、ARM926EJS/946ES/968ES、ARM1136/56/76、ARMCortex-A5/7/8/9/15、ARMCortex-R4/5/7、ARMCortex-M0/0+/1/3/4、SecurCore000/100/300、MIPS32M4K/4K/14K/24K/34K/74K/1004K/1074K、microMIPS32、SmartMIPS、Nios/NiosII、PowerPC40x/60x/70x/90x、SPARCv7/8/9、LEON2/3/4、OR1000/1200等,其中以ARM系列嵌入式CPU发展的势头最为迅猛,占据了嵌入式处理器绝大部分的市场份额,而且还在继续增长。各家公司的每种处理器都有自己的特点,可以满足不同的应用需求。此外,开发环境的完备性、总线接口协议的高效性、技术支持的专业性、IP核种类的丰富性、设计资源的开放性以及设计者的使用习惯等,都会对CPU的选型产生决定性的影响。

4、外围IP选取

对于应用领域而言,外围IP核起到了很好的支撑作用,因为如果把MCU比作“人”,则外围IP核相当于MCU的“眼”“耳”“口”“鼻”等重要器官,所以外围IP核的选取也同样至关重要。IP核的选取包括通用IP核和特定用途IP核两种。

4.1通用IP选取

目前,通用IP核的种类比较繁多,按照总线接口协议可以分为IBM公司的Core Connect、ARM公司的AMBA(Advanced Microcontroller BusArchitecture)和Silicore Corp公司的Wishbone等;按功能分为接口类IP核如DMA、GPIO、UART、USART、Timer、WDT、I2C、I2S、SPI、CAN、存储器控制器,图像处理类IP核等;存储器类IP核如ROM、RAM、SRAM、FLASH等。根据功能不同可以进行不同的选择,还可以集成几个相同功能的IP核,如UARTx4有4个UART接口,I2Cx2则是有2个I2C接口等。

4.2特定用途IP选取

特定功能的IP核种类也很多,如时钟类的PLL、片上高精度振荡器,模数转换类的AD、DA,网络类的ETHERNETMAC/PHY、Modem,图像处理类的H.264、JPEG,接口类的USB2.0/3.0、IDE、SATA等,高速接口类的LVDS、RapidIO、SerDes等,还有各种传感器等,需要根据市场定位来确定。

5、MCU设计

5.1硬件设计

目前,MCU领域众多大公司早已大规模推出各类MCU,而且各具特色,因此设计具有自主知识产权的MCU应在系统架构等方面有别于这些大公司,一是避免侵权,二是更有利于市场竞争。同时应做好产品的规划:从简单到复杂,从单一产品到系列产品,设计平台不断维护与更新,设计软件不断维护与升级,设计人员的水平不断提高。主要包括以下几个方面:

(1)体系架构分析、设计和验证

依据设计规格书中的性能指标和功能指标,首先需要制定设计方案:选取几款CPU以及所有用到的IP核进行系统级设计,从整体上评估MCU的系统架构、CPU的性能指标、IP核的功能特性等方面。基于几种选定的目标工艺给出相应的数据分析,确认是否能够满足设计目标的要求,从而确定基本的设计方案,然后再根据具体的设计结果进行相应的优化。

(2)时钟和复位方案设计

时钟和复位对整个电路而言起到了至关重要的作用。如果这两路信号有问题,则电路不能正常工作。因此,需要作出详尽的时钟方案和复位方案,需要给不同的外设提供不同的时钟:USB单独时钟、CPU等高速外设一个时钟、UART等低速外设一个时钟,如图1示。

图1时钟方案示意图

(3)总线方案设计

采用何种总线、何种组合方式、总线的数量等关系到MCU性能的发挥。以AMBA总线为例,通常的用法是AHB接高速外设,再通过AHB到APB总线桥来访问低速外设。有时为了提高外设的访问速度,一个MCU内部可能有两条APB总线;也可能有两条AHB总线。指令和数据分离,一条用来数据传输或图像处理,另一条用来通用控制。还可能有多层AHB的互连矩阵,便于多个Master可以同时访问多个不同的高速外设,从而大幅度提高MCU系统性能。因此,总线方案的制定须依据产品的具体应用来确定。

(4)功耗管理方案设计

低功耗是MCU的突出特点之一,因为MCU中集成了多种低功耗管理策略:不仅在逻辑上采用门控时钟、门级优化的方式,而且还在物理上采用多阈值电压、多电源域、门控电源等方式;同时更在功能模式上采用了多种模式:正常运行模式、睡眠模式、深度睡眠模式、掉电模式等,并严格规定各种模式下运行和关闭IP核的种类以及各种模式之间的进入和退出流程。这既保证了电路的功能,又保证了电路的性能。

(5)中断处理方案设计

中断是MCU一项很重要的功能。通过中断控制,CPU可以快速响应外设的请求。中断处理一般包括中断源的数量、优先级、是否可屏蔽、是一般中断还是快速中断等,通常需要设计一个专用模块来进行中断处理。有时为了提高设计效率,IP销售商也提供标准的基于AHB或APB等总线接口协议的IP核。如果此类IP核能够满足系统对于中断处理情况的要求,也可以选用。

(6)存储器管理方案设计

存储器是MCU中占面积较大的模块。一个MCU中可能同时含有ROM、SRAM和FLASH三种存储器:ROM用于放置BootLoader、IP Drivers等,SRAM用于提高软件运行速度、存放临时数据,FLASH用于存放应用程序和数据。由于FLASH的读写速度比较慢,为了提高FLASH的读写速度,可以采用预取缓冲器和写缓冲器来加速指令和数据的缓冲。由于各个存储器都有自己的地址空间,因此很方便用户访问。为了便于系统管理,通常设计一个存储器管理模块,并在系统控制模块中设计对应的控制寄存器。

(7)在线调试方案设计

目前,比较常用的在线调试方式为串行调试,如JTAG、EJTAG、UART等,使用PC机的并口、串口、网口或是USB接口,使得在线调试简单方便,成本低廉,如图2所示。由于被调试的程序要在目标板上运行,而且MCU必须正常工作,因此需要设计一个专用的调试模块以保证上位机软件可以调用CPU来进行软硬件的在线调试,并且符合IEEE1149.1的协议标准,此模块的基本结构如图3所示。

图2典型在线调试系统示意图

图3调试结构示意图

(8)测试方案设计

MCU的测试方案主要包括物理测试、功能测试和性能测试几部分内容。先要根据时钟方案和复位方案对MCU进行时钟测试,确保时钟电路工作正常;再对CPU进行功能测试,因为CPU是MCU的控制核心,只有CPU正确运行才能对其他IP核进行测试;然后再依据设计规格书对MCU外围的数字IP核和模拟IP核进行功能测试和性能测试。

5.2系统级验证

为了确保设计的正确性,流片之前必须对MCU进行全功能验证。因此需要使用多种IIP和VIP来搭建一个系统级验证平台,依据设计规格书制定详细的验证方案,通过仿真工具,采用定向和随机的方式或采用比较流行的OVM、VMM和UVM等验证方法学、逐个IP核来验证MCU的全部功能是正确的,重点是系统控制单元、总线仲裁器、功耗管理等为系统功能定制设计的非标准模块。

5.3 FPGA原型验证

由于系统级验证使用的是EDA工具进行软件仿真,仿真的速度比较慢,因此可以通过FPGA原型验证的方式来加速系统级验证的速度,尤其是需要将那些功能比较复杂、规模比较大的模块下载到FPGA中,而且应尽可能使用规模比较大的FPGA,如Virtex-7系列、ArriaV系列等。搭建FPGA验证平台时,不仅可以使用一块FPGA,也可以使用多块FPGA,最好能够将设计的所有模块全部下载到FPGA中。FPGA原型验证不仅要验证硬件的正确性,还要验证IP核驱动程序的正确性,同时也可以验证目标应用程序的正确性。

5.4物理设计

在对MCU系统级验证和FPGA原型验证后,需要进行物理设计:依据设计规格书制定合理设计约束,从逻辑综合到自动布局布线,再到物理验证、形式验证、静态时序分析和功能验证,完成从RTL到GDSII的转换过程,最后将数据发送至代工厂进行加工制造。

5.5文档设计

文档是MCU设计过程中很重要而且很必要的环节,且应该在设计的不同阶段,以模板的形式规定在此阶段所要完成的文档设计,并由项目负责人进行详细审查,从而确保一旦设计中出现了任何问题,都可以查找相关的设计文件以及对应的设计文档,尤其是设计的细节需要体现的很完整。

5、结束语

以上只是简要概述了MCU硬件设计的主要方面。若要设计一个性价比高、竞争力强的MCU,还需要进行大量的、详细的工作,尤其是电路的全功能验证和详尽测试,并搭建一个MCU平台来进行系列产品的开发,以保证产品可以源源不断地进入嵌入式市场。

文章来源:电子电路网

围观 400

无线射频识别(RFID)将成为第一种与条码技术并存并最终将在低成本识别和个人数据存储领域取代条码技术的新兴技术。 与条码技术相比,它具有多种优势,包括: 1、可以存储更多数据;2、可以在标签中集成一定智能;3、可以在一定距离外扫描;以及 4、可以减少人为干预。而这所有一切皆因MCU的使用让其成为可能。

EPC 技术对智能标签的影响

在消费层的部署中,下一代标签系统必须发展一种新的复杂级别,以应对新应用和全球互操作性所带来的复杂性。

就像统一产品编码(UPC)是条码技术的基本标识一样,一个名为 EPCglobal 的企业联盟也为 RFID 创建了电子产品编码(EPC)。 EPC 代码为 64 位或 96 位长。它将作为联网数据库中的一个查找项,数据库中的数据必须能够实时访问。

在某些时候,标签必须与位于公司内联网之外的主机系统进行通信。 公司可以与其合作伙伴协作,提供 EPC 信息服务(EPCIS)。 这将需要更多的标准化、互操作性和安全性。

图 1: 标签应用贯穿从入库到零售的整个过程

32 位 MCU 适于复杂RFID系统

由于它们经济有效,32 位 MCU 非常适合用于复杂 RFID 自动 ID 系统。 正如前面指出的那样,大部分重新设计工作将是对阅读器进行的。 图 2 显示了一个基本阅读器的框图。

图 2: 使用 MCU 和阅读器 IC 的 RFID 阅读器

MCU 可以使用几种流行串行接口中的任一种接口与较大的 EPCIS 数据库通信,这些接口包括 UART 和 USB 串行通道。 阅读器和标签之间的通信由 MCU 负责。

系统依赖于存储在 EEPROM 中的数据,并具有几个基本特性:

· 每个标签有一个唯一的串行编号,存储在 EEPROM 块 1 和 2 中。

· 两个特殊功能控制代码:电子商品防窃 (EAS) 和安静模式,用于解决安全和开/关操作(存储在块 3 中)。

· 每个标签拥有一个 8 位系列码和一个 8 位应用标识号(均存储在块 4 中)。 这两个代码对标签并不是唯一的。

· 余下的存储器用于用户数据。

· 定义了 256 个时隙,标签在其中的一个时隙中进行广播

如果一个阅读器寻找某个特定标签或一组标签,它可以使用系列码和应用标识号标准询问位于其操作范围内的所有标签。

阅读器需要对标签进行一系列询问操作。 这种交互操作通常是对标签中用户数据的读操作,但也有可能发生后续的写操作。

整个过程大体如下:

· 重复询问标签的操作,直到不再检测到数据逋唬

· 当符合所需系列和应用代码的标签被找到时,阅读器将通过整个排序过程为它们分配时隙。

· 不符合该系列/应用代码标准的标签被指示停止广播其串行编号。 

· 为了使排序过程进行得尽可能快,采用了优化算法。优化是根据对完成该过程所需命令的平均数的仿真进行的。 使用一个 32 位 MCU 可以最好地完成这些算法的快速执行。 

所有这些合起来,对 MCU 构成严重负荷。 标签需要具有更高的性能。使用 32 位 MCU 和大容量片上闪存,就可以实现本地数据库信息存储,而不必与主机进行无休止的通信。 

智能卡阅读器数据加密和解密结构 

加密可通过软件来实现,也可以通过硬件和软件的组件来实现。 纯软件加密的主要优点就是便宜。 另一方面,基于硬件/软件的安全措施会更安全,性能也会有相当多的提升。
  
除了8 位和 16 位系统处理软件加密时的性能弱势以外,对于内存受限的设计来说,软件使用的代码也常常会显得太多,并且几乎总是存在后门,从而造成安全风险。 当系统设计者没有其他选择,只能通过增加外部存储器来容纳剩余代码时,安全风险就会进一步增加。 32 位 MCU 提供了足够的片上内存资源(512 K 字节闪存),而后续产品还将随着时间流逝而不断扩展。 

设计团队经常想当然地以为硬件加密会造成令人无法接受的 BOM 成本和 IP 成本增加。尽管 DES 和 Triple DES 等算法不受版权限制,不需要交纳牌照费,但能够改善其效率的那些实现方法却是受专利保护的。 

好消息是当使用带有安全内核和丰富 IP 库的 32 位 MCU 时,设计者实际上可从两个领域均受益。 一方面,32 位 MCU 拥有通过软件来执行加密算法所需的全部处理能力。 另一方面,具有优化加密引擎的安全内核可以提供所需的所有硬件安全性。 受专利保护的实现算法则是作为 MCU 的 IP 库的一部分。 

软件可配置性对阅读器/标签系统来说特别重要。 例如,很快将进入市场的支持 EPCIS 的下一代智能标签系统,将能够在使用中改变其加密算法。 
 
对于以前的智能标签系统,系统智能的大部分将保留在阅读器模块中。 当阅读器采用基于安全 ARM 内核和适当 IP 的 32 位 MCU 标准元件来提供支持时,实现基于硬件的安全造成的额外成本将非常小。 使用 32 位元件的另一个优势是它们能够提供额外的内存容量。 通过在阅读器的 MCU 中嵌入足够内存,可以消除通常在 8 位和 16 位设计中见到的 MCU 与内存之间的外部总线。 没有了这种总线,也就避免了一种安全威胁,因为从此黑客们将无法再监测阅读器的内存总线。  


 
图 3: AES 加密和解密结构 32 位 MCU在未来应用中更具优势 

在下一代智能标签和非接触式智能卡应用中,32 位 MCU 具有明显优势。 例如,它们能够进行更多智能标签的识别和排序处理,可以使用更多内存,而不必像 8 位 MCU 那样采用内存换页(memory banking)技术来实现。  

当加密成为 RFID 阅读器/标签系统特性列表的一部分时,优势就更加明显。 例如,DES 和 Triple DES 需要使用 32 位乘法器,而在一些MCU 上,乘法器也早已内置其中。  

软件执行加密算法具有许多优点,比如可以在使用中更改加密密鈅等。 但软件执行需要使用大量嵌入式内存,而 32 位 MCU 可以提供这些内存。 使用内存映射 I/O 的能力使系统设计变得更加容易,32 位 MCU 上的 I/O 选项一般包括多种高位速率接口。 

过去,32 位 MCU 的不足之处在于成本较高。 然而,随着越来越多厂商引入基于标准 ARM的 MCU 之后,价格已经下降。采用前沿半导体工艺进行大批量生产缩小了管芯尺寸,降低了 32 位标准规格 MCU 的价格。当然,32 位 MCU 的成本仍然比最便宜的 8 位 MCU 要高,但系统设计者现在还是采用了可以提供他们所需性能的 32 位 MCU,并且能够符合整个系统的材料预算。  

RFID 和自动识别技术与安全性和保密性问题的融合,势必将促进 32 位 MCU 在智能标签和非接触式智能卡市场的发展。近期之内,我们将看到它们融入支付、库存和销售点系统中;而不久我们就会看到增强的技术或非接触式智能卡大量进入电子护照等敏感领域。

来源:网络(本文仅供学习参考使用,版权归作者所有)

(直接点击图片可进入调查页面)

开发板测评图片
围观 326

全球物联网(IoT)应用热潮方兴未艾,然却已有不少MCU供应商铩羽而归,面对物联网应用整合控制/电源管理及无线连结的系统级解决方案需求,部分芯片供应商不是被迫待价而沽,就是面临被市场及客户边缘化危机,加上IP大厂安谋(ARM)版图正快速扩展到全球MCU市场,大幅降低进入门槛,并造成MCU市场杀价混战,全球MCU版图大洗牌已箭在弦上。

继恩智浦(NXP)购并飞思卡尔(Freescale),近期高通(Qualcomm)已经买下恩智浦,加上微芯(Microchip)从戴乐格(Dialog)手上抢亲艾特梅尔(Atmel),接着赛普拉斯(Cypress)购并博通(Broadcom)旗下物联网业务,以及瑞萨(Renesas)宣布合并英特矽尔(Intersil),凸显全球MCU大厂纷砸大钱布局物联网市场,全球MCU战火一触即发。

不过,全球物联网市场大饼仍不是很具体,加上众多竞争对手凭藉ARM的IP大刀,积极砍价抢攻市占率,对于过去擅长于少量、多样接单模式的中型MCU供应商,似乎愈来愈难找到生存空间,这亦让全球MCU产业除了排名前5大厂之外的其他MCU供应商,近期业绩表现呈现走滑趋势,并面临一波波的产业整并风暴。

芯片业者坦言,物联网市场商机其实并不容易吃到,除了各路人马全面加入战局外,ARM亦不断渗透全球MCU产业IP版图,甚至快速整合不少应用、产品及市场,让MCU供应商出现腹背受敌的危机,毕竟ARM透过全系列的高、中、低阶MCU IP,已大大降低全球MCU市场进入障碍。

由于各家芯片业者均可借由ARM IP及软件程式资源,开发自家高度客制化的MCU解决方案,对于老字号MCU供应商而言,过去拥有的客户基础及熟悉相关开发工具等竞争优势,已难抵挡新进业者积极杀价的进攻策略,迫使老字号MCU供应商成长动能疲软,尤其是中型MCU供应商受影响最明显,陷入被迫退出竞争行列的困境。

事实上,近期很多芯片业者为加速取得全球物联网市场参赛权,投入大笔资金进行购并,相较于过去MCU供应商提供客户包括芯片、软/韧体、公版及产品开发平台等资源,在物联网应用世代,MCU供应商更必须备齐控制/电源管理及无线连结等解决方案,不仅竞争压力大增,MCU供应商若不砸大钱,恐怕就只能退出这场竞赛。

在物联网市场快速萌芽,以及ARM IP掀起全面攻势的过程中,中型MCU供应商生存空间正持续遭到挤压,业者预期未来全球MCU产业版图将大幅变化,呈现大型、甚至超大型MCU供应商独占特定产品、应用及市场龙头情况。

由于这些大型MCU供应商多专注在领先的技术领域,让小型MCU供应商得以拿下一些利基及更少量、多样的产品市场商机,反而是夹在中间的中型MCU供应商,恐将面临一波波的产业淘汰赛。

MCU市场未来预测

据IC Insights预期,在经历了近几年的价格下滑之后,微控制器(MCU)的平均销售价格(ASP)预期将会回温,并再创销售额新高纪录。

市场研究机构IC Insights预期,IC产业的原始系统级晶片(SoC)产品──微控制器(microcontrollers,MCU)市场的年营收规模,将在未来五年稳定成长并达到新高纪录,尽管该市场整体出货量成长将趋缓。

IC Insights指出,MCU市场销售额在2015年几乎没有成长,幅度不到0.5%,但金额规模却达到了略高于159亿美元的新高纪录,主要是因为MCU出货量成长了15%,在去年达到了221亿颗的高峰(如下图)。强劲的出货量成长──由智慧卡应用与32位元产品带动──让MCU市场抵销了13%的平均销售价格(ASP)下滑;MCU的ASP在2015来到了0.72美元的历史新低。

价格下滑(特别是32位元产品),让MCU销售额成长率在过去四年中有三年都被拖累;但IC Insights指出,现在MCU的ASP预期将回稳,并在2015~2020年间可微幅成长,复合年平均成长率(CAGR)估计为1.6%;该数字在2010~2015年间为-7.7%。

虽然ASP终止下滑,MCU出货量的成长幅度则预测会在接下来五年比过去五年低;主要原因是智慧卡微控制器成长趋缓,还有因为物联网(IoT)应用对IC库存量的紧缩。ICInsights估计,MCU销售额在2016年将由2015年的159亿美元成长4%、来到近166亿美元。

MCU出货量在2016年则预期成长2%,达到224亿颗,而整体MCU的ASP则预测可在今年增加2%,来到0.74美元;在2015到2020年间,MCU销售额的CAGR估计为5.5%,并在2020年达到近209亿美元的规模。IC Insights表示,自1990年代中期以来,全球MCU销售额的CAGR约在2.9%。

MCU销售额到2020年将呈现上扬走势;预期在2016~2019年间,整体MCU市场营收成长率将逐渐增强(2019年成长率预测为9%),直到2020年缩减至4%的成长率;至于MCU出货量则预测在该期间以CAGR为3.9%的幅度成长。

IC Insights指出,MCU出货成长速度到2020年之间逐渐趋缓的原因,是智慧卡市场已迈入成熟阶段;该应用市场在近几年占据MCU出货量的近五成,占据MCU市场整体营收约15~16%。到2020年,智慧卡MCU预期将占据整体微控制器出货量的38%,而在整体销售额的占据幅度则缩减至12%。

(直接点击图片可进入调查页面)

开发板测评图片
围观 443

电子产品的低功耗问题经常让产品设计者头痛而又不得不面对。以单片机(MCU)为核心的系统,其功耗主要由单片机功耗和单片机外围电路功耗组成。要降低单片机系统的功耗,需要从硬件和软件两方面入手。
  
硬件设计考虑因素
  
要满足单片机系统的低功耗要求,选用具有低功耗特性的单片机可以很容易实现。因为具有低功耗特性的单片机可以大大降低系统功耗,这可以从单片机的供电电压、内部结构、系统时钟和低功耗模式等几方面来考察一款单片机的低功耗特性。一般来讲,用户在选择技术供应商和产品过程中,需要对下面的一些重要硬件参数进行更加深入的考量:
  
选择简单的CPU内核
  
选择CPU内核时切忌一味追求性能,以“够用就好”为原则。8位机够用,就没有必要选用16位机、32位机;单片机的运行速度越快,往往其功耗也越大。一个CPU越复杂、集成度越高、功能越强,片内晶体管越多,总漏电流也越大,即使进入STOP状态,漏电流也会变得不可忽视;而简单的CPU内核不仅功耗低,成本也低。
  
选择低电压供电的单片机系统
  
单片机系统的供电电压低,可以有效地降低其系统功耗。由于半导体制造工艺的发展,现在单片机的供电电压从5V供电降低到3.3V、3V、2V乃至1.8V。供电电压低,不紧可以降低单片机的功耗,还可以降低单片机外围电路的功耗。
  
选择带有低功耗模式的单片机系统
  
低功耗模式指的是系统的Idle、Stop和Suspend等模式。处于这些模式下的功耗将远远小于正常运行下的功耗。Idle模式下,CPU停止工作,但内部系统时钟并不停止,单片机的外围I/O模块也不停止工作;系统功耗一般降低有限,相当于工作模式功耗的50%左右。
  
如果在CPU进入Stop模式时,将各个模拟外设关掉,这时的功耗可以降低到nA级。但是在Stop模式下,CPU被唤醒后要重新对系统作初始化,所有特殊功能寄存器的内容将被重新初始化。这在某些低功耗应用场合需要注意。
  
Suspend模式下,CPU、内部系统时钟停止工作,I/O模块等被悬挂起来,片内RAM中存储的数据将被保持,CPU的功耗可以降低到nA级,由唤醒事件唤醒。当CPU被唤醒后,系统不会被CPU复位,继续从进入Suspend模式的地方开始执行程序。这是一种非常理想的低功耗模式。
  
在硬件层面来说,对上面的这些参数进行仔细衡量是十分必要的,除此之外,选择合适的时钟方案和使用每MIPS功耗来衡量MCU的低功耗性能也是非常关键的。

应用软件考虑因素
  
应用软件设计对于一个低功耗系统的重要性常常被人们忽略。一个重要的原因是,软件设计上的缺陷并不像硬件那样容易发现,同时也没有一个严格的标准来判断一个软件的低功耗特性。但是设计者如果能尽量将应用的低功耗特性反映在软件中,就可以避免那些“看不见”的功耗损失:
  
用“中断”代替“查询”
  
在没有要求低功耗的场合,程序使用中断方式还是查询方式并不重要。但在要求低功耗场合,这两种方式相差甚远。使用中断方式,CPU可以什么都不做,甚至可以进入等待模式或停止模式;而查询方式下,CPU必须不停地访问I/O寄存器,这会带来很多额外的功耗。
  
用“宏”代替“子程序”
  
子程序调用的入栈出栈操作,要对RAM进行两次操作,会带来更大的功耗。宏在编译时展开,CPU按顺序执行指令。使用宏,会增加程序的代码量,但对不在乎程序代码量大的应用,使用宏无疑会降低系统的功耗。
  
尽量减少CPU的运算量
  
减少CPU的运算工作量,可以有效地降低CPU的功耗。减少CPU运算的工作可以从很多方面入手:用查表的方法替代实时的计算;不可避免的实时计算,算到精度够了就结束,避免“过度”的计算;尽量使用短的数据类型,例如,尽量使用字符型的8位数据替代16位的整型数据,尽量使用分数运算而避免浮点数运算等。
  
让I/O模块间歇运行
  
在系统运行过程中,不用的I/O模块要关掉,间歇使用的I/O模块要及时关掉,以节省电能。同时,不用的I/O引脚要设置成输出或设置成输入,用上拉电阻拉高。
  
总之,在单片机系统设计过程中,需要深入理解单片机低功耗的特性,并在硬件和应用软件的设计过程中充分利用单片机的低功耗特性,从而设计出符合低功耗要求的产品。

(直接点击图片可进入调查页面)

开发板测评图片
围观 341

全球物联网(IoT)应用热潮方兴未艾,然却已有不少MCU供应商铩羽而归,面对物联网应用集成控制/电源管理及无线连结的系统级解决方案需求,部分芯片供应商不是被迫待价而沽,就是面临被市场及客户边缘化危机,加上矽智财大厂安谋(ARM)版图正快速扩展到全球MCU市场,大幅降低进入门槛,并造成MCU市场杀价混战,全球MCU版图大洗牌已箭在弦上。
  
继恩智浦(NXP)购并飞思卡尔(Freescale),近期高通(Qualcomm)传出有意买下恩智浦,加上微芯(Microchip)从戴乐格(Dialog)手上抢亲艾特梅尔(Atmel),接著赛普拉斯(Cypress)购并博通(Broadcom)旗下物联网业务,以及瑞萨(Renesas)宣布合并英特矽尔(Intersil),凸显全球MCU大厂纷砸大钱布局物联网市场,全球MCU战火一触即发。
  
不过,全球物联网市场大饼仍不是很具体,加上众多竞争对手凭借ARM的IP大刀,积极砍价抢攻市占率,对于过去擅长于少量、多样接单模式的中型MCU供应商,似乎愈来愈难找到生存空间,这亦让全球MCU产业除了排名前5大厂之外的其它MCU供应商,近期业绩表现呈现走滑趋势,并面临一波波的产业整并风暴。
  
芯片业者坦言,物联网市场商机其实并不容易吃到,除了各路人马全面加入战局外,ARM亦不断渗透全球MCU产业IP版图,甚至快速集成不少应用、产品及市场,让MCU供应商出现腹背受敌的危机,毕竟ARM透过全系列的高、中、低阶MCU IP,已大大降低全球MCU市场进入障碍。
  
由于各家芯片业者均可藉由ARM IP及软件程序资源,开发自家高度客制化的MCU解决方案,对于老字号MCU供应商而言,过去拥有的客户基础及熟悉相关开发工具等竞争优势,已难抵挡新进业者积极杀价的进攻策略,迫使老字号MCU供应商成长动能疲软,尤其是中型MCU供应商受影响最明显,陷入被迫退出竞争行列的困境。
  
事实上,近期很多芯片业者为加速取得全球物联网市场参赛权,投入大笔资金进行购并,相较于过去MCU供应商提供客户包括芯片、软/韧体、公版及产品开发平台等资源,在物联网应用世代,MCU供应商更必须备齐控制/电源管理及无线连结等解决方案,不仅竞争压力大增,MCU供应商若不砸大钱,恐怕就只能退出这场竞赛。
  
在物联网市场快速萌芽,以及ARM IP掀起全面攻势的过程中,中型MCU供应商生存空间正持续遭到挤压,业者预期未来全球MCU产业版图将大幅变化,呈现大型、甚至超大型MCU供应商独占特定产品、应用及市场龙头情况。
  
由于这些大型MCU供应商多专注在领先的技术领域,让小型MCU供应商得以拿下一些利基及更少量、多样的产品市场商机,反而是夹在中间的中型MCU供应商,恐将面临一波波的产业淘汰赛。

来源: DIGITIMES中文网

(直接点击图片可进入调查页面)

开发板测评图片
围观 276

作者:刘丹

随着物联网和智能硬件等新兴市场打开,MCU的应用范围进一步扩大,在此市场环境下,外资MCU厂商具有较大优势,尤其是在处理性能更强大的32位MCU上,呈现垄断状态。要打破这一僵局国产MCU还有哪些路要走?国产MCU如何才能紧跟市场步伐在新领域下跑马圈地?

32位MCU主导市场大势所趋 物联网应用需求强劲

得益于物联网的快速发展,市场研究机构预测在2016~2019年间,整体MCU市场营收成长率将逐渐增强(2019年成长率预测为9%),直到2020年仍有4%的成长率,MCU出货量则预测在该期间以CAGR为3.9%的幅度成长。在如此利好的形势下,本土MCU厂商纷纷加紧布局物联网领域,其中绝大部分MCU厂商看好32位MCU的发展。

上海灵动微电子股份有限公司总经理娄方超

上海灵动微电子股份有限公司总经理娄方超在接受本刊采访时表示,8位比较具有代表性的内核就是PIC8、80C51等,与32位核在运算能力上、结构上、存储器的类型上有非常大的不同,8位最常见的就是OGP型,存储空间在1K-4K之间居多,32位大部分都是Flash型,存储空间在16K-128K甚至更高不等。不同的存储结构MCU的程序编程方法、程序容量,处理业务的复杂程度也不一样。

正是由于上述结构上的不同,娄方超指出,8位、16位、32位MCU面向的终端市场非常不一样。娄方超进一步介绍道:“8位更多的是做一些简单控制或者程序控制,比如说像电饭锅小家电。而32位就可以应用于带流量、传感器、运动电机等这样一些比较复杂的场景中。”

上海微技术工业研究院设计服务市场总监孙新泰

上海微技术工业研究院设计服务市场总监孙新泰也表示:“现在8位元由于功耗和价格原因,市场方面已经很固定,也没有什么争议的,就是集中在玩具还有一些基本的家电。然而32位元的MCU产品就会越来越多,比如说玩具做得比较智慧一点,像玩具型的无人机就要用到32位元,或是一些比较复杂的遥控玩具。”

中天微系统有限公司技术总监陈昊

来自中天微系统有限公司的技术总监陈昊对此也表示赞同,此外他告诉记者,由于中天是做MCU的IP的,并与阿里巴巴有合作因此专门做了一些自主的市场分析,分析结果显示8位MCU目前仍有一定市场,但被32位MCU替代也很有可能。

陈昊称:“一个很可观的现实就是随着物联网的壮大,中天基于物联网的应用会与阿里巴巴做一个嵌入式阿里云的应用。基于此我们认为8位MCU不太能满足这种市场应用的发展需求,所以我个人认为8位未来可能还是在一些低端、成本要求低的应用领域上有一些量,但是要应用在物联网上,只要是跟“云”有一些关联的话,8位MCU可能就不太能满足市场需求。此外像中天现在32位的MCU从能耗比上可以做到跟8051直接竞争,因此如果32位MCU能在能耗比上做到跟8位MCU差不多的话,那8位MCU在市场上的生存空间也是会被进一步压缩的。”

除陈昊提到的能耗比这一问题外,孙新泰表示,8位MCU的优势主要还是在于价格方面。同时他也提出,只要任何带有智能、智慧标签的产品都会用到32位元,从目前来看64位目前还不太需要。因此孙新泰总结道,在家电部分,如果只是仪表控制那么8位元就够了,但如果智能到联网的话就需要32位的MCU来控制了。

对于32位MCU目前市场出货量比8位MCU低的问题,娄方超告诉记者,一方面是32位MCU推广时间相对晚,像8051从1981年发布到现在已经35年了,而且像PIC8位的集成度高,节约成本。但32位主要还是从2007年ST推广Cortex-M3这个系列才逐渐被人们接受,这几年市场增速才逐渐上来。

另一方面,从销售市场来对比,娄方超表示,一颗8位的MCU假设是0.1美金,一颗32位的MCU售价可能是在0.6美金,有数据表明2016年所有的4位、8位、16位售价总和小于32位MCU的售价总和,换句话说就是32位MCU出货量只是4位、8位、16位的1/6,但是因为其单价更贵,所以总价会更高。由此可以看出,从数量上32位并不能完全取代8位但取代的势头非常明显。如果大家能够定义出一个合适的32位MCU成本恰好能够取代成熟8位MCU市场,那么这个取代将是不可逆的。32位确实具有很多易用性、维护性、周边函数非常丰富,就像高级语言取代机器语言是不可逆的一样。未来这种趋势可能会很明显。

娄方超进一步表示:“目前很多人还是认为32位MCU处于高价、高性能的地位,但是随着加工的成熟,设计的优化,32位也有效往高集成度、高性价比的方向在走,像我们P011系列就是一个32位内核的产品,但是是定义在8位市场做竞争的,它有32位内核大量的优良特性,同时在其他方面也可以与其他8位MCU相媲美,此外P011一推出就接到很多客户的咨询。”最后娄方超告诉记者在同样外设情况下,32位内核本身并不会比8位MCU内核占的面积更大,成本更高。

抢滩物联网市场 本土MCU厂商的核心技术储备

既然32位MCU在市场空间上既有物联网这块大蛋糕,又大有取代目前出货量庞大的8位MCU的趋势,那么要在市场竞争中占有一席之地,本土MCU厂商在做何技术储备呢?

由于在架构上中天采用的是本土架构,因此与ARM有所不同,陈昊告诉记者:“ARM前期比中天耕耘时间更长,中天在架构上采用的是自研且向所有厂商开放的一种MCU架构,因此具有自主知识产权,而且大家也是希望看到有国产的MCU这种架构出来,客观上来说,从合作方式、研发方式以及性价比等方面,从市场推广的效果来看还是蛮受大家欢迎的。当然这两年的出货量也是突飞猛进的。所以我们是有自主知识产权的一个MCU的IP core,这个IP core从整个的工具链到软件编程方式再到与客户的合作都是开放性的。”

陈昊强调,中天自主研发的MCU IP core不仅得到市场的良好反馈,同时得到得到时任浙江省委书记张德江同志的首肯以及支持。“研发自己的MCU核,这也是我们一直坚持的一个方向,此外我们不仅仅是做一个产品,我们也是在做一个平台,虽然我们之前很多年一直很低调的在做产品和研发,但在市场上仍然有不少公司和我们合作,而且从客户反馈都还挺不错。”陈昊告诉记者。

对于中天目前要做的改变,陈昊形容现在的社会为一个“网红”时代,所以中天接下来不仅要在技术上继续耕耘,在市场上也会有所行动。陈昊表示,要让客户在使用中天的产品或者中天的IP后就认可中天这便是其努力的方向。对于中天微现在的市场情况,陈昊介绍目前已有60多家客户在和中天进行合作,有上百个得到License授权的项目,目前会与阿里巴巴进行YunOS的合作,针对阿里巴巴提出的Internet device的ID已经通过ITU-T(国际电信联盟通信标准化组织)并确立为首个物联网国际标准。

“由于ARM被软银收购,因此ARM接下来是不是会继续走IP这条路这是整个行业的人都十分关注的事情,反过来说,这对中天反而是个非常大的机会,因为继MIX被收购后ARM也被收购了,目前也就中天还在独立运作,而中国作为IC最大的产出与消耗国,中天希望能够抓住这次机会,立足国内行业,将客户利益放在第一位由此取得成功。”陈昊告诉记者。

当然自主研发MCU IP的挑战远比上述几个方面复杂,孙新泰表示,因为ARM是走一个生态路线,且已经形成一个完整的产业链闭环。如果今天有另外一家要进来,从一个小圈子里建立这样一个庞大的生态系统是非常具有挑战性的,其开发难度很大且推广难度也非常大,但是对于国内MCU厂商来说其授权费也会大大降低。

正是由于开发及维护一个MCU IP需大量资源,而市场上已有成熟的8位MCU及32位MCU生态,因此本土厂商更多选择基于已有的MCU IP并根据市场应用领域的不同推出不同的MCU产品。

娄方超表示,作为一个像灵动这样的专业的MCU厂商,如果去开发和维护一套8位的处理器系统,总的投入远大于去购买32位的ARM授权。娄方超告诉记者,有一些厂商会省去ARM授权这一环节,但同时也失去了支持最为广泛的全球MCU的生态。因此虽然采用ARM内核可能单颗芯片是会有额外成本,但就整个生态资源而言厂商实际上是赚了。

娄方超进一步表示,因为所使用的内核都是来源于ARM公司,所以本土MCU产品和欧美大厂是在同一个起跑线上,因此对本土MCU厂商而言,采用ARM内核不仅开发周期短,资源更成熟,最重要的是可以在产品一推出就直接与国际厂商竞争,这也是本土MCU厂商的一大机遇。

然而在实际产品开发过程中,由于32位MCU主打与物联网相关的领域,但是对于物联网,哪怕是专家也很难去定义清楚物联网的具体形态是什么。娄方超告诉记者:“物联网本来就是物与物相连的一种形态,所以目前的物联网给人的感觉还是比较笼统比较虚化的,但是我们在看到的是一个个新的应用出现,比如说无线POS机等,因此MCU厂商要做的更多时候是将应用的底层需求抽象出来,针对新的应用定义好一款产品。”

娄方超表示,灵动在攻克嵌入式闪存技术时花了很大精力,因为灵动认为嵌入式闪存技术取代原有的OGP技术,EEPROM技术是不可逆的。他进一步解释称,因为嵌入式闪存更符合开发工程师的开发习惯,可以很容易的直接采用C语言做开发,这就改变了以前采用汇编去开发的方式,而且现在已经有部分厂商开始进入图像化编程的时代,这将对存储系统要求更高,而迎合大众的编程习惯才是目前最重要的事情。

同样做MCU产品的SITRI,针对MCU低功耗做了多种省电模式,对于其中的挑战,孙新泰表示,首先晶圆工艺上的一个挑战就是当关掉MCU的时候,漏电流低。例如台积电采用的工艺0.18um的ULL(Ultra Low Leakage)工艺,也正是SITRI所采用的,华虹宏力也在推出一种低功耗的工艺,中芯国际也专门为IoT推了一个55nm的工艺,因此当MCU不使用的时候省电多少主要依赖于工艺上晶圆漏电能做到多低;其次,当MCU在使用过程中,MCU厂商需做到在不需要微处理器运行的时候就尽量不要用,因为以低功耗的角度来讲的话,不用才是最省电的,因此要设计各种不同的省电模式,比如有时候只开RTC不开CPU,或是只开SENSOR不开RTC之类的情况。而设计这些省电模式的目的就是为了尽量不唤醒CPU,在确实需要唤醒的时候做到短时唤醒。

产品定义决定产品“生死”

在技术上,由于内核由现成的MCU IP公司提供,因此MCU厂商更多的只需将外设进行完善,而这一完善就涉及到产品的定义。

“定义决定生命!”娄方超这样告诉记者,“产品定义非常敏感,一般是经过多方调研后慎重决定的,所以今天所见灵动微电子每款MCU产品留下来的规格都有其很长的故事。”

“首先我们在内核选择上,看中了ARM成熟的生态,选择成熟生态后就可以很快与欧美大厂进行竞争,第二就是我们会去选择领域,去分析判断哪个领域的MCU卖得最好,比如M0卖得最好的就是带4K SRAM,32K Flash的,M3因为性能更强,所以SRAM要加倍,Flash也要加倍,然后将成本核算好并将其与目标市场做一个对比之后,如果有机会那就进行投入。再加上我们自己开发的函数、参数进行评估等使得我们产品被行业所接受。”娄方超强调,灵动与其他MCU公司最大的区别就在于一直在思考如何定义好一个产品,即要把MCU做成什么样子,要销往何处。

对此孙新泰也表示,由于目前SITRI主要做低功耗的MCU产品,而低功耗一个突出的特点就是采用电池,即无源设备(主要包含一些便携消费类电子),而这些设备主要用到的还是M0/M3/M4这个三种内核,因此SITRI推出的是基于ARM Cortex M0+的MCU产品。

因为做MCU基本上一半的成本都决定在产品的定义上,因此对于MCU厂商来说,产品定义非常重要,所谓产品定义并不是说做得多就好,而是要看准一个对的方向。因此孙新泰表示,SITRI仍然会沿着M0继续做优化。

“因为我们定义在物联网,而物联网的每个节点都需要带一个MCU,而每个节点都需要去收集数据,MCU就是在数据收集完成后做第一期的处理,再把有用的数据送到云端。”孙新泰告诉记者。

对于如何结合产品定义选择内核这一问题,孙新泰告诉记者,其主要的技术就在于Library,Library写得比较完整的话对上面写应用程序的人来说就会比较方便,而ARM的话库函数非常齐全,且许多属于开放源码,因此国内厂商在采用ARM系列芯片的话会非常方便。所以国内厂商基本都是基于ARM内核对MCU外设存储等进行的一些扩充,所以对系统开发来讲,一种就是应用场景,就是根据对使用者经验的了解做最好的软件,另外一种就是针对某种特殊应用开发一种自己的算法,例如最近炒得最多的就是指纹辨识,而识别算法则是由一些专门的算法公司提供。

为切合上述要求,陈昊告诉记者:“中天的MCU IP是具有灵活度的CPU,是可以灵活裁剪的core。比如做一个基础的IP core上面有一些基础指令集,基于基础指令集我们可以帮助客户去设计一些专用的客选指令集,另外一些运算单元也可以做比如DSP或者浮点单元等的引擎,架构也是与中天的核绑定在一起,做成一个屏幕核的模块,基于客户需求,我们将这些可配置的紧耦合模块进行逐步累加,以此来实现组合和裁剪。”

由此可以看出中天由于采用了具有自主知识产权的架构,因此与ARM的指令集不同,但是中天微作为一种开放的MCU开放平台,陈昊表示可支持标准C的开发甚至可提供底层开发包,因此客户用起来也十分方便也感受不到与ARM内核的差别。

组合模块为MCU锦上添花

在未来的物联网应用领域,陈昊告诉记者,市场上MCU+传感、MCU同核异构等方式中天均可以像ARM一样实现通用。此外,陈昊还强调,中天的CPU或MCU可以做一个复合式的SOC,例如有客户的SOC中采用了中天微的高性能的CPU用以计算处理,而传感器管理或功耗、安全管理则是采用的中天的MCU。

娄方超也表示,MCU未来肯定是要与WIFI/传感器组合在一起的,而且灵动目前也已经往这个方向发展。娄方超称:“目前已有公司提出将MCU提供给他们然后将传感器与MCU组合在一起,这样传感器将不再与外部处理器做信号传输,而是直接传给MCU,MCU处理好以后直接将处理结果传到外部去。”

“这是一定会发生的,并且好几种无线+MCU的模式我们都已经在做了,年底就会送样了,MCU+FPGA也已经有公司在做,但是FPGA难度比较大,且FPGA往往内部也有内置一颗MCU,所以灵动在这一块并没有涉猎。而大小核目前已经有M系列的核加A系列的核,我认为这是一个非常好的idea,之前也有厂商有这样的诉求,所以这一组合灵动接下来也会有所考虑。此外MCU+DSP可见于ARM的Cortex-M7系列便已集成。”针对未来不同的应用组合方式,娄方超做出上述总结。

而孙新泰则告诉记者,因为要推出一种新的组合方式,其开发成本很高,时间投入也会非常大,如果产量不够大很有可能之前的开发费都赚不回来。因此这主要是一个经济上的考量并不是技术上的障碍。

面对“万物互联”这一趋势,本土MCU厂商深耕细作,从产品定义出发,贴合市场不断进行自主IP架构、低功耗、外设扩展性能等方面的技术创新,发挥本土服务支持优势,相信在物联网广阔的应用空间下定有一方热土。

文章来源:华强微电子

(直接点击图片可进入调查页面)

开发板测评图片
围观 461

在上一篇文档中,我们向大家分享了如何使用IAR本身自带半主机(semihost)模式来调试程序,但是每10ms输出一个字符的速度实在让人难以接受。今天就向大家介绍一个输出速率更快的,使用同样方便的调试方法-SWO引脚的使用。

在Cortex-M3\M4系列MCU中,内核的调试组件都有一个仪器化跟踪单元(ITM)。ITM的一个主要的用途,就是支持调试信息的输出(例如,printf格式输出)。ITM包含了32个刺激端口,允许不同的软件把数据输出到不同的端口,从而让调试主机可以把它们的信息分离开。每个端口都可以独立的使能/除能,还可以允许或禁止用户进程对它执行写操作。那么这些与MCU的SWO引脚有什么关系呢?刚才我们有说ITM包含了32个端口,其中SWO引脚,就是ITM模块的端口0,我们可以直接用它来输出一些调试信息。那么现在就看看如何使用它吧。

把MCU的SWO引脚同J-link等调试工具连接在一起,因为K64开发板已经直接引出SWD接口了,所以我们就直接连接了J-Link。如图 2所示,第6脚就是SWO引脚。

图 2 SWD接口

当MCU连接好J-link之后,我们在工程中的主函数起始处添加stdio.h文件,如下所示。

#include

接下来为了能直接调用printf函数格式化输出,又需要用到我们之前提到的重定向技术了,只是这次不是重定向到串口,而是ITM模块的0通道,即SWO引脚。如程序清单 1所示。

程序清单 1 重定向代码
int fputc(int ch, FILE *f) {
ITM_SendChar(ch);
return(ch);
}

其中ITM_SengChar函数是core_cm4.h内核文件里定义的内联函数,我们可以直接调用。

完成重定向之后,我们写了个定时打印HelloWorld的程序。打开Keil工程的【Options for Target】->【debug】->【settings】->【Trace】,对Trace选项卡进行如图 3所示的配置。

图 3 Trace选项卡配置

点击确定之后,进入调试模式,打开【View】->【Serial Windows】->【Debug(printf) Viewer】,这时我们就可以看到MCU通过J-link向编译器输出的打印信息了,如图 4所示。打印速度还很快哦。

图 4 Debug Viewer窗口

到此我们算是学会了使用SWO引脚来调试输出了,是不是很酷哦。细心的网友可能会发现为什么Cortex-M0\M0+内核的MCU没有找到SWO引脚呢?这是因为它们采用的还是ARM-V6的老架构,内核的调试组件没有ITM模块。

又是一个遗憾,本来以为找到了最合适的调试方法,却对MCU的内核有限制。那么有没有一种调试方同时具有SWO的优点,并同时能在Cortex系列内核的MCU中使用呢?

围观 1908

摘要:近年来,便携式电池供电应用的日益普及促使设计人员致力于将更多功能集成至更小的产品中。这些增添的功能,尤其是无线通信功能,对系统电源提出了更高要求。如何在实现所需系统功能的同时延长电池的寿命成为设计人员需要解决的一大挑战。单片机特性近年来的发展,包括各种集成特性和外设,嵌入式设计电源管理的实施变得更加简单灵活。同时,这些 MCU 也推进了设计技术的进步。

更多功能、更少功耗

也许您不曾注意到,我们周围的一切似乎都变得越来越智能,几乎所有东西都能联网。鞋子装上了传感器,您可以根据智能手机上显示的步数来调整跑步时间。体重秤不仅可以将您的体重数据自动保存至云端跟踪应用程序,它还能通过智能手机发送提醒,告诉你为什么上次吃甜甜圈不是好主意。只要在锅炉旁边安装一个小型无线传感器,您的家居安防系统就可以在车库出现漏水时用手机短信通知你。

随着技术的不断进步,便携式电池供电应用的普及程度迅速提高。因此,工程师们一直力争让自己设计的每个产品都能在升级换代时增加更多的功能并缩小整体的尺寸。然而,这些新增的性能对系统电源提出了更高的要求。如何在更小的空间内添加这些新功能并延长电池的寿命,给设计人员出了个难题。

传统的电池供电应用设计理念就是让尽量多的模块在尽量长的时间里保持在低功耗状态,偶尔需要执行任务时才被唤醒,任务完成后又再返回到休眠模式。在一个包含多个MCU/MPU 和元器件的复杂设计中,低引脚数 8 位单片机经常被用于系统监控功能,根据需要来执行一些类似打开和关闭模块之类的管理任务,这样能最大程度的提高功效。然而,大多数的设计仍然是采用一个主单片机搭配许多集成外设来实现所需的系统功能。在这种情况下,主单片机的功耗就成为关键的参数。然而并非所有单片机均具有良好的低功耗性能。在这一方面,许多应用中 8 位单片机比 32 位器件更胜一筹。部分 8 位单片机在最低功耗设置时电流消耗可低至 20 nA,而同样情况下 32 位器件的电流消耗最低也比 8位单片机高 10 到 20 倍左右。

将单片机从休眠状态中唤醒的方法有许多种。一种常见的做法是使用单片机的内部定时器定期唤醒系统。这个定时器经过配置可以在溢出发生时触发中断。一个带 1:8 预分频器的16 位定时器,外加一个独立运行的 31 kHz 低功耗内部振荡器(或者带一个外部晶振)可以让器件休眠 17 秒左右。另一种做法就是使用 MCU 自带的看门狗定时器(WDT),理想条件下其待机时间最长可达 256 秒,期间消耗的电流约为 440 nA。(同样的,一个启用了 WDT 功能的 32 位 MCU 典型情况下消耗的电流至少是一个 8 位 MCU 消耗电流的 3倍。)

以不需要频繁唤醒的应用为例,比如环境监测器,它大约每四小时被唤醒一次以读取湿度传感器的数值然后再次返回休眠状态。这是不是意味着由于内部定时器的限制,我们不得不需要进行更频繁的唤醒操作呢?不一定。其中的一个选择就是在需要时使用实时时钟(RTC)和晶振来提供以小时、天、月甚至年为单位的精确计时。当然,往往因为成本原因并非所有的单片机都会集成 RTC 和晶振,这时我们可以考虑使用分立式 RTC。

独立于内核的外设

另一个可以延长待机时间既无需添加任何元件也不会出现功率损耗的选择,就是使用某些新一代 8 位单片机器件所包含的特有外设。举个例子来说,设计人员可以将这些 MCU 自带的一个可配置逻辑单元(CLC)和它的数控振荡器(NCO)与 16 位定时器连接起来,从而将待机时间从 17 秒延长至 205 天,这之后才会触发中断唤醒 MCU(见图 1)。当然,很少有一个应用会需要待机如此之久,但是如果需要的话,这个性能是可以实现的。而如果使用一个外部晶振来代替 MCU 自带的 31 kHz 内部振荡器的话,功耗甚至可以减少 50%,达到 2.3 µA 左右。

图 1:使用一个 8 位单片机独立于内核的外设可延长待机时间至 205 天,既无需添加任何新元件也不会出现功率损耗

我们也可以使用诸如开关或传感器等外部中断源来唤醒单片机。部分较大的 MCU/MPU 还有带优先级的多个中断,但是这些性能通常是市场上现有的大多数低引脚数 MCU 所不具备的。还记得我们在之前的例子中曾使用可配置逻辑单元模块来延长定时器周期吗?事实上,CLC 不仅可在 MCU 只有一个系统 INT 时创建额外的中断源,它还允许设计人员为唤醒程序添加条件逻辑或顺序逻辑,不仅更加智能而且还不会产生额外的电流消耗。对于需要用多个信号代表一个特定状态以唤醒 CPU 进行核实的系统来说,真实情况往往是 CPU被唤醒仅仅是由于一个信号发生了变化,而其它信号并未出现。现在我们可以配置和组合CLC 现有的逻辑功能和状态机,甚至多个 CLC 模块,来创建特定的唤醒条件,避免出现频繁的误触发和不必要的功耗。

虽然我们希望能在休眠模式下执行所有任务,但是某些任务是必须在工作模式下执行的,这个时候相对于所有其他模式而言,MCU 内核的功耗是最高的。这样情况就有点棘手了。如图 2 所示,这是系统在一段时间内产生电流消耗的一个简化图形表示。电流消耗线下的图形面积代表一段时间内所有的放电量,以库仑(Coulomb)为单位。如果休眠模式周期内所有面积的总和比工作模式大得多,那么休眠电流值就更关键,因为大部分的能耗发生在低功耗模式下。反之亦然,如果工作模式周期内的面积总和明显更高,那么休眠电流值和休眠模式下花费的时间就变得无关紧要了。

图2: 单片机在一段时间内产生电流消耗的图形表示

特别是带有诸如 Wi-Fi®或 Bluetooth® LE 等无线通信功能的应用更是对系统的功耗提出了挑战。这些系统的设计人员必须要考虑发送或接收的数据量,因为这将会直接影响总体电流消耗。此类无线模块可设为“信标”模式(“Beacon Mode”),以便周期性的唤醒和搜索信号;或者可以在不使用时进入待机模式。

模拟传感器需要搭配使用 MCU 的片上 ADC 模块。通常情况下, ADC 采样所需的时间比转换时间长得多。在工作模式下花费的时间越长,电流消耗的就越多。但是,部分带有 ADC模块的 MCU 允许在休眠模式下进行转换,这就最大程度的减少了在工作模式下所需花费的时间并因而降低了功耗。

部分 MCU 器件集成了多种低功耗工作模式。这些模式令人们可以在选择关闭内核处理器或降低内核处理器速度的同时,针对片上外设有选择地让系统时钟保持在工作模式。

我们经常听到这样一种说法,“内核的性能越高,执行任务的速度就越快,那么它就能越早返回到休眠模式”。虽然有些情况可能确实如此,但是这个逻辑是存在缺陷的。我们得记住内核的功耗比 MCU 中任何一个其他模块都高。另外,无论速度如何,所有需要内核的任务都必须按序执行(FIFO)。因此,在最后一项任务完成之前内核是不可以被关闭的。当单片机可以借助无需内核即可运行的集成外设来并行执行所需任务时,内核的速度就毫不相干了,并且整体功耗也会大幅降低。毕竟,这些新外设大多数都可以在 MCU 内核处于休眠模式时正常运行。

由于电池供电应用功能的增多,其设计也越来越复杂。工程师应该研究分析并充分了解每个部件在不同功耗和活动模式下的电流消耗概况,以实现最高的电池使用效率。有了全新的外设集,新一代 8 位单片机令工程师们无需牺牲系统性能就可以进行创造性的设计。

围观 534

在上一次文档中,我们阐述了如何使用printf函数在串口终端上打印输出,这种调试方法能在一定程度上满足我们的调试要求。但是有的时候串口资源已经被占用或为了节约开发时间不使用串口,这时我们就需要一个不依赖于MCU外设的调试方法。今天就向大家介绍一个非常经典的调试工具-半主机(semihosting)。

半主机是在调试ARM设备时,主机电脑可以与设备进行输入输出通信的一个机构。这个机构可以直接调用C语言库中类似printf和scanf的函数。这个机构的好处在于允许用户使用主机电脑的输入输出设备,方便了工程师们的软件开发过程。Semihosting 是通过设置软件中断(SWI)来实现的。调用了适当的软件中断和易于操作的软件中断的向量。关于半主机的实现原理,感兴趣的读者可以自行查阅资料,本篇文章重点介绍如何将半主机模式应用到实际的软件开发过程中。

打开IAR工程,在主函数文件起始处包含stdio.h文件,如下所示。

#include

在主函数中,我们调用printf函数打印一些与芯片有关的信息,编译完成之后,对工程按照图 2所示配置。

点击OK,进入Debug模式之后,按照如图 3所示,打开Terminal I/O窗口。

当我们点击全速运行之后,我们可以在Terminal I/O窗口看到如图 4所示的信息。

可以看到,相关的芯片信息已经通过semihost打印出来了,并且也可以获得用户输入的字符哦。是不是很酷?

当我们高高兴兴地看着打印出来的信息时,发现字符输出的速度很慢,查阅资料才明白,在半主机模式下,输出字符的速度大概是10ms每个字符!

God!多么好的一个调试工具,但是字符输出的速度也太慢了吧。那么有没有一种调试方法和semihost一样不占用MCU外设资源,并且字符输出速度也很快呢?当然有,敬请大家关注《浅谈工程师的调试法宝(3)之SWO引脚的巧妙应用》。

文章来源:周立功单片机

围观 518

在高科技产业往智能化与物联网应用的发展进程中,可看到各式智能终端产品、穿戴式装置、智能家居、工商业智能化生财工具,都已朝向智能互连的应用迈进,以建构出物物相连的全新世界。然在物联网的应用中,由于终端装置纷纷走向更轻薄短小、续航力更长、支持度更广的趋势下,促使微控制器(MCU)所扮演的角色愈来愈吃重,规格与功能要求上也愈来愈多而复杂。

不管是成本考量、功能导向、节能低耗、效能优先,还是从I/O传输到网通连结、从8位元到32位元,MCU芯片厂商在产品策略的规划上,也各自发展出多元化的产品组合,以差异化的产品功能、诉求、定位、价位,来锁定各自的目标客群,并各自有各自的拥护者。

ICT厂商跨足IoT市场 应审慎评估企业资源与自身角色

如今MCU市场朝向提供更宽广的MCU产品组合、模块化产品以及云端开发平台等趋势下,开发者在开发智能物联产品时,虽说有更琳琅满目的产品可供选择,但建议最好先检视新产品发展策略与设计方案,掌握客户需要的功能需求与使用重点,再来开发对的产品,才能在众多物联网应用产品中脱颖而出。

过去以来,ICT厂商都是仰赖在Wintel(或是ARM+Android/iOS)的开放、收敛平台来开发各式3C产品。这样的营运模式,是上游芯片厂商订好一两种软硬件开发平台,搭配几种规格与标准,让下游开发商透过Mass Production(大量生产)的方式,生产出多功能、少样式的各式ICT产品,以让客户与消费者买单。

但是,IoT的营运方式,就跟ICT完全不相同。IoT是发散的平台。标准非常多,OS平台多,有些是开放、有些是独断的标准。例如开发平台方面,就多达10几款,而且Profile和Middleware部份,也有各阵营所拥护的通讯标准。就连最终端的公有云服务,也有不同的供应商等等。因此,IoT是属于Mass Customization(大量客制)的少量多样、高度客制化的分众市场(B2B多于B2C)。

因此,正当产业与市场界线越来越模糊之际(ICT厂商跨足IoT,家电业者也跨足IoT,上下游互相抢生意),公司应审视企业价值定位与核心竞争力,通盘考量市场需求,以弹性的设计架构、生产模式、生意模式,并掌握企业的本身优势,以利进军IoT市场。

ICT大厂在IoT市场的布局

由于PC市场式微,智能应用与物联网正夯,使得Intel(英特尔)在往年偏重于PC运算与智能型手机平台的发展方向,也积极拓展其IoT的业务。其在8月16日举办的IDF开发者论坛中,就锁定在VR(虚拟实境)、AR(扩增实境)头戴装置、自驾车,以及未来的机器人开发上,整体讨论方向皆以物联网应用为主。

而Apple方面,除在Mac/手机/平板/智能手表有完整的产品规划之外,其在智能家居(HomeKit)、智能车(Car Kit)都有布局,以便进军3C/穿戴式产品之外更大的IoT市场。至于Google则是持续提供智能行动、穿戴式装置、VR、以及IoT等应用产品的更好开放式开发平台(Android、Daydream、Brillo、WEAVE等),搭配众ARM芯片厂商们,一同为ICT、IoT市场建构各式开放标准联盟。

与ARM架构兼容之32位元MCU产品布局

ARM挟其低功耗的优势,在行动装置市场攻城掠地,近年来更成立了IoT事业群,并建构其mbed开放平台,广邀各兼容于ARM Cortex-M架构的MCU芯片供应商,来共同推广其嵌入式开发平台,采用了ARM Cortex-M架构的MCU,都可以使用mbed的软件工具来开发。

不少MCU厂商在32位元产品上,都有规划与ARM Cortex-M架构兼容的产品组合,搭配自家开发工具。

非ARM架构之MCU产品布局

在低成本的8或16位元MCU市场部份,因各厂商的产品指令架构不同,也催生出不同的市场与应用。

更多样化MCU选择 创意与价值并重以满足IoT需求

由于从单纯提供MCU产品解决方案,到建构整个完整的物联网平台,这些都不是传统MCU厂商比较无法完整覆盖到的服务,因此近年来不少MCU厂商之间透过并购的策略,让自己的产品线与服务范围变得更宽广,以求在高度竞争的MCU市场发挥1+1>2的综效,提供更多样化的MCU产品与更广泛的服务范围。

不过,有些厂商则是透过与策略伙伴或下游厂商合作,共同推广自家MCU应用产品或开发模块,一改过去的成本或功能导向,而是以高度集成与更宽广的应用,甚至开发平台的概念,来吸引客户选择。

当然,除了在MCU技术集成上更强之外,创新与创意的经营也非常重要。因为IoT属于B2B2C模式,其中80%价值是来自于应用,要先有客人,才有对的产品。因此建议想进军物联网市场的企业们,事先做好市场调查,透过访谈、观察、了解消费者的需求,并针对使用者接口(UI)做好前后端的服务规划,从客户使用过程中,了解每个使用阶段的使用需求,以及会碰到的痛点,一一去帮客户解决掉各种问题。

总而言之,IoT的产品必须针对主打重点与强项,从硬件到软件,再到云端服务,都能提供一条龙的完整服务,为客户创造出价值,才是IoT产品是否致胜的关键。

文章来源:电子时报

围观 482

页面

订阅 RSS - MCU