您的位置 首页 解答

假如将8/16位微控制器升级成32位架构将会产生什么改动?

如果将8/16位微控制器升级成32位架构将会发生什么改变?-闪存占用量小:储存应用程序代码所需的闪存尺寸是影响系统总成本的另一个重要因素。考虑到32位指令比8位指令性能更强,并且能一次代替多条8位指令,因此可以假设应用代码尺寸基本相同(不包括常数表)。不过,通过输入LPC1100的8位代码的实际测试结果看,应用代码尺寸要小很多,甚至可以达到50%以下。

特定运用的微操控器选型分类有许多种方法。从内核处理器类型和存储器总线体系下手是其间常见的一种。是挑选8位、16位,仍是32位架构,一般有以下几个参阅规范:功用等级、可寻址存储器和体系本钱。

客户有时还或许遇到各种需求多内核架构的运用,这种状况意味着用户不只要花更多时刻了解并把握各种内核技能、外设编程技能和东西运用,还要在办理不同架构特性方面额外添加物流费用。

针对这一问题,恩智浦推出了依据32位ARM Cortex-M0处理器内核的LPC1100系列微操控器。该处理器是ARM公司Cortex-M系列尺度最小的一款,具有32位架构功用、低功耗和超小封装等长处。LPC1100是恩智浦半导体大获成功的LPC1000微操控器系列的最新产品(参见图1),首要针对现在8/16位微操控器占干流的低本钱运用的商场。

图1: 恩智浦Cortex-Mx微操控器系列

LPC1100彻底具有环绕LPC1300和LPC1700微操控器(均选用Cortex-M3内核)树立的生态体系优势。从比如UARTI2C和SPI等规范接口到高端的CANUSB,LPC1100外设品种彻底。LPC1000生态体系包含多家供货商供给的编译器和调试东西、各种操作体系和软件。因为LPC1100系列微操控器Cortex-M0可以向上兼容M3内核,因而可以完结开发同享。

本文将针对曩昔8/16位微操控器的几个单薄运用环节,要点介绍LPC1100的优势。此外,还将触及LPC1100怎么处理本钱、功耗和代码巨细等难题,以及怎么进步传统8/16位微操控器运用领域的体系功率。

节能

关于门、窗或照明操控等家庭主动化运用领域,首要选用传感器衔接到家庭主动化体系内部总线,这些总线和传感器从专用直流电路获取电流,大部分时刻都处于作业形式。LPC1100在作业形式下超卓的低功耗特色为此类运用供给了抱负挑选。

图2是一个从闪存履行代码并在RAM里操作动态数据的典型运用示例,显现了LPC1100在正常作业形式下几个内部体系模块的功耗状况。

图2: 20MHz内核频率的各模块耗电量

在电流耗费总量中,Cortex-M0内核和内部存储体系所占比重最大。虽然Cortex-M0内核的处理才能超强,可是选用该内核的LPC1100在无限循环运转时的均匀耗电量仅为150μA/MHz左右。

假如将8/16位微操控器升级成32位架构将会发生什么改动?

图3 正常作业形式下,从闪存履行代码的耗电量

估计在推出低功耗(LP)LPC1100新产品后,现有的LPC1100微操控器低功耗表现会得到进一步进步。作业形式耗电量有望降至130uA/MHz左右。

此外,因为M0内核选用32位架构,因而电流运用功率要高于8/16位架构。关于履行相同的核算使命,M0内核的实践运转速度可比8/16位微操控器低2-4倍,因而功耗要远低于8/16位微操控器。

关于“深度睡觉”或“深度掉电”形式,Cortex-M0内核的强壮处理才能相同有用武之地,与8/16位架构比较,32位架构履行使命的时刻更短,因而微操控器更多时刻会处于低功耗形式运转。新式LP系列产品将大幅削减深度睡觉形式(2uA)和深度掉电形式(220nA)耗电量。

运算才能

LPC1100十分合适一起处理微操控器(MCU)根本使命和各种操作数(8位、16位或更高位)运算。嵌入快速的32位Cortex-M0内核(最大频率50MHz)并坚持微操控器操作和编程灵活性(Cortex-M0 内核可以彻底选用C言语)是替代16位混合体系的最好处理方案。

