目前非常流行的ARM芯核有ARM7TDMI,StrongARM,ARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDMI等。自V5以來(lái),ARM公司提供Piccolo DSP的芯核給芯片設(shè)計(jì)得,用于設(shè)計(jì)ARMDSP的SOC(System On Chip)結(jié)構(gòu)芯片。此外,ARM芯片還獲得了許多實(shí)時(shí)操作系統(tǒng)(Real Time Operating System)供應(yīng)商的支持,比較知名的有:Windows CE、Linux、pSOS、VxWorks、Nucleus、EPOC、uCOS、BeOS等。
隨著國(guó)內(nèi)嵌入式應(yīng)用領(lǐng)域的發(fā)展,ARM芯片必然會(huì)獲得廣泛的重視和應(yīng)用。比如ST公司的基于CORTEX-M3內(nèi)核的芯片STM32F103、基于CORTEX-M4內(nèi)核的芯片STM32F4,是目前最流行的CORTEX-M3內(nèi)核的芯片。
NXP公司的基于CORTEX-M3內(nèi)核的芯片LPC1768、LPC1788、基于CORTEX-M0+內(nèi)核的芯片LPC800系列,ARM9內(nèi)核的芯片LPC3250,在設(shè)計(jì)中的認(rèn)可率也比較高。
由于 ARM 微處理器的眾多優(yōu)點(diǎn),隨著國(guó)內(nèi)外嵌入式應(yīng)用領(lǐng)域的逐步發(fā)展, ARM 微處理器開(kāi)始廣泛應(yīng)用。但是,由于 ARM 微處理器有多達(dá)十幾種的內(nèi)核結(jié)構(gòu),幾十個(gè)芯片生產(chǎn)廠家,以及千變?nèi)f化的內(nèi)部功能配置組合,給開(kāi)發(fā)人員在選擇方案時(shí)帶來(lái)一定的困難,所以,對(duì) ARM芯片做一些對(duì)比研究是十分必要的。
arm芯片選型
從應(yīng)用的角度出發(fā),對(duì)在選擇 ARM 微處理器時(shí)所應(yīng)考慮的主要問(wèn)題做一些簡(jiǎn)要的探討。?
1 ARM 芯片選擇的一般原則
從應(yīng)用的角度,對(duì)在選擇 ARM 芯片時(shí)所應(yīng)考慮的主要困素做一具體的說(shuō)明。
1.1 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 的支持。
系統(tǒng)時(shí)鐘決定了 ARM 芯片的處理速度。 ARM7 的處理速度為0.9 MIPS/MHz ,常見(jiàn)的 ARM7 芯片系統(tǒng)主時(shí)鐘為20 MHz-133MHz , ARM9 的處理速度為1.1 MIPS/MHz ,常見(jiàn)的 ARM9 的系統(tǒng)主時(shí)鐘為100 MHz-233MHz , ARM10 最高可以達(dá)到700 MHz 。不同芯片對(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)置USB控制器的ARM芯片
?
USB
許多ARM芯片內(nèi)置有USB控制器,有些芯片甚至同時(shí)有USB Host和USB Slave控制器。見(jiàn)表2。

內(nèi)置USB控制器的ARM芯片
?
GPIO
1.5 GPIO數(shù)量
在某些芯片供應(yīng)商提供的說(shuō)明書中,往往申明的是最大可能的GPIO數(shù)量,但是有許多引腳是和地址線、數(shù)據(jù)線、串口線等引腳復(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,并且可以選擇升沿、下降沿、高電平、低電平四種中斷方式。這使得紅外線遙控接收、指輪盤和鍵盤等任務(wù)都可以作為背景程序運(yùn)行。而Cirrus Logic公司的EP7312芯片,只有4個(gè)外部中斷源,并且 每個(gè)中斷源都只能是低電平或才高電平中斷,樣在用于接收紅外線信號(hào)的場(chǎng)合時(shí),就必須用查詢方式,會(huì)浪費(fèi)大量CPU時(shí)間。
1.7 IIS(Integrate Interface of Sound)接口
即集成音頻接口。如果設(shè)計(jì)者頻應(yīng)用產(chǎn)品,IIS總線接口是必需的。
1.8 nWAIT信號(hào)
外部總線速度控制信號(hào)。不是每個(gè)ARM芯片都提供這個(gè)信號(hào)引腳,利用這個(gè)信號(hào)與廉價(jià)的GAL芯片就可以實(shí)現(xiàn)與符合PCMCIA標(biāo)準(zhǔn)的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA專用控制芯片。另外,當(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)合。
有些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ò)展總線
大部分ARM芯片具有外部SDRAM和SRAM擴(kuò)展接口,不同的ARM芯片可以擴(kuò)展的芯片數(shù)量即片選線數(shù)量不同,外部數(shù)據(jù)總線有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芯片通訊波特率為115,200bps,少數(shù)專為藍(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芯片
1.16 內(nèi)置FPGA
有些ARM芯片內(nèi)置有FPGA,適合于通訊等領(lǐng)域。見(jiàn)表4

表4 ARM+FPGA結(jié)構(gòu)的ARM芯片
1.17 時(shí)鐘計(jì)數(shù)器和看門狗
一般ARM芯片都具有2~4個(gè)16位或32位時(shí)鐘計(jì)數(shù)器和一個(gè)看門狗計(jì)數(shù)器。
1.18 電源管理功能
ARM芯片的耗電量與工作頻率成正比,一般ARM芯片都有低功耗模式、睡眠模式和關(guān)閉模式。
1.19 DMA控制器
有些ARM芯片內(nèi)部集成有DMA(Direct Memory Access),可以和硬盤等外部設(shè)備高速交換數(shù)據(jù),同時(shí)減少數(shù)據(jù)交換時(shí)對(duì)CPU資源的占用。
另外,還可以選擇的內(nèi)部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,VGA controller,DC-DC??梢赃x擇的內(nèi)置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。
最后需說(shuō)明的是封裝問(wèn)題。ARM芯片現(xiàn)在主要的封裝有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封裝具有芯片面積小的特點(diǎn),可以減少PCB板的面積,但是需要專用的焊接設(shè)備,無(wú)法手工焊接。另外一般BGA封裝的ARM芯片無(wú)法用雙面板完成PCB布線,需要多層PCB板布線。
2 多芯核結(jié)構(gòu)ARM芯片的選擇
為了增強(qiáng)多任務(wù)處理能力、數(shù)學(xué)運(yùn)算能力、多媒體以及網(wǎng)絡(luò)處理能力,某些供應(yīng)商提供的ARM芯片內(nèi)置多個(gè)芯核,目前常見(jiàn)的ARM+DSP,ARM+FPGA,ARM+ARM等結(jié)構(gòu)。
2.1 多ARM芯核
為了增強(qiáng)多任務(wù)處理能力和多媒體處理能力,某些ARM芯片內(nèi)置多個(gè)ARM芯核。例如Portal player公司的PP5002內(nèi)部集成了兩個(gè)ARM7TDMI芯核,可以應(yīng)用于便攜式MP3播放器的編碼器或解碼器。從科勝訊公司(Conexant)分離出云的專門致力于高速通訊芯片設(shè)計(jì)生產(chǎn)的MinSpeed公司就在其多款高速通訊芯片中集成了2~4個(gè)ARM7TDMI內(nèi)核。
2.2 ARM芯核+DSP芯核
為了增強(qiáng)數(shù)學(xué)運(yùn)算功能和多媒體處理功能,許多供應(yīng)商在其ARM芯片內(nèi)增加了DSP協(xié)處理器。通常加入的DSP苡核有ARM公司的Piccolo DSP芯核、OAK公司16位定點(diǎn)DSP芯核、TI的TMS320C5000系列DSP芯核、Motorola的56K DSP芯核等。見(jiàn)表3。
2.3 ARM芯核+FPGA
為了提高系統(tǒng)硬件的在線升級(jí)能力,某些公司在ARM芯片內(nèi)部集成了FPGA。見(jiàn)表4。
3 主要ARM芯片供應(yīng)商
目前可以提供ARM芯片的著名歐美半導(dǎo)體公司有:英特爾、德洲儀器、三星半導(dǎo)體、摩托羅拉、飛利浦半導(dǎo)體、意法半導(dǎo)體、億恒半導(dǎo)體、科勝訊、ADI公司、安捷倫、高通公司、Atmel、Intersil、Alcatel、Altera、Cirrus Logic、Linkup、Parthus、LSI Logic、Micronas,Silicon Wave、Virata、Portalplayer inc.、NetSilicon,Parthus。見(jiàn)表5。日本的許多著名半導(dǎo)體公司或東芝、三菱半導(dǎo)體、愛(ài)普生、富士通半導(dǎo)體、松下半導(dǎo)體等公司較早期都大力投入開(kāi)了自主的32位CPU結(jié)構(gòu),但現(xiàn)在都轉(zhuǎn)向購(gòu)買ARM公司的芯核進(jìn)行新產(chǎn)品設(shè)計(jì)。由于它們購(gòu)買ARM版權(quán)較晚,現(xiàn)在還沒(méi)有可銷售的ARM芯片,而OKI、NEC、AKM、OAK、Sharp、Sanyo、Sony、Rohm等日本半導(dǎo)體公司目前都已經(jīng)已經(jīng)指生產(chǎn)了ARM芯片。韓國(guó)的現(xiàn)代半導(dǎo)體公司也生產(chǎn)提供ARM芯片。另外 ,國(guó)外也很多設(shè)備制造商采用ARM公司芯核設(shè)計(jì)自己的專用芯片,如美國(guó)的IBM、3COM和新加坡的創(chuàng)新科技等。我國(guó)***地區(qū)可以提供ARM芯片的公司臺(tái)積電、臺(tái)聯(lián)電、華幫電子等。其它已購(gòu)買ARM芯核,正在設(shè)計(jì)自主版板權(quán)專用芯片的大陸公司會(huì)為通訊中興通訊等。
表5 主要ARM芯片供應(yīng)商及其代表性產(chǎn)品和主要應(yīng)用領(lǐng)域


4 選擇方案舉例
表6列舉的最佳方案僅供參考,由于SOC集成電路的發(fā)展非常迅速,今天的最佳方案到明天就可以不是最佳的了。因此任何時(shí)候在選擇方案時(shí),都應(yīng)廣泛搜尋一下主要的ARM芯片供應(yīng)商,以找出最適合芯片。

電子發(fā)燒友App









評(píng)論