基于ARM7的高性能低功耗LPC2000系列微控制器應(yīng)對嵌入式需求
突出特點(diǎn)
由于采用了ARM7TDMI-S內(nèi)核,LPC2000系列MCU工作頻率達(dá)60MHz,與其他8-bit產(chǎn)品相比具有更強(qiáng)的功能延展性。同時它借助片上存儲器加 模塊實(shí)現(xiàn)了“零等待訪問”高速閃存功能,提高了指令執(zhí)行的效率。
此外,LPC2000的外設(shè)接口非常豐富,包括UART、SPI、I2C、CAN、ADC、PWM、RTC等。LPC2000系列MCU應(yīng)用領(lǐng)域非常廣泛,從網(wǎng)絡(luò)通信、 馬達(dá)控制,到汽車和消費(fèi)電子都適合于涉足。
嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的,它是將先進(jìn)計算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)以及各行業(yè)的具體應(yīng)用相結(jié)合的產(chǎn)物,因此它是一個高度密集、不斷創(chuàng)新的知識集成系統(tǒng)。作為嵌入式系統(tǒng),它必須能夠根據(jù)應(yīng)用的需求可以對軟硬件進(jìn)行裁剪,精簡系統(tǒng)以滿足應(yīng)用系統(tǒng)在功能、可靠性、成本、體積等各種要求。
嵌入式處理器是嵌入式系統(tǒng)硬件最核心的部分,飛利浦推出十余款基于 ARM7 的高性能低功耗LPC2000系列微控制器,來滿足不斷增長的嵌入式市場需求。
這一系列新款微控制器LPC2114/2124/2119/2129/2194、LPC2210/2212/2214、LPC2290 /2292/2294在高性能低功耗的基礎(chǔ)上提供了增強(qiáng)的通信功能和片上代碼保護(hù)機(jī)制。由于內(nèi)置了寬范圍的串行通信接口,它們也非常適用于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式軟調(diào)制解調(diào)器等。6通道的PWM更能用于復(fù)雜的馬達(dá)控制應(yīng)用??傊w利浦ARM嵌入式微控制器應(yīng)用領(lǐng)域包括工業(yè)控制、通信、安防系統(tǒng)、醫(yī)療儀器、航空航天、汽車和消費(fèi)電子等,覆蓋了從低端到高端的嵌入式產(chǎn)品應(yīng)用。
以ARM7微核心的體系架構(gòu)
以LPC2214為例,其結(jié)構(gòu)框圖如下:
圖1,LPC2214結(jié)構(gòu)框圖
LPC2214的CPU是一個支持實(shí)時仿真和跟蹤的16/32 位ARM7TDMI-S 處理器,該款處理器主要用于對功耗和成本要求比較苛刻的應(yīng)用。由于使用了三級流水線技術(shù),實(shí)現(xiàn)了指令的高效執(zhí)行。ARM7TDMI-S處理器除了支持標(biāo)準(zhǔn)32位 ARM指令集,也支持16位的THUMB指令集,THUMB 代碼僅為ARM 代碼規(guī)模的65%,但其性能卻相當(dāng)于連接到16位存儲器系統(tǒng)的相同ARM處理器性能的160%.
片上系統(tǒng)時鐘由外部振蕩器經(jīng)過鎖相環(huán)倍頻產(chǎn)生,最高工作頻率高達(dá)60MHZ.片內(nèi)存儲器控制器是通過單獨(dú)的局部總線與CPU接口,這樣做的目的是為了避免總線仲裁的不確定性、總線獲得的延遲和總線上的等待周期,從而獲得更高的實(shí)時性能。
中斷控制器和外部總線控制器是通過AMBA 高性能總線(AHB)實(shí)現(xiàn)與CPU接口的,外部總線控制器支持8/16/32位外部存儲器。
LPC2214片內(nèi)外設(shè)通過VPB總線,AHB 到VPB 的橋與AHB 總線相連。同時其具有多個串行接口,包括2 個16C550 工業(yè)標(biāo)準(zhǔn)UART、高速I2C 接口(400 kHz)和2 個SPI 接口。它還具有8路10 位A/D轉(zhuǎn)換器(0~3V測量范圍),轉(zhuǎn)換時間可低至2.44uS;2個32 位定時器(帶4 路捕獲和4 路比較通道);PWM 單元(6 路輸出);實(shí)時時鐘和看門狗,112個通用I/O 口(可承受5V電壓);2 個低功耗模式:空閑和掉電。
片上集成高速閃存
LPC2000系列的片上閃存專為嵌入式應(yīng)用而設(shè)計。采用0.18微米的工藝,雙晶體管單元和耐久的寫/擦機(jī)制,可實(shí)現(xiàn)寫/擦一萬次,128位寬的優(yōu)化陣列,零等待的訪問,使程序可以全速運(yùn)行。同時還提供對片上程序保護(hù)機(jī)制,防止代碼被復(fù)制。
圖2,存儲器加速模塊
LPC2000系列微控制器能夠?qū)崿F(xiàn)零等待訪問的高速閃存,這主要?dú)w功于片上的存儲器加速模塊。圖2為存儲器加速模塊的結(jié)構(gòu)框圖。128位寬度的閃存陣列通過單獨(dú)的局部總線與處理器接口,每周期可為ARM內(nèi)核提供四條32位指令。這使得MCU無需經(jīng)過等待狀態(tài)就可直接從閃存上執(zhí)行指令,從而消除了一般閃存讀取時的等待時間。為了解決指令序列的變化,指令和數(shù)據(jù)的不同處理帶來的等待時間,模塊內(nèi)部實(shí)現(xiàn)了預(yù)取緩沖器、避免數(shù)據(jù)讀/寫打亂地址序列的數(shù)據(jù)旁路和跳轉(zhuǎn)跟蹤緩沖器三個功能塊的聯(lián)合工作,并用兩組128位寬度的存儲器來進(jìn)行并行訪問,消除延時。
存儲器加速模塊的作用取決于系統(tǒng)時鐘的大小。LPC2000系列片上閃存的訪問時間為50nS,對于系統(tǒng)時鐘不高于20MHZ的應(yīng)用,在1個周期內(nèi)就可將閃存的內(nèi)容讀出,此時沒必要使用存儲器加速模塊。時鐘頻率越高,當(dāng)直接執(zhí)行閃存中的代碼時,系統(tǒng)性能受影響越大,此時使能存儲器加速模塊,可以得到接近4倍速度的加速,真正實(shí)現(xiàn)零等待高速閃存。由于LPC2000可直接從閃存執(zhí)行指令,無需引導(dǎo)期間將代碼傳送到SRAM,這不僅省掉了耗時又耗能的系統(tǒng)啟動步驟,還節(jié)省了昂貴的SRAM.
對片內(nèi)閃存的編程可通過幾種方法來實(shí)現(xiàn):通過內(nèi)置的串行JTAG接口,通過串口進(jìn)行在系統(tǒng)編程(ISP),或通過在應(yīng)用編程(IAP)。
豐富的外部總線接口
LPC22XX系列產(chǎn)品提供了外部存儲器接口,其中包含了24條地址線A0~A23,32條數(shù)據(jù)線D0~D31及相關(guān)的總線使能線;其中數(shù)據(jù)線寬度可選擇8位,16位或32位來使用,圖3為32數(shù)據(jù)線寬度和8/16/32位數(shù)據(jù)線寬度的外部存儲器連接示意圖:
圖3,32數(shù)據(jù)線寬度外部存儲器接口
LPC22XX提供了4個獨(dú)立且可同時配置存儲器組,每組可有16MB的地址空間,并且可與SRAM、Pseudo-SRAM、FLASH、EPROM、BURST ROM或其他的I/ODEVICE作適當(dāng)?shù)倪B接與存取。
若選用帶有片上閃存的產(chǎn)品,可選擇是由片上閃存啟動或是由外部存儲器來啟動程序。LPC22XX系列產(chǎn)品,還提供了可編程的等待周期及閑置周期,最高可允許插入32個等待周期和16個閑置周期。
矢量中斷控制器
LPC2000系列的
矢量中斷控制器可以支持最多32個中斷請求,可根據(jù)需要將其編程分為3 類:FIQ、矢量IRQ和非矢量IRQ.快速中斷請求(FIQ)要求具有最高優(yōu)先級。矢量IRQ 具有中等優(yōu)先級。該級別可分配32個請求中的16個。非矢量IRQ 的優(yōu)先級最低。這種可編程分配機(jī)制意味著不同外設(shè)的中斷優(yōu)先級可以動態(tài)分配并調(diào)整。對于任意矢量中斷,一旦發(fā)出請求,CPU可在一個周期內(nèi)過讀取VIC并跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序的入口地址,這將中斷延時降低到最小。
參考設(shè)計方案:稅控收款機(jī)
稅控收款機(jī)是一種帶有計稅功能的電子收款機(jī),不僅是商業(yè)企業(yè)經(jīng)營管理的得力助手,也是稅務(wù)人員常駐店內(nèi)采集銷售數(shù)據(jù)的執(zhí)法代表。它內(nèi)部裝有自動記錄但不能更改和抹掉的計稅存儲器,記錄著每日的營業(yè)數(shù)據(jù)和應(yīng)納稅額,是向納稅機(jī)關(guān)納稅的憑據(jù)。
中國2003年10月1日通過了《稅控收款機(jī)國家標(biāo)準(zhǔn)》,該標(biāo)準(zhǔn)的實(shí)施催生了一個巨大的稅控機(jī)市場。
稅控收款機(jī)由以下幾部分組成:中文顯示系統(tǒng);中文打印系統(tǒng);專用稅控處理系統(tǒng);外圍設(shè)備驅(qū)動;電源;帶物理安全保證的機(jī)箱。
稅控機(jī)制由以IC卡為基礎(chǔ)的發(fā)行、管理、申報、維護(hù)、經(jīng)營等系統(tǒng)組成。納稅戶銷售商品在稅控收款機(jī)中的記錄與相關(guān)的時間等信息可在機(jī)內(nèi)保留5~10年,不可修改、不可清除。有關(guān)數(shù)據(jù)由稅務(wù)部門用專用IC卡讀出,以便稽查。
這里給出以LPC2214為主控單元的一個最小系統(tǒng)參考設(shè)計,該系統(tǒng)主要由主控MCU模塊、時鐘模塊、電源模塊、監(jiān)控模塊、IC卡讀寫模塊、稅控存儲器、狀態(tài)指示電路、接口電路等組成。硬件結(jié)構(gòu)如圖所示:
圖4,采用LPC2214的稅控收款機(jī)硬件框圖
嵌入式微控制器選用飛利浦LPC2214,充分合理地利用了其片內(nèi)實(shí)時時鐘、外部存儲器接口、UART等其它外設(shè)接口。片上閃存作為用戶程序的存儲空間,其高速零等待特性保證系統(tǒng)的實(shí)時運(yùn)行。其片上程序保護(hù)機(jī)制,防止代碼被任意更改和復(fù)制。整個系統(tǒng)的設(shè)計結(jié)構(gòu)簡潔,極具競爭優(yōu)勢。
稅控收款機(jī)軟件設(shè)計采用模塊化思想,嵌入式控制器使用基于μC/OS內(nèi)核的RTOS操作系統(tǒng),其用戶程序的開發(fā)大體分為如下部分:主程序、自檢診斷模塊、IC卡讀寫模塊、UART通訊模塊、開票模塊、液晶顯示和按鍵等人機(jī)接口模塊。