MCU

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

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

专注于引入新品的全球电子元器件授权分销商贸泽电子 (Mouser Electronics) 即日起开始分销Microchip Technology的ATmega4809 8位单片机。ATmega4809单片机是megaAVR®系列单片机的新成员,旨在创建高响应命令和控制应用。此单片机具备独立于内核的外设 (CIP),便于通过硬件而非软件执行任务,其集成式高速模数转换器 (ADC) 具有参考电压,能够更快速地转换模拟信号。基于硬件的CIP使得ATmega4809单片机可用作Arduino Uno Wi-Fi Rev 2 电路板的板载单片机。

贸泽备货的Microchip ATmega4809 8位单片机基于高性能8位AVR® RISC CPU,其灵活的低功耗架构提供了三种休眠模式,让开发人员能够在处理速度与功耗之间取得均衡。ATmega4809的CIP包括可配置定制逻辑 (CCL)、循环冗余校验 (CRC) 和5个16位定时器,可降低延迟响应频率,进而改善用户体验。ATmega4809单片机坚固耐用且反应迅速,运行于1.8 V至5.5 V电压范围以及-40 ℃ 至125 ℃温度范围下。借助于经工厂校准的振荡器,ATmega4809能够在极端温度条件下提供高达20 MHz的稳定性能。

贸泽还库存有ATmega4809 Xplained Pro评估套件。此套件由Atmel Studio 集成式开发平台提供支持,可作为ATmega4809单片机的演示和评估平台,能够帮助开发人员了解如何将此单片机集成到定制设计中。ATmega4809 Xplained Pro评估套件集成了板载嵌入式调试器,无需外部编程或调试工具。此外,该评估套件还支持其他可扩展单片机功能的外设。

如需进一步了解Microchip ATmega4809单片机,敬请访问www.mouser.com/microchip-atmega4809-microcontroller

贸泽电子拥有丰富的产品线与贴心的客户服务,积极引入新技术、新产品来满足设计工程师与采购人员的各种需求。我们库存有海量新型电子元器件,为客户的新一代设计项目提供支持。Mouser网站Mouser.cn不仅有多种高级搜索工具可帮助用户快速了解产品库存情况,而且网站还在持续更新以不断优化用户体验。此外,Mouser网站还提供数据手册、供应商特定参考设计、应用笔记、技术设计信息和工程用工具等丰富的资料供用户参考。

围观 257

据IC Insights市场研究报告统计,受物联网、汽车电子、人工智能等行业应用带动,微控制器(MCU)销售规模预计将从2016年的166亿美元上升至2020年的209亿美元,年均增长率为5.5%。Arm嵌入式与汽车事业部市场营销高级总监Rhonda Dirvin日前接受了《电子工程专辑》的采访,不但畅谈了Arm在人工智能、先进工艺、异构处理方面的最新进展,也对与RISC-V架构的竞争做出了回应。

MCU喜迎AI新机遇,但先进工艺恐成“拦路虎”?看看Arm怎么说
Arm嵌入式与汽车事业部市场营销高级总监Rhonda Dirvin

电子工程专辑:自2017年以来,包括MCU在内的很多电子元器件、分立器件都传出缺货消息。您对2018年MCU市场需求状况是如何看待的?MCU价格走势是否会发生较大变化?

Rhonda Dirvin:据ICInsights预测,2018年全球电子系统市场将增长5%,至16220亿美元,而今年全球半导体市场预计将飙升14%,至5091亿美元,首次超过5000亿美元的水平。如果2018年的预测实现,每个电子系统中的半导体产品平均占比将达到31.4%,打破2017年创下的28.8%的历史记录。

Arm预计MCU市场在未来十年将会有巨大增长,尤其是在物联网的推动下。然而,其中许多芯片的成本将非常低,而这将不可避免地导致芯片的平均价格下降。

为了帮助芯片创新企业降低初期财务支出、风险并加快上市时间,Arm DesignStart提供了一条无需预付授权费即可获取嵌入式IP的途径。对于那些希望快速生产定制SoC的团队来说,这是一个理想的起点,因为它包括CPU和系统IP、免费的软件工具试用版,以及可获取广泛的Arm生态系统和知识库资源。

我们看到越来越多的Cortex-A处理器被应用于深度嵌入式应用程序,如果将这些Cortex-A设备视为MCU类,可能会增加MCU的平均价格。

电子工程专辑:人工智能、智能制造、自动驾驶是当前最为热门的应用领域,MCU在其中扮演着怎样的角色?

Rhonda Dirvin:工业自动化、机器人和自动驾驶汽车无疑为更加智能的微控制器提供了契机。AI芯片如果想取代传统芯片,需要具备更强的能力。例如,电机控制器可带有附加传感器来检测振动或噪声,以收集正在运行的电机的信息,然后使用机器学习算法进行电机的自动调节,提高电机运行效率。

