|
LPC同STM32的比較, 兩則還是各有千秋,所以,我們在選擇型號的時候還得慎重。
STMicoelectronics:STM32F101 36M極限頻率,6到16KSRAM,32到128K flash ,1*12位ADC , 80個快速IO口。
NXP:LPC21303 ,、,70MHz, 8K SRAM, 2 UART , 2 I2C ,8*10位ADC ,32k FLASH。
而且價格上STM32要比NXP系列要貴。
Cortex-M3是新興起來的一種ARM7的核,而ARM7TDMI是一種傳統的經典的ARM內核。我們就拋開這一切,來比較一下兩則的異同。
在內核結構方面,NXP是馮諾依曼結構,而Cortex則是哈佛結構,它將代碼區和數據區分開了,多了分枝預測,在運行for等語句的時候有優勢,故有一定的優勢。而且,Cortex支持一些比如位翻轉的DSP指令,這在運行比如DFT的時候顯得無比的有用。Cortex還包含了分枝結構,較大地減少了中斷等等時間(比ARM7TDMI改進了2.5倍),這無疑Cortex占據了優勢。
這樣看來是不是NXP2103占據一定的優勢呢?它便宜,更快,有更多的AD轉換,但是我們下面將從另外的方面來比較一下,看看NXP的優勢真的是不是那么明顯?
我們再比較一下ARM7TDMI同ARM Cortem-M3,我們將發現以下有趣的現象:
Cortex-M3主要針對價格第三的應用場合,主要是代替性能強大的8位或者十六位微控制器的市場。
最值得注意的地方是整數運算,Cortex是運行在 1.25DMIPS/MHz,而ARM7TDMI則是在0.95(在thumb指令下是0.74)DMIPS/MHz,如果我們再交以 DMIPS/MHz寫入,則會從ATM7TDMI得到66.5DMIPS,而從Cortex得到62.5DMIPS,如果ARM7需要運行在thumb模式(如果代碼空間有限的話),ARM7TDMI僅僅才51.8 DMIPS,使Cortex運行顯得更快了(如果代碼空間足夠的話就顯現不出來)這就算兩則打平了。
兩則的電源管理和功耗。ARM7TDMI內核有0.28mW/MHz,而Cortex是0.19mW/MHz,在片內,LCP2103在1.8V的時候是轉換到了50mA,(如果我的排除一切外圍電路,只留PLL工作),在Cortex內核中我們得到的是更小的電流。
還有一些其它的方面值得注意,比如:Cortex有一些片內集成的模塊,但這些在LPC芯片上要在外圍另外接。比如:LDO,片內溫度傳感器等,這些功能看起來不怎么樣,但是如果我們的PCB板面積有限的話,為節省外部的空間,這些功能就很重要了。第二,頻率也顯得比較重要,Cortex提供了50M頻率輸出,但是LPC的PCC只能夠提供內部時鐘倍頻。
|
|