各品牌ARM SoC技術(shù)比較分析
本文將介紹三個(gè)常見的ARM SoC,包含ARM7和ARM9,并試著分析與比較它們的性能。
本文引用地址:http://2s4d.com/article/150830.htmARM7族群
低耗電量和低成本是ARM7的優(yōu)點(diǎn)。不過(guò),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)品的成本通常會(huì)比使用ARM7來(lái)得便宜。然而,就簡(jiǎn)單的應(yīng)用而言,ARM7也可以不需要操作系統(tǒng),只使用純粹的韌體,照樣可以達(dá)到和MCU一樣或優(yōu)于MCU的效能。
TI的TMS470
它的CPU核心是ARM7TDMI,16/32-bit RISC。其正常模式的系統(tǒng)時(shí)脈是28 MHz、管線模式是48 MHz。內(nèi)含128K Bytes的FLASH和8K Bytes的SRAM。其它電路單元還包含:
零腳位鎖相回路(ZPLL)時(shí)脈模塊。
模擬的看門狗定時(shí)器(analog watchdog timer;AWD)。
實(shí)時(shí)中斷模塊(real-time interrupt;RTI)。
兩個(gè)”序列外圍接口”(SPI)模塊。
兩個(gè)”序列通訊接口”(SCI)模塊。
標(biāo)準(zhǔn)的”控制局域網(wǎng)絡(luò)”(control area network;CAN)控制器(SCC)。
第二類序列界面(C2SIa)。
10-bit、16個(gè)輸入信道多重緩沖”模擬數(shù)字轉(zhuǎn)換器”(MibADC)。
高階定時(shí)器(high-end timer;HET),控制16個(gè)輸出入端口(I/O)。
外部時(shí)脈預(yù)分頻器(external clock prescale;ECP)。
共49個(gè)I/O腳位,1個(gè)只能輸入的腳位。
TMS470的系統(tǒng)功能有:
地址譯碼。
保護(hù)內(nèi)存。
監(jiān)督內(nèi)存和各外圍的總線。
重置(reset)和取消(abort)的例外管理。
所有內(nèi)部中斷源的排序(prioritization)。
裝置的時(shí)脈控制。
平行的特性記號(hào)(signature)分析(PSA):是一種自動(dòng)檢測(cè)故障的功能,可以利用多個(gè)輸入的特性記號(hào)來(lái)檢測(cè)數(shù)據(jù)流。這個(gè)特性記號(hào)可以用來(lái)判定處理器是處于好的或壞的狀態(tài)。
上述的ZPLL、HET、MibADC是TMS470的特殊功能。ZPLL包含了一個(gè)PLL、一個(gè)時(shí)脈監(jiān)督(clock-monitor)電路、一個(gè)時(shí)脈致能(clock-enable)電路和一個(gè)預(yù)分頻器(預(yù)分頻值是從1~8)。ZPLL的功能是將外部的參考電壓乘以預(yù)分頻值,以獲得較高的頻率,供給TMS470內(nèi)部使用。ZPLL提供ACLK給TMS470的系統(tǒng)模塊,之后,系統(tǒng)模塊會(huì)產(chǎn)生系統(tǒng)時(shí)脈(SYSCLK)、實(shí)時(shí)中斷時(shí)脈(RTICLK)、CPU時(shí)脈(MCLK)、外圍接口時(shí)脈(ICLK)。所謂”零腳位”是指ZPLL沒(méi)有提供外部濾波器的接腳,亦即不需要連接外部濾波器的意思。
許多不熟悉TI芯片的硬件工程師,經(jīng)常不知道要如何將石英振蕩器(crystal oscillator)或外部的時(shí)脈信號(hào)連接到TI芯片上。其實(shí),TMS470內(nèi)部已經(jīng)具有一個(gè)振蕩器電路(在ZPLL內(nèi)),但若要啟動(dòng)它,外部需要連接一個(gè)4MHz~20 MHz的石英或諧振器(resonator),并且要在OSCIN和OSCOUT腳位之間連接負(fù)載電容,如圖2(a)所示。這個(gè)負(fù)載電容的大小應(yīng)該由石英振蕩器的供貨商提供,如果施予不正確的載電容值,可能無(wú)法使TMS470正常開機(jī)和工作。
此外,如果不使用TMS470內(nèi)部的振蕩器,而改用外部的參考時(shí)脈或外部的振蕩器輸出信號(hào),此時(shí)要將1.8V的時(shí)脈信號(hào)連接到OSCIN腳位,并將OSCOUT腳位保持開路的狀態(tài),如附圖2(b)所示。當(dāng)然,不同廠牌的芯片的時(shí)脈來(lái)源之連接方式不盡相同,硬件工程師事先應(yīng)仔細(xì)查閱它們的技術(shù)手冊(cè)。
HET是一種先進(jìn)的智能型定時(shí)器,它為實(shí)時(shí)的應(yīng)用提供精確的計(jì)時(shí)功能。此定時(shí)器是由軟件控制的,使用精簡(jiǎn)的指令集、特殊的微電路架構(gòu)、I/O端口。它可以應(yīng)用于數(shù)據(jù)比較、采集,或當(dāng)成GPIO,尤其適用于對(duì)多個(gè)傳感器(sensor)的輸入數(shù)據(jù)做比較,或輸出復(fù)雜的和精確的時(shí)間脈沖(如:PWM脈沖)來(lái)驅(qū)動(dòng)起動(dòng)器(actuator)。
HET的周邊具有”XOR—分享”的功能,此功能可以讓兩相鄰的HET通道被XOR在一起,和HET的標(biāo)準(zhǔn)輸出脈沖相比,這能夠輸出更小的脈沖信號(hào)。
為了讓使用者可以為FLASH、RAM、HET RAM尋址,TMS470有提供“內(nèi)存選擇”(memory selection)的功能。每一個(gè)“內(nèi)存選擇”具有它自己的“內(nèi)存基本地址緩存器(memory base address register)”—MFBAHRx和MFBALRx(分別是高位和低位元),用來(lái)定義各個(gè)內(nèi)存區(qū)塊的起始(基本)地址、區(qū)塊大小和保護(hù)方式。每一個(gè)“內(nèi)存選擇”的基本地址是透過(guò)緩存器來(lái)設(shè)定的,它們應(yīng)該要符合附圖3中的映像地址之邊界值—必須是區(qū)塊大小的整數(shù)倍。圖4是TMS470的“內(nèi)存選擇”的分配情形。
MibADC接受一個(gè)模擬信號(hào),并將它轉(zhuǎn)換成一個(gè)10-bit的數(shù)字信號(hào)。MibADC具有兩個(gè)模式:相容vs.緩沖模式。在兼容模式中,TMS470的“程序模型”(programmer‘s model)和TMS470的ADC模塊兼容,而且MibADC的數(shù)字輸出是儲(chǔ)存在“數(shù)字輸出緩存器”(digital result register)中;“程序模型”包含:緩存器、尋址模式(addressing mode)和中斷。兼容模式能讓ADC的程序設(shè)計(jì)工作變得比較容易,因?yàn)橹灰苯幼x取數(shù)字輸出緩存器即可取得轉(zhuǎn)換后的數(shù)字?jǐn)?shù)據(jù)。在緩沖模式中,數(shù)字元輸出緩存器被3個(gè)FIFO緩沖存儲(chǔ)器取代—分別表示不同的轉(zhuǎn)換群組(事件、群組1、群組2)。在兼容模式中,MibADC的FIFO是被“中斷服務(wù)例程(ISR)”讀取。
分頻器相關(guān)文章:分頻器原理
評(píng)論