目前来看,这些新兴应用尚处于起步阶段,规模并不大。但是,AI功能可以集成到每个MCU中。人工智能的一个子集是机器学习(ML),机器学习技术正被广泛应用于所有市场。有一个明显的趋势是,机器学习推理向“边缘”移动,甚至向最小的嵌入式设备移动,有时也被称为“远边缘”。用于Cortex-M CPU的CMSIS-NN软件库在M级设备上提供了优化的机器学习性能。这使得在“永久在线”的使用情况下,能够高效地执行机器学习应用程序,例如关键词检索和图像对象检测。

而自动驾驶需要不同类型的处理过程。某些部件需要确定性的实时响应和最高水平的系统性功能,以实现功能安全,基于Cortex-R和Cortex-M的部件可以提供这种功能组合;在一些解决方案中需要有不同安全级别的相关软件,Arm不仅提供了经过认证的工具链,许多实时操作系统也经过了认证,比如已经发布的Compiler 6和Keil RTX安全认证版本,以及平台安全架构(PSA),通过提供安全的基本构建模块,包括可信固件和示例案例分析,让安全实施变得更容易。

电子工程专辑:Arm如何将自己无可比拟的低功耗技术优势与人工智能应用相结合?

Rhonda Dirvin:AI本身也是可以节能的。例如,电机控制器可以通过附加传感器检测振动或噪声,以收集正在运行的电机的信息,然后使用机器学习算法进行电机的自动调节,提高电机运行效率。电机节省的功耗将比处理器使用的功耗大许多倍。

为了降低处理器消耗的功率,Arm拥有多种不同性能的处理器。一些用于低成本微控制器的Arm嵌入式处理器具有附加功能,用来加速机器学习算法中使用的数学函数,这可以减少其它芯片的面积和功耗。

大多数MCU都是使用较旧的节点工艺(55nm甚至更大)制造的,在这种情况下静态功耗基本不是问题。但当走向更小节点时,静态功耗就变成一个越发重要的因素。Arm的处理器与物理IP配合使用,可降低动态和静态功耗,这包括关闭当前未运行的功能块和降低电压,从而降低运行处理器所需的功耗。Arm为其Cortex-M微处理器及其神经网络处理器分别引入了优化的物理IP库,分别为POP和机器学习POP。

我们也确实看到许多领先的MCU厂商正在向更小节点演进(如40纳米)。例如,目前基于40纳米的NXP iMX RT处理器包含一个运行速度高达600MHz的Arm Cortex - M7处理器;瑞萨(Renesas)在其协同微控制器中使用40纳米工艺,而意法半导体(ST)在其近期发布的基于Cortex-M的STM32芯片中同时使用40纳米和90纳米工艺;SoC供应商RDA在其基于Cortex-M4的Wi-Fi SoC中采用了40纳米工艺。因为嵌入式闪存可用性仍然是许多MCU供应商的关键要求之一,所以要采用超过40纳米的工艺可能更具挑战性。

电子工程专辑:在MCU市场,同构和异构多核技术正成为主要趋势,您对其未来的发展有何看法?

Rhonda Dirvin:考虑MCU+MCU组合也很重要——例如,恩智浦和意法半导体都提供许多基于Cortex-M的微控制器产品,它们可以跟不同的Cortex-M处理器在非对称多处理(AMP)安排下协同工作。当然,在某些情况下,MCU+DSP、DSP+FPGA或MCU+FPGA是行得通的。但是由于在学习不同类型的技术知识以及使不同的内核能够有效地协同工作方面的挑战,采用这些组合可能收效缓慢或是有限。当然也有成功的案例——例如,赛灵思Zynq系列和Intel(Altera) Arria系列都提供基于Cortex-A处理器的部件,而Arm也在与各种供应商合作,为异构多处理领域提供新的创新解决方案。

在信号处理方面,Arm提供带有可选DSP指令集的MCU处理器解决方案,提供一体化控制和数据处理解决方案。嵌入式工程师可以非常方便地使用Arm Cortex-M处理器设计信号处理功能,节省开发时间、精力和芯片面积。此外,这也意味着工程师可以获得对广泛的Cortex-M生态系统、Arm软件库和合作伙伴软件编解码器的访问权限,为涉及传感器融合、语音和音频交互等技术的应用程序创造新机遇。

电子工程专辑:RISC-V架构最近的发展势头看上去不错,Arm是否感受到了压力?

Rhonda Dirvin:一直以来都存在相互竞争的架构,尤其是在MCU市场,RISC-V也不例外。Arm多年来已经证明,我们拥有得到广泛生态系统支持的一流技术。Arm的IP产品超越了CPU,还提供安全的、系统级的解决方案、软件和开发工具,以及广泛的第三方生态系统。Arm也有不同的授权模式来支持广泛的客户。中国客户特别感兴趣的是DesignStart计划,该计划提供免预付授权金的Arm IP。在过去12个月中,在300家DesignStart Pro项目授权厂商中,有40%来自中国,这使得很多初创公司能够设计生产定制化芯片。我相信由于Arm的持续投资并提供我们的合作伙伴和行业所需的解决方案,Arm将继续在MCU市场及其他领域取得成功。

电子工程专辑:您认为中国MCU企业这两年发展情况怎么样?如何看待中国MCU未来的发展?