Cortex-M0微操控器可以轻松逾越高端8/16位单片机。Cortex-M0内核的额外处理才能高达0.8DMIPS/MHz,是高端8 /16位单片机的2-4倍。因为DMIPS和MIPS有时并不能精确反映用户器材功用,因而图4依据一些通用的测验基准程序给出了各器材的相对功用。大多数常用Cortex-M0 Thumb2指令为单周期指令,一切8位、16位和32位数据传输在一个指令周期内完结。在8位和16位单片机中处理长字乘法运算一般要花很长时刻,但因为Cortex-M0内核是32位架构,恩智浦在LPC1100中选用了32×32位硬件乘法器,经过MULS指令,成功地在一个指令周期内完结了两个32位字的乘法运算。

图4 Cortex-M0相对功用

除法运算可经过软件完结,Cortex-M0关于各种操作数除法运算有相同超卓的表现。

关于详细的运用,杂乱的核算一般会触及屡次加法、乘法和除法。图5显现了一个杂乱核算的履行时刻,其履行条件是从闪存履行代码,选用浮点操作数共进行5次乘法、5次加法和1次除法核算。关于浮点运算,C言语代码可经过一个特定的Cortex-M0数学库函数做优化。

假如将8/16位微操控器升级成32位架构将会发生什么改动?

图5: 浮点运算时刻实例

从数学库向RAM从头优化一些重要的函数可以进一步进步功用。应该在RAM中调用这些库函数,这样可防止从ROM页到RAM页的分配进程呈现长分支,以缩短履行时刻。

中止处理

微操控器的功用不只要看履行速度,中止处理也一个重要方面。中止功用一般经过推迟时刻和颤动(jitter)表现。推迟是指从中止事情发生到进入中止服务程序的时刻,颤动用以描绘推迟的改变。

Cortex-M0经过将中止操控器和内核严密耦合,最大程度缩短了推迟时刻。最高优先级中止推迟时刻固定为16个时钟周期。中止操控器最多可支撑32个不同的中止源,包含一个非屏蔽中止输入。LPC1100对各种中止事情供给了专用中止向量,任何中止都会主动分配一个专用中止服务程序(ISR, Interupt Service RouTIne),无须软件处理。

为了缩短嵌套中止的推迟时刻,LPC1100选用了一种集成机制,假如高优先级中止在低优先级中止进入服务程序前抵达,可防止从头仓库。此外,LPC1100还支撑尾链功用(tail chaining),经过叠合反常出栈次序以及随后呈现的反常进栈次序可直接进入ISR,缩短推迟时刻。

体系本钱

影响体系总本钱有几个方面的要素,关于小型体系,内核和内存所占比重最大。

内核尺度:Cortex-M0内核专门针对低本钱运用开发,首要面向以往的8/16位小型微操控器架构商场。Cortex-M0内核的尺度仅为Cortex-M3的1/4,参见图6。关于外设较少、Flash空间有限的小型体系,较小的内核可以削减芯片的全体尺度。Cortex-M0逻辑门数量到达了最经典的8位内核水平,却带来了更超卓的处理才能,并为更强壮的Cortex-M系列处理器供给向上兼容性。

图6 Cortex-M0内核尺度

闪存占用量小:贮存运用程序代码所需的闪存尺度是影响体系总本钱的另一个重要要素。考虑到32位指令比8位指令功用更强,并且能一次替代多条8位指令,因而可以假定运用代码尺度根本相同(不包含常数表)。不过,经过输入LPC1100的8位代码的实践测验成果看,运用代码尺度要小许多,乃至可以到达50%以下。

ARM Cortex-M0履行Thumb指令集,包含少数运用Thumb-2技能的32位指令,参见图7。Thumb指令集是ARM Cortex-M3和ARM Cortex-M4支撑的指令集的子集,并与之二进制编码向上兼容。

将ARM7TDMI的16位Thumb指令和部分Thumb-2功用强壮的32位指令结合在一起运用,可以进步代码密度。编译器会挑选是运用16位仍是32位指令,终究代码中两者可以彻底共存。运转期间体系可以完结16位和32位代码无缝切换,无需像在运用ARM7TDMI时那样,需求专用指令。下表是一张Cortex-M0完好的指令集。

图7:Cortex M0指令集

整体来看,LPC1100在低本钱MCU商场具有很强的竞争力,其超卓的灵活性和强壮的功用将成为8位和16位架构占控制位置的各运用领域最有力的竞争对手。LPC1100支撑超小封装(16引脚CSP,2.5 x 2.5mm)以及易于操作的HVQFN和LQFP封装。该系列一切产品均支撑UART、I2C和SPI等常见外设,并可在LPC1000系列其他产品上复用这些外设的驱动。此外,LPC1100还支撑USB和CAN等高端外设,其驱动代码内嵌在ROM掩膜中, 因而Flash闪存可彻底用于用户自己的运用程序。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/347381.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部