各品牌ARM SoC技術比較分析
Philips的LPC2214
它的CPU核心是16/32-bit ARM7TDMI-S,S是“可合成”(synthesizable)的意思,可讓SoC設計業(yè)者能將ARM7TDMI核心快速地和靈活地與其它IP合成。LPC2214的主要特性如下:
內建有256 Kbytes的FLASH、16 Kbytes的SRAM,工作速率60 MHz。128-bit的“內存加速模塊”(memory accelerator module;MAM),能使CPU快速攫取到(prefetch)下一個ARM指令,因此,執(zhí)行速率可以達到60 MHz。
透過芯片內的開機加載軟件(boot loader),可以達到“系統(tǒng)內編程”(In-System Programming;ISP)和“應用中編程” (In-Application Programming;IAP)的功能。
所謂”系統(tǒng)內編程”是指利用JTAG和軟件,可以在很短的時間內(約30秒~40秒),將使用者系統(tǒng)程序寫入FLASH中,或清除FLASH的所有內容;在這過程中,并不需要從主機板中將處理器或FLASH拆除,因此可以節(jié)省成本和時間。這有利于產品的開發(fā);或能讓技術人員到客戶端更新軟件或參數,且不需要拆機殼大翻修。目前大多數的MCU、SoC、DSP、FPGA/CPLD都有提供類似的工具和功能。
所謂“應用中編程”是指利用兩組FLASH,可以在遠程將韌體版本升級。當將第一組FLASH的程序代碼被清除或被重新寫入時,處理器使用第二組FLASH的程序代碼來執(zhí)行。當第一組FLASH的寫入作業(yè)完成之后,系統(tǒng)可以馬上切換去執(zhí)行第一組FLASH里面的程序代碼。這個功能對網絡通訊設備而言,是很重要的,因為當韌體版本升級時,這些設備的操作系統(tǒng)是不能停止的。
支持EmbeddedICE-RT和Embedded Trace接口,透過RealMonitor軟件可以進行實時除錯。
8個通道的10-bit ADC,轉換時間小于2.44μs。
2個32-bit定時器(4個采集信道和4個比較信道),1個PWM單元(6個輸出)、1個實時時脈產生器(real time clock)、1個看門狗定時器。
多種序列接口,這包含:2個UART、1個快速I2C(400 Kbps)、2個SPI。
1個向量式中斷控制器(可設定中斷的優(yōu)先級和中斷向量的地址)。
可設定的外部內存接口,最多可設定4個內存排組(bank),每排最長16M-bit和8/16/32-bit的數據寬度(因此,支持的最大內存空間是64 MBytes)。
最多112個GPIO腳位(5V)。9個外部中斷腳位(邊緣或水平觸發(fā))。
內建有PLL,支持的最大CPU時脈為60 MHz。
內建有石英振蕩器,工作頻率范圍是1 MHz~30 MHz。
兩種低功率模式:閑置(Idle)和功率下降(Power-down)。
透過外部中斷,可以將處于“功率下降模式”的處理器喚醒。
為了使功率的利用能夠達到最佳化,可以開啟(enable)或關閉(disable)個別的周邊功能。
LPC2214也和TMS470一樣有支持ADC的功能,因此,它們都很適合用來開發(fā)數據采集用途的裝置,例如:條形碼掃描機等。不過,TMS470的MibADC可以支持16個通道,但LPC2214只支持8個通道。
其實,LPC2214的PWM的運作原理和定時器一樣。定時器是依照7個比較緩存器(match register)來計算外圍裝置的時脈周期數目,并產生中斷;或當定時器的計數數目達到特定值時,系統(tǒng)就會去執(zhí)行指定的工作。因為它能夠分別控制上升緣和下降緣的位置,所以應用較廣。例如:多相(multi-phase)馬達的控制通常需要3個不重迭的(non-overlapped)PWM輸出,分別控制3個脈沖寬度和位置。7個比較緩存器能夠提供最多6個單邊(single edge)控制的,或3個雙邊(double edge)控制的PWM輸出脈沖。
LPC2214的內存映像(圖4)是固定的,在重新映像時,不需要再設計其它復雜的程序代碼,以便在不同的地址區(qū)塊執(zhí)行。其中,CPU中斷向量可以被重新映像,好讓中斷向量能儲存于芯片內的FLASH中(默認值為0x00000000),或儲存于芯片內的SRAM中。藉由設定MEMMAP緩存器的值,就可以進行重新映射,重新映射完成后,開機碼區(qū)塊(boot block)將被搬移(relocate)至芯片內存儲器映像的最上方。
LPC2000系列的SoC都具有下列三種工作模式或開機狀態(tài):
開機加載模式:被硬件重置啟動,之后,開機加載程序會被執(zhí)行。開機碼區(qū)塊里的中斷向量會被映像至內存映像(FLASH)的最下方,以便于在開機加載過程,能夠處理例外和中斷請求。
使用者FLASH模式:當開機加載程序發(fā)現FLASH里有使用者程序存在時,而且開機加載程序不需要再執(zhí)行時(沒有被強制執(zhí)行),就進入此模式。(這很像PC的BIOS開機過程,若一直按F1或DEL鍵,就會進入BIOS模式;若不按此鍵,則操作系統(tǒng)會正常運作。)在此模式中,中斷向量不會被映射,仍然位于FLASH的最下方。
使用者RAM模式:被使用者程序啟動。中斷向量被重新映射至SRAM的最下方。
分頻器相關文章:分頻器原理
評論