ARM公司自1990年正式成立以來,在32位RISC(Reduced Instruction Set Computer)CPU開發領域不斷取得突破,其架構已經從V3發展到V6。由於ARM公司自成立以來,直以IP(Intelligence Property)提供者的身分向各大半導體制造商出售智慧產權,而自己從不介入晶片的生產銷售,加上其設計的芯核具有功耗低、成本低等顯著優點,因此獲得眾多的半導體廠家和整機廠商的大力支援,在32位嵌入式應用領域獲得了巨大的成功,目前已經佔有75%以上32位RISC嵌入式產品市場。在低功耗、低成本的嵌入式應用領域確立了市場領導地位。現下設計、生產ARM晶片的國際大公司已經超過50多家,國中興通訊和華為通訊等公司已經購買ARM公司芯核用於通訊專用晶片的設計。
目前非常流行的ARM芯核有ARM7TDMI,StrongARM,ARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDMI等。自V5以且,ARM公司提供Piccolo DSP的芯核給晶片設計得,用於設計ARMDSP的SOC(System On Chip)架構晶片。此外,ARM晶片還獲得了許多實時作業系統(Real Time Operating System)供應商的支援,比較知名的有︰Windows CE、Linux、pSOS、VxWorks、Nucleus、EPOC、uCOS、BeOS等。
隨著國內嵌入式應用領域的發展,ARM晶片必然會獲得廣泛的重視和應用。但是,由於ARM晶片有多達十幾種的芯核架構,70多晶片生產廠家,以及千變萬化的內部功能配置組合,給開發人員在選擇方案時帶來一定的困難。所以,對ARM晶片做一對比研究是十分必要的。
1 ARM晶片選擇的一般原則
從應用的角度,對在選擇ARM晶片時所應考慮的主要困素做一詳細的說明。
1.1 ARM芯核
如果希望使用WinCE或Linux等作業系統以減少軟體開發時間,就需要選擇ARM720T以上帶有MMU(memory management unit)功能的ARM晶片,ARM720T、Stron-gARM、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和音頻時鐘準確性,如Cirrus Logic的EP7312等;有的晶片內部時鐘控制單元可以分別為CPU核和USB、UART、DSP、音頻等功能部件提供同頻率的時鐘,如PHILIPS公司SAA7750等晶片。
1.3 內部存儲器容量
在不需要大容量存儲器時,可以考慮選用有內置存儲器的ARM晶片。見表1。
表1 內置存儲器的ARM晶片
晶片型號 | 供應商 | FLASH容量 | ROM容量 | SRAM容量 |
AT91F40162 AT91FR4081 SAA7750 PUC3030A HMS30C7202 ML67Q4001 LC67F500 | ATMEL ATMEL Philips Micronas Hynix OKI Snayo | 2M Bytes 1M Bytes 384K Bytes 256K Bytes 192K Bytes 256K Bytes 640K Bytes | 256K bytes | 4K Bytes 128K Bytes64K bytes 56K bytes 32K bytes |
1.4 USB界面
許多ARM晶片內置有USB控制單元,有些晶片甚至同時有USB Host和USB Slave控制單元。見表2。
表2 內置USB控制單元的ARM晶片
晶片型號 | ARM內核 | 供應商 | USB Slave | USB Host | IIS界面 |
S3C2410 S3C2400 S5N8946 L7205 L7210 EP9312 Dragonball MX1 SAA7750 TMS320DSC2x PUC3030A AAEC-2000 ML67100 ML7051LA SA-1100 LH7979531 GMS320C7201 | ARM920T ARM920T ARM7TDMI ARM720T ARM720T ARM920T ARM920T ARM720T ARM7TDMI ARM7TDMI ARM920T ARM7TDMI ARM7TDMI StrongARM ARM7TDMI ARM720T | Samsung Samsung Samsung Linkup linkup Cirrus Logic Motorola Philips TI Micronas Agilent OKI OKI Intel Sharp Hynix | 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 | 2 2 0 1 1 3 0 0 0 0 0 0 0 0 0 0 | 1 1 0 0 0 1 1 1 0 5 0 0 0 0 0 1 |
1.5 GPIO數量
在某些晶片供應商提供的說明書中,往往申明的是最大可能的GPIO數量,但是有許多引腳是和位址線、數據線、串口線等引腳複用的。這樣在系統設計時需要計算實際可以使用的GPIO數量。
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晶片就可以實現與符合PCMCIA標準的WLAN卡和Bluetooth卡的界面,而不需要外加高成本的PCMCIA專用控制晶片。另外,當需要擴展外部DSP協處理器時,此信號也是必需的。
1.9 RTC(Real Time Clock)
很多ARM晶片都提供實時時鐘功能,但模式不同。如Cirrus Logic公司的EP7312的RTC只是一個32位計數器,需要透過軟體計算出年月日時分秒;而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,可以用於電池檢測、觸摸屏和溫度監測等。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 Dragonball MX1 SAA7750 VWS22100 STLC1502 GMS30C3201 AT75C220 AT75C310 AT75C320 L7205 L7210 Quatro | TI Motorola Philips Philips ST Hynix ATMEL ATMEL ATMEL Linkup Linkup OAK | 16bits C5000 24bits 56000 24bits EPIC 16bits OAK D950 16bits Piccolo 16bits OAK 16bits OAK 16bits OAK 16bits Piccolo 16bits Piccolo 16bits OAK | 500 73 52 40 40x2 60X2 | Digital Camera CD-MP3 CD-MP3 GSM VOIP STB IA IA IA Wireless Wireless Digital Image |
1.16 內置FPGA
有些ARM晶片內置有FPGA,適合於通訊等領域。見表4。
表4 ARM+FPGA架構的ARM晶片
晶片型號 | 供應商 | ARM芯核 | FPGA門數 | 引腳數 |
EPXA1 EPXA4 EPXA10 TA7S20系列 | Altera Altera Altera Triscend | ARM922T ARM922T ARM922T ARM7TDMI | 100K 400K 1000K 多種 | 484 672 1020 多種 |
1.17 時鐘計數器和看門狗
一般ARM晶片都具有2~4個16位或32位時鐘計數器和一個看門狗計數器。
1.18 電源管理功能
ARM晶片的耗電量與工作頻率成正比,一般ARM晶片都有低功耗模式、睡眠模式和關閉模式。
1.19 DMA控制單元
有些ARM晶片內部集成有DMA(Direct Memory Access),可以和硬碟等外部設備高速交換數據,同時減少數據交換時對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公司的Piccolo DSP芯核、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、Cirrus Logic、Linkup、Parthus、LSI Logic、Micronas,Silicon Wave、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 TI Samsung Motorola Philips Cirrus Logic Linkup ATMEL OKI Sharp Qualcomm ST Infineon Analog Hynix Micronas Conexant Agilent Portalpayer NEC NetSilicon LSI Logic Alcatel Altera Panasonic Silicon Wave OAK Rohm Parthus Intersil SiRF Sirius Sanyo Virata Agere | SA-110 TMS320DSC21 S3C44B0X Dragonball MX1 SAA7750 EP7209 L7200 AT91R40XXX ML67100 LH75400/1 MSP1000 STLC1502 PMB7754 AD20MSP430 GMS30C7201 PUC3030A CN9414 AAEC-2000 PP5002 UPD65977 NET+15 CBP3.0 MTC20276 EPXA1 MN1A7T0200 SiW1750 Quatro BU6611AKU InfoSream ISL3856 SiRF Star II CDMAx VOL101 Helium T8300 | SA-1100 TMS320DSC24 S3C2410 VWS22100 EP7212 L7205 AT75C310 ML7051LA LH79520 MSM3000 STw2400 HMS30C7202 CX82100 NET+40 CBP4.0 MTK20141 EPXA4 DIRAC Helium 200 T8302 | SA-1110 TMS320DSC25 S3C4510 VCS94250 EP7312 L7210 AT76C901 ML67Q4000 LH79531/2/3 MSM5000 HMS39C7092 NET+50 L64324 MTK20285 EPXA10 Helium 210 | IXP1200 PMAP1510 S5N8946 VW26001 EP9312 AT76C502 ML67Q2300 LH7A400 MSM6000 MTC20277 Lithium | Palm PC,Network Digital Camera ADSL,PDA BT,PDA MP3,GSM,3G,BT GP,MP3 Wireless GP,Wireless GP,BT Portable handheld CDMA VOIP,BT BT GSM STB,GP GP,MP3 Network,Modem IA MP3,PDA Configurable Ethernet CDMA ISDN,ADSL Configurable PDA,Phone BT Digital Image ISDN Wireless Internet 802.11b,WLAN GPS 3G CDMA CD-R HDC Communications Mobile phone |
4 選擇方案舉例
表6列舉的最佳方案僅供參考,由於SOC積體電路的發展非常迅速,今天的最佳方案到明天就可以不是最佳的了。因此任何時候在選擇方案時,都應廣泛搜尋一下主要的ARM晶片供應商,以找出最適合晶片。
表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核 |
留言列表