Rhonda Dirvin:从全球来看,8/16位MCU约占总销售额的40%,32位MCU占60%。Arm是目前32位MCU的市场领导者,我们估计占有超过80%的市场份额。在中国市场,目前Arm在中国的授权客户数量已超过150家,中国半导体公司共累计出货了140亿颗基于Arm的芯片,中国公司制造的复杂SoC中约95%是基于Arm架构的。

中国本土的MCU供应商正在不断成长。他们与OEM厂商有着密切的关系,这样OEM厂商才能帮助他们针对最相关的终端应用产品来更好地定制芯片,同时进一步改进他们的MCU产品,以便在全球范围内竞争。一个很好的例子是兆易创新(Gigadevice),他们已经出货了超过2亿颗GD32 MCU,这是Arm帮助中国MCU合作伙伴实现双赢的一个很好的例子。他们选择了Cortex-M处理器,从而在Arm广泛的生态系统中获得了广泛的选择和灵活性。

此外,在日常产品中引入智能化的需求推动了对智能传感器和智能模拟SoC的需求,这种需求推动了定制化芯片的扩张并带来了许多好处,比如降低了组件成本、增加了功能和产品差异化。

为了推动芯片领域的创新,Arm还推出了Arm DesignStart项目,努力以最快、最简单、最低风险的方式来评估定制化芯片并将其商业化。它包括两个最受欢迎的嵌入式处理器(Cortex-M0和Cortex-M3)及其相应的系统IP,以及软件工具试用版、专家支持和丰富的资源,所有这些都无需预付授权费。

本文来源:电子工程专辑
作者:邵乐峰

围观 538

微控制器(MCU),国人更喜欢称为单片机,是今天电子产品的心脏,被广泛地应用到消费和工业电子产品中。小到体温计、无线充电器和智能手环,大到数控机床、机器人和汽车,都有MCU的身影。目前,MCU行业产值已经达到数百亿美元。随着物联网和新能源汽车的高速发展,未来MCU的市场需求将有爆炸性的增长,前景看好。

市场需求持续扩大

2017年MCU市场十分活跃,市场增长很快,尤其是消费电子市场。数据显示,2017年中国MCU出货量达到46亿美元,同比增加17.6%。据意法半导体(ST)在STM32峰会上的报道,ST有61%的收入来自亚太区,通用MCU的收入超4成来自亚太区。从2007年STM32问世到至今,STMCU在中国年复合增长率为27%。

另外一个方面,2017年下半年,MCU严重缺货,几家MCU大厂纷纷将供货周期调至14—16周,8位MCU的供货周期还要更长。导致严重缺货的原因有多个方面:比如8位MCU缺货是因为MCU企业将这部分产能转移到高利润的产品和应用上,还有中低端MCU生产的原材料短缺。市场研究机构预测,这种缺货情况将持续到2018年。

国产MCU亟待多端突破

最近业内有资深人士在互联网上发表一篇题为“MCU市场研究报告”的文章,文章列出了国内现有的40余家MCU企业,其中,就有大家熟悉的兆易创新、中颖电子、华大半导体、灵动微电子和东软载波(原海尔集成电路)等等。除此之外,还有一些很少被听说的企业,而一些从事MCU业务的企业并不在这个名单中。报告透露,接近半数企业获得了ARMCortex-M内核的授权,也就是说,这些企业具备开发和生产当今市场主流MCU的能力。

40余家企业中,并没有多少主营MCU的上市公司。目前,能够看到的有兆易创新、中颖电子和东软载波三家。其他厂家,比如华大半导体、大唐微电子、同方微电子和贝岭股份,多是大型集成电路上市公司,MCU只是其产品线中一个很小的分支(当然智能卡业务除外)。

中颖电子2017年的财报显示,2016年销售额达到5.18亿元,同比增加25.8%。从营收结构上看,家电及机电MCU约占60%,其他4个产品线分别占10%。MCU业务的销售额估计达到3亿元。中颖电子的发展重点是8位MCU和小家电应用。

兆易创新最新的年报显示,2017年实现营收20.3亿元,同比增长36.32%,其中MCU业务收入金额约为3.4亿元。中颖电子和兆易创新的年报数据,与研究机构“中国MCU市场观察”一文中的数据基本吻合。研究机构表示表示,2017年中颖、兆易创新和东软载波(包括集团内部交易)已经有5000万美元的销售额。

值得一提的是,作为国产32位通用MCU的领头羊,兆易创新MCU产品线已发展为19个系列、300余种芯片,可以覆盖广阔的市场应用。目前,其最新的ARMCortexM4系列也已经推出。

总体看国产MCU,不论是市场份额还是技术先进性,都无法和国外企业相比。对于中国企业而言,目前占据的主流市场还停留在8位MCU,占比50%左右。16/32位MCU占比分别为20%左右。这意味着,国内MCU应用领域多集中在低端电子产品,中高端电子产品市场还在外企手里。

40余家MCU企业中,生产32位通用型MCU的企业屈指可数。我们看到,除了兆易创新、灵动微电子之外,其他企业,比如华大半导体、航顺和致象尔微电子等,只有若干种通用MCU芯片。

