各品牌ARM SoC技術比較分析
本文將介紹三個常見的ARM SoC,包含ARM7和ARM9,并試著分析與比較它們的性能。
本文引用地址:http://www.ex-cimer.com/article/150830.htmARM7族群
低耗電量和低成本是ARM7的優(yōu)點。不過,ARM7的最大執(zhí)行速率不到100 MHz,因此,在應用上,它和8051之類的微控制器(MCU)類似,但在功能上,ARM7通常優(yōu)于MCU。
由于一般的MCU都是8-bit,而且不支持操作系統(tǒng)(O.S.),所以使用MCU開發(fā)應用產(chǎn)品的成本通常會比使用ARM7來得便宜。然而,就簡單的應用而言,ARM7也可以不需要操作系統(tǒng),只使用純粹的韌體,照樣可以達到和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)模塊。
標準的”控制局域網(wǎng)絡”(control area network;CAN)控制器(SCC)。
第二類序列界面(C2SIa)。
10-bit、16個輸入信道多重緩沖”模擬數(shù)字轉(zhuǎn)換器”(MibADC)。
高階定時器(high-end timer;HET),控制16個輸出入端口(I/O)。
外部時脈預分頻器(external clock prescale;ECP)。
共49個I/O腳位,1個只能輸入的腳位。
TMS470的系統(tǒng)功能有:
地址譯碼。
保護內(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)電路和一個預分頻器(預分頻值是從1~8)。ZPLL的功能是將外部的參考電壓乘以預分頻值,以獲得較高的頻率,供給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腳位之間連接負載電容,如圖2(a)所示。這個負載電容的大小應該由石英振蕩器的供貨商提供,如果施予不正確的載電容值,可能無法使TMS470正常開機和工作。
此外,如果不使用TMS470內(nèi)部的振蕩器,而改用外部的參考時脈或外部的振蕩器輸出信號,此時要將1.8V的時脈信號連接到OSCIN腳位,并將OSCOUT腳位保持開路的狀態(tài),如附圖2(b)所示。當然,不同廠牌的芯片的時脈來源之連接方式不盡相同,硬件工程師事先應仔細查閱它們的技術手冊。
HET是一種先進的智能型定時器,它為實時的應用提供精確的計時功能。此定時器是由軟件控制的,使用精簡的指令集、特殊的微電路架構、I/O端口。它可以應用于數(shù)據(jù)比較、采集,或當成GPIO,尤其適用于對多個傳感器(sensor)的輸入數(shù)據(jù)做比較,或輸出復雜的和精確的時間脈沖(如:PWM脈沖)來驅(qū)動起動器(actuator)。
HET的周邊具有”XOR—分享”的功能,此功能可以讓兩相鄰的HET通道被XOR在一起,和HET的標準輸出脈沖相比,這能夠輸出更小的脈沖信號。
為了讓使用者可以為FLASH、RAM、HET RAM尋址,TMS470有提供“內(nèi)存選擇”(memory selection)的功能。每一個“內(nèi)存選擇”具有它自己的“內(nèi)存基本地址緩存器(memory base address register)”—MFBAHRx和MFBALRx(分別是高位和低位元),用來定義各個內(nèi)存區(qū)塊的起始(基本)地址、區(qū)塊大小和保護方式。每一個“內(nèi)存選擇”的基本地址是透過緩存器來設定的,它們應該要符合附圖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ù)字輸出緩存器即可取得轉(zhuǎn)換后的數(shù)字數(shù)據(jù)。在緩沖模式中,數(shù)字元輸出緩存器被3個FIFO緩沖存儲器取代—分別表示不同的轉(zhuǎn)換群組(事件、群組1、群組2)。在兼容模式中,MibADC的FIFO是被“中斷服務例程(ISR)”讀取。
分頻器相關文章:分頻器原理
評論