国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

LPC2132在嵌入式系統中的應用技術

發布時間:2010-7-27 12:51    發布者:lavida
關鍵詞: LPC2132 , 嵌入式系統
1. 引言  

SoC在醫療器械中應用前景廣闊,LPC2131/2132/2138是基于一個支持實時仿真嵌入式跟蹤的32/16位ARM7TDMI-STM CPU的微控制器,帶有32kB/64kB/512 kB的嵌入的高速Flash存儲器和8/16/32kB片內靜態RAM。多達47個5V的通用I/O口,1個(LPC2132/2132)或2個(LPC2138)8路10位A/D轉換器共包含16個模擬輸入,1個10位D/A轉換器,可提供不同的模擬輸出(LPC2132/2138)。多個串行接口,包括2個16C550工業標準UART、2個高速I2C接口(400kbit/s)、SPITM 和SSP。內部集成實時時鐘等,資源比較豐富,使它們特別適用于工業控制和醫療等嵌入式系統。本文以LPC2132為例,介紹LPC2132的設計經驗與設計技術。  

2. 顯示設計  

顯示設計是所有嵌入式系統的重要組成部分之一。顯示器件包括LED、字符LCM、圖形LCM、VFD等,其中圖形LCM(如128x64、192x64等點陣)可顯示ASCII字符、漢字和圖形,且性價比較高,在嵌入式系統中的應用日趨廣泛,雖在MCS-51系列中的設計已非常成熟。但由于ARM與MCS-51有許多不同之處,其設計方法當然也有差別,下面以LPC2132和192x64點陣LCM為例進行說明。  

2.1 與液晶顯示模塊(LCM)的硬件接口設計  

1) 電平匹配:LPC2132系列操作電壓范圍:3.0"3.6 V,選擇3V的LCM當然沒有問題,但市場上3V的LCM價格常常比5V貴,而LPC2132的I/O口可承受5V的最大電壓,所以可采用5V的LCM,但需在LCM與LPC2132相連的I/O口上接5V上拉電阻。  

2) I/O連接:LPC2132沒有外部總線,所有I/O口都需要進行配置,由內部寄存器決定是輸入還是輸出。其中P0口共有31個I/O口,P1口有16個I/O口,而且I/O口的編號不連續(如P0.28與P1.25相鄰),由于編程時對I/O口采用位操作,所以具體連接時,可根據硬件電路板布線需求進行連接。為提高顯示刷新速度,需檢測LCM內部的忙標志,每次向LCM寫數據前,先讀取LCM的狀態,當狀態為非忙時才能寫入顯示數據,這樣,要注意動態設置與LCM數據線相連的LPC2132的I/O口方向,而且8個數據位要用IOSET和IOCLR逐一控制。  

3) 液晶背光控制:由于液晶的背光電流需要100多毫安,電壓一般在5V左右,而LPC2132的I/O口驅動能力較弱,LPC2132能可靠控制背光LED的亮與滅,且對系統無干擾。  


圖1液晶背光控制電路

2.2 液晶顯示的軟件設計  

LPC2132可采用CodeWarrior進行軟件開發,由于用C語言進行編程,開發速度比較快。在編寫LCM程序時,先編寫硬件驅動程序,包括LCM初始化函數,寫LCM數據函數,寫LCM命令函數,讀LCM數據函數,讀LCM命令函數,在這些函數的基礎上,編寫顯示16x16點陣漢字的函數,設置顯示位置函數等,鑒于篇幅限制,就不在此贅述,下面重點向讀者介紹如何顯示漢字的技巧和提高液晶顯示刷新速度。  

在顯示漢字信息時,需要先用工具軟件提取待顯示漢字的點陣,并將這些點陣信息保存在程序中,如果單純采用C語言,則只能定義數組變量,然后在顯示時調用所定義的數組變量。但采用這種方法有以下缺點。1)采用數組變量定義字符點陣,將浪費寶貴的RAM資源。2)當顯示內容豐富,需定義的大量的點陣數據時,造成RAM容量不足。如果采用匯編語言文件與C語言文件混合編程,將字符點陣信息以程序代碼的形式保存,不占用RAM,則可克服上述問題。下面以顯示漢字“上海”(16x16點陣)為例,介紹具體方法:  

1) 點陣信息的定義。  

