《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM高速閃存MCU應(yīng)對(duì)廣泛嵌入式需求
基于ARM高速閃存MCU應(yīng)對(duì)廣泛嵌入式需求
摘要: 由于采用了ARM7TDMI-S內(nèi)核,LPC2000系列MCU工作頻率達(dá)60MHz,與其他8-bit產(chǎn)品相比具有更強(qiáng)的功能延展性。同時(shí)它借助片上存儲(chǔ)器加模塊實(shí)現(xiàn)了“零等待訪問”高速閃存功能,,提高了指令執(zhí)行的效率,。
關(guān)鍵詞: ARM 閃存 MCU 嵌入式
Abstract:
Key words :

  突出特點(diǎn)

  由于采用了ARM7TDMI-S內(nèi)核,,LPC2000系列MCU工作頻率達(dá)60MHz,與其他8-bit產(chǎn)品相比具有更強(qiáng)的功能延展性,。同時(shí)它借助片上存儲(chǔ)器加   模塊實(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ì)算機(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)行裁剪,精簡系統(tǒng)以滿足應(yīng)用系統(tǒng)在功能,、可靠性,、成本、體積等各種要求,。

  嵌入式處理器是嵌入式系統(tǒng)硬件最核心的部分,,飛利浦推出十余款基于 ARM7 的高性能低功耗LPC2000系列微控制器,,來滿足不斷增長的嵌入式市場需求,。

  這一系列新款微控制器LPC2114/2124/2

 

119/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)框圖如下:

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)過鎖相環(huán)倍頻產(chǎn)生,,最高工作頻率高達(dá)60MHZ,。片內(nèi)存儲(chǔ)器控制器是通過單獨(dú)的局部總線與CPU接口,這樣做的目的是為了避免總線仲裁的不確定性,、總線獲得的延遲和總線上的等待周期,,從而獲得更高的實(shí)時(shí)性能。

  中斷控制器和外部總線控制器是通過AMBA 高性能總線(AHB)實(shí)現(xiàn)與CPU接口的,,外部總線控制器支持8/16/32位外部存儲(chǔ)器,。

  LPC2214片內(nèi)外設(shè)通過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測量范圍),,轉(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)寫/擦一萬次,,128位寬的優(yōu)化陣列,,零等待的訪問,使程序可以全速運(yùn)行,。同時(shí)還提供對(duì)片上程序保護(hù)機(jī)制,,防止代碼被復(fù)制。

存儲(chǔ)器加速模塊

圖2,,存儲(chǔ)器加速模塊

  LPC2000系列微控制器能夠?qū)崿F(xiàn)零等待訪問的高速閃存,,這主要?dú)w功于片上的存儲(chǔ)器加速模塊。圖2為存儲(chǔ)器加速模塊的結(jié)構(gòu)框圖,。128位寬度的閃存陣列通過單獨(dú)的局部總線與處理器接口,,每周期可為ARM內(nèi)核提供四條32位指令。這使得MCU無需經(jīng)過等待狀態(tài)就可直接從閃存上執(zhí)行指令,,從而消除了一般閃存讀取時(shí)的等待時(shí)間,。為了解決指令序列的變化,指令和數(shù)據(jù)的不同處理帶來的等待時(shí)間,,模塊內(nèi)部實(shí)現(xiàn)了預(yù)取緩沖器,、避免數(shù)據(jù)讀/寫打亂地址序列的數(shù)據(jù)旁路和跳轉(zhuǎn)跟蹤緩沖器三個(gè)功能塊的聯(lián)合工作,并用兩組128位寬度的存儲(chǔ)器來進(jìn)行并行訪問,,消除延時(shí),。

  存儲(chǔ)器加速模塊的作用取決于系統(tǒng)時(shí)鐘的大小。LPC2000系列片上閃存的訪問時(shí)間為50nS,,對(duì)于系統(tǒng)時(shí)鐘不高于20MHZ的應(yīng)用,,在1個(gè)周期內(nèi)就可將閃存的內(nèi)容讀出,此時(shí)沒必要使用存儲(chǔ)器加速模塊,。時(shí)鐘頻率越高,,當(dāng)直接執(zhí)行閃存中的代碼時(shí),系統(tǒng)性能受影響越大,,此時(shí)使能存儲(chǔ)器加速模塊,,可以得到接近4倍速度的加速,真正實(shí)現(xiàn)零等待高速閃存,。由于LPC2000可直接從閃存執(zhí)行指令,,無需引導(dǎo)期間將代碼傳送到SRAM,這不僅省掉了耗時(shí)又耗能的系統(tǒng)啟動(dòng)步驟,,還節(jié)省了昂貴的SRAM,。

 

  對(duì)片內(nèi)閃存的編程可通過幾種方法來實(shí)現(xiàn):通過內(nèi)置的串行JTAG 接口,通過串口進(jìn)行在系統(tǒng)編程(ISP),,或通過在應(yīng)用編程(IAP),。

  豐富的外部總線接口

  LPC22XX系列產(chǎn)品提供了外部存儲(chǔ)器接口,其中包含了24條地址線A0~A23,,32條數(shù)據(jù)線D0~D31及相關(guān)的總線使能線,;其中數(shù)據(jù)線寬度可選擇8位,16位或32位來使用,,圖3為32數(shù)據(jù)線寬度和8/16/32位數(shù)據(jù)線寬度的外部存儲(chǔ)器連接示意圖:

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ǔ)器來啟動(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)過讀取VIC并跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序的入口地址,,這將中斷延時(shí)降低到最小,。

 

  參考設(shè)計(jì)方案:稅控收款機(jī)

  稅控收款機(jī)是一種帶有計(jì)稅功能的電子收款機(jī),不僅是商業(yè)企業(yè)經(jīng)營管理的得力助手,,也是稅務(wù)人員常駐店內(nèi)采集銷售數(shù)據(jù)的執(zhí)法代表,。它內(nèi)部裝有自動(dòng)記錄但不能更改和抹掉的計(jì)稅存儲(chǔ)器,記錄著每日的營業(yè)數(shù)據(jù)和應(yīng)納稅額,,是向納稅機(jī)關(guān)納稅的憑據(jù),。

  中國2003年10月1日通過了《稅控收款機(jī)國家標(biāo)準(zhǔn)》,,該標(biāo)準(zhǔn)的實(shí)施催生了一個(gè)巨大的稅控機(jī)市場。

  稅控收款機(jī)由以下幾部分組成:中文顯示系統(tǒng),;中文打印系統(tǒng),;專用稅控處理系統(tǒng);外圍設(shè)備驅(qū)動(dòng),;電源,;帶物理安全保證的機(jī)箱。

  稅控機(jī)制由以IC卡為基礎(chǔ)的發(fā)行,、管理,、申報(bào)、維護(hù),、經(jī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)如圖所示:

采用LPC2214的稅控收款機(jī)硬件框圖

圖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)簡潔,,極具競爭優(yōu)勢(shì),。

  稅控收款機(jī)軟件設(shè)計(jì)采用模塊化思想,嵌入式控制器使用基于μC/OS內(nèi)核的RTOS操作系統(tǒng),,其用戶程序的開發(fā)大體分為如下部分:主程序,、自檢診斷模塊,、IC卡讀寫模塊、UART通訊模塊,、開票模塊,、液晶顯示和按鍵等人機(jī)接口模塊。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。