比较ARM,AVR,MSP430,Coldfire,…

本文探讨了ARM、AVR和MSP430等嵌入式微控制器的特性与应用场景。强调选择MCU应根据控制对象需求,考虑性能、成本和开发难度。ARM适合高端应用,AVR易于上手,MSP430则在低功耗方面表现出色。开发者需掌握MCU本质,根据产品定位做出最佳选择。
摘要由CSDN通过智能技术生成

ARM vs AVR

 

1

我以为这样比没有意义,做嵌入式系统最大特征是“嵌入”二字,也就是说你的控制系统是嵌入于你的控制对象之中,所以首先是服从于对象的需求和特征,脱离对象空论谁好谁坏有何依据?

每个MCU都有其存在的价值,每个使用者的选择都有其道理,AVR开始时是以单时钟周期指令为卖点,相对于当时 12个时钟的经典51确实有优势,而且基于CMOS的特征,时钟越高功耗越大,所以它在能耗上似乎明显占优。

可随着技术的改进,51现在已经早就有了4时钟周期,2时钟周期乃至单时钟周期的芯片了,此时AVR的速度优势已不存在。

如果考虑最高时钟限制,读者可以比较一下,似乎AVR的速度还不如某些51快。

如果考虑开发成本,那就更难说了。

至于ARM,有其优势、有其劣势,关键看你依附的对象需要什么?你的产品最终定位如何?

如果产品利润空间较大,MCU所占成本有限,不妨提高档次,也算是个宣传素材,同时为后续升级留有余地。

如果产品需精打细算,数量庞大,省1分钱都能带来巨大的利润,那MCU则是够用即可,哪怕开发再不方便,那也只是一次开支,何况中国的工程师并不贵 : (

所以,学习单片机无所谓选那款,关键在于你能否掌握其本质,快速的触类旁通,你的产品是否成功就在于你能否最佳的选择好符合嵌入对象特征的MCU。

一点拙见,仅供参考!

 2.

我感觉AVR最大的特点就是同时可以操作两条指令,其实AVR就是RISC精简指令的一个优化,

 

但AVR不能像ARM一样可以运行多种操作系统,虽然可以运行操作系统,总体载能不如ARM,但是感觉其应用相对ARM比较简单,很容易上手,ARM的运算能力虽然强于AVR,但是感觉要与操作系统配合使用才能体现其优势,可是嵌入操作系统又是一个相对复杂的系统,需要花费较多的时间去理解、消化,感觉ARM的最大优势是运算能力强大、移植性强,一般应用在较高档的仪器、设备中;这也是我想要学习ARM的原因。

 

 3.比较AVR和ARM,谈谈相同与区别
    我看到hyloo的发问,本来想回答的,但一想,写了很多,倒算别人的酷贴,不太划算,所以决定自开一贴,顺便扬扬名^_^。

    AVR我用过2个月,ARM我只看过2本书,所以,说的有错请各位指教。

    这里我们讨论的AVR和ARM都是泛指,就是说,包括所有机器指令集和这两个体系的都通用的众多芯片,不单单指某项技术或者某块芯片。

    首先是相同点,两者都是现代的CPU设计范例,基于RISC的指导思想,在体系设计初期时就充分考虑到了CPU内核面积,速度,高级语言支持等很多因素。又吸取了51、x86等20年前就商业化的体系所暴露出的问题,所以从现代眼光来看,都是非常先进的设计。最重要,GCC对ARM和AVR都提供了相当好支持,而且可以免费使用。网上,特别是外国网上都有很多开放资源可以参考。两者在国内都属于市场引入阶段。销售方面,各有两大著名国内MCU公司做代理,而且巧合的是都是来自广东的奸商(哈,开玩笑,勿当真)。

    AVR和ARM的区别就比较多了:
    ARM是IP核,可供各大芯片商集成到各自的设计中,好比是软件语言中的C++,如果你想换一家厂商或者某家的货太贵,都会有其它的厂商来竞争,至少从理论上,你不会被一家厂商套住。
AVR这方面就差点,ATMEL一家,别无分号。你只能在他的系列中选一个型号,无法选厂家。好比是软件语言中的Java,虽然现在免费(指Java的SDK,不是AVR)或价格低,但市场前景更多的掌握在厂商手中。

    实际产品成本方面,AVR优于ARM,毕竟AVR是8位机,配什么外设都便宜,由于速度比ARM低,PCB版也好设计,20MHz的数字电路基本上只要通就行了,不用过多考虑信号完整性什么的。而ARM的速度能轻易上100MIPS,32位的CPU也不是吹的,速度上AVR根本没法比,不过带来的问题就多了,要4层PCB,而且外设也贵多了。

    功能方面,ARM大大优于AVR,ARM可以做PDA,手机,AVR显然不行,最糟糕的是ARM上可以跑Linux,Linux可以做多少事啊,虽说国内实际在ARM平台上跑出Linux而又愿意公开技术的人几乎没有(我正在努力朝这个方向发展),但前途绝对是光明的。功能上的优势意味着ARM比AVR有着更广的应用范围,所以,双龙耿先生所说的“中学用AVR”如果是对的话,大学里就应该用ARM

    外设方面AVR稍强,实际上我们可以看到Atmel公司的基于ARM核的AT91M55800A包括了很多AVR的外设,但还缺TWI/I2C,可变增益ADC,EEPROM等好用的部件。但毫无疑问,ARM的外扩外设能力比AVR强的多,所以外设方面算平手吧

    操作系统和软件源码资源方面,ARM拜Linux之赐,比AVR有优势点。但AVR上的嵌入式操作系统也不是没有,uC/OS-II就不错,如果能在Mega8515等便宜的芯片上跑起来的话,我看350元的ARM版也难卖,这一点双龙不知有没有计划?

    调试手段方面,ARM应该优于AVR,AVR就一个JTAG接口的仿真器我个人还可以买一下,但所支持芯片有限,ARM方面书上有相当多的方法调试,这里我不熟也缺经验,就不瞎说了。

    最后来个有个性的结尾,鉴于GCC对AVR和ARM的支持都很好,所以我决定都好好学,这里顺便给GCC打个广告,大家也看得出RISC的MCU最好还是直接使用C语言,GCC编译器显然是最明智的选择。

 

 

ARM Vs MSP430

MSP430会向着专用,更低电压,更低功耗的方向发展,不求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值