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