〖文章轉載或出處〗≡中國電子技術信息網≡ 網址 www.CETINet.com
32位RISC CPU ARM芯片的應用和選型
上海交通大學電機系(200030) 周潔 楊心懷
摘要:ARM公司以及ARM芯片的現狀和發展,從應用的角度介紹了ARM芯片的選擇方法,並介紹了具有多芯核結構的ARM芯片。列舉了目前的主要ARM芯片供應商,其產品以及應用領域。舉例說明了幾種嵌入式產品的最佳ARM芯片選擇方案。 關鍵詞:ARM MMU SOC RISC CPU
ARM公司自1990年正式成立以來, 在32位RISC (Reduced Instruction Set ComputerCPU開發領域不斷取得突破,其結構已經從V3發展到V6。由於ARM公司自成立以來,一直以IP(IntelligenceProperty)提供者的身份向各大半導體制造商出售知識產權,而自己從不介入芯片的生產銷售,加上其設計的芯核具有功耗低、成本低等顯著優點,因此獲得眾多的半導體廠家和整機廠商的大力支持,在32位嵌入式應用領域獲得了巨大的成功,目前已經占有75%以上的32位RISC嵌入式產品市場。在低功耗、低成本的嵌入式應用領域確立了市場領導地位。現在設計、生產ARM芯片的國際大公司已經超過50多家,國內中興通訊和華為通訊等公司也已經購買ARM公司的芯核用於通訊專用芯片的設計。 目前非常流行的ARM芯核有ARM7TDMI,StrongARMARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDM1等。自V5以後,ARM公司提供Piclearcase/" target="_blank" >ccolo DSP的芯核給芯片設計者,用於設計ARM+DSP 的SOC(System On Chip) 結構的芯片。此外,ARM芯片還獲得了許多實時操作系統(Real Time OperatingSystem)供應商的支持,比較知名的有:Windows CE、Linux、pSOS、VxWorksMucleus、EPOC、uCOS、BeOS等。隨著國內嵌入式應用領域的發展,ARM芯片必然會獲得廣泛的重視和應用。但是,由於ARM芯片有多達十幾種的芯核結構,70多家芯片生產廠家,以及千變萬化的內部功能配置組合,給開發人員在選擇方案時帶來一定的困難。所以,對ARM芯片做一對比研究是十分必要的。
1ARM芯片選擇的一般原則 從應用的角度,對在選擇ARM芯片時所應考慮的主要因素做一詳細的說明。 1.1 ARM芯核如果希望使用WinCE或Linux等操作系統以減少軟件開發時間,就需要選擇ARM720T以上帶有MMU(memory managementunit)功能的ARM芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T都帶有MMU功能。而ARM7TDMI沒有MMU,不支持Windows CE和大部分的Linux, 但目前有uCLinux等少數幾種Linux不需要MMU的支持。1.2 系統時鐘控制器系統時鐘決定了ARM芯片的處理速度。ARM7的處理速度為0.9MIPS/MHz,常見的ARM7芯片系統主時鐘為20MHz-133MHz,ARM9的處理速度為1.1MIPS/MHz,常見的ARM9的系統主時鐘為100MHz-233MHz,ARM10最高可以達到700MHz。不同芯片對時鐘的處理不同,有的芯片只有一個主時鐘頻率,這樣的芯片可能不能同時顧及UART和音頻時鐘的准確性,如CirrusLogic的EP7312等;有的芯片內部時鐘控制器可以分別為CPU核和USB、UART、DSP、音頻等功能部件提供不同頻率的時鐘,如PHILIPS公司的SAA7550等芯片。 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
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
LH79531 ARM7TDMI Sharp 1 0 0
GMS320C7201 ARM720T Hynix 1 0 1
1.5GPIO數量在某些芯片供應商提供的說明書中,往往申明的是最大可能的GPIO數量,但是有許多引腳是和地址線、數據線、串口線等引腳復用的。這樣在系統設計時需要計算實際可以使用的GPIO數量。 1.6 中斷控制器ARM內核只提供快速中斷(FIQ)和標准中斷(IRQ)兩個中斷向量。但各個半導體廠家在設計芯片時加入了自己不同的中斷控制器,以便支持諸如串行口、外部中斷、時鐘中斷等硬件中斷。外部中斷控制是選擇芯片必須考慮的重要因素,合理的外部中斷設計可以很大程度的減少任務調度的工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以設置成FIQ或IRQ,並且可以選擇上升沿、下降沿、高電平、低電平四種中斷方式。這使得紅外線遙控接收、指輪盤和鍵盤等任務都可以作為背景程序運行。而CirrusLogic公司的EP7312芯片,只有4個外部中斷源,並且每個中斷源都只能是低電平或者高電平中斷,這樣在用於接收紅外線信號的場合時,就必須用查詢方式,會浪費大量的CPU時間。 1.7 IIS(Integrate Interface of Sound)接口即集成音頻接口。如果設計音頻應用產品,IIS 總線接口是必需的。 1.8 nWAIT信號外部總線速度控制信號。不是每個ARM芯片都提供這個信號引腳,利用這個信號與廉價的GAL芯片就可以實現與符合PCMCIA標准的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA專用控制芯片。另外,當需要擴展外部DSP 協處理器時,此信號也是必需的。 1.9RTC (Real Time Clock) 很多ARM芯片都提供實時時鐘功能,但方式不同。如CirrusLogic公司的EP7312的RTC只是一個32位計數器,需要通過軟件計算出年月日時分秒;而SAA7750和S3C2410等芯片的RTC直接提供年月日時分秒格式。 1.10 LCD控制器 有些ARM芯片內置LCD控制器,有的甚至內置64K彩色TFTLCD控制器。在設計PDA和手持式顯示記錄設備時,選用內置LCD控制器的ARM芯片如S1C2410較為適宜。 1.11 PWM輸出有些ARM芯片有2~8路PWM輸出,可以用於電機控制或語音輸出等場合。 1.12 ADC和DAC有些ARM芯片內置2~8通道8~12位通用ADC,可以用於電池檢測、觸摸屏和溫度監測等。PHILIPS的SAA7750更是內置了一個16位立體聲音頻ADC和DAC,並且帶耳機驅動。 1.13 擴展總線大部分ARM芯片具有外部SDRAM和SRAM擴展接口,不同的ARM芯片可以擴展的芯片數量即片選線數量不同,外部數據總線有8位、16位或32位。某些特殊應用的ARM芯片如德國Micronas的PUC3030A沒有外部擴展功能。 1.14 UART和IrDA幾乎所有的ARM芯片都具有1~2個UART接口,可以用於和PC機通訊或用Angel進行調試。一般的ARM芯片通訊波特率為115,200bps,少數專為藍牙技術應用設計的ARM芯片的UART通訊波特率可以達到920Kbps,如Linkup 公司的L7205。 1.15 DSP協處理器,見表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 40 IA
AT75C310 ATMEL 16bits OAK 40x2 IA
AT75C320 ATMEL 16bits OAK 60X2 IA
L7205 Linkup 16bits Piccolo Wireless
L7210 Linkup 16bits Piccolo wireless
Quatro OAK 16bits OAK Digital Image
1.16 內置FPGA 有些ARM芯片內置有FPGA,適合於通訊等領域。見表4。
表4 ARM+FPGA結構的ARM芯片
芯片型號 供應商 ARM芯核 FPGA門數 引腳數
EPXA1 Altera ARM922T 100K 484
EPXA4 Altera ARM922T 400K 672
EPXA10 Altera ARM922T 1000K 1020
TA7S20系列 Triscend ARM7TDMI 多種 多種
1.17時鐘計數器和看門狗 一般ARM芯片都具有2~4個16位或32位時鐘計數器和一個看門狗計數器。 1.18 電源管理功能ARM芯片的耗電量與工作頻率成正比,一般ARM芯片都有低功耗模式、睡眠模式和關閉模式。 1.19 DMA控制器有些ARM芯片內部集成有DMA(Direct MemoryAccess)?可以和硬盤等外部設備高速交換數據,同時減少數據交換時對CPU資源的占用。 另外,還可以選擇的內部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,VGA controller,DC-DC。可以選擇的內置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。最後需說明的是封裝問題。ARM芯片現在主要的封裝有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封裝具有芯片面積小的特點,可以減少PCB板的面積,但是需要專用的焊接設備,無法手工焊接。另外一般BGA封裝的ARM芯片無法用雙面板完成PCB布線,需要多層PCB板布線。
2多芯核結構ARM芯片的選擇為了增強多任務處理能力、數學運算能力、多媒體以及網絡處理能力,某些供應商提供的ARM芯片內置多個芯核,目前常見的有ARM+DSP,ARM+FPGA,ARM+ARM等結構。 2.1多ARM芯核為了增強多任務處理能力和多媒體處理能力,某些ARM芯片內置多個ARM芯核。例如Portal player 公司的PP5002內部集成了兩個ARM7TDMI芯核,可以應用於便攜式MP3播放器的編碼器或解碼器。從科勝訊公司(Conexant)分離出去的專門致力於高速通訊芯片設計生產的MinSpeed公司就在其多款高速通訊芯片中集成了2~4個ARM7TDMI內核。 2.2 ARM芯核+DSP芯核為了增強數學運算功能和多媒體處理功能,許多供應商在其ARM芯片內增加了DSP協處理器。通常加入的DSP芯核有ARM公司的PiccoloDSP芯核、OAK公司16位定點DSP芯核、TI的TMS320C5000系列DSP芯核、Motorola的56K DSP芯核等。見表3。2.3 ARM芯核+FPGA 為了提高系統硬件的在線升級能力,某些公司在ARM芯片內部集成了FPGA。見表4。
3 主要ARM芯片供應商目前可以提供ARM芯片的著名歐美半導體公司有:英特爾、德洲儀器、三星半導體、摩托羅拉、飛利浦半導體、意法半導體、億恆半導體、科勝訊、ADI公司、安捷倫、高通公司、Atmel、Intersil、Alcatel、Altera、CirrusLogic、Linkup、Parthus、LSI logic、Micronas, SiliconWave、Virata、Portalplayerinc.、NetSilicon,Parthus。見表5。日本的許多著名半導體公司如東芝、三菱半導體、愛普生、富士通半導體、松下半導體等公司較早期都大力投入開發了自主的32位CPU結構,但現在都轉向購買ARM公司的芯核進行新產品設計。由於它們購買ARM版權較晚,現在還沒有可以銷售的ARM芯片,而OKI、NEC、AKM、OAK、Sharp、Sanyo、Sony、Rohm等日本半導體公司目前都已經批量生產了ARM芯片。韓國的現代半導體公司也生產提供ARM芯片。另外,國外也有很多設備制造商采用ARM公司的芯核設計自己的專用芯片,如美國的IBM、3COM和新加坡的創新科技等。我國台灣地區可以提供ARM芯片的公司有台積電、台聯電、華幫電子等。其它已購買ARM芯核,正在設計自主版權專用芯片的大陸公司有華為通訊和中興通訊等。
表5 主要ARM芯片供應商及其代表性產品和主要應用領域 供應商 芯片1 芯片2 芯片3 芯片4 主要應用
Intel SA-110 SA-1100 SA-1110 IXP1200 Palm PC, Network
TI TMS320DSC21 TMS320DSC24 TMS320DSC25 OMAP1510 Digital Camera
Samsung S3C44B0X S3C2410 S3C4510 S5N8946 ADSL,PDA
Motorola Dragonball MX1 BT,PDA
Philips SAA7750 VWS22100 VCS94250 VWS26001 MP3,GSM ,3G,BT
Cirrus Logic EP7209 EP7212 EP7312 EP9312 GP,MP3
Linkup L7200 L7205 L7210 Wireless
ATMEL AT91R40XXX AT75C310 AT76C901 AT76C502 GP, Wireless
OKI ML67100 ML7051LA ML67Q4000 ML67Q2300 GP,BT
Sharp LH75400/1 LH79520LH79520 LH79531/2/3 LH7A400 Portable handheld
Qualcomm MSP1000 MSM3000 MSM5000 MSM6000 CDMA
ST STLC1502 STw2400 VOIP,BT
Infineon PMB7754 BT
Analog AD20MSP430 GSM
Hynix GMS30C7201 HMS30C7202 HMS39C7092 STB,GP
Micronas PUC3030A GP, MP3
Conexant CN9414 CX82100 Network, Modem
Agilent AAEC-2000 IA
Portalplayer PP5002 MP3, PDA
NEC UPD65977 Configurable
NetSilicon NET+15 NET+40 NET+50 PDA, Phone
LSI Logic CBP3.0 CBP4.0 L64324 BT
Alcatel MTC20276 MTK20141 MTK20285 MTC20277 Digital Image
Altera EPXA1 EPXA4 EPXA10 Configurable
Panasonic MN1A7T0200 PDA,Phone
Silicon Wave SiW1750 BT
OAK Quatro Digital Image
Rohm BU6611AKU ISDN
Parthus InfoSream Wireless Internet
Intersil ISL3856 802.11b, WLAN
SiRF SiRF Star II GPS
Sirius CDMAx DIRAC 3G CDMA
Sanyo VOL101 CD-R, HDC
Virata Helium Helium 200 Helium 210 Lithium Communications
Agere T8300 T8302 Mobile phone
表6 最佳應用方案推薦
應用 第一選擇方案 第二方案 注釋
高檔PDA S3C2410 Dragon ball MX1
便攜式CDMP3播放器 SAA7750 USB和CD-ROM解碼器
FLASH MP3播放器 SAA7750 PUC3030A 內置USB和FLASH
WLAN和BT應用產品 L7205,L7210 Dragon ball MX1 高速串口和PCMCIA接口
Voice Over IP STLC1502
數字式照相機 TMS320DSC24 TMS320DSC21 內置高速圖像處理DSP
便攜式語音email機 AT75C320 AT75C310 內置雙DSP,可以分別處理MODEM和語音
GSM手機 VWS22100 AD20MSP430 專為GSM手機開發
ADSL Modem S5N8946 MTK-20141
電視機頂盒 GMS30C3201 VGA控制器
3G移動電話機 MSM6000 OMAP1510
10G光纖通信 MinSpeed公司系列ARM芯片 多ARM核+多DSP核
4 選擇方案舉例 表6列舉的最佳方案僅供參考,由於SOC集成電路的發展非常迅速,今天的最佳方案到明天就可能不是最佳的了。因此任何時候在選擇方案時,都應廣泛搜尋一下主要的ARM芯片供應商,以找出最適合的芯片。
鄭重聲明
近年來我站數百篇“原創文章”被一些媒體肆意轉載,不但不標明出自“中國電子技術信息網”,而且把相關字眼刪除!這是無視技術價值的盜竊行為,是對技術人員辛勤勞動的蔑視,我對此種行為表示強烈的譴責。
“本是同根生,相煎何太急”,考慮到我們做技術的都是同門兄弟,對以前的盜竊行為不再追究,今後再有此類事件,最低處理限度是“明示於天下”。在這裡向轉載過又標注了出處的兄弟媒體表示崇高的敬意!
兄弟網站如果引用本站“原創文章”,請首先經本人許可,並標注 www.cetinet.com”或“中國電子技術信息網”字樣。
歡迎個人下載使用!
由於還沒聯系上---中國電子技術信息網
其他其他內容請到下列url觀看:
http://www.ecbbs.com/t_mcu/step.asp?id=19
目錄:
1.32位RISC CPU ARM芯片的應用和選型[2008][2002-11-22 9:36:56]
2.StrongARM及其嵌入式應用平台[1130][2002-10-10 22:10:49]
3.新書《ARM嵌入式處理器結構與應用基礎》[1716][2002-9-12 11:30:49]
4.ARM7 Thumb系列嵌入式處理器[1294][2002-9-11 17:43:28]
5.AMR、ARM和MRM技術簡介[1288][2002-9-11 17:34:34]
6.基於ARM的電子系統設計[2014][2002-3-17 22:18:11]
7.ARM公司及產品簡介[1564][2002-1-30 17:52:07]
ARM與嵌入開發資料
url: http://www.lzcmcu.com/ARM.htm
ARM與嵌入開發資料目錄:
ARM7TDMI系列at91m63200資料
ARM7TDMI系列AT91M40800資料
MC68HC908GP32 單片機資料
S3C44B0x1系列單片機資料
S3C4510B32位ARM處理器資料
MOTOLOLA 系列單片機與嵌入式資料集
SST39VF160(8 Mbit / 16 Mbit Flash)
KM29U128IT(16M x 8 Bit NAND Flash Memory )
如何學習ARM嵌入式開發
29lv800ba[8M(1M '8/512K ′16) BIT]FLASH MEMORY
Am29LV800B(1 M x 8-Bit/512 K x 16-Bit)CMOS 3.0 Volt-only Boot Sector Flash Memory
sst39vf400a(2 Mbit / 4 Mbit / 8 Mbit (x16) Multi-Purpose Flash)
hy57v641620(4 Banks x 1M x 16Bit Synchronous DRAM)
uClinux-Samsung-20020318(uClinux源碼,如需要請與版主聯系或到下面的相關網站下載)
嵌入式系統和Linux相關鏈接:
--------------------------------------------------------------------------------
uClinux -- Linux for MMU-less microprocessors
The ARM Linux Project
IBM Developworks
The PLEB Projects
BusyBox - The Swiss Army Knife of Embedded Linux
RTLinux-Free