32位RISC CPU ARM芯片的應用和選型
ARM公司自1990年正式成立以來(lái),在32位RISC(Reduced Instruction Set Computer)CPU開(kāi)發(fā)領(lǐng)域不斷取得突破,其結構已經(jīng)從V3發(fā)展到V6。由于A(yíng)RM公司自成立以來(lái),直以IP(Intelligence Property)提供者的身份向各大半導體制造商出售知識產(chǎn)權,而自己從不介入芯片的生產(chǎn)銷(xiāo)售,加上其設計的芯核具有功耗低、成本低等顯著(zhù)優(yōu)點(diǎn),因此獲得眾多的半導體廠(chǎng)家和整機廠(chǎng)商的大力支持,在32位嵌入式應用領(lǐng)域獲得了巨大的成功,目前已經(jīng)占有75%以上32位RISC嵌入式產(chǎn)品市場(chǎng)。在低功耗、低成本的嵌入式應用領(lǐng)域確立了市場(chǎng)領(lǐng)導地位?,F在設計、生產(chǎn)ARM芯片的國際大公司已經(jīng)超過(guò)50多家,國中興通訊和華為通訊等公司已經(jīng)購買(mǎi)ARM公司芯核用于通訊專(zhuān)用芯片的設計。
目前非常流行的ARM芯核有ARM7TDMI,StrongARM,ARM720T,ARM9TDMI,ARM922T,ARM940T,RM946T,ARM966T,ARM10TDMI等。自V5以且,ARM公司提供Piccolo DSP的芯核給芯片設計得,用于設計ARMDSP的SOC(System On Chip)結構芯片。此外,ARM芯片還獲得了許多實(shí)時(shí)操作系統(Real Time Operating System)供應商的支持,比較知名的有:Windows CE、Linux、pSOS、VxWorks、Nucleus、EPOC、uCOS、BeOS等。
隨著(zhù)國內嵌入式應用領(lǐng)域的發(fā)展,ARM芯片必然會(huì )獲得廣泛的重視和應用。但是,由于A(yíng)RM芯片有多達十幾種的芯核結構,70多芯片生產(chǎn)廠(chǎng)家,以及千變萬(wàn)化的內部功能配置組合,給開(kāi)發(fā)人員在選擇方案時(shí)帶來(lái)一定的困難。所以,對ARM芯片做一對比研究是十分必要的。
1 ARM芯片選擇的一般原則
從應用的角度,對在選擇ARM芯片時(shí)所應考慮的主要困素做一詳細的說(shuō)明。
1.1 ARM芯核
如果希望使用WinCE或Linux等操作系統以減少軟件開(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等少數幾種Linux不需要MMU的支持。
1.2 系統時(shí)鐘控制器
系統時(shí)鐘決定了ARM芯片的處理速度。ARM7的處理速度為0.9MIPS/MHz,常見(jiàn)的ARM7芯片系統主時(shí)鐘為20MHz-133MHz,ARM9的處理速度為1.1MIPS/MHz,常見(jiàn)的ARM9的系統主時(shí)鐘為100MHz-233MHz,ARM10最高可以達到700MHz。不同芯片對時(shí)鐘的處理不同,有的芯片只有一個(gè)主時(shí)鐘頻率,這樣的芯片可能不能同時(shí)顧及UART和音頻時(shí)鐘準確性,如Cirrus Logic的EP7312等;有的芯片內部時(shí)鐘控制器可以分別為CPU核和USB、UART、DSP、音頻等功能部件提供同頻率的時(shí)鐘,如PHILIPS公司SAA7750等芯片。
1.3 內部存儲器容量
在不需要大容量存儲器時(shí),可以考慮選用有內置存儲器的ARM芯片。見(jiàn)表1。
表1 內置存儲器的ARM芯片
芯片型號供應商FLASH容量ROM容量SRAM容量
1.4 USB接口
許多ARM芯片內置有USB控制器,有些芯片甚至同時(shí)有USB Host和USB Slave控制器。見(jiàn)表2。
1.5 GPIO數量
在某些芯片供應商提供的說(shuō)明書(shū)中,往往申明的是最大可能的GPIO數量,但是有許多引腳是和地址線(xiàn)、數據線(xiàn)、串口線(xiàn)等引腳復用的。這樣在系統設計時(shí)需要計算實(shí)際可以使用的GPIO數量。
1.6 中斷控制器
ARM內核只提供快速中斷(FIQ)和標準中斷(IRQ)兩個(gè)中斷向量。但各個(gè)半導體廠(chǎng)家在設計芯片時(shí)加入了自己同的中斷控制器,以便支持諸如串行口、外部中斷、時(shí)鐘斷等硬件中斷。外部中斷控制是選擇芯片必須考慮的重要因素,合理的外部中斷設計可以很大程度的減少任務(wù)調度工作量。例如PHILIPS公司的SAA7750,所有GPIO都可以設置成FIQ或IRQ,并且可以選擇升沿、下降沿、高電平、低電平四種中斷方式。這使得紅外線(xiàn)遙控接收、指輪盤(pán)和鍵盤(pán)等任務(wù)都可以作為背景程序運行。而Cirrus Logic公司的EP7312芯片,只有4個(gè)外部中斷源,并且 每個(gè)中斷源都只能是低電平或才高電平中斷,樣在用于接收紅外線(xiàn)信號的場(chǎng)合時(shí),就必須用查詢(xún)方式,會(huì )浪費大量CPU時(shí)間。
評論