技术上,多数国产MCU企业还是依靠ST的生态环境,甚至很多企业产品定义的编号也与ST类似。比如,STM32F103是最流行的32位ARMM3MCU,现有大约20款产品。国内某企业生产4款常用的产品,与ST的管脚兼容。这样的方法可以很容易地进入市场,尤其在市场缺货和价格竞争激烈的情况下。但是,这样的做法,会面对芯片硬件和支撑软件等领域的侵占知识产权风险。随着中美贸易摩擦的演进,政府也会更加重视这个问题,外企打击盗版的意识和决心也会越来越大。

生态环境建设上,多数国产MCU企业还停留在开发板、烧写器和基础固件库上,至于开发环境(IDE)、RTOS和中间件,依旧依靠第三方更高层应用的支撑,比如物联网、专业算法库、行业应用以及大学计划。值得称赞的是,宏晶电子和兆易创新支持举办了一些高校电子大赛,推动国家人才培养发展。虽然灵动微电子支持华为liteOS物联网操作系统、IAR和KeilARMIDE,但是与MCU外企大厂依旧相距甚远。

MCU企业投资雷声大雨点小

2017年7月,国家集成电路产业投资基金以14.5亿元收购兆易创新11%的股权,成为第二大股东。收购应存有战略层面的考虑,国产存储芯片的发展受到了越来越多的关注,但对于兆易创新第二大业务——MCU来说,无疑是利好的消息,为国产MCU进入工业领域打下坚实的基础。2018年的“中兴事件”,给人们做了一次集成电路知识大普及,随着社会对集成电路产业关注度的提升,MCU领域的投资也越来越多。

2017年5月,我曾撰写了一篇题为“全球MCU市场和技术发展趋势”的文章,也与许多关注MCU投资界的朋友进行了联系和交流。遗憾的是,我看到了一种现象:MCU企业的投资,雷声大雨点小,实际落地的投资非常少。原因不外乎两点:第一,企业发展前景不明确。第二,产品技术含量不高。给投资人留下的印象不外乎就是国产MCU企业现状是“凑合着过,先解决温饱”、“如果遇到大单可以小赚一把”。我想,作为投资人,追求成长性和回报率无可厚非,但是,作为一种高附加值的集成电路,MCU具有投资长、见效慢的共性。MCU研发是数字电路、模拟电路、通信技术、嵌入式软件和开发工具等多方面知识的综合,这些需要漫长的纠错和长期的发展过程,还需要终端用户积极配合,才能成功地嵌入到电子产品中。最终影响量产的因素还有生态环境,消费电子发展快,工业和汽车电子周期却很长。售价不到1美元的32位MCU芯片的研发和应用过程并不简单,需要投资人充分理解。凡事都有两个方面,正因如此,客户使用MCU芯片的忠诚度要高,持久性要长。MCU企业也要保证产品的长生命周期(EOL),以支持工业、医疗和汽车行业客户。

MCU生态有助于我国产业发展

打铁还需自身硬。国产MCU企业应该树立远大理想,跳出8位MCU、低端产品和解决方案三大指挥棒,积极研发32位MCU,进军中端产品和发展通用性芯片及其解决方案。过去2年间,已经有不少企业研发32位芯片,有的是ARM核,有的是开源RISC-V核。但是,因为市场价格压力,都没有坚持推广,更没有充足的信心和资金发展32位通用性MCU系列产品。

2017年,MCU缺货给通用型MCU企业一个绝好机会,相关订单逐渐转向供应商,业内人士分析台湾新唐、和盛群、北京兆易创新等芯片厂商将在缺货潮中获利。

建立MCU生态一直是国产MCU的短板。对于获得ARM内核授权的国产MCU企业来说,ARM多年打造的生态环境是一个很好的跳板。但是,如何打造出差异化是一个难点。在MCU基础核心技术方面,国内企业应有积累和创新,比如超低功耗、无线、高精度模拟和存储技术。在软件和应用上,国产MCU应加强与中国软件企业合作,打造自主可控的嵌入式系统生态环境,比如华为LiteOS、阿里AliOS和RT-thread。这些嵌入式和物联网的OS已经具备主流嵌入式OS的基本功能,再结合阿里和华为云平台优势,在物联网领域内的应用颇具特色。同时,在服务上,国内企业更具特长。

有报告显示,全球MCU市场将于2020年达到高峰,销售额达209亿美元,销售267亿颗芯片。研究报告表明,2018年中国市场将会达到50亿美元,2021年将有64.2亿美元。目前全球十大MCU企业中还尚未有中国企业。从销售额看,我们与国际的距离还很远。MCU作为通用电子产品的基础部件和心脏,重要性不言而喻。希望政府部门、研究和投资机构重视国产MCU的发展,建议重点扶持有专业特色的MCU企业,经过3—5年发展,整合成有一定规模的企业。5—10年打造出销售额达到10亿美元、可以进入全球MCU前十名的大型MCU企业。

