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