摘 要 論文以ARM7處理器LPC2104和實(shí)時(shí)嵌入式操作系統(tǒng) I.LC/OS—II為基礎(chǔ) .建立了基LPC2104的嵌入 式開發(fā) 平臺,,實(shí)現(xiàn) 了 USB通信,、嵌入式 Internet通信 、紅外通信 等非常熱門嵌入式應(yīng)用術(shù) ,。同時(shí)硬件的體積更小,、功耗更低、功能更多,、擴(kuò)展性更強(qiáng) ,。此外 ,由于所使用的嵌入式實(shí)時(shí)操作系統(tǒng) ~C/OS—II已經(jīng)通過了可靠性的認(rèn)證 ,。這樣使得整個(gè)系統(tǒng)的運(yùn)行更加穩(wěn)定 ,,程序的維護(hù)和升級也更加方便。
1 概 述
嵌入式處理器是嵌入式系統(tǒng)的核心部分 ,,處理器的選擇是關(guān)鍵 ,。目前 ,ARM處理器已遍及工業(yè)控制 ,、消費(fèi)電子產(chǎn)品 ,、通信系統(tǒng)等各類 產(chǎn)品市場 ,,基于ARM 技術(shù)的微處理器應(yīng)用約 占了 32位 RISC處理器 75%以上的市場份 額I】1。ARM 處理 器包括ARM7,、ARM9,、ARM9E、ARM10E,、SecurCore,、Intel的 Xscale、In— tel的 StrongARM等幾個(gè) 系列 1,,其 中 ARM7,、ARM9、ARM9E和ARM1OE為 4個(gè)通用處理器系列 ,。
ARM7系列微處理器為低功耗的32位RISC處理器 ,,適合用于對價(jià)位和功耗要求較高的產(chǎn)品應(yīng)用中。ARM7微處理器 系列具有如下特點(diǎn) :
(1)極低 的功耗 ,;
(2)提供 0.9MIPS/MHZ的三級流水線結(jié) 構(gòu)(取 指 ,、譯碼 、執(zhí)行 ),;
(3)最高主頻可到達(dá) 13OMIPS,;
(4)代碼密度高并支持 16位 的 Thumb指令集 ;
(5)對操作系統(tǒng)的支持廣泛 ,,包括 Windows CE,、Linux、 Palm OS等 ,。
ARM7系列微處理器包括ARM7TDMI,、ARM7TDMI—S、 ARM720T,、ARM7EJ等4種類型 ,。其中T代表支持16位Thumb指令集 ,D代表支持片上 Debug,,M 表內(nèi)嵌硬件乘法器 ,I代表支持嵌入式ICE,。按照低功耗 ,、低成本 、小體積 ,、多功能及實(shí)時(shí)性的要求 ,,Philips公司 的LPC2104是一 個(gè)非 常好 的 選擇 ,LPC2104處理器就是屬于ARM7TDMI—S系列的ARM處理器的一種,。
本文內(nèi)容組織 如下:第 2部分是LPC2104處理器介紹 ,,第3部分是系統(tǒng)硬件的設(shè)計(jì) ,第4部分是軟件的設(shè)計(jì) ,第 5部分是結(jié)束語,。
2 LPC21o4處理器介紹
LPC2104微控制器是飛利浦半導(dǎo)體公司推出的16/32位 ARM7TDMI—S CPU,,并帶有128/256K字節(jié) 的高速Flash存儲器的微控制器。128位寬度的存儲器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行,。對代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%.而性能的損失卻很小,。由于LPC2104微控制器采用非常小的64腳封裝 、極低的功耗 ,、多個(gè)32位定時(shí)器以及多達(dá)9個(gè)外部中斷 .這使它們特別適用于工業(yè)控 制 ,、醫(yī)療系統(tǒng) 、遠(yuǎn)程訪問控制和電子收款機(jī)等小型化 的應(yīng)用領(lǐng)域 ,。由于內(nèi)置 了寬范圍的串行通信接 口,,它們也 非常適合 于通 信網(wǎng)關(guān)協(xié)議轉(zhuǎn)換器 、嵌入式 軟件調(diào)制解調(diào)器 以及其它各種類型的應(yīng)用,。
LPC2104帶有一個(gè)支持實(shí)時(shí)仿真和跟蹤的ARM7TDMI—SCPU,。并嵌入了 128KB高速 Flash存儲器。與片內(nèi)存儲器控制器接口的ARM7局部總線 ,、與中斷控制器接 口的 AMBA高性能總線(AHB)和連接片 內(nèi)外設(shè)功能的 VLSI外設(shè)總線 ,。
AHB外設(shè)分配了 2M字節(jié)的地址范圍 ,它 位于 4G字節(jié)ARM 存儲器空間的最頂端 ,。每個(gè)AHB外設(shè) 都分 配了16K字節(jié)的地址空間 ,。LPC2104的外設(shè)功能 (中斷控制器除外 )都連接到VPB總線。AHB到 VPB的橋接將 VPB總線與 AHB總線相連,。VPB外設(shè)也分配了 2M 字節(jié)的地址范 圍,。從 3.5G地址 點(diǎn)開 始。每個(gè) VPB外設(shè)在 VPB地址 空間 內(nèi)都分配了16K字節(jié) 地址空間 ,。LPC2104內(nèi)部存儲空間如圖1所示 :
主要的特征如下:
極小封裝 :TQFP48(7 7mm2),;
128K字節(jié)片內(nèi) Flash程序存儲器 ,具有 ISP(In—SysteProgramming,,在線可試試編程 )和I AP(In-Application Program一ming,,在應(yīng)用 中可編程 )功能;16K靜態(tài) RAM,;
雙UART,。其中一個(gè)帶有完全的調(diào)制解調(diào)器接口;I2C,、S串行口:
兩個(gè)定時(shí)器 ,。具有4路捕 獲/比較通道 ;6路輸出的 PW單元 :實(shí)時(shí)時(shí)鐘 ,;看門狗定時(shí)器 ,;
32位通用 I/0 口,;
CPU操作 頻率可 達(dá) 60MHz;雙 電源 (CPU操 作 電壓范圍1.65V~1.95V.I/0電壓范 圍 :3.0V~3.6V),;兩個(gè)低 功耗模 式 (閑和掉電),。
LPC2104的內(nèi)核結(jié)構(gòu) 如圖 2所示 。
3 系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)功能概述
本系統(tǒng)采用模塊 化的結(jié)構(gòu)設(shè) 計(jì)思想,,將設(shè)備分為主控模塊和各個(gè)功能模塊,。如圖 3所示 。主控模塊和各功能模塊之間有統(tǒng)一的或者特定的接口形式 .用戶可根據(jù) 不同的需要選用不同的功能模塊 .各種類型的數(shù)據(jù)可以同時(shí)傳輸而不相互干擾時(shí),。也可根據(jù)市場的需求 繼續(xù)擴(kuò)展 其它功能模塊 ,,例如光電通信模塊等。這樣的設(shè)計(jì)結(jié)構(gòu),,不僅方便了使用 ,,也有利于以后統(tǒng)的升級。
主控模塊主要負(fù)責(zé)人機(jī)交互,、與功能模塊通信,、數(shù)據(jù)存儲數(shù)據(jù)傳輸?shù)裙δ堋S脩敉ㄟ^控制主控模塊來對功能模塊和系統(tǒng)的其它功能進(jìn)行操作 .?dāng)?shù)據(jù)存儲在主控模塊內(nèi),。然后,,主控模塊可以通過電話線撥號上網(wǎng)或者通過USB口接入聯(lián)網(wǎng)的PC機(jī)向服務(wù)器發(fā)送數(shù)據(jù)或者與掌上電腦通過紅外模塊通訊。這樣的三種數(shù)據(jù)傳輸方式,,可以滿足大多數(shù)用戶的需要,。
主控模塊在整個(gè)系統(tǒng)具有很重要的作用,相當(dāng)于人的中樞神經(jīng),。以下就是對主控模塊硬件和軟件設(shè)計(jì)的具體介紹,。
3.2 系統(tǒng)硬件設(shè)計(jì)
根據(jù)整個(gè)系統(tǒng)的設(shè)計(jì)思想,在對主控模塊進(jìn)行硬件電路設(shè)計(jì)時(shí),,處理器的選擇是關(guān)鍵的問題,。按照低功耗、低 成本,、小體積,、多功能的要求,Philips公司的LPC2104是一個(gè)非常好的選擇,。
由功能框圖4可以看出,,只需要 在 LPC2104周圍增加較少的元器件和電路,就能設(shè)計(jì)出功能較強(qiáng)的,、符合要求的主控模塊的電路。
3.3 LPC2lo4引腳分配及模擬總線
LPC2104只有 64個(gè)引腳,,無外部總線控制器 .因而它沒有外部總線,,外接擴(kuò)展芯片不是很方便,。不過因?yàn)樗鼈兊乃俣群芸臁K约词故褂密浖M總線外接擴(kuò)展芯片也比普通的單片機(jī)快得多,。因此,,我們應(yīng)用LPC2104的模擬總線外擴(kuò)芯片能夠滿足設(shè)計(jì)要求。
除了電源,、復(fù) 位,、晶振等引腳,LPC2104有32個(gè)功能復(fù)用的可編程的通用IfO 口(P0.0一P0.31),。在系統(tǒng)設(shè)計(jì)中,。UART0 占用了 P0.0和P0.1;I2C 占用了 P0.2和 P0.3:UART1占用了 P0.8和 P0.9,;按鍵占用了 P0.14和 P0.15,。在剩余的引腳中 ,將 P0.17一P0.24這 8個(gè)連續(xù)的I/O 口來模擬八位數(shù)據(jù)/地址總線,,P0.4模 擬地址鎖 存信 號 ALE,,P0.5模 擬讀 信號 RD.P0.6模擬寫信號 WR,如圖5所示,。
模擬總線是為 了彌補(bǔ)LPC2104無外部總線的缺點(diǎn)而設(shè)計(jì)的 ,。因?yàn)樵诳偩€操作的過程中,不能被中斷,,所以總線訪問前后要關(guān)開中斷 ,。要對模擬總線進(jìn)行初始化。
3.4 人機(jī)交互部分
人機(jī)交互部分的設(shè)計(jì)本著使用最簡化的原則,,采用了點(diǎn)陣液晶顯示模塊和 3個(gè)按鍵的組合形式,。液晶選用了信利的MG12864—7型點(diǎn)陣液晶模塊,其顯示容量為 128x64個(gè)點(diǎn),,體積 只有 54cmx50cmx6.5cm,,內(nèi)部帶有一10v電壓 產(chǎn)生器和EL背光逆變器 .使 用單 5V電源供電,非常適合便攜式的產(chǎn)品應(yīng)用,。
由于液晶模塊的工作電壓為5V,,LPC2104的 I/O 口電壓是3.3V,所以需要在處理器和液晶模塊之間加一片總線收發(fā)器 74LVC4245.如圖 6所示,。74LVC4245是一種雙電源的總線收發(fā)器,,同時(shí)工作在兩種電源下:A端用5V電源作為VCCA,IfO 口接5V 器件的數(shù)字邏輯電路 ,;B端用3.3V電源作為VC.CA.L/O 口接 3.3V 器件的數(shù)字邏輯電路 :DIR引腳可以控制總線的傳輸方向,。這樣,利用74LVC4245就能方便的實(shí)現(xiàn)3.3V和 5V系統(tǒng)之間的邏輯電平轉(zhuǎn)換 ,。從電路圖可以看出 ,,當(dāng)LPC2104通過模擬總線對液晶模塊進(jìn)行操作時(shí) ,,用 P0.7來控制數(shù)據(jù) 總線的方向。另外 ,,液 晶模塊根據(jù)節(jié)電的需要 .沒有使用背光功能,。
3個(gè)按鍵 通過邏輯與門與 LPC2104的兩個(gè)外部 中斷引腳連接 。按鍵部分就可采用中斷的輸入方式 ,,減少了處理器輪詢按鍵的工作量,。更為重要 的是,可 以使用這兩個(gè)外部中斷的掉 電喚醒功能,。這樣 當(dāng)處理器不工作的時(shí)候,,可以進(jìn)入掉電狀態(tài), 只有當(dāng)處理器需要響應(yīng)按鍵 的時(shí)候,,按鍵的中斷輸入會使處理器從掉電模式喚醒 ,,這樣就大大降低了處理 器的功耗 。
3.5 通信 部分
主控模塊的通信分為 3個(gè)部分 :USB,、UART0,、UART1。USB用來連接主控模塊和PC機(jī),,其驅(qū)動芯片 D12使用地址/ 數(shù)據(jù)總 線連 接方式 ,,LPC2104使用外 部 中斷 0,如圖 7所示 ,。UART0用來與各個(gè)功能模塊通信 ,,其中包括紅外通信模塊。除了紅外模塊多需要一個(gè) L/O 口(P0.25)來進(jìn)行作為選擇波特率的控制信號 外 .其它模塊都 只需要 與 UART0的 TXD0,、RXDO 和 GND三根線連接即可,。UART1是用來與Modem通信的,外置 Modem 的接口是 RS232接 口,, 這樣需要將 UART1的TXD1,、RXD1通過 MAX3232進(jìn)行 電平轉(zhuǎn)換后 與 Modem 相連 ,如圖 8所 示
3.6 其它功能部件
LPC2104帶有 I2c總線,,可以很方便的外擴(kuò)一些 I2C功能器件,。為了能夠存儲用戶個(gè)人信息 、少量生理數(shù)據(jù) ,,主控模塊在 LPC2104的I2c總線 t擴(kuò)展了一片 1K的E2PROM芯片CSI24WC08,。 它 可 以在 3.3V電源 下工 作 .其 I2c總線地 址 為 :讀 :0xA1、 o)(A3,、o)(A5,、o)(A7.寫:o)(A0、o)(A2、0xA4,、0xA6,。
液晶顯示面板 由主界面 、消息區(qū)兩部分組 成 ,,其中主界面 顯示當(dāng)前選擇的功能參數(shù)設(shè) 置和當(dāng)前狀態(tài) (進(jìn)行/失敗/取消 ),,消息區(qū)顯示當(dāng)前聯(lián)機(jī)狀態(tài) ,、錯(cuò)誤原因等。整個(gè)面板設(shè)計(jì)與按鍵設(shè)計(jì)緊密結(jié)合 ,,使用方便 ,,所有功能均可在 1—3次按鍵 中完成,如圖 10所示
4 系統(tǒng)軟件設(shè)計(jì)
采用嵌入式實(shí)時(shí)操作系統(tǒng) p~C/OS—II,。使用 ARM 和 Thum指令集混合編譯來優(yōu)化代碼密度 ,。
4.1 任務(wù)的分配和軟件系統(tǒng)結(jié)構(gòu)
采用嵌入式實(shí)時(shí)操作系統(tǒng) p~C/OS—II。用戶級有六個(gè)任務(wù)
(1)負(fù)責(zé)啟動任務(wù)按鍵的響應(yīng),。優(yōu)先級 6,;
(2)負(fù)責(zé)系統(tǒng)的工作狀態(tài)。優(yōu)先級 5,;
(3)液晶模塊顯示 ,,優(yōu)先級 4;
(4)負(fù)責(zé)通過 Modem撥號接入 Internet的通信任務(wù) ,,優(yōu)先級 3,;
(5)負(fù)責(zé) USB的通信任務(wù),優(yōu)先級 2,;
(6)與各功能模塊通信 ,,進(jìn)行數(shù)據(jù)信號采集 和存儲,優(yōu)先級l,。軟件系統(tǒng)結(jié)構(gòu)如圖 l1中(a)圖所示 ,。
6結(jié)束語
基于面向?qū)ο窦夹g(shù)使得塑料門窗CAD系統(tǒng)WinDoor不再是簡單的“畫圖”系統(tǒng),從根本上超越了傳統(tǒng)的點(diǎn),、線,、面相結(jié)合的低層次門窗設(shè)計(jì)方式。用戶可以直接利用現(xiàn)實(shí)世界中的門窗各部件的概念在計(jì)算機(jī)對應(yīng)模型中進(jìn)行設(shè)計(jì) ,,符合人類的思維特點(diǎn),,尺寸驅(qū)動的參數(shù)化設(shè)計(jì)思想有利于用戶方便快捷的設(shè)計(jì)和修改窗型,并使設(shè)計(jì)的正確性得到根本保證,,極大的提高了門窗的效率和質(zhì)量,。同時(shí),本系統(tǒng)的設(shè)計(jì)思想具有推廣價(jià)值,,稍加改動便可以應(yīng)用于建筑行業(yè)的鋁合金門窗 ,、幕墻等的繪制與計(jì)算,。圖5所示為本系統(tǒng)所繪制的6個(gè)典型窗型!