注:本文作者何小庆系中国软件行业协会嵌入式系统分会副理事长

来源:中国电子报

围观 473

任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:

MCU的特点

要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。

了解这些MCU Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确那些资源是目前所需要的,那些是本项目所用不到的。对于项目中需要用到的而所选MCU不提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现,例如,所开发的项目需要与PC机COM口进行通讯,而所选的MCU不提供UART口,则可以考虑用外部中断的方式来实现;

对于项目开发需要用到的资源,则需要对其Manua*进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。对于MCU学习来讲,应用才是关键,也是最主要的目的。

明确了MCU的相关功能后,接下来就可以开始编程了。对于初学者或初次使用此款MCU的设计者来说,可能会遇到很多对MCU的功能描述不明确的地方,对于此类问题,可以通过两种方法来解决,一种是编写特别的验证程序来理解资料所述的功能;另一种则可以暂时忽略,程序设计中则按照自己目前的理解来编写,留到调试时去修改和完善。前一种方法适用于时间较宽松的项目和初学者,而后一种方法则适合于具有一定MCU开发经验的人或项目进度较紧迫的情况;

指令系统千万不要特别花时间去理解。指令系统只是一种逻辑描述的符号,只有在编程时根据自己的逻辑和程序的逻辑要求来查看相关的指令即可,而且随着编程的进行,对指令系统也会越来越熟练,甚至可以不自觉地记忆下来;

MCU的基本功能

对于绝大多数MCU,下列功能是最普遍也是最基本的,针对不同的MCU,其描述的方式可能会有区别,但本质上是基本相同的:

Timer(定时器):

Timer的种类虽然比较多,但可归纳为两大类:一类是固定时间间隔的Timer,即其定时的时间是由系统设定的,用户程序不可控制,系统只提供几种固定的时间间隔给用户程序进行选择,如32Hz,16Hz,8Hz等,此类Timer在4位MCU中比较常见,因此可以用来实现时钟、计时等相关的功能;另一类则是Programmable Timer(可编程定时器),顾名思义,该类Timer的定时时间是可以由用户的程序来控制的,控制的方式包括:时钟源的选择、分频数(Prescale)选择及预制数的设定等,有的MCU三者都同时具备,而有的则可能是其中的一种或两种。此类Timer应用非常灵活,实际的使用也千变万化,其中最常见的一种应用就是用其实现PWM输出(具体的应用,后续会有特别的介绍)。由于时钟源可以自由选择,因此,此类Timer一般均与Event Counter(事件计数器)合在一起;

IO口:

任何MCU都具有一定数量的IO口,没有IO口,MCU就失去了与外部沟通的渠道。根据IO口的可配置情况,可以分为如下几种类型:

* 纯输入或纯输出口:此类IO口有MCU硬件设计决定,只能是输入或输出,不可用软件来进行实时的设定;

* 直接读写IO口:如MCS-51的IO口就属于此类IO口。当执行读IO口指令时,就是输入口;当执行写IO口指令则自动为输出口;

* 程序编程设定输入输出方向的:此类IO口的输入或输出由程序根据实际的需要来进行设定,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD、LED Driver的控制总线等;

* 对于IO口的使用,重要的一点必须牢记的是:对于输入口,必须有明确的电平信号,确保不能浮空(可以通过增加上拉或下拉电阻来实现);而对于输出口,其输出的状态电平必须考虑其外部的连接情况,应保证在Standby或静态状态下不存在拉电流或灌电流。

* 外部中断:外部中断也是绝大多数MCU所具有的基本功能,一般用于信号的实时触发,数据采样和状态的检测,中断的方式由上升沿、下降沿触发和电平触发几种。外部中断一般通过输入口来实现,若为IO口,则只有设为输入时其中断功能才会开启;若为输出口,则外部中断功能将自动关闭(ATMEL的ATiny系列存在一些例外,输出口时也能触发中断功能)。外部中断的应用如下:

* 外部触发信号的检测:一种是基于实时性的要求,比如可控硅的控制,突发性信号的检测等;而另一种情况则是省电的需要;

* 信号频率的测量;为了保证信号不被遗漏,外部中断是最理想的选择;

* 数据的解码:在遥控应用领域,为了降低设计的成本,经常需要采用软件的方式来对各种编码数据进行解码,如Manchester和PWM编码的解码;

* 按键的检测和系统的唤醒:对于进入Sleep状态的MCU,一般需要通过外部中断来进行唤醒,最基本的形式则是按键,通过按键的动作来产生电平的变化;

通讯接口:

MCU所提供的通讯接口一般包括SPI接口,UART,I2C接口等,其分别描述如下:

* SPI接口:此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号;有些情况下则可能没有Ready信号;此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver;

* UART(Universal Asynchronous Receive Transmit):属于最基本的一种异步传输接口,其信号线只有Rx和Tx两条,基本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时间称为Baud Rate(波特率)。对于大多数的MCU来讲,数据为的长度、数据校验方式(奇校验、偶校验或无校验)、停止位(Stop Bit)的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。

