LPC2132在嵌入式系統中的應用技術
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為生物安全控制柜的結構框圖。
圖2 生物安全控制柜結構框圖電路 |
從圖2可以看出,整個系統僅需少量的外圍電路和驅動電路,性能價格比較高。具體實現方法:采用HONYWELL的24PC系列壓力傳感器測量控制內部壓力,經放大電路放大后送LPC2132的內部A/D轉換模塊,實現A/D轉換,根據檢測的壓力數據,計算風機的風速及內部壓力狀態,并執行相應的動作。顯示采用192x64圖形LCM,顯示信息量大。全中文界面,用戶操作十分方便。
6. 結束語
本文作者創新點為設計了LPC2132與液晶的硬件接口電路;提出了匯編語言與C語言混合編程方法;摸索出提高液晶顯示刷新速度的設計技術;介紹了LCP2132系統中的參數保存技術和其他應用技術;并將這些技術成功地應用到具體產品設計中。
參考文獻
[1] 李浩,馬文麗等.基于SoC芯片的嵌入式醫學檢測設備平臺設計,微計算機信息,2005 年第7-2 期:第63-64頁
[2] LPC2131/2132/2138使用指南,http://www.zlgmcu.com
[3] 李維堤,郭強. 液晶顯示技術[M]. 北京:電子工業出版社,2000
評論