當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]各品牌ARM SoC技術(shù)比較分析

本文將介紹三個常見的ARM SoC,包含ARM7和ARM9,并試著分析與比較它們的性能。

  ARM7族群

  低耗電量和低成本是ARM7的優(yōu)點。不過,ARM7的最大執(zhí)行速率不到100 MHz,因此,在應(yīng)用上,它和8051之類的微控制器(MCU)類似,但在功能上,ARM7通常優(yōu)于MCU。

  由于一般的MCU都是8-bit,而且不支持操作系統(tǒng)(O.S.),所以使用MCU開發(fā)應(yīng)用產(chǎn)品的成本通常會比使用ARM7來得便宜。然而,就簡單的應(yīng)用而言,ARM7也可以不需要操作系統(tǒng),只使用純粹的韌體,照樣可以達(dá)到和MCU一樣或優(yōu)于MCU的效能。

  TI的TMS470

  它的CPU核心是ARM7TDMI,16/32-bit RISC。其正常模式的系統(tǒng)時脈是28 MHz、管線模式是48 MHz。內(nèi)含128K Bytes的FLASH和8K Bytes的SRAM。其它電路單元還包含:

  零腳位鎖相回路(ZPLL)時脈模塊。

  模擬的看門狗定時器(analog watchdog timer;AWD)。

  實時中斷模塊(real-time interrupt;RTI)。

  兩個”序列外圍接口”(SPI)模塊。

  兩個”序列通訊接口”(SCI)模塊。

  標(biāo)準(zhǔn)的”控制局域網(wǎng)絡(luò)”(control area network;CAN)控制器(SCC)。

  第二類序列界面(C2SIa)。

  10-bit、16個輸入信道多重緩沖”模擬數(shù)字轉(zhuǎn)換器”(MibADC)。

  高階定時器(high-end timer;HET),控制16個輸出入端口(I/O)。

  外部時脈預(yù)分頻器(external clock prescale;ECP)。

  共49個I/O腳位,1個只能輸入的腳位。

  TMS470的系統(tǒng)功能有:

  地址譯碼。

  保護(hù)內(nèi)存。

  監(jiān)督內(nèi)存和各外圍的總線。

  重置(reset)和取消(abort)的例外管理。

  所有內(nèi)部中斷源的排序(prioritization)。

  裝置的時脈控制。

  平行的特性記號(signature)分析(PSA):是一種自動檢測故障的功能,可以利用多個輸入的特性記號來檢測數(shù)據(jù)流。這個特性記號可以用來判定處理器是處于好的或壞的狀態(tài)。

  上述的ZPLL、HET、MibADC是TMS470的特殊功能。ZPLL包含了一個PLL、一個時脈監(jiān)督(clock-monitor)電路、一個時脈致能(clock-enable)電路和一個預(yù)分頻器(預(yù)分頻值是從1~8)。ZPLL的功能是將外部的參考電壓乘以預(yù)分頻值,以獲得較高的頻率,供給TMS470內(nèi)部使用。ZPLL提供ACLK給TMS470的系統(tǒng)模塊,之后,系統(tǒng)模塊會產(chǎn)生系統(tǒng)時脈(SYSCLK)、實時中斷時脈(RTICLK)、CPU時脈(MCLK)、外圍接口時脈(ICLK)。所謂”零腳位”是指ZPLL沒有提供外部濾波器的接腳,亦即不需要連接外部濾波器的意思。

  許多不熟悉TI芯片的硬件工程師,經(jīng)常不知道要如何將石英振蕩器(crystal oscillator)或外部的時脈信號連接到TI芯片上。其實,TMS470內(nèi)部已經(jīng)具有一個振蕩器電路(在ZPLL內(nèi)),但若要啟動它,外部需要連接一個4MHz~20 MHz的石英或諧振器(resonator),并且要在OSCIN和OSCOUT腳位之間連接負(fù)載電容,如圖2(a)所示。這個負(fù)載電容的大小應(yīng)該由石英振蕩器的供貨商提供,如果施予不正確的載電容值,可能無法使TMS470正常開機和工作。

  此外,如果不使用TMS470內(nèi)部的振蕩器,而改用外部的參考時脈或外部的振蕩器輸出信號,此時要將1.8V的時脈信號連接到OSCIN腳位,并將OSCOUT腳位保持開路的狀態(tài),如附圖2(b)所示。當(dāng)然,不同廠牌的芯片的時脈來源之連接方式不盡相同,硬件工程師事先應(yīng)仔細(xì)查閱它們的技術(shù)手冊。

  HET是一種先進(jìn)的智能型定時器,它為實時的應(yīng)用提供精確的計時功能。此定時器是由軟件控制的,使用精簡的指令集、特殊的微電路架構(gòu)、I/O端口。它可以應(yīng)用于數(shù)據(jù)比較、采集,或當(dāng)成GPIO,尤其適用于對多個傳感器(sensor)的輸入數(shù)據(jù)做比較,或輸出復(fù)雜的和精確的時間脈沖(如:PWM脈沖)來驅(qū)動起動器(actuator)。

  HET的周邊具有”XOR—分享”的功能,此功能可以讓兩相鄰的HET通道被XOR在一起,和HET的標(biāo)準(zhǔn)輸出脈沖相比,這能夠輸出更小的脈沖信號。

  為了讓使用者可以為FLASH、RAM、HET RAM尋址,TMS470有提供“內(nèi)存選擇”(memory selection)的功能。每一個“內(nèi)存選擇”具有它自己的“內(nèi)存基本地址緩存器(memory base address register)”—MFBAHRx和MFBALRx(分別是高位和低位元),用來定義各個內(nèi)存區(qū)塊的起始(基本)地址、區(qū)塊大小和保護(hù)方式。每一個“內(nèi)存選擇”的基本地址是透過緩存器來設(shè)定的,它們應(yīng)該要符合附圖3中的映像地址之邊界值—必須是區(qū)塊大小的整數(shù)倍。圖4是TMS470的“內(nèi)存選擇”的分配情形。

  MibADC接受一個模擬信號,并將它轉(zhuǎn)換成一個10-bit的數(shù)字信號。MibADC具有兩個模式:相容vs.緩沖模式。在兼容模式中,TMS470的“程序模型”(programmer‘s model)和TMS470的ADC模塊兼容,而且MibADC的數(shù)字輸出是儲存在“數(shù)字輸出緩存器”(digital result register)中;“程序模型”包含:緩存器、尋址模式(addressing mode)和中斷。兼容模式能讓ADC的程序設(shè)計工作變得比較容易,因為只要直接讀取數(shù)字輸出緩存器即可取得轉(zhuǎn)換后的數(shù)字?jǐn)?shù)據(jù)。在緩沖模式中,數(shù)字元輸出緩存器被3個FIFO緩沖存儲器取代—分別表示不同的轉(zhuǎn)換群組(事件、群組1、群組2)。在兼容模式中,MibADC的FIFO是被“中斷服務(wù)例程(ISR)”讀取。[!--empirenews.page--]

  Philips的LPC2214

  它的CPU核心是16/32-bit ARM7TDMI-S,S是“可合成”(synthesizable)的意思,可讓SoC設(shè)計業(yè)者能將ARM7TDMI核心快速地和靈活地與其它IP合成。LPC2214的主要特性如下:

  內(nèi)建有256 Kbytes的FLASH、16 Kbytes的SRAM,工作速率60 MHz。128-bit的“內(nèi)存加速模塊”(memory accelerator module;MAM),能使CPU快速攫取到(prefetch)下一個ARM指令,因此,執(zhí)行速率可以達(dá)到60 MHz。

  透過芯片內(nèi)的開機加載軟件(boot loader),可以達(dá)到“系統(tǒng)內(nèi)編程”(In-System Programming;ISP)和“應(yīng)用中編程” (In-Application Programming;IAP)的功能。

  所謂”系統(tǒng)內(nèi)編程”是指利用JTAG和軟件,可以在很短的時間內(nèi)(約30秒~40秒),將使用者系統(tǒng)程序?qū)懭隖LASH中,或清除FLASH的所有內(nèi)容;在這過程中,并不需要從主機板中將處理器或FLASH拆除,因此可以節(jié)省成本和時間。這有利于產(chǎn)品的開發(fā);或能讓技術(shù)人員到客戶端更新軟件或參數(shù),且不需要拆機殼大翻修。目前大多數(shù)的MCU、SoC、DSP、FPGA/CPLD都有提供類似的工具和功能。

  所謂“應(yīng)用中編程”是指利用兩組FLASH,可以在遠(yuǎn)程將韌體版本升級。當(dāng)將第一組FLASH的程序代碼被清除或被重新寫入時,處理器使用第二組FLASH的程序代碼來執(zhí)行。當(dāng)?shù)谝唤MFLASH的寫入作業(yè)完成之后,系統(tǒng)可以馬上切換去執(zhí)行第一組FLASH里面的程序代碼。這個功能對網(wǎng)絡(luò)通訊設(shè)備而言,是很重要的,因為當(dāng)韌體版本升級時,這些設(shè)備的操作系統(tǒng)是不能停止的。

  支持EmbeddedICE-RT和Embedded Trace接口,透過RealMonitor軟件可以進(jìn)行實時除錯。

  8個通道的10-bit ADC,轉(zhuǎn)換時間小于2.44μs。

  2個32-bit定時器(4個采集信道和4個比較信道),1個PWM單元(6個輸出)、1個實時時脈產(chǎn)生器(real time clock)、1個看門狗定時器。

  多種序列接口,這包含:2個UART、1個快速I2C(400 Kbps)、2個SPI。

  1個向量式中斷控制器(可設(shè)定中斷的優(yōu)先級和中斷向量的地址)。

  可設(shè)定的外部內(nèi)存接口,最多可設(shè)定4個內(nèi)存排組(bank),每排最長16M-bit和8/16/32-bit的數(shù)據(jù)寬度(因此,支持的最大內(nèi)存空間是64 MBytes)。

  最多112個GPIO腳位(5V)。9個外部中斷腳位(邊緣或水平觸發(fā))。

  內(nèi)建有PLL,支持的最大CPU時脈為60 MHz。

  內(nèi)建有石英振蕩器,工作頻率范圍是1 MHz~30 MHz。

  兩種低功率模式:閑置(Idle)和功率下降(Power-down)。

  透過外部中斷,可以將處于“功率下降模式”的處理器喚醒。

  為了使功率的利用能夠達(dá)到最佳化,可以開啟(enable)或關(guān)閉(disable)個別的周邊功能。

  LPC2214也和TMS470一樣有支持ADC的功能,因此,它們都很適合用來開發(fā)數(shù)據(jù)采集用途的裝置,例如:條形碼掃描機等。不過,TMS470的MibADC可以支持16個通道,但LPC2214只支持8個通道。

  其實,LPC2214的PWM的運作原理和定時器一樣。定時器是依照7個比較緩存器(match register)來計算外圍裝置的時脈周期數(shù)目,并產(chǎn)生中斷;或當(dāng)定時器的計數(shù)數(shù)目達(dá)到特定值時,系統(tǒng)就會去執(zhí)行指定的工作。因為它能夠分別控制上升緣和下降緣的位置,所以應(yīng)用較廣。例如:多相(multi-phase)馬達(dá)的控制通常需要3個不重迭的(non-overlapped)PWM輸出,分別控制3個脈沖寬度和位置。7個比較緩存器能夠提供最多6個單邊(single edge)控制的,或3個雙邊(double edge)控制的PWM輸出脈沖。

  LPC2214的內(nèi)存映像(圖4)是固定的,在重新映像時,不需要再設(shè)計其它復(fù)雜的程序代碼,以便在不同的地址區(qū)塊執(zhí)行。其中,CPU中斷向量可以被重新映像,好讓中斷向量能儲存于芯片內(nèi)的FLASH中(默認(rèn)值為0x00000000),或儲存于芯片內(nèi)的SRAM中。藉由設(shè)定MEMMAP緩存器的值,就可以進(jìn)行重新映射,重新映射完成后,開機碼區(qū)塊(boot block)將被搬移(relocate)至芯片內(nèi)存儲器映像的最上方。

  LPC2000系列的SoC都具有下列三種工作模式或開機狀態(tài):

  開機加載模式:被硬件重置啟動,之后,開機加載程序會被執(zhí)行。開機碼區(qū)塊里的中斷向量會被映像至內(nèi)存映像(FLASH)的最下方,以便于在開機加載過程,能夠處理例外和中斷請求。

  使用者FLASH模式:當(dāng)開機加載程序發(fā)現(xiàn)FLASH里有使用者程序存在時,而且開機加載程序不需要再執(zhí)行時(沒有被強制執(zhí)行),就進(jìn)入此模式。(這很像PC的BIOS開機過程,若一直按F1或DEL鍵,就會進(jìn)入BIOS模式;若不按此鍵,則操作系統(tǒng)會正常運作。)在此模式中,中斷向量不會被映射,仍然位于FLASH的最下方。

  使用者RAM模式:被使用者程序啟動。中斷向量被重新映射至SRAM的最下方。[!--empirenews.page--]

  ARM9族群

  ARM9大約可以達(dá)到180MHz~200 MHz的工作速率。因此,它能驅(qū)動的周邊裝置比ARM7多,應(yīng)用范圍也比較廣。下面舉Atmel的AT91RM9200來說明。

  Atmel的AT91RM9200

  它的CPU核心是16/32-bit的ARM920T,其主要功能簡述如下:

  內(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個外部中斷來源,1個快速中斷來源。

  4個32-bit可程序I/O控制器,122個可程序I/O腳位,每個I/O腳位具有輸入變動中斷和”開路泄極”(open-drain)的功能。“開路泄極”是指在芯片內(nèi)部的MOS FET輸出電路上的泄極沒有連接任何組件(電阻)。通常,它可以用來驅(qū)動高電流或高電壓的負(fù)載;或者說,多個外部裝置可以和此單一線路做雙向通信。

  具有20個信道的周邊裝置控制器(DMA)。

  4個可程序外部時脈信號。

  內(nèi)建2個振蕩器,以及2個PLL。

  軟件控制的功率最佳化功能。

  實時時脈產(chǎn)生器具有警報中斷功能。

  中斷控制器具有8個不同等級的優(yōu)先級。能個別屏蔽的向量式中斷來源,可抑制寄生信號對中斷信號的干擾。

  支持以太MAC 10/100 Base-T、MII或RMII,整合了28-byte的FIFO和專屬的DMA傳收通道。

  支持USB 2.0(12 Mbps)主機端口(host port)和裝置端口(device port)。主機端口有整合FIFO和專屬的DMA。

  多媒體記憶卡接口(multimedia card interface;MCI):支持自動的通信協(xié)議控制、和自動化的數(shù)據(jù)快速傳輸;與MMC和SD標(biāo)準(zhǔn)兼容,最多可支持2個SD記憶卡。

  3個同步的序列控制器(SSC):每個傳送器和接收器都具有獨立的時脈和訊包同步信號。支持I2S模擬接口,采用分時多任務(wù)技術(shù)。

  4個萬用同步/異步接收傳送器(USART):可支持RS485、IrDA、調(diào)制解調(diào)器(modem)、ISO 7816的T0/T1 Smart Card。

  主從式序列外圍接口(SPI):8到16-bit的可程序數(shù)據(jù)長度,可以選擇4個外部外圍芯片。

  2組3-通道、16-bit的定時器/計數(shù)器(TC):3個外部輸入時脈、每個通道具有2個多用途I/O腳位。能夠產(chǎn)生雙PWM信號。

  雙線路界面(two-wire interface;TWI):支持主控模式(master mode),支持Atmel所有的雙線路EEPROM。

  所有數(shù)字腳位都支持IEEE 1149.1 JTAG邊界掃描。

  AT91RM9200算是性能非常強大的SoC,它可以用來開發(fā)通信、儲存、控制等產(chǎn)品。由于它的功能很多,所以本文無法逐項詳細(xì)說明,在此僅介紹它的USB 2.0主機端口。

  它的USB 2.0主機端口支持“開放式主機控制器接口”(Open Host Controller Interface;OHCI) v1.0規(guī)格,以及USB v2.0全速(12 Mbps)和低速(1.5 Mbps)規(guī)格的信訊協(xié)議。它整合了1個“根部集線器”(root hub)和下游的2個USB傳收器。標(biāo)準(zhǔn)的OHCI USB通訊堆棧驅(qū)動程序可以輕易地移植到此架構(gòu)中,不需要顧慮硬件的兼容問題;可以執(zhí)行現(xiàn)有全部的USB類別驅(qū)動程序,這表示所有標(biāo)準(zhǔn)的USB類別裝置(class device)都能被自動偵測,讓使用者應(yīng)用。圖5是其內(nèi)部架構(gòu)圖。

  在主機控制器和主機控制器驅(qū)動程序之間,有兩個通信信道。第一個信道使用主機控制器內(nèi)部的作業(yè)緩存器組,這個信道的通信對象(目的地)就是主機控制器。這組緩存器包含了控制、狀態(tài)、串行指針(list pointer)緩存器。它們都被映像至系統(tǒng)總線(ASB)的映像區(qū)域內(nèi)。其中有一個指標(biāo)是指向處理器的地址空間—稱為“主機控制器通訊區(qū)域”(Host Controller Communication Area;HCCA)。HCCA正是第二個通信信道。在此信道內(nèi),主機控制器是通信主控(主導(dǎo))者。HCCA包含一些起始指標(biāo)(head pointer),分別指向中斷模式的“端點描述者”(Endpoint Descriptor)串行、已處理完畢的隊列(done queue),和“訊框起始”(start-of-frame;SOF)所代表的狀態(tài)信息。

  此接口的基本建構(gòu)區(qū)塊包含:端點描述者(ED)和傳輸描述者(Transfer Descriptor;TD)。主機控制器對系統(tǒng)內(nèi)的每一個端點各別分配一個ED,TD隊列連結(jié)至特定的ED上。

 雖然有了硬件的USB 2.0主機端口,但是USB的軟件驅(qū)動程序仍然是不可或缺的。圖7是它的USB驅(qū)動程序架構(gòu)。USB的數(shù)據(jù)處理作業(yè)是透過下列的通信層完成的:

  主機控制器硬件和序列引擎(serial engine):在總線上,傳送和接收USB數(shù)據(jù)。

  主機控制器驅(qū)動程序:驅(qū)動主機控制器硬件和處理USB通信協(xié)議。

  USB總線驅(qū)動程序和集線器驅(qū)動程序:處理USB命令和“列舉”(enumeration)。提供一個硬件的獨立接口。

  迷你驅(qū)動程序(mini driver):處理USB裝置特有的命令。不同廠牌的USB裝置可能具有不同功能的特殊命令。

  類別驅(qū)動程序:處理標(biāo)準(zhǔn)的裝置及其命令。某一標(biāo)準(zhǔn)類別的USB裝置之類別驅(qū)動程序都具有共同的特性,或類似的程序代碼和邏輯;例如:人機接口裝置(HID)的驅(qū)動程序。

  性能比較分析

  目前在國外市場上TMS470、LPC2214、AT91RM9200等ARM SoC很受到歡迎。當(dāng)然,還有其它廠牌的ARM SoC也很受歡迎,譬如:Samsung、Analog等。雖然在價格上它們不見得是最便宜的,但是由于它們的性能優(yōu)異、容易應(yīng)用,所以擁有許多忠實的用戶。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