原创 LPC同STM32的比较

2008-7-6 11:55 3177 7 7 分类: MCU/ 嵌入式

我终于狂查资料,写下了以下信息:


Cortex-M3是新兴起来的一种ARM7的核,而ARM7TDMI是一种传统的经典的ARM内核。我们就抛开这一切,来比较一下两则的异同。


我们就在以下平台上比较吧:


STMicoelectronicsSTM32F101 36M极限频率,616K SRAM32128K flash , 1*12ADC 80个快速IO口。


NXPLPC21303 ,、,70MHz, 8K SRAM, 2 UART , 2 I2C , 8*10ADC 32k FLASH


而且价格上STM32要比NXP系列要贵。


这样看来是不是NXP2103占据一定的优势呢?它便宜,更快,有更多的AD转换,但是我们下面将从另外的方面来比较一下,看看NXP的优势真的是不是那么明显?


我们再比较一下ARM7TDMIARM Cortem-M3,我们将发现以下有趣的现象:


Cortex-M3主要针对价格第三的应用场合,主要是代替性能强大的8位或者十六位微控制器的市场。


最值得注意的地方是整数运算,Cortex是运行在 1.25 DMIPS/MHz,而ARM7TDMI则是在0.95(在thumb指令下是0.74DMIPS/MHz,如果我们再交以<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> DMIPS/MHz写入,则会从ATM7TDMI得到66.5 DMIPS,而从Cortex得到62.5 DMIPS,如果ARM7需要运行在thumb模式(如果代码空间有限的话)ARM7TDMI仅仅才51.8 DMIPS,使Cortex运行显得更快了(如果代码空间足够的话就显现不出来)这就算两则打平了。


第二是看两则的电源管理和功耗。ARM7TDMI内核有0.28mW/MHz,而Cortex0.19 mW/MHz,在片内,LCP21031.8V的时候是转换到了50mA,(如果我的排除一切外围电路,只留PLL工作),在Cortex内核中我们得到的是更小的电流。


第三,在内核结构方面,NXP是冯诺依曼结构,而Cortex则是哈佛结构,它将代码区和数据区分开了,多了分枝预测,在运行for等语句的时候有优势,故有一定的优势。而且,Cortex支持一些比如位翻转的DSP指令,这在运行比如DFT的时候显得无比的有用。Cortex还包含了分枝结构,较大地减少了中断等等时间(比ARM7TDMI改进了2.5倍),这无疑Cortex占据了优势。


还有一些其它的方面值得注意,比如:Cortex有一些片内集成的模块,但这些在LPC芯片上要在外围另外接。比如:LDO,片内温度传感器等,这些功能看起来不怎么样,但是如果我们的PCB板面积有限的话,为节省外部的空间,这些功能就很重要了。第二,频率也显得比较重要,Cortex提供了50M频率输出,但是LPCPCC只能够提供内部时钟倍频。


结论:两则还是各有千秋,所以,我们在选择型号的时候还得慎重。


 


(大部分根据英文翻译而来,如果有什么不妥,还请指出来)


 



点击图片即可查看更多文章


点击查看更多文章

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条