建立一個以s為擴展名的匯編語言文件,文件內容具體如下。  

EXPORT shang16x16   
EXPORT hai16x16  
AREA TTTT,CODE,READONLY  
ENTRY;  
shang16x16  
DCB 0,0,0,0,0,0,255,32  
DCB 32,32,32,48,32,0,0,0  
DCB 6,16,16,16,16,16,31,16  
DCB 16,16,16,16,24,16,0,0  
hai16x16  
DCB 16,33,198,144,136,247,148,180  
DCB 212,148,148,246,132,128,0,0  
DCB 2,62,1,0,12,11,8,9  
DCB 10,40,56,15,8,0,0,0  
END  

上面的文件中定義了“上海”的漢字點陣信息,將此文件添加到項目文件中,編譯后點陣信息以程序代碼的方式存儲在FLASH中。  

2) 點陣信息的申明。  

建立一個以h為擴展名的頭文件,對匯編語言文件中定義的字符點陣信息進行申明,以便項目中其他程序可使用定義的點陣信息,例如lattice.h,文件具體內容如下:  
extern unsigned char shang16x16[];  
extern unsigned char hai16x16[];  

3) 點陣信息的引用。  

將此頭文件插入到其他文件中。例如:假設函數void WR_LCM16x16(unsigned char x_row,unsigned char y_col,unsigned char *p_matrix)的功能是在x_row行,y_col列位置開始顯示p_matrix所指向的字符點陣。則WR_LCM16x16(2,0,shang16x16)和WR_LCM16x16(2,16,hai16x16)就可顯示“上海”。  

液晶顯示刷新速度是液晶應用的關鍵技術,筆者摸索如下的方法,可大大提高顯示刷新速度。  

1)充分利用LCM的判忙標志位,減小讀寫間隔。如192x64等液晶顯示模塊,其接口中含有判忙標志位。如果只是簡單在兩次讀寫間隔插入一定的延遲,則會使等待時間加長,刷新變慢。  

2)信息分類,減少重復刷新。可將整個屏幕分成空白區、顯示固定信息區、顯示動態信息區。如參數名稱、單位等可劃歸固定信息,而實時數據則歸為動態信息。只有在第一次進入某個畫面時,刷新固定信息區,其余時刻,只刷新動態信息區。   

3)建立數據更新標記,進一步減小動態信息刷新工作量。在內存中為每個動態信息建立一顯示緩沖區,只有那些動態信息發生改變的項,才需要刷新。  

綜合應用上述方法,可大大提高顯示刷新速度。  

3.系統參數掉電保存技術  

由于LPC2132片內沒有EEPROM,當系統掉電后,所有參數都將丟失,如果所需要保存的參數比較多,就只有給系統擴展類似2402等EEPROM芯片,但如果需保存的數據較少(比如小于10字節),則可考慮利用系統的實時時鐘寄存器資源,而不必擴展EEPROM,以降低產品成本,下面進行具體介紹。  

LPC3123的實時時鐘有獨立的電源電路,專用電源管腳可與電池或3.3V的電壓相連,在產品設計中,一般用電池供電,以維持時鐘不間斷運行。LPC2132中有完整的時間寄存器。但在設計過程中,并非需要所有的寄存器,比如,年、月、日、時、分、秒、星期等報警寄存器中,就有些在設計時沒有被使用,只要在設置報警屏蔽寄存器時將不用的報警寄存器屏蔽,對應報警寄存器的數據對報警就沒有影響,則可將這些寄存器用于保存數據,只要維持時鐘供電,這些數據就不會丟失。  

LPC2132有2個高速I2C接口,當需要存儲的數據量教大時,可在I2C接口上連接24xx系列EEPROM芯片,使用前,先對相關引腳進行配置,使其具有I2C總線功能,另外,當采用I2C中斷時,還要將對應的中斷打開,使用比較方便。但在使用I2C時要注意,連續2次I2C總線讀或寫,要有必要的時間間隔,即必須等前次總線結束時,才能重新啟動總線,否則會出錯。  

4.其它應用技術  

在進行硬件設計時要注意:LPC2132的I/O口的灌入電流大于驅動電流,在驅動LED時可考慮采用灌入電流(I/O口輸出低電平時LED亮)技術,如果采用此法依然不能滿足要求,則可用多個I/O口并聯或加驅動電路。  

LPC2132內部8路10位A/D轉換器,但在使用時,要給I/O口加穩壓二極管保護,防止輸入的模擬量超限而損壞芯片。  

在進行軟件設計時要注意:盡量使用位操作指令IOSET和IOCLR控制LPC2132的I/O口,而不要直接操作I/O口寄存器(如IO0PIN或IO1PIN),否則會出現不可預料的結果。  

在調試時要注意:LPC2132支持JTAG調試,但因JTAG使用了系統的定時器T0,所以當用戶用JTAG進行軟件調試時,不能使用定時器T0,否則會出錯。  

5.應用實例  

以LPC2132為核心,設計了生物安全控制柜的控制器,生物安全控制柜是醫療消毒儀器,醫療器械放進安全控制柜,利用紫外線進行殺菌消毒,當消毒完畢,為防止柜內沒有被紫外線照射殺死的病毒漂浮出來,要求當柜門打開時,啟動送風機和排風機,送風機從室外補充新風,經過濾器后送進安全控制柜。排風機將內部有菌空氣經過濾器過濾后排出到室外。并保證安全控制柜內維持一定的負壓。  

安全控制柜有兩種工作模式:操作模式和消毒模式。在操作模式下,允許進行開門、關門動作,允許對照明燈和外接電源插座的控制,但禁止開啟紫外燈,而且只要門打開,就自動啟動送風機和排風機,只要門關閉,則送風機和排風機立即自動停止;在消毒模式下,只允許對紫外燈開關動作、照明燈和外接電源插座的控制,而禁止開門和啟動風機動作。
  
系統要求實時顯示消毒進度,送、排風機的風速,過濾器差壓數值,當出現送風風速大于排風風速、消毒時前門開啟、過濾器實效等故障時,則進行報警。另外,還需顯示當前時鐘等。  

系統還設有風機、紫外燈、照明、插座、門開、門關、UP、DOWN、LEFT、RIGHT、ENTER按鍵,用來控制相應的操作和參數設置等。圖2為生物安全控制柜的結構框圖。  

可以看出,整個系統僅需少量的外圍電路和驅動電路,性能價格比較高。具體實現方法:采用HONYWELL的24PC系列壓力傳感器測量控制內部壓力,經放大電路放大后送LPC2132的內部A/D轉換模塊,實現A/D轉換,根據檢測的壓力數據,計算風機的風速及內部壓力狀態,并執行相應的動作。顯示采用192x64圖形LCM,顯示信息量大。全中文界面,用戶操作十分方便。



圖2 生物安全控制柜結構框圖
  
6. 結束語  

本文作者創新點為設計了LPC2132與液晶的硬件接口電路;提出了匯編語言與C語言混合編程方法;摸索出提高液晶顯示刷新速度的設計技術;介紹了LCP2132系統中的參數保存技術和其他應用技術;并將這些技術成功地應用到具體產品設計中。
本文地址:http://m.qingdxww.cn/thread-17308-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚欧乱色束缚一区二区三区| 高清bblxx手机在线观看| 国产一区二区免费在线观看| 先锋影音 av| 四虎激情| 日本亚欧乱色视频在线系列| 亚洲精品欧美精品国产精品| 一个人免费观看的www视频| 韩国演艺圈qvod| 又色又爽又黄gif动态视频| 日本美女视频韩国视频网站免费| 色老头久久久久| 无人在线高清观看| 成人无码在线视频区| 无码成人AAAAA毛片含羞草| 欧美成人一级视频| 午夜日韩视频| 一个人免费视频观看在线www| 国产国拍亚洲精品av麻豆| 亚洲国产成人99精品激情在线| 亚洲4kk44kk在线| 天天躁天天碰天天看| 亚洲欧美午夜| 精品久久久久久电影网| 迅雷成人下载| 爽爽日本在线视频免费| 亚洲日本欧美在线| 在线无限看免费粉色视频| 内射老妇BBX| 日韩有码在线播放| 四虎永久在线精品视频免费观看| 香蕉久久夜色精品国产2020| 99精品视频免费观看| 色偷偷男人的天堂a v| 特黄十八岁大片| 亚洲精品国产福利| 真人一级毛片| 青草影院内射中出高潮-百度| 日韩欧美1区| 天天色一色| 一个人在线观看www中国|