ARM系列微處理器簡介之:ARM芯片的特點與選型
表1.3顯示了ARM7、ARM9、ARM10及ARM11內核之間屬性的比較。有些屬性依賴于生產(chǎn)過程和工藝,具體芯片需參閱其芯片手冊。
表1.3 ARM系列處理器屬性比較
項目
ARM7
ARM9
ARM10
ARM11
流水線深度
3級
5級
6級
8級
典型頻率(MHz)
80
150
260
335
功耗(mw/MHz)
0.06
0.19(+Cache)
0.5(+Cache)
0.4(+Cache)
MIPS/MHz
0.97
1.1
1.3
1.2
架構
馮·諾伊曼
哈佛
哈佛
哈佛
乘法器
8×32
8×32
16×32
16×32
表1.4總結了各種處理器的不同功能。
表1.4 ARM處理器不同功能特性
CPU核
MMU/MPU
Cache
Jazelle
Thumb
指令集
E
ARM7TDMI
無
無
否
是
v4T
否
ARM7EJ-S
無
無
是
是
v5TEJ
是
ARM720T
MMU
統(tǒng)一8KBCache
否
是
v4T
否
ARM920T
MMU
獨立16KB指令和數(shù)據(jù)Cache
否
是
v4T
否
ARM922T
MMU
獨立8KB指令和數(shù)據(jù)Cache
否
是
v4T
否
ARM926EJ-S
MMU
Cache和TCM可配置
是
是
v5TEJ
是
ARM940T
MPU
獨立4KB指令和數(shù)據(jù)Cache
否
是
v4T
否
ARM946E-S
MPU
Cache和TCM可配置
否
是
v5TE
是
ARM966E-S
無
Cache和TCM可配置
否
是
v5TE
是
ARM1020E
MMU
獨立32KB指令和數(shù)據(jù)Cache
否
是
v5TE
是
ARM1022E
MMU
獨立16KB指令和數(shù)據(jù)Cache
否
是
v5TE
是
ARM1026EJ-S
MMU
Cache和TCM可配置
是
是
v5TE
是
ARM1036J-S
MMU
Cache和TCM可配置
是
是
v6
是
ARM1136JF-S
MMU
Cache和TCM可配置
是
是
v6
是
1.5.2ARM芯片的選型隨著國內嵌入式應用領域的發(fā)展,ARM芯片必然會獲得廣泛的重視和應用。但是由于ARM芯片有多達十幾種的芯核結構、70多芯片生產(chǎn)廠家以及千變萬化的內部功能配置組合,開發(fā)人員在選擇方案時會有一定的困難。所以對ARM芯片做對比研究是十分必要的。
1.ARM芯片選擇的一般原則從應用角度看,在選擇ARM芯片時應從以下幾個方面考慮。
(1)ARM芯核
如果希望使用WindowsCE或Linux等操作系統(tǒng)以減少軟件開發(fā)時間,就需要選擇ARM720T以上帶有MMU(MemoryManagementUnit)功能的ARM芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T都帶有MMU功能。而ARM7TDMI沒有MMU,不支持WindowsCE和大部分的Linux;但目前有uCLinux等少數(shù)幾種Linux不需要MMU的支持。
(2)系統(tǒng)時鐘控制器
系統(tǒng)時鐘決定了ARM芯片的處理速度。ARM7的處理速度為0.97MIPS/MHz,常見的ARM7芯片系統(tǒng)主時鐘為20~133MHz,ARM9的處理速度為1.1MIPS/MHz,常見的ARM9的系統(tǒng)主時鐘為100~233MHz,ARM10最高可以達到700MHz。不同芯片對時鐘的處理不同,有的芯片只有一個主時鐘頻率,這樣的芯片可能不能同時顧及UART和音頻時鐘準確性,如CirrusLogic的EP7312等;有的芯片內部時鐘控制器可以分別為CPU核和USB、UART、DSP、音頻等功能部件提供同頻率的時鐘,如PHILIPS公司SAA7750等芯片。
(3)內部存儲器容量
在不需要大容量存儲器時,可以考慮選用有內置存儲器的ARM芯片。表1.5列出了內置存儲器的ARM芯片。
表1.5 內置存儲器的ARM芯片
芯片型號
供應商
Flash容量
ROM容量
SDAM容量
AT91F40162
ATMEL
2MB
256KB
4KB
AT91FR4081
ATMEL
1MB
128KB
SAA7750
Philips
384KB
64KB
PUC3030A
Micornas
256KB
56KB
HMS30C7272
Hynix
192KB
LC67F500
Snayo
640KB
32KB
(4)USB接口
許多ARM芯片內置有USB控制器,有些芯片甚至同時有USBHost和USBSlave控制器。表1.6顯示了內置USB控制器的ARM芯片。
表1.6 內置USB控制器的ARM芯片
芯片型號
ARM內核
供應商
USBSlave
USBHost
IIS接口
S3C2410
ARM920T
Samsung
1
2
1
S3C2400
ARM920T
Samsung
1
2
1
S5N8946
ARM7TDMI
Samsung
1
0
0
L7205
ARM720T
Linkup
1
1
0
L7210
ARM720T
Linkup
1
1
0
EP9312
ARM920T
Cirruslogic
0
3
1
DragonballMX1
ARM920T
Motorola
1
0
1
SAA7750
ARM720T
Plilips
1
0
1
TMS320DSC2x
ARM7TDMI
TI
1
0
0
PUC3030A
ARM7TDMI
Micronas
1
0
5
ML67100
ARM7TDMI
OKI
1
0
0
ML7051LA
ARM7TDMI
OKI
1
0
0
SA-1100
StrongARM
Intel
1
0
0
續(xù)表
芯片型號
ARM內核
供應商
USBSlave
USBHost
IIS接口
LH7979531
ARM7TDMI
Sharp
1
0
0
GMS320C7201
ARM720T
Hynix
1
0
1
(5)GPIO數(shù)量
在某些芯片供應商提供的說明書中,往往申明的是最大可能的GPIO數(shù)量,但是有許多引腳是和地址線、數(shù)據(jù)線、串口線等引腳復用的。這樣在系統(tǒng)設計時需要計算實際可以使用的GPIO數(shù)量。
(6)中斷控制器
ARM內核只提供快速中斷(FIQ)和標準中斷(IRQ)兩個中斷向量。但各個半導體廠家在設計芯片時加入了自己定義的中斷控制器,以便支持諸如串行口、外部中斷、時鐘中斷等硬件中斷。外部中斷控制是選擇芯片必須考慮的重要因素,合理的外部中斷設計可以很大程度地減少任務調度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以設置成FIQ或IRQ,并且可以選擇上升沿、下降沿、高電平和低電平4種中斷方式。這使得紅外線遙控接收、指輪盤和鍵盤等任務都可以作為背景程序運行。而CirrusLogic公司的EP7312芯片只有4個外部中斷源,并且每個中斷源都只能是低電平或高電平中斷,這樣在接收紅外線信號的場合必須用查詢方式,浪費大量CPU時間。
(7)IIS(IntegrateInterfaceofSound)接口
即集成音頻接口。如果設計音頻應用產(chǎn)品,IIS總線接口是必需的。
(8)nWAIT信號
這是一個外部總線速度控制信號。不是每個ARM芯片都提供這個信號引腳,利用這個信號與廉價的GAL芯片就可以實現(xiàn)與符合PCMCIA標準的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA專用控制芯片。另外,當需要擴展外部DSP協(xié)處理器時,此信號也是必需的。
(9)RTC(RealTimeClock)
很多ARM芯片都提供實時時鐘功能,但方式不同。如CirrusLogic公司的EP7312的RTC只是一個32位計數(shù)器,需要通過軟件計算出年月日時分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日時分秒格式。
(10)LCD控制器
有些ARM芯片內置LCD控制器,有的甚至內置64KB彩色TFTLCD控制器。在設計PDA和手持式顯示記錄設備時,選用內置LCD控制器的ARM芯片(如S3C2410)較為適宜。
(11)PWM輸出
有些ARM芯片有2~8路PWM輸出,可以用于電機控制或語音輸出等場合。
(12)ADC和DAC
有些ARM芯片內置2~8通道8~12位通用ADC,可以用于電池檢測、觸摸屏和溫度監(jiān)測等。PHILIPS的SAA7750更是內置了一個16位立體聲音頻ADC和DAC,并且?guī)Ф鷻C驅動。
(13)擴展總線
大部分ARM芯片具有外部SDRAM和SRAM擴展接口,不同的ARM芯片可以擴展的芯片數(shù)量即片選線數(shù)量不同,外部數(shù)據(jù)總線有8位、16位或32位。為某些特殊應用設計的ARM芯片(如德國Micronas的PUC3030A)沒有外部擴展功能。
(14)UART和IrDA
幾乎所有的ARM芯片都具有1~2個UART接口,可以用于和PC機通信或用Angel進行調試。一般的ARM芯片通信波特率為115200bit/s,少數(shù)專為藍牙技術應用設計的ARM芯片的UART通信波特率可以達到920kbit/s,如Linkup公司L7205。
(15)DSP協(xié)處理器
表1.7總結了ARM+DSP結構的ARM芯片。
表1.7 ARM+DSP結構的ARM芯片
芯片型號
供應商
DSPCore
DSPMIPS
應用
TMS320DSC2X
TI
16bitC5000
500
數(shù)碼照相機
DragonballMX1
Motorola
24bit56000
MP3播放器
SAA7750
Philips
24bitEPIC
73
CD-MP3
VWS22100
Philips
16bitOAK
GSM
STLC1502
ST
D950
52
VoIP
GMS30C3201
Hynix
16bitPiccolo
AT75C220
ATMEL
16bitOAK
40
AT75C310
ATMEL
16bitOAK
AT75C320
ATMEL
16bitOAK
40×2
L7205
Linkup
16bitPiccolo
60×2
無線應用
L7210
Linkup
16bitPiccolo
Quatro
OAK
16bitOAK
(16)內置FPGA
有些ARM芯片內置有FPGA,適合于通信等領域。表1.8總結了ARM+FPGA結構的ARM芯片。
表1.8 ARM+FPGA結構的ARM芯片
芯片型號
供應商
ARM芯核
FPGA門數(shù)
引腳數(shù)
EPXA1
Altera
ARM922T
100000
484
EPXA4
Altera
ARM922T
400000
672
EPXA10
Altera
ARM922T
1000000
1020
TA7S20系列
Triscend
ARM7TDMI
多種
多種
(17)時鐘計數(shù)器和看門狗
一般ARM芯片都具有2~4個16位或32位時鐘計數(shù)器和一個看門狗計數(shù)器。
(18)電源管理功能
ARM芯片的耗電量與工作頻率成正比,一般ARM芯片都有低功耗模式、睡眠模式和關閉模式。
(19)DMA控制器
有些ARM芯片內部集成有DMA(DirectMemoryAccess)接口,可以和硬盤等外部設備高速交換數(shù)據(jù),同時減少數(shù)據(jù)交換時對CPU資源的占用。
另外,還可以選擇的內部功能部件有:HDLC、SDLC、CD-ROMDecoder、EthernetMAC、VGAcontroller、DC-DC??梢赃x擇的內置接口有:IIC、SPDIF、CAN、SPI、PCI、PCMCIA。
最后需說明的是封裝問題。ARM芯片現(xiàn)在主要的封裝有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封裝具有芯片面積小的特點,可以減少PCB板的面積,但是需要專用的焊接設備,無法手工焊接。另外一般BGA封裝的ARM芯片無法用雙面板完成PCB布線,需要多層PCB板布線。
2.多芯核結構ARM芯片的選擇為了增強多任務處理能力、數(shù)學運算能力、多媒體以及網(wǎng)絡處理能力,某些供應商提供的ARM芯片內置多個芯核,目前常見的ARM+DSP,ARM+FPGA,ARM+ARM等結構。
(1)多ARM芯核
為了增強多任務處理能力和多媒體處理能力,某些ARM芯片內置多個ARM芯核。例如Portalplayer公司的PP5002內部集成了兩個ARM7TDMI芯核,可以應用于便攜式MP3播放器的編碼器或解碼器。從科勝訊公司(Conexant)分離出來的專門致力于高速通信芯片設計生產(chǎn)的MinSpeed公司在其多款高速通信芯片中集成了2~4個ARM7TDMI內核。
(2)ARM芯核+DSP芯核
為了增強數(shù)學運算功能和多媒體處理功能,許多供應商在其ARM芯片內增加了DSP協(xié)處理器。通常加入的DSP芯核有ARM公司的PiccoloDSP芯核、OAK公司16位定點DSP芯核、TI的TMS320C5000系列DSP芯核和Motorola的56KDSP芯核等。見表1.7。
(3)ARM芯核+FPGA
為了提高系統(tǒng)硬件的在線升級能力,某些公司在ARM芯片內部集成了FPGA。見表1.8。
3.選擇方案舉例表1.9列舉的最佳方案僅供參考,由于SoC集成電路的發(fā)展非常迅速,今天的最佳方案到明天就可能不是最佳的了。因此任何時候在選擇方案時,都應廣泛搜尋一下主要的ARM芯片供應商,以找出最適合的芯片。
表1.9 最佳應用方案推薦
應用
第一方案
第二方案
備注
高檔PDA
S3C2410
DragonballMX1
便攜CDMP3播放器
SAA7750
USB和CDROM解碼器
FLASHMP3播放器
SAA7750
PUC3030A
內置USB和FLASH
WLAN和BT應用產(chǎn)品
L7205,L7210
DragonballMX1
高速串口和PCMCIA接口
VoiceOverIP
STLC1502
數(shù)碼照相機
TMS320DSC24
TMS320DSC21
內置高速圖像處理DSP
續(xù)表
應用
第一方案
第二方案
備注
便攜式語音email機
AT75C320
AT75C310
內置雙DSP,可以分別處理MODEM和語音
GSM手機
VWS22100
AD20MSP430
專為GSM手機開發(fā)
ADSLModem
S5N8946
MTK-20141
電視機頂盒
GMS30C3201
VGA控制器
3G移動電話機
MSM6000
OMAP1510
10G光纖通信
MinSpeed公司系列ARM芯片
多ARM核+DSP核