* I2C接口:I2C是由Philips开发的一种数据传输协议,同样采用2根信号来实现:SDAT(串行数据输入输出)和SCLK(串行时钟)。其最大的好处是可以在此总线上挂接多个设备,通过地址来进行识别和访问;I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢,不像UART接口,有严格的速率要求。

* Watchdog(看门狗定时器):Watchdog也是绝大多数MCU的一种基本配置(一些4位MCU可能没有此功能),大多数的MCU的Watchdog只能允许程序对其进行复位而不能对其关闭(有的是在程序烧入时来设定的,如Microchip PIC系列MCU),而有的MCU则是通过特定的方式来决定其是否打开,如Samsung的KS57系列,只要程序访问了Watchdog寄存器,就自动开启且不能再被关闭。一般而言watchdog的复位时间是可以程序来设定的。Watchdog的最基本的应用是为MCU因为意外的故障而导致死机提供了一种自我恢复的能力。

MCU程序的编写

MCU的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对于一个高效的程序代码和喜欢使用汇编的设计者来讲,汇编语言仍然是最简洁、最有效的编程语言。对于MCU的程序编写,其基本的框架可以说是大体一致的,一般分为初始化部分(这是MCU程序设计与PC最大的不同),主程序循环体和中断处理程序三大部分(见图1 a 和 b),其分别说明如下:

初始化:

对于所有的MCU程序的设计来讲,出世化是最基本也是最重要的一步,一般包括如下内容:

* 屏蔽所有中断并初始化堆栈指针:初始化部分一般不希望有任何中断发生;

* 清除系统的RAM区域和显示Memory:虽然有时可能没有完全的必要,但从可靠性及一致性的角度出发,特别是对于防止意外的错误,还是建议养成良好的编程习惯;

* IO口的初始化:根据项目的应用的要求,设定相关IO口的输入输出方式,对与输入口,需要设定其上拉或下拉电阻;对于输出口,则必须设定其出世的电平输出,以防出现不必要的错误;

* 中断的设置:对于所有项目需要用到的中断源,应该给予开启并设定中断的触发条件,而对于不使用的多余的中断,则必须给予关闭;

* 其他功能模块的初始化:对于所有需要用到的MCU的外围功能模块,必须按项目的应用的要求进行相应的设置,如UART的通讯,需要设定Baud Rate,数据长度,校验方式和Stop Bit的长度等,而对于Programmer Timer,则必须设置其时钟源,分频数及Reload Data等;

* 参数的出世化:完成了MCU的硬件和资源的出世化后,接下来就是对程序中使用到的一些变量和数据的初始化设置,这一部分的初始化需要根据具体的项目及程序的总体安排来设计。对于一些用EEPROM来保存项目预制数的应用来讲,建议在初始化时将相关的数据拷贝到MCU的RAM,以提高程序对数据的访问速度,同时降低系统的功耗(原则上,访问外部EEPROM都会增加电源的功耗)。

主程序循环体:

大多数MCU是属于长时间不间断运行的,因此其主程序体基本上都是以循环的方式来设计,对于存在多种工作模式的应用来讲,则可能存在多个循环体,相互之间通过状态标志来进行转换。对于主程序体,一般情况下主要安排如下的模块:

* 计算程序:计算程序一般比较耗时,因此坚决反对放在任何中断中处理,特别是乘除法运算;

* 实时性要求不高或没有实时性要求的处理程序;

* 显示传输程序:主要针对存在外部LED、LCD Driver的应用;

中断处理程序:

中断程序主要用于处理实时性要求较高的任务和事件,如,外部突发性信号的检测,按键的检测和处理,定时计数,LED显示扫描等。一般情况下,中断程序应尽可能保证代码的简洁和短小,对于不需要实时去处理的功能,可以在中断中设置触发的标志,然后由主程序来执行具体的事务――这一点非常重要,特别是对于低功耗、低速的MCU来讲,必须保证所有中断的及时响应。

对于不同任务体的安排,不同的MCU其处理的方法也有所不同。例如,对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到此类项目均为手持式设备和采用普通的LCD显示,对按键的反应和显示的反应要求实时性较高,应此一般采用定时中断的方式来处理按键的动作和数据的显示;而对于高速的MCU,如Fosc>1MHz的应用,由于此时MCU有足够的时间来执行主程序循环体,因此可以只在相应的中断中设置各种触发标志,并将所有的任务放在主程序体中来执行;

在MCU的程序设计中,还需要特别注意的一点就是:要防止在中断和主程序体中同时访问或设置同一个变量或数据的情况。有效的预防方法是,将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行该数据的相关操作;而在其他的程序体中(主要是中断),对需要进行该数据的处理的地方只设置触发的标志。――这可以保证数据的执行是可预知和唯一的。

来源:网络

围观 385

Holtek新推出新一代触摸Flash MCU系列型号BS84C12C,内建12-bit ADC并全面提升抗干扰的能力,适用于同时需求「最多12个触摸键」、「显示功能」及「模拟讯号(如温度)量测」的产品应用,例如:电陶炉、电磁炉、触摸温控器、冰箱、烤箱、电饭煲、油烟机、取暖桌等。

HOLTEK推出BS84C12C新一代更高抗干扰能力的A/D Touch MCU

BS84C12C为BS84B08C的延伸型号,除触摸键增加至12键外,系统资源也较为丰富,此新一代触摸MCU,可抵抗各式噪声的干扰,如:电源噪声、RF干扰、电源波动等等,更通过CS动态10V的测试。BS84C12C工作电压2.2V~5.5V,最大提供12个触摸按键,LVR从2.1V~3.8V共4段选择,ADC提供8个输入通道,内建10-bit PTM及10-bit CTM可输出PWM信号,通讯接口支持SPI及I2C,引脚定义与BS84C12A-3完全兼容,原有PCB可直接替换,封装提供20-pin SOP/SSOP、24-pin SOP/SSOP、28-pin SOP/SSOP。

BS84C12C可当主控MCU,也可与其它主控MCU搭配只负责触控按键侦测。Holtek同时提供软、硬件功能齐全的发展系统,在软件上提供完整的触摸函式库,使客户能快速上手,硬件使用e-Link,并搭配专用的OCDS (On Chip Debug Support) 架构的MCU,可提供客户快速的开发及模拟,达到Time to Market的目的。

来源:HOLTEK

围观 374

当前的生活节奏越来越快,对计算处理器的要求也越来越高。即使是有摩尔定律的限制,人们仍然希望在单个芯片中塞入尽可能多的晶体管。尽管现在的MCU动不动就可以跑到几十上百兆,比如NXP高能效的LPC54100系列已破100MHz大关,通用型的LPC54600系列飚到210MHz,i.MX RT1050跨界处理器甚至飞到了怪兽级的600MHz,可是在当下应付图像处理和机器学习等计算大户时,仍然免不了出现“卡”的窘境。这个时候,如果能清楚地知道最消耗性能的具体函数,就有机会制定优化性能的策略。这也是圈子里常说的“profiling”(性能分析)。

有些价格相当昂贵的专业软硬件开发工具,都会提到它们有多么超强的profiling能力,这仿佛让人觉得profiling是有钱人才能玩得起,难道作为广大工程师我们就只能缩手缩脚吗?其实不然,在软件上想一点变通的办法,使用最便宜的仿真器,就完全可以在极小的开销下,做到好用够用的强大profiling利器,丑小鸭秒变金凤凰。

性能分析新思路

下面要介绍的方法的基本思想,就是密集地定期采集PC寄存器的值,从它的概率分布上估计最占CPU的函数。采集得越久,就越接近真实情况(大数定率)。

其原理是,在Cortex-M系MCU进入中断/异常时,会自动把被打断的位置(PC)存储在堆栈中。这样我们可以用汇编写一小段入口程序,读取出入栈的PC数值,作为参数传递给处理程序的C程序主体,在主体中统计PC样本的规律。只要采集了足够久的样本,在概率论的大数定理支持下,咱们就有信心估计程序中PC最常出现的位置,也就是最占CPU时间的函数。

为了贯彻这个思想,需要准备的只有:

1.工具链产生的 .map文件。无论是KEIL, IAR, GCC,在成功构建程序后,都会产生一个map文件来记录各函数和变量的位置。从采集的PC位置,查map文件判定是什么函数。

2.系统中有一个定期产生中断的时基。常见的就是SysTick定时器的周期中断,别的timer也可以。这个中断需要优先级比较高。

3.扩写定时器中断服务程序,按照前面的思路,加入这个屌丝神器。

这样,我们就可以把占CPU最多的计算型函数请到VIP区,它们与CPU有绿色快速通道,加速它们的执行。其实这个VIP区也是分等级的,从小V到大V,特权待遇相差还是明显的,小编今后再专开一文介绍不同VIP的特权。

要想让这个思路能可靠工作,还有几个关键的小坑不要踩:

1.PC最常在的位置并非一定就是最计算密集的位置。比如,程序中经常会出现等候外设寄存器的情况,CPU几万几亿遍地查看一个外设标志。这类IO忙等的代码即使放在大V区,也无济于事。

2.定时器中断的优先级不够高。如果有高优先级的中断服务程序占用了大量CPU时间,定时器中断就没有机会采集到它们,反而是在这些中断返回时定时器中断才得到服务,结果反而冤枉了被高优先级中断给打断的位置。

3.某个函数的工作频率与相位恰好和定时器中断产生“共振”,经常有机会在进入定时器中断的前夕在这个函数中,也会误以为这个函数是最占CPU时间的。这个情况一般是罕见的。

4.CPU负载比较轻,结果大量PC都采集到idle函数中。可能有小伙伴要问了,CPU都这么咸(闲)了,还淡操什么心?这个其实要以发展的眼光来看。比如,有可能随着功能集成的增加CPU终将有不堪重负的时候,或者系统负载不均匀而表现出明显的峰谷性,又可能希望让CPU尽管做完事好进低功耗模式。

转自:恩智浦
作者:宝木山石

围观 394

Holtek 24-bit Delta Sigma A/D Flash MCU系列新增BH66F5250、BH67F5250/60成员。具有抗RF干扰能力强,非常适合恶劣的24-bit A/D量测应用环境,内建LDO输出作为传感器的电源供应,例如:秤重、压力与温度的量测,对于各式电子秤、血压计、血糖仪、压力开关与其它量测类产品是很好的选择。

HOLTEK新推出BH66F5250 & BH67F5250/60 24-bit A/D MCU

BH66F5250和BH67F5250/60内建LED Driver、LCD Driver、OPA、LDO、PGA与24-bit Delta Sigma A/D,可以减少产品零件数目、降低成本及提高产能。在系统资源上具备8K/16K×16 Flash Program Memory、512/1024×8 RAM、128/256×8 True EEPROM、MDU、IAP、UART/SPI/I2C及Timer Module。

BH66F5250提供48-pin LQFP封装型式,BH67F5250提供64-pin LQFP封装型式,BH67F5260提供64-pin及80-pin LQFP两种封装型式。

来源:Holtek

围观 320

芯片的加密,保证了芯片内部信息的安全性。有工程师会问:芯片加密后别人还能解密吗?这芯片安全吗?本文将为大家介绍几种不同类型芯片的加密方式。

随着信息技术的发展,信息的载体——芯片的使用也越来越多了,随之而来的是各个芯片厂商对芯片保密性要求越来越高,用芯片加密的方式来确保芯片内部信息的安全性。其实芯片的安全加密问题与芯片的类型有关,不同类型的芯片加密后有不一样的效果。

市面上现有的芯片种类很多,主要包括Flash,MCU,ARM,DSP,CPLD等。

一、Flash类芯片加密

Flash类芯片包含SPI Nor FLASH ,并行Nor FLASH,NAND FLASH,EMMC等,这些Flash类的芯片都没有非常牢固的加密功能,对code区进行加密后,只能进行写保护,如果有人想复制你的代码,只要读取母片即可,所以这类芯片安全性较低。

你的芯片够安全吗?

将上图所示的信息设置好写入芯片后,对应的区域即进入保护状态,不能编程,擦除,只能通过清空加密寄存器中的信息,才能从新对芯片进行擦除,编程操作。

二、MCU,ARM类芯片加密

经常会有人就MCU加密保护后能否二次使用的问题进行咨询。对于加密后的芯片能不能二次使用这个问题,得具体看是哪个类型的芯片,类似于TI 的MSP430系列芯片加密后即不可进行二次使用,这个加密为OTP(One Time Programmable)型,只能进行一次烧录。其原理是通过高压烧断熔丝,使外部设备再也无法访问芯片,这个是物理性,不可恢复,如要加密,请慎用!

但对于大部分ARM芯片来说,加密后芯片还是可以进行二次使用的。类似于NXP ARM类型芯片有3级可选的加密,即Level 1,Level 2,Level 3。其中Level 1 就是不做读保护级别,即可以读出芯片中的数据,但不能对芯片进行编程,擦除操作。如果芯片被设置为Level 2保护,这种状态下,不能读取芯片内的程序代码内容,也不能对芯片再次做存储空间的擦写或芯片调试了。而Level 3级别的保护是不可逆的,保护后即不能进行其他操作。综上,3个级别当中的Level 1和Level 2加密后还是可以通过解密的方式对芯片进行第二次操作,这种加密等级设置是比较人性化的。下图为P800系列编程器加密设置操作界面。

你的芯片够安全吗?

三、DSP类芯片加密

该类型的芯片加密形式是通过在特定的区域写入客户的密码进行加密。这种加密是可逆的,可以通过输入对的密码进行任何操作。但是有一种方式是不可逆的,即密码为全“0”。其P800系列编程器加密设置窗口如下。

你的芯片够安全吗?

四、CPLD、FPGA类芯片加密

这类芯片加密后一般都可以通过擦除方式进行解密,不能对加密的芯片进行读取操作,这种加密对芯片来说还是比较安全的。

以上便是几种常见类型芯片的加密方式以及加密后的效果,用户可以根据芯片类型选择对应的加密方式,最大程度确保芯片内部信息的安全。

你的芯片够安全吗?

转自:ZLG致远电子 研发部

围观 421

Holtek 24-bit Delta Sigma A/D Flash MCU系列新增BH66F5252成员。具有抗RF干扰能力强,非常适合恶劣的24-bit A/D量测应用环境,内建LDO输出作为传感器的电源供应,例如:秤重、压力与温度的量测,对于各式电子秤、直流体脂秤与其它量测类产品是很好的选择。

HOLTEK新推出BH66F5252 24-bit A/D MCU

BH66F5252内建LED Driver、LDO、PGA与24-bit Delta Sigma A/D,可以减少产品零件数目、降低成本及提高产能。在系统资源上BH66F5252具备8K×16 Flash Program Memory、256×8 RAM、32×8 True EEPROM、UART/SPI/I2C及Timer Module。

BH66F5252提供24-pin及28-pin SSOP封装型式。

来源:HOLTEK

围观 387

页面

订阅 RSS - MCU