ARM芯片的選型原則
如果希望使用WinCE或Linux等操作系統(tǒng)以減少軟件開發(fā)時間,就需要選擇ARM720T以上帶有MMU(memory management unit)功能的ARM芯片,ARM720T、Stron-gARM、ARM920T、ARM922T、ARM946T都帶有MMU功能。而ARM7TDMI沒有MMU,不支持Windows CE和大部分的Linux,但目前有uCLinux等少數(shù)幾種Linux不需要MMU的支持。
本文引用地址:http://butianyuan.cn/article/201611/317141.htm1.2 系統(tǒng)時鐘控制器
系統(tǒng)時鐘決定了ARM芯片的處理速度。ARM7的處理速度為0.9MIPS/MHz,常見的ARM7芯片系統(tǒng)主時鐘為20MHz-133MHz,ARM9的處理速度為1.1MIPS/MHz,常見的ARM9的系統(tǒng)主時鐘為100MHz-233MHz,ARM10最高可以達到700MHz。不同芯片對時鐘的處理不同,有的芯片只有一個主時鐘頻率,這樣的芯片可能不能同時顧及UART和音頻時鐘準確性,如Cirrus Logic的EP7312等;有的芯片內部時鐘控制器可以分別為CPU核和USB、UART、DSP、音頻等功能部件提供同頻率的時鐘,如PHILIPS公司SAA7750等芯片。
1.3 內部存儲器容量
在不需要大容量存儲器時,可以考慮選用有內置存儲器的ARM芯片。見表1。
表1 內置存儲器的ARM芯片
芯片型號 | 供應商 | FLASH容量 | ROM容量 | SRAM容量 |
AT91F40162 | ATMEL | 2M Bytes | 256K bytes | 4K Bytes |
AT91FR4081 | ATMEL | 1M Bytes | 128K Bytes | |
SAA7750 | Philips | 384K Bytes | 64K bytes | |
PUC3030A | Micronas | 256K Bytes | 56K bytes | |
HMS30C7202 | Hynix | 192K Bytes | ||
ML67Q4001 | OKI | 256K Bytes | ||
LC67F500 | Snayo | 640K Bytes | 32K bytes |
1.4 USB接口
許多ARM芯片內置有USB控制器,有些芯片甚至同時有USB Host和USB Slave控制器。見表2。
表2 內置USB控制器的ARM芯片
芯片型號 | ARM內核 | 供應商 | USB Slave | USB Host | 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 | Cirrus Logic | 0 | 3 | 1 |
Dragonball MX1 | ARM920T | Motorola | 1 | 0 | 1 |
SAA7750 | ARM720T | Philips | 1 | 0 | 1 |
TMS320DSC2x | ARM7TDMI | TI | 1 | 0 | 0 |
PUC3030A | ARM7TDMI | Micronas | 1 | 0 | 5 |
AAEC-2000 | ARM920T | Agilent | 1 | 0 | 0 |
ML67100 | ARM7TDMI | OKI | 1 | 0 | 0 |
ML7051LA | ARM7TDMI | OKI | 1 | 0 | 0 |
SA-1100 | StrongARM | Intel | 1 | 0 | 0 |
LH7979531 | ARM7TDMI | Sharp | 1 | 0 | 0 |
GMS320C7201 | ARM720T | Hynix | 1 | 0 | 1 |
1.5 GPIO數(shù)量
在某些芯片供應商提供的說明書中,往往申明的是最大可能的GPIO數(shù)量,但是有許多引腳是和地址線、數(shù)據(jù)線、串口線等引腳復用的。這樣在系統(tǒng)設計時需要計算實際可以使用的GPIO數(shù)量。
1.6 中斷控制器
ARM內核只提供快速中斷(FIQ)和標準中斷(IRQ)兩個中斷向量。但各個半導體廠家在設計芯片時加入了自己同的中斷控制器,以便支持諸如串行口、外部中斷、時鐘斷等硬件中斷。外部中斷控制是選擇芯片必須考慮的重要因素,合理的外部中斷設計可以很大程度的減少任務調度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以設置成FIQ或IRQ,并且可以選擇升沿、下降沿、高電平、低電平四種中斷方式。這使得紅外線遙控接收、指輪盤和鍵盤等任務都可以作為背景程序運行。而Cirrus Logic公司的EP7312芯片,只有4個外部中斷源,并且 每個中斷源都只能是低電平或才高電平中斷,樣在用于接收紅外線信號的場合時,就必須用查詢方式,會浪費大量CPU時間。
1.7 IIS(Integrate Interface of Sound)接口
即集成音頻接口。如果設計者頻應用產品,IIS總線接口是必需的。
1.8 nWAIT信號
外部總線速度控制信號。不是每個ARM芯片都提供這個信號引腳,利用這個信號與廉價的GAL芯片就可以實現(xiàn)與符合PCMCIA標準的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA專用控制芯片。另外,當需要擴展外部DSP協(xié)處理器時,此信號也是必需的。
1.9 RTC(Real Time Clock)
很多ARM芯片都提供實時時鐘功能,但方式不同。如Cirrus Logic公司的EP7312的RTC只是一個32位計數(shù)器,需要通過軟件計算出年月日時分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日時分秒格式。
1.10 LCD控制器
有些ARM芯片內置LCD控制器,有的甚至內置64K彩色TFT LCD控制器。在設計PDA和手持式顯示記錄設備時,選用內置LCD控制器的ARM芯片如S1C2410較為適宜。
1.11 PWM輸出
有些ARM芯片有2~8路PWM輸出,可以用于電機控制或語音輸出等場合。
1.12 ADC和DAC
有些ARM芯片內置2~8通道8~12位通用ADC,可以用于電池檢測、觸摸屏和溫度監(jiān)測等。PHILIPS的SAA7750更是內置了一個16位立體聲音頻ADC和DAC,并且?guī)Ф鷻C驅動。
1.13 擴展總線
大部分ARM芯片具有外部SDRAM和SRAM擴展接口,不同的ARM芯片可以擴展的芯片數(shù)量即片選線數(shù)量不同,外部數(shù)據(jù)總線有8位、16位或32位。某些特殊應用ARM芯片如德國Micronas的PUC3030A沒有外部擴展功能。
1.14 UART和IrDA
幾乎所有的ARM芯片都具有1~2個UART接口,可以用于和PC機通訊或用Angel進行調試。一般的ARM芯片通訊波特率為115200bps,少數(shù)專為藍牙技術應用設計的ARM芯片的UART通訊波特率可以達到920Kbps,如Linkup公司L7205。
1.15 DSP協(xié)處理器,見表3。
表3 ARM+DSP結構的ARM芯片
芯片型號 | 供應商 | DSP core | DSP MIPS | 應 用 |
TMS320DSC2X | TI | 16bits C5000 | 500 | Digital Camera |
Dragonball MX1 | Motorola | 24bits 56000 | CD-MP3 | |
SAA7750 | Philips | 24bits EPIC | 73 | CD-MP3 |
VWS22100 | Philips | 16bits OAK | 52 | GSM |
STLC1502 | ST | D950 | VOIP | |
GMS30C3201 | Hynix | 16bits Piccolo | STB | |
AT75C220 | ATMEL | 16bits OAK | IA | |
AT75C310 | ATMEL | 16bits OAK | 40 | IA |
AT75C320 | ATMEL | 16bits OAK | 40x2 | IA |
L7205 | Linkup | 16bits Piccolo | 60X2 | Wireless |
L7210 | Linkup | 16bits Piccolo | Wireless | |
Quatro | OA | 16bits OAK 500 | Digital Image |
1.16 內置FPGA
有些ARM芯片內置有FPGA,適合于通訊等領域。見表4。
表4 ARM+FPGA結構的ARM芯片
芯片型號 | 供應商 | ARM芯核 | FPGA門數(shù) | 引腳數(shù) |
EPXA1 | Altera | ARM922T | 100K | 484 |
EPXA4 | Altera | ARM922T | 400K | 672 |
EPXA10 | Altera | ARM922T | 1000K | 1020 |
TA7S20系列 | Triscend | ARM7TDMI | 多種 | 多種 |
1.17 時鐘計數(shù)器和看門狗
一般ARM芯片都具有2~4個16位或32位時鐘計數(shù)器和一個看門狗計數(shù)器。
1.18 電源管理功能
ARM芯片的耗電量與工作頻率成正比,一般ARM芯片都有低功耗模式、睡眠模式和關閉模式。
1.19 DMA控制器
有些ARM芯片內部集成有DMA(Direct Memory Access),可以和硬盤等外部設備高速交換數(shù)據(jù),同時減少數(shù)據(jù)交換時對CPU資源的占用。另外,還可以選擇的內部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,VGA controller,DC-DC??梢赃x擇的內置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。
1.20封裝
ARM芯片現(xiàn)在主要的封裝有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封裝具有芯片面積小的特點,可以減少PCB板的面積,但是需要專用的焊接設備,無法手工焊接。另外一般BGA封裝的ARM芯片無法用雙面板完成PCB布線,需要多層PCB板布線。
評論