32位RISC CPU ARM芯片的應(yīng)用和選型
ARM公司自1990年正式成立以來(lái),在32位RISC(Reduced Instruction Set Computer)CPU開(kāi)發(fā)領(lǐng)域不斷取得突破,其結(jié)構(gòu)已經(jīng)從V3發(fā)展到V6。由于ARM公司自成立以來(lái),直以IP(Intelligence Property)提供者的身份向各大半導(dǎo)體制造商出售知識(shí)產(chǎn)權(quán),而自己從不介入芯片的生產(chǎn)銷(xiāo)售,加上其設(shè)計(jì)的芯核具有功耗低、成本低等顯著優(yōu)點(diǎn),因此獲得眾多的半導(dǎo)體廠家和整機(jī)廠商的大力支持,在32位嵌入式應(yīng)用領(lǐng)域獲得了巨大的成功,目前已經(jīng)占有75%以上32位RISC嵌入式產(chǎn)品市場(chǎng)。在低功耗、低成本的嵌入式應(yīng)用領(lǐng)域確立了市場(chǎng)領(lǐng)導(dǎo)地位?,F(xiàn)在設(shè)計(jì)、生產(chǎn)ARM芯片的國(guó)際大公司已經(jīng)超過(guò)50多家,國(guó)中興通訊和華為通訊等公司已經(jīng)購(gòu)買(mǎi)ARM公司芯核用于通訊專(zhuān)用芯片的設(shè)計(jì)。
目前非常流行的ARM芯核有ARM7TDMI,StrongARM,ARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDMI等。自V5以且,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)用。但是,由于ARM芯片有多達(dá)十幾種的芯核結(jié)構(gòu),70多芯片生產(chǎn)廠家,以及千變?nèi)f化的內(nèi)部功能配置組合,給開(kāi)發(fā)人員在選擇方案時(shí)帶來(lái)一定的困難。所以,對(duì)ARM芯片做一對(duì)比研究是十分必要的。
1 ARM芯片選擇的一般原則
從應(yīng)用的角度,對(duì)在選擇ARM芯片時(shí)所應(yīng)考慮的主要困素做一詳細(xì)的說(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的支持。
1.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容量
1.4 USB接口
許多ARM芯片內(nèi)置有USB控制器,有些芯片甚至同時(shí)有USB Host和USB Slave控制器。見(jiàn)表2。
1.5 GPIO數(shù)量
在某些芯片供應(yīng)商提供的說(shuō)明書(shū)中,往往申明的是最大可能的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,并且可以選擇升沿、下降沿、高電平、低電平四種中斷方式。這使得紅外線遙控接收、指輪盤(pán)和鍵盤(pán)等任務(wù)都可以作為背景程序運(yùn)行。而Cirrus Logic公司的EP7312芯片,只有4個(gè)外部中斷源,并且 每個(gè)中斷源都只能是低電平或才高電平中斷,樣在用于接收紅外線信號(hào)的場(chǎng)合時(shí),就必須用查詢(xún)方式,會(huì)浪費(fèi)大量CPU時(shí)間。
評(píng)論