8一16位用户名,究竞怎样研究生报名填写奖励

内容字号:
段落设置:
字体设置:
精准搜索请尝试:
苹果支付Apple Pay究竟是什么?
来源:作者:康上明学责编:弥尘
要理解Apple Pay究竟是怎样的方案,我们首先要回到传统的信用卡支付系统中去,看看前辈们是如何解决线下支付这个问题的。传统信用卡支付是如何工作的?在没有信用卡之前,利益相关者很简单,只有2个:1.商户(Merchants)2.顾客(Consumers)顾客到商户的商店中用现金来交换商品。顾客随身持有现金,商户需要准备零钱来找零。这个购买流程非常传统。20世纪50年代,有个哥们到餐厅吃饭,结账时候发现自己没带钱,餐厅老板跟他急了,最后他不得不让他太太大老远跑过来结账。事后,他大呼怎么人和人之间最基本的信任都没有了?能不能基于信任建立一套赊账体系呢?于是这哥们创办了一个名叫食客俱乐部(Diners Club)的组织。凡是俱乐部会员到餐厅吃饭,亮出金光闪闪的VIP会员卡就能赊账消费。这个哥们名叫Frank McNamara,美国曼哈顿信贷专家。食客俱乐部会员卡就是信用卡的前身。食客俱乐部的成功让很多金融公司看到了机会,觉得有利可图(刷卡手续费),开始认真干起了信用卡生意。这里就要引进一个“信用卡组织”的概念。我们现在熟知的卡组织(Card associations)有Visa, MasterCard, American Express,还有,中国银联。卡组织并不是银行,他们的角色任务是制定交易条款,保证赊账可以顺利进行。后来卡组织越来越多,他们之间也开始竞争,信用卡积分,飞行里程兑换等等就是卡组织差异化竞争的产物,这里就不做展开。理论上来说,整个模式的运转是可以不牵涉银行的,顾客到店亮出卡片,商户记一下这笔赊账,让顾客签字,然后定期找卡组织要钱,卡组织又向顾客要钱。如果都是现金周转很费劲,用现在的话来说就是用户体验差。要做到顾客欠的钱直接从银行卡里扣,商户也能直接把钱收到自己的银行帐户中,这事才有可能成。于是卡组织就必然的要和各个银行搞在一起,各个银行一看这东西很喜欢。银行和卡组织联合发卡,一是能有效吸收现金;二是可以收利息呀,搞分期;三是可以收过路费(手续费),当然乐意搞起来。这就形成了现在的版图:1.商户(Merchants)2.收单方(Acquiring bank)C替商户收钱的金融机构,商户在他们这开户3.信用卡组织(Card associations)-制定规则4.发卡方(Issuing bank)C或者叫开户行,给顾客发信用卡的金融机构5.顾客(Consumers)五方参与者通过一张长85.60毫米、宽53.98毫米、厚1毫米的塑料卡片为媒介,建立起了一种新的信用卡生意模式。在这个模式中,各方利益者均获得了一部分好处,也相应的承担了各自的职责。顾客可以不带现金结账,发卡方能吸收现金和收过路费,卡组织赚过路费,收单方可以吸纳商户现金,商户接纳信用卡给他们带来了更多的冲动消费,解决了收现金的各种麻烦。信用卡消费的手续费对不同的商家不同,从1%到0.05%都有。公益类,例如学校,公立医院手续费会低至0%。当然最终这部分费用都转嫁给了消费者,在国内,手续费的收入分配就是大家熟知的“721分配”,7为发卡方,2为收单方,1为银联。关于信用卡的模式就不展开了,大家可以找到很多资料。垂涎已久的大蛋糕,两派竞赛开始支付到了这个历史时间点要被革命,只怪这蛋糕太大,太诱人。什么科技人文的十字路口都是扯淡,在市场经济中,只有对利益的不断追求,才是人类社会不断进步的根本动力。用罗辑思维节目的罗胖话说,“每个人都为自己考虑,这个世界才会变得更美好”――虽然听上去自私残酷,但真理或许就是残酷的。目前看,垂涎已久的狼分为两派,支付宝和微信支付是网络支付派,Apple Pay开启了新的一派。听我细细道来。支付宝为代表的网络支付派支付宝和微信支付代表的网络支付派,前几年就叫嚣说传统银行和金融公司不要数钱数得太爽,我们这些科技移动互联网公司总有一天要革你们的命。他们为什么有底气说这样的话?这要看他们是怎么发家的,下面以支付宝为例讲解。支付宝的模式就是线上支付,这个大家都很熟悉。但如果你对比上面的信用卡的版图看,就很微妙。在支付宝开户的过程中,是用户在支付宝平台上输入自己的银行卡、身份信息和银行预留手机号完成银行卡绑卡的,在支付宝上的商户也是一样的流程。这意味着商户和用户都通过支付宝连接,支付宝和各个银行直接打交道。没错,这里面没有银联和收单方啥事,支付宝取代了银联,对商户来说支付宝就是收单方。(严格的说,支付宝并没有完全取代银联,支付宝来不及直连的银行还是通过接入银联来提高自己银行覆盖率的。)随着支付宝的用户增多,用户接受度越来越高,用户就产生了用支付宝来做线下支付的诉求。支付宝也就开始琢磨怎么把线下支付这个更大的蛋糕抢到手。支付宝的优势很明显:1.庞大的网购绑卡用户2.和银行建立的良好合作关系3.回到线下支付的本质,它只要做到连接商户和顾客就可以,踢开其他角色,这样就可以把费率做到很低也就说,支付宝作为平台,通过互联网直接连接了商户和顾客,踢开了「收单方」和「银联」,从而可以降低费率,顾客的钱放到支付宝余额里,可以干很多事,做到0费率,甚至补贴给线下商户。对于银行来说反正都是被薅羊毛,被谁薅羊毛都差不多,支持支付宝,还可以让支付宝和银联相互牵制。等一下,刚才前面介绍的是信用卡的体系,是可以赊账的,支付宝不行呀?其实这不重要,信用卡做的事简单来说就是小额贷款,这是银行的老本行,支付宝也完全可以推出小额赊账服务。信用卡积分现在也是越来越水,支付宝也完全可以做会员积分体系,秒杀了信用卡的积分只是时间问题。说完了优势,我们来看看问题。支付宝为首的网络支付派系,最核心,最关键的挑战就线下推广问题,本质上是线下支付体验问题。如何让遍布在各个角落的商户和顾客群体愿意使用支付宝?我们已经可以看出它们的一些策略,关键点是:1.培养网络支付习惯(打车软件大战背后的真正推手其实是财大气粗的支付)2.线下商户地面推广,比如给店家低手续费,甚至倒贴钱,帮店家培训店员3.对顾客推广,例如用支付宝正在弄的支付立减15元,做会员积分4.支付体验创新,例如二维码支付等顺便说一句,支付宝主要业务在中国,所以它可以和中国的银行搞暧昧;如果要做国际业务,就要要和国外银行搞,全球扩张起来速度比较慢,这是支付宝模式固有的缺点。Apple蓄谋已久,破冰来袭Apple没有世界第一的电商平台支撑用户绑卡,没有支付平台,也没和银行搞暧昧,这怎么革命,难度好大,看不到未来呀!但Apple手上握着庞大的终端设备呀,或许真的有机会呢?在9月的发布会之前,就有传言说苹果将推出自己的支付解决方案。传言有两种,一是说,苹果将利用iBeacon和TouchID把线下支付放到线上进行;另一种则认为会是NFC与TouchID的组合。现在我们已经知道是苹果选择的是后者。可在Apple Pay发布之前,没几个人能想得清楚怎么做才能让这事成。Apple再一次以颠覆式的创新,证明了自己的牛逼!有小朋友坐不住了,说你别吹牛逼了,不就是「NFC +指纹」嘛,Google&为首的安卓阵营早就布局了NFC技术,Apple不就是多了指纹验证,发布指纹识别的时候,早想到了。如果你这样认为,那就太小看Apple了。我上面一千多字的铺垫绝不是废话哦。让我们回到传统信用卡支付的版图中来看,「NFC +指纹」是挺高科技的,但支付的核心是资金交换,其中涉及多个参与者,钱究竟如何从顾客的iPhone上倒腾到商户的银行帐户里的呢?好,我们分析一下Apple的能力:1.Apple学支付宝,去和银行直连?CApple一直都没有和银行合作经历,再说全球银行太多了,一家一家银行搞太慢。这是第一个死胡同,用户的卡没法绑到iPhone上。2.Apple推出Apple POS机,成为收单方?C凭借一个公司的力量要说服全球的商户使用他们的POS机收款没可能。这是第二个死胡同,没办法让商户接受新收款设备。3.Apple做卡组织,发布iCreditCard?C听上去都怪怪的,Apple从没做过信用卡生意,没办法去做一个规则的制定者,这也不是Apple所擅长的。完蛋,这事根本没法做呀,从银行到商户,什么都搞不定。没错,「NFC +指纹」只是对用户层面的支付体验,整个线下支付是一个庞大的设计难题,并非只做好体验就行。目标很清晰,Apple要设计一套完整的支付方案,而且这套方案要在全球范围内都适用。现在想想看,你还觉得很简单吗?Apple发现自己最擅长的其实是在支付环节的用户体验,它有iPhone,有指纹识别。在支付的体验上可以秒杀所有对手(Apple Pay的支付体验确实已经是目前最好的)。Apple下定决心,那就只做我最擅长的东西,其他部分就交给传统支付体系中的角色来做吧。iPhone上的「NFC +指纹」提供了无人能及的支付体验,目前只有苹果可以做到。NFC技术来代替原来信用卡的磁条,指纹来做授权验证,代替信用卡支付中的签名。简单来说,iPhone代替了信用卡塑料卡片,并且省去了签名。iPhone要代替信用卡,只需要和发行信用卡的卡组织合作就可以啦,全世界没几个卡组织,问题变得简单多了。于是Apple和几家卡组织搞暧昧去了,卡组织一看,妈呀,Apple简直就是救星呀,我们被网络支付要搞死了。可以想象,谈判很顺利。只有安全问题需要解决,卡组织不能让用户把信用卡信息放iPhone里,用户丢了手机就等于丢了信用卡,这风险太高,安全问题一定需要解决。技术问题都好说,Apple Pay方案如下:iPhone上不直接存储信用卡信息,而是一个由卡组织发放加密的一个token,存放在iPhone的独立安全芯片中(叫SE芯片),用它代替磁条上的信息,你可以理解为token和信用卡上的磁条等价。只有指纹认证通过的时候,iPhone才允许你利用NFC读取token出来。假设token泄漏,也无法逆向还原出信用卡信息。Apple Pay的绑卡是在线的,你需要首先在iPhone输入信用卡信息,Apple Pay把你的信用卡信息拿到卡组织处验证,卡组织验证通过后,将token发送到Apple Pay,存放在iPhone的安全芯片中。token的格式其实是一个16位字符串,它与传统POS机协议里的格式是兼容的!这意味着Apple Pay兼容整个传统信用卡支付网络,无论你是刷信用卡,还是用Apple Pay,在整个传统支付体系中是透明的。Apple Pay的支付过程是离线的,你可以把iPhone简单理解为一张信用卡。Apple Pay只做了苹果最擅长的事情,整个支付网络和传统信用卡线下支付没有任何区别,见下图:理解到Apple Pay的牛逼了吗?有同学可能已经怒了,我裤子都脱了你就给我看这个?同学,稍安勿躁,我给你分析一下,你也一定会细思极恐。既然Apple Pay只是代替了塑料信用卡,那整个交易,钱的流向还是原来的方式对吧?1.商户还是和它的收单方打交道,结算到了自己的帐户,而不是支付宝帐户,而且iPhone用户群之广,不支持就没法服务好顾客;2.收单方还是负责帮商户收单,没有被踢出游戏,定会积极更新自己的设备支持NFC;3.卡组织马上抱紧Apple大腿,恨不得认干爹;4.发卡方依旧还是按照老模式玩,发更多的信用卡,吸纳更多的现金,不用担心养大了“支付宝”,用户钱都不存它这了;5.顾客,依旧有他的信用卡积分,还是兑换他的里程,该怎么还款怎么还款,Apple Pay体验太好了,顾客使用它绝不是问题。Apple Pay没有消灭传统信用卡支付体系中任何一方,但给了这个世界最便捷的支付体验。我个人预测Apple Pay模式有极大的可能性成功,关键因素在于它并没有激进地破坏原有的支付生态系统,而是充分尊重了现有支付体系。OK,Apple如何赚钱呢?根据现有的报告,Apple Pay最终是向银行和发卡方处分到了交易手续费。目前这个协议并没有对外公开(也没有必要公开),The Financial Times&的消息是,通过Apple Pay的每100美元交易,苹果将从银行拿到15美分,也就是0.15%的收入(美国每天信用卡的交易额大约是120亿美元。)。讲到这里,相信大家都已经感受到了Apple这家公司的牛逼战略眼光。还记得Apple之前是如何颠覆音乐唱片业的吗?所有的歌曲单首销售,统一定价,这当中说白了没什么科技创新。这种战略和商业模式上的创新,在2014年Apple又搞了一回。线下支付的战火已经打响,留给其他支付相关公司的时间已经不多,我们即将目睹一次移动支付的革命。到这里说一些自己的感悟,从连接角度聊聊。我身边大多都是互联网人士,大家所熟知的,所谓的「互联网思维」,一般是破坏式、颠覆式的创新。确实,互联网进入传统行业,往往都是比较激进的破环、替换原有的传统连接,用互联网作为新的连接来提高效率,从而创造价值。建立新的连接是要付出巨大代价的,尤其是涉及那些必须在线下完成的经济活动(我们熟知的O2O)。Apple Pay给了我们新的启示――不去破环,而是更好的利用原有的连接,在连接中将自己作为新的角色参与到整个活动中,用自己所长给整套体系创造更大的价值,也是一种非常聪明和高效的模式。Apple Pay是Apple这几年做的最棒的一件事。全球如此多的手机厂商,为什么每一次移动的创新都来自Apple?我认为,这是Apple的DNA中一个重要的特质:Stay focused(专注)。Apple到现在为止的所有产品可以在一张桌子上放下,做加法谁都会,但没有几家公司能静下心来,专注地把几件重要的事情做专做透做好。引用一段Tim Cook的话:&It’s so easy to add. It’s hard to edit. It’s hard to stay focused. We know we only do our best work, if we stay focused. The hardest decisions we made are all the things not work on.这段话来自&Apple CEO Tim Cook on Charlie Rose FULL Interview Part 1 (2014),推荐大家都看看。还记得文章开始的哪几个疑问吗?还有最后一个问题:「Apple Pay能给其他手机厂商带来哪些启示?」,是不是手机厂商照抄Apple就没问题呢?肯定不是的。最后,是Apple Pay对比支付宝和微信支付的总结:PS:最近以沃尔玛为首的几个零售业巨头公开申明拒绝Apple Pay,其实读完本文你应该理解为什么了吧?零售业本来毛利率就不高,他们期望一个低手续费的方案,他们对信用卡长久以来都是hate-hate relationship,这次Apple也没能解救他们,于是决定自己搞一套支付体系。并不是“传统势力”在对抗“新型科技”,他们和科技没仇,说白了还是利益两个字呀。后续更新:&最近以沃尔玛为首的几个零售业巨头公开申明拒绝Apple Pay,其实读完本文你应该理解为什么了吧?零售业本来毛利率就不高,他们期望一个低手续费的方案,他们对信用卡长久以来都是hate-hate relationship,这次Apple也没能解救他们,于是决定自己搞一套支付体系。并不是“传统势力”在对抗“新型科技”,他们和科技没仇,说白了还是利益两个字呀。:)后续更新:&大家都关心中国银联什么时候支持,其实今年年初(甚至更早)银联就已经开始和Apple秘密合作了,大概今年年底吧,不会很久的。后续更新:&在发布会上介绍Apple Pay时提到了安全问题,说Apple不知道你买了什么,在哪里买的,什么时候买的,花了多少钱。其实这是因为Apple Pay的模式决定的,iPhone在线下消费就只是信用卡的替身,他们是无法获得这些信息的。支付宝不同,由于支付宝是平台,是要负责结算的,因此他们必须知道所有你的消费细节。在隐私方面,Apple Pay胜出,不过也是Apple的代价,用户消费数据对公司是非常有价值的。
大家都在买
软媒旗下软件:||||||||
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.
版权所有 鲁ICP备号8位或32位,MCU究竟该怎么选
8位或32位,MCU究竟该怎么选
&&/emb/danpianji/63.html2016  正如汽车代替了马车,电子邮件代替了普通邮件一样,32位元微控制器(MCU)让8位元MCU变得黯然失色。尽管未来8位元MCU朝向32位元MCU发展将会成为现实,但目前还没那么容易实现。事实证明8位元MCU和32位元MCU仍是互补的技术,在一些方面各有千秋,而在其它方面的表现却同样出色。这其中的窍门在于厘清何种应用适合哪种MCU架构。 
  本文比较了8位元MCU和32位元MCU的使用案例,可作为如何选择这两种MCU架构的指南使用。
  本文大部分32位元范例将关注于ARM Cortex-M装置,Cortex-M在不同MCU供应商产品组合中表现非常相似。由于8位元MCU有很多种架构,所以很难对8位元供应商之间进行类似的产品比较。为了进行比较,本文将使用广泛应用、易于理解的8051 8位元架构。
  事实上,「ARM Cortex和8051哪个比较好」不是个逻辑问题,反而像是在问「吉他和钢琴哪个好」?真正要解决的问题是「哪种MCU最能帮助解决目前面临的问题?」。
  不同的任务须使用不同的工具,使用者目的是要了解「如何才能善用所拥有的工具」,包括8位元和32位元装置。
  对不同的装置进行比较,须要对其进行测量。有很多建构工具可供选择,本文尽量选择一些认为能够进行最公平的比较,且最能代表开发人员真实体验的情境。
  以下ARM资料是透过GCC+ nanoCLibrary和-03最佳化选项所生成。
  此一比较试验并不为任何一种装置的代码最佳化,只是简单实现90%开发人员都会使用的常见代码,并呈现普通开发人员所见到的结果,而不是理想状态下的结果。当然,花费诸多时间、精力和财力去调整8051代码使其表现胜过ARM是可能的,反之亦然,但一开始就选择适合该项工作的最佳工具比费尽心力做最佳化简单多了。
  8位元MCU功效持续精进
  在开始对架构进行比较前,要注意到并非所有的MCU都是一样,这一点非常重要。
  如果将基于ARM Cortex-M0+处理器的现代MCU与30年前的8051 MCU做对比,8051 MCU在性能上当然不会胜出。幸运的是,许多供应商一直对8位元处理器持续投资。
  例如芯科实验室(Silicon Labs)正持续更新基于8051核心的EFM8 MCU产品线,其效能比原始的8051架构更高,而且开发过程也已实现现代化。所以在许多应用中,8位元核心能够容易弥补比M0+或M3核心不利的地方,甚至在一些方面性能更佳。
  开发工具也很重要。现代嵌入式韧体开发需要全功能IDE、现成的韧体库、丰富的范例、完整的评估和入门套件,以及助手应用,以简化硬体设定、资料库管理和量产编程之类的工作。当MCU有了现代化的8位元核心和开发环境时,在很多情况下,这样的MCU将超越基于ARM-Cortex的类似MCU。
  以系统规模选择MCU
  第一个一般性原则是:ARM Cortex-M核心更适用于较大的系统规模(》64KB代码),而8051装置适用于较小的系统规模(《8KB代码)。中等规模的系统可以选择两种方式,这取决于系统要执行的任务。须要注意的是,在大多数情况下,周边组合将会发挥重要作用。如果需要三个UART、一个LCD控制器、四个时脉和两个ADC,使用者可能不会在8位元MCU上找到所有的周边。
  易用性与成本/尺寸之比较
  对于中等规模的系统来说,使用任何一种架构都可以完成工作。但主要须考量是选择ARM核心带来的易用性,还是8051装置带来的成本和物理尺寸优势。
  ARM Cortex-M架构具备统一的储存模式,并在所有常见编译器中支援完整的C99,这使得该架构非常易于写韧体。此外,还可得到一系列资料库和协力厂商代码。
  当然,这种易用性的代价就是成本。对于高复杂性、上市时间较短的应用或缺乏经验的韧体开发人员来说,易用性是个重要因素。
  比起32位元MCU,8位元MCU的成本颇具优势。使用者经常会发现内建2KB/512B(Flash/RAM)的小容量8位元MCU,而却很难找到低于8KB/2KB的32位元MCU。在不需要很多资源的系统中,储存容量小的MCU能够让系统开发人员获得显著的成本降低。因此,对成本极为敏感或仅需较小储存容量的应用,会更倾向于选择8051解决方案。
  8位元晶片通常也具备物理尺寸上的优势。例如Silicon Labs提供的最小32位元QFN封装为4mm×4mm,而基于8051的8位元晶片的QFN封装可小至2mm×2mm。
  晶片级封装(CSP)的8位元和32位元架构之间的差异较小,但却使成本增加,且组装较难。对于空间严格受限的应用来说,通常须要选择8051装置来满足限制要求。
  通用代码/RAM效率易影响MCU成本
  8051 MCU成本较低的主要原因之一是其使用Flash和RAM的效率通常比ARM Cortex-M核心更高,这允许系统采用更少资源实现。系统越大,这种影响就越小。
  然而,这种8位元储存资源的优势并不总是如此,这一点很重要。在某些情况下,ARM核心会像8051核心一样高效或比其更高效。例如32位元运算在ARM MCU上仅需要一条指令,而在8051 MCU上则需要多条8位元指令。显然,这种代码在ARM架构上有更高的执行效率。
  ARM架构在Flash/RAM尺寸较小时的两个主要缺点是代码空间效率和RAM使用的可预测性。首要也是最明显的问题是通用代码空间效率。8051核心使用1位元组、2位元组或3位元组指令,而ARM核心使用2位元组或4位元组指令。
  通常情况下,8051指令更小,但这一优势因实际上花费许多时间而受到削弱,ARM核心比8051在一条指令下??能做更多工作。32位元运算就是这样一个范例。以实践来说,指令宽度是能在8051上产生适度的更密集代码。
  代码空间效率
  在含有分散式存取变数的系统中,ARM架构的载入/储存架构通常比指令宽度更为重要。试想讯号量的实现,一个变数需要在代码周围的多个不同位置进行减量(分配)或者增量(释放)。ARM核心必须将变数载入到暂存器,对其进行操作并重新储存,这需要三条指令。另一方面,8051核心可以直接在记忆体位置上进行操作,且仅需一条指令。随着每次对变数完成工作量的增大,由载入/储存而产生的消耗就变得微不足道。但对于每次仅完成一点工作的情况来说,载入/储存能产生重要影响,让8051获得明显的效率优势。
  尽管讯号量在嵌入式软体中并非常见结构,但简单的计数器和标志却广泛应用于控制导向的应用中并发挥相同的作用。许多常见的MCU代码都属于这一类型。
  另一个原因是ARM处理器比8051核心具有更多的自由使用堆叠。通常情况下,8051装置针对每次函式呼叫仅在堆叠上储存返回位址(2位元组),透过通常分配给堆叠的静态变数处理大量的任务。在某些情况下,这会产生问题,因为这会造成函数预设不可重入。然而,这也意味着必须保留的堆叠空间很小,且完全可预测,这在RAM容量有限的MCU中至关重要。
  举个简单的例子,试验者设计了以下程式,然后测量funcB内部的堆叠深度(图1),发现M0+核心的堆叠用了四十八个位元组,而8051核心的堆叠仅用了十六个位元组。当然,8051核心还静态配置了八个位元组的RAM,总共用了二十四个位元组。在较大的系统中,这个差异显得微不足道,但是在仅有256位元组的ARM的系统中,这就变得很重要。
  图1 测量funcB内部堆叠程式示意图。
  架构细节之考量
  假设有基于ARM和基于8051的MCU各一个,配有所需的周边,那么对于较大的系统或需要重点考虑易用性的应用来说,ARM装置是更好的选择。如果首要考量的是低成本/小尺寸,那么8051装置将是更好的选择。本文以下对于每种架构更擅长的应用进行更详细的分析,同时也划分出一般原则。
  影响延时因素
  两种架构的中断和函式呼叫延时存在很大差异,8051比ARM Cortex-M核心更快。
  此外,高阶周边汇流排(APB)配备的周边也会影响延时,这是因为资料必须透过APB和AMBA高性能汇流排(AHB)传输。最后,当使用高频核心时脉时,许多基于Cortex-M的MCU需要分配APB时脉,这也增加了周边延时。
  试验者做了个简单的实验,实验中的中断是透过I/O引脚触发的。该中断对引脚发出一些讯号,并根据引发中断的引脚更新标志,之后再量测其部分参数的变化。图2为此次32位元Cortex-M与8051对照实验的程式码与参数比较。
  图2 测试程式码与所得结果参数
  8051核心在中断服务程式(ISR)进入和退出时显示出优势。但是,随着中断服务程式(ISR)越来越大和执行时间的增加,这些延迟将变得微不足道。和既有原则一致,系统越大,8051的优势越小。此外,如果中断服务程式(ISR)涉及到大量资料移转或大于8位元的整数资料运算,中断服务程式(ISR)执行时间的优势将转向ARM核心。例如,一个采用新样本更新16位元或32位元转动平均(Rolling Average)的ADC ISR可能在ARM装置上执行的更快。
  8051核心的基本功能是控制代码,其中对于变数的存取是分散的,并且使用了许多控制逻辑(If、Case等)。8051核心在处理8位元资料时也是非常有效的,而ARM Cortex-M核心擅长资料处理和32位元运算。此外,32位元资料通道使得ARM MCU复制大的资料更加有效,因为它每次可以移动四个位元组,而8051每次仅能够移动一个位元组。因此,那些主要把资料从一个地方移到另一个地方(例如UART到CRC或者到USB)的资料流处理应用更适合选择基于ARM处理器的系统。
  来做个简单的实验。试验者编译以下两种架构的函数(公式1),变数大小为uint8_t、uint16_t和uint32_t。
   & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &……公式1
  随着资料量的增加,8051核心需要越来越多的代码来完成这项工作,最终超过了ARM函数的大小。在16位元的情况下,代码大小几乎类似,在执行速度上稍优于32位元核心,因为相同代码通常需要更少周期。还有一点很重要:只有采用最佳化的ARM编译代码时,这种比较才有效。未最佳化的代码需要花费几倍长的时间。
  这并不意味着有大量资料移动或32位元运算的应用不应该选择8051核心完成。
  在许多情况下,其它方面的考量将超过ARM核心的效率优势,或者说这种优势是无关紧要的。举例来说,考虑使用UART到SPI桥接器时,该应用花费大部分时间在周边之间复制资料,而ARM核心会更高效地完成该任务。然而,这也是一个非常小的应用,可能放入到一个仅有2KB储存容量的晶片就足够了。
  尽管8051核心效率较低,但它仍然有足够的处理能力去处理该应用中的高资料速率。对于ARM装置来说,可用的额外周期可能处于空闲回圈或「等待中断」(WFI),等待下一个可用的资料到来。在这种情况下,8051核心仍然最有意义,因为额外的CPU周期是微不足道的,而较小的Flash封装会节约成本。如果使用者要利用额外的周期去做些有意义的工作,那么额外的效率将是至关重要的,且效率越高越可能越有利于ARM核心。这个例子说明,清楚被开发系统所关注的环境中的各种架构优势是何等重要,而作出这个最佳的决定是简单但却重要的一步。
  指标为8051特殊优势
  8051装置不像ARM装置般统一的储存映射,而是对存取码(Flash)、IDATA(内部RAM)和XDATA(外部RAM)有不同的指令。为了产生高效的代码,8051代码的指标会说明它指向什么空间。然而,在某些情况下,使用通用指标,可以指向任何空间,但是这种类型的指标是低效的存取。例如,将指标指向缓冲区并将该缓冲区资料输出到UART的函数。如果指标是XDATA指标,那么XDATA阵列能被发送到UART,但在代码空间中的阵列,首先需要被复制到XDATA。通用指标能同时指向代码和XDATA空间,但速度较慢,并且需要更多的代码来存取。
  专用区域指标在大多情况下能发挥作用,但是通用指标在编写使用情况未知的可重用代码时非常灵活。如果这种情况在应用中很常见,那么8051就失去了其效率优势。
  仔细评估了解MCU使用优势
  本文已经多次注意到,运算倾向于选择ARM,而控制倾向于选择8051,但没有应用仅仅着眼于计算或控制,该怎样才能定义各种应用,并计算出它的合适范围呢?
  本文考量一个由10%的32位元计算、25%的控制代码和65%的一般代码构成的假定应用时,其不能明确的归成8或32位元类别。这个应用也更注重代码空间而不是执行速度,因为其并不需要所有可用的运算效能,并且必须为成本进行最佳化。
  成本比应用速度更为重要的事实在一般代码情形下将为8051核心带来些微优势。此外,8051核心在控制代码中有中间等级的优势。ARM核心在32位元计算方面占上风,但是这并非是很多应用所重视的。考量到所有这些因素,这个特殊的应用选择8051核心更加合适。
  如果做一个细微的改变,假设该应用更关心执行速度而非成本,那么通用代码不会倾向于哪种架构,并且ARM核心在计算代码中全面占有优势。在这种情况下,虽然有比计算更多的控制代码,但是最后结果将相当均衡。显然,在这个过程中有很多的评估,但是分解应用,然后评估每一元件的技术将能确保使用者了解,在哪种情况下哪种架构有更显著的优势。
  功耗影响须多方考量
  当查阅资料手册时,很容易根据功耗资料得到哪个MCU更佳的结论。虽然睡眠模式和工作模式电流性能在某些类型MCU上确实更佳,但是这一评估可能会非常容易产生误导。
  工作周期(在每个电源模式上分别占用多少时间)始终占据能耗的主导地位。除非两个晶片的工作周期相同,否则资料手册中的电流规格几乎是没有意义的。最适合应用需求的核心架构,通常具备更低的能耗。
  假设有一个系统,在装置被唤醒后添加一个16位元ADC样本到转动平均,然后返回到休眠状态,直到获取下一个样本时才又被唤醒。该任务涉及到大量16位元和32位元计算。ARM装置将能够进行计算,并比8051装置更快返回到休眠状态,这会让系统功耗更低,即使8051具备更好的睡眠和工作模式电流。当然,如果进行的任务更适合8051装置,那么MCU能耗由于相同的原因而对系统有利。
  周边特性也能够以类似的方式影响功耗。例如,大多数Silicon Labs的EFM32 32位元MCU具备低功耗的UART(LEUART),能够在低功耗模式下接收资料,而却只有两个EFM8 MCU具备此功能。此周边影响电源的工作周期,且在任何须要等待UART通讯的应用中,具备LEUART的EFM32 MCU都比缺乏LEUART的EFM8有利。遗憾的是,除了让MCU供应商的现场应用工程师利用EFM8来解决问题,没有简单的指南来评估这些周边因素。同时,系统设计人员还应了解各种MCU能耗模式下可完成的处理任务。
  ARM/8051各有优缺选择合适工具为开发重点
  如果考量到所有这些变数后,仍然不清楚哪些MCU架构是最好的选择,那会如何?这表示,不管是8位元或是32位元都是很好的选择,使用者使用哪种体系架构都不要紧。如果没有明确的技术优势,那么过去的经验和个人喜好在MCU架构决定中也发挥很大的作用。此外,使用者也可以利用这个机会去评估可能的未来专案。如果大多数未来专案更适合ARM装置,那么选择ARM,如果未来项目更侧重于降低成本和尺寸,那么就选择8051。
  8位元MCU仍然可以为嵌入式开发人员提供许多功能,并且越来越重视物联网。当开发人员开始设计时,重要的是确保从工具箱中获得合适的工具。实际上的难题是,不能仅仅依赖于PowerPoint资料中的一两个要点就归纳出选择MCU架构的结论。然而,一旦使用者有正确的资讯,并愿意花一点时间来实际试用产品,就不难作出最佳选择。
发表评论:
TA的最新馆藏

我要回帖

更多关于 研究生报名填写奖励 的文章

 

随机推荐