各品牌ARM SoC技術(shù)比較分析
ARM9族群
ARM9大約可以達(dá)到180MHz~200 MHz的工作速率。因此,它能驅(qū)動(dòng)的周邊裝置比ARM7多,應(yīng)用范圍也比較廣。下面舉Atmel的AT91RM9200來(lái)說(shuō)明。
Atmel的AT91RM9200
它的CPU核心是16/32-bit的ARM920T,其主要功能簡(jiǎn)述如下:
內(nèi)建有16 Kbytes的SRAM和128 Kbytes的ROM。
外部總線接口(External Bus Interface;EBI):可以支持SDRAM、SRAM、“暴量傳輸?shù)?burst)”FLASH(亦即NOR FLASH)、能直接(glueless)和CompactFlash、SmartMedia、NAND FLASH連接。
7個(gè)外部中斷來(lái)源,1個(gè)快速中斷來(lái)源。
4個(gè)32-bit可程序I/O控制器,122個(gè)可程序I/O腳位,每個(gè)I/O腳位具有輸入變動(dòng)中斷和”開(kāi)路泄極”(open-drain)的功能。“開(kāi)路泄極”是指在芯片內(nèi)部的MOS FET輸出電路上的泄極沒(méi)有連接任何組件(電阻)。通常,它可以用來(lái)驅(qū)動(dòng)高電流或高電壓的負(fù)載;或者說(shuō),多個(gè)外部裝置可以和此單一線路做雙向通信。
具有20個(gè)信道的周邊裝置控制器(DMA)。
4個(gè)可程序外部時(shí)脈信號(hào)。
內(nèi)建2個(gè)振蕩器,以及2個(gè)PLL。
軟件控制的功率最佳化功能。
實(shí)時(shí)時(shí)脈產(chǎn)生器具有警報(bào)中斷功能。
中斷控制器具有8個(gè)不同等級(jí)的優(yōu)先級(jí)。能個(gè)別屏蔽的向量式中斷來(lái)源,可抑制寄生信號(hào)對(duì)中斷信號(hào)的干擾。
支持以太MAC 10/100 Base-T、MII或RMII,整合了28-byte的FIFO和專屬的DMA傳收通道。
支持USB 2.0(12 Mbps)主機(jī)端口(host port)和裝置端口(device port)。主機(jī)端口有整合FIFO和專屬的DMA。
多媒體記憶卡接口(multimedia card interface;MCI):支持自動(dòng)的通信協(xié)議控制、和自動(dòng)化的數(shù)據(jù)快速傳輸;與MMC和SD標(biāo)準(zhǔn)兼容,最多可支持2個(gè)SD記憶卡。
3個(gè)同步的序列控制器(SSC):每個(gè)傳送器和接收器都具有獨(dú)立的時(shí)脈和訊包同步信號(hào)。支持I2S模擬接口,采用分時(shí)多任務(wù)技術(shù)。
4個(gè)萬(wàn)用同步/異步接收傳送器(USART):可支持RS485、IrDA、調(diào)制解調(diào)器(modem)、ISO 7816的T0/T1 Smart Card。
主從式序列外圍接口(SPI):8到16-bit的可程序數(shù)據(jù)長(zhǎng)度,可以選擇4個(gè)外部外圍芯片。
2組3-通道、16-bit的定時(shí)器/計(jì)數(shù)器(TC):3個(gè)外部輸入時(shí)脈、每個(gè)通道具有2個(gè)多用途I/O腳位。能夠產(chǎn)生雙PWM信號(hào)。
雙線路界面(two-wire interface;TWI):支持主控模式(master mode),支持Atmel所有的雙線路EEPROM。
所有數(shù)字腳位都支持IEEE 1149.1 JTAG邊界掃描。
AT91RM9200算是性能非常強(qiáng)大的SoC,它可以用來(lái)開(kāi)發(fā)通信、儲(chǔ)存、控制等產(chǎn)品。由于它的功能很多,所以本文無(wú)法逐項(xiàng)詳細(xì)說(shuō)明,在此僅介紹它的USB 2.0主機(jī)端口。
它的USB 2.0主機(jī)端口支持“開(kāi)放式主機(jī)控制器接口”(Open Host Controller Interface;OHCI) v1.0規(guī)格,以及USB v2.0全速(12 Mbps)和低速(1.5 Mbps)規(guī)格的信訊協(xié)議。它整合了1個(gè)“根部集線器”(root hub)和下游的2個(gè)USB傳收器。標(biāo)準(zhǔn)的OHCI USB通訊堆棧驅(qū)動(dòng)程序可以輕易地移植到此架構(gòu)中,不需要顧慮硬件的兼容問(wèn)題;可以執(zhí)行現(xiàn)有全部的USB類別驅(qū)動(dòng)程序,這表示所有標(biāo)準(zhǔn)的USB類別裝置(class device)都能被自動(dòng)偵測(cè),讓使用者應(yīng)用。圖5是其內(nèi)部架構(gòu)圖。
在主機(jī)控制器和主機(jī)控制器驅(qū)動(dòng)程序之間,有兩個(gè)通信信道。第一個(gè)信道使用主機(jī)控制器內(nèi)部的作業(yè)緩存器組,這個(gè)信道的通信對(duì)象(目的地)就是主機(jī)控制器。這組緩存器包含了控制、狀態(tài)、串行指針(list pointer)緩存器。它們都被映像至系統(tǒng)總線(ASB)的映像區(qū)域內(nèi)。其中有一個(gè)指標(biāo)是指向處理器的地址空間—稱為“主機(jī)控制器通訊區(qū)域”(Host Controller Communication Area;HCCA)。HCCA正是第二個(gè)通信信道。在此信道內(nèi),主機(jī)控制器是通信主控(主導(dǎo))者。HCCA包含一些起始指標(biāo)(head pointer),分別指向中斷模式的“端點(diǎn)描述者”(Endpoint Descriptor)串行、已處理完畢的隊(duì)列(done queue),和“訊框起始”(start-of-frame;SOF)所代表的狀態(tài)信息。
此接口的基本建構(gòu)區(qū)塊包含:端點(diǎn)描述者(ED)和傳輸描述者(Transfer Descriptor;TD)。主機(jī)控制器對(duì)系統(tǒng)內(nèi)的每一個(gè)端點(diǎn)各別分配一個(gè)ED,TD隊(duì)列連結(jié)至特定的ED上。
雖然有了硬件的USB 2.0主機(jī)端口,但是USB的軟件驅(qū)動(dòng)程序仍然是不可或缺的。圖7是它的USB驅(qū)動(dòng)程序架構(gòu)。USB的數(shù)據(jù)處理作業(yè)是透過(guò)下列的通信層完成的:
主機(jī)控制器硬件和序列引擎(serial engine):在總線上,傳送和接收USB數(shù)據(jù)。
主機(jī)控制器驅(qū)動(dòng)程序:驅(qū)動(dòng)主機(jī)控制器硬件和處理USB通信協(xié)議。
USB總線驅(qū)動(dòng)程序和集線器驅(qū)動(dòng)程序:處理USB命令和“列舉”(enumeration)。提供一個(gè)硬件的獨(dú)立接口。
迷你驅(qū)動(dòng)程序(mini driver):處理USB裝置特有的命令。不同廠牌的USB裝置可能具有不同功能的特殊命令。
類別驅(qū)動(dòng)程序:處理標(biāo)準(zhǔn)的裝置及其命令。某一標(biāo)準(zhǔn)類別的USB裝置之類別驅(qū)動(dòng)程序都具有共同的特性,或類似的程序代碼和邏輯;例如:人機(jī)接口裝置(HID)的驅(qū)動(dòng)程序。
目前在國(guó)外市場(chǎng)上TMS470、LPC2214、AT91RM9200等ARM SoC很受到歡迎。當(dāng)然,還有其它廠牌的ARM SoC也很受歡迎,譬如:Samsung、Analog等。雖然在價(jià)格上它們不見(jiàn)得是最便宜的,但是由于它們的性能優(yōu)異、容易應(yīng)用,所以擁有許多忠實(shí)的用戶。
分頻器相關(guān)文章:分頻器原理
評(píng)論