《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > 基于StellarisWare的電梯轎內(nèi)TFT LCD顯示及觸屏設(shè)計
基于StellarisWare的電梯轎內(nèi)TFT LCD顯示及觸屏設(shè)計
來源:微型機與應用2013年第24期
吳華連,陳小平
(蘇州大學 電子信息學院,江蘇 蘇州215000)
摘要: 應用StellarisWare圖形庫技術(shù)實現(xiàn)圖形顯示,以LPC2478 ARM7微處理器為控制核心,設(shè)計了一種由TFT-LCD顯示及觸摸屏組成的電梯轎內(nèi)人機交互界面顯示控制器。介紹了LVDS通信接口的TFT-LCD顯示、觸摸及外部存儲器SDRAM的硬件設(shè)計和軟件設(shè)計。測試結(jié)果表明,系統(tǒng)實現(xiàn)了觸摸功能,獲得清晰穩(wěn)定的顯示效果,性能可靠。
Abstract:
Key words :

摘  要: 應用StellarisWare圖形庫技術(shù)實現(xiàn)圖形顯示,以LPC2478 ARM7微處理器為控制核心,設(shè)計了一種由TFT-LCD顯示及觸摸屏組成的電梯轎內(nèi)人機交互界面顯示控制器。介紹了LVDS通信接口的TFT-LCD顯示、觸摸及外部存儲器SDRAM的硬件設(shè)計和軟件設(shè)計。測試結(jié)果表明,系統(tǒng)實現(xiàn)了觸摸功能,獲得清晰穩(wěn)定的顯示效果,性能可靠。
關(guān)鍵詞: ARM7;TFT-LCD;觸摸屏技術(shù);SDRAM;StellarisWare

    隨著觸摸屏的出現(xiàn)和觸摸屏技術(shù)的飛速發(fā)展及日益成熟,觸摸屏技術(shù)廣泛應用于公共服務(wù)領(lǐng)域和電子產(chǎn)品設(shè)備,觸摸屏技術(shù)也日益受到人們的青睞。觸摸屏正在取代鼠標、鍵盤等傳統(tǒng)輸入設(shè)備,成為電子產(chǎn)品的重要組成部分。薄膜晶體管液晶顯示器(TFT-LCD)是數(shù)字終端顯示最理想的顯示器件之一,觸摸屏附在顯示器表面,可根據(jù)對應觸摸點字符獲知觸摸者的意圖來顯示內(nèi)容,使得圖形化的人機交互變得更加簡單、直觀和人性化[1]。帶有觸摸屏的TFT-LCD以其方便、大容量、高清晰和全彩色視頻等優(yōu)點被廣泛應用于嵌入式系統(tǒng)設(shè)計中[2]。
    電梯轎廂內(nèi)顯示系統(tǒng)是電梯乘坐人與電梯進行信息交流的重要渠道,為乘坐人提供電梯運行信息,使乘坐人可以方便、全面地了解電梯的運行狀態(tài)。目前大部分電梯轎廂內(nèi)顯示電梯信息多采用傳統(tǒng)LED顯示,顯示內(nèi)容單調(diào)、有限,而電梯轎廂內(nèi)樓宇廣告,顯示系統(tǒng)多采用獨立廣告機,成本高。所以設(shè)計和開發(fā)一套集顯示和觸摸式樓層選擇一體的電梯轎內(nèi)顯示系統(tǒng)很有必要,可以播放彩色圖片、數(shù)字等綜合信息,可以改善封閉轎廂內(nèi)環(huán)境,降低成本。對于圖形顯示,StellarisWare圖形庫提供了一套比較完整、快速的MCU圖形顯示方案,該方案移植方便,其強大的繪圖功能可以根據(jù)具體的應用場合設(shè)計內(nèi)容多樣的人機交互界面,界面美觀大方,可應用于高檔電梯。
1 轎內(nèi)顯示器硬件設(shè)計
    轎內(nèi)顯示器主要以微處理器為核心,根據(jù)觸摸者意圖處理并顯示信息,并控制CAN通信模塊與電梯主控器進行數(shù)據(jù)發(fā)送和接收,外部存儲器是為了滿足大量圖像數(shù)據(jù)存儲的需要,轎內(nèi)顯示器的功能模塊框圖如圖1所示。

1.1 液晶顯示器
    LPC2478內(nèi)部集成LCD控制器,支持薄膜晶體管TFT(Thin-Film Transistors)顯示器,并且提供TFT-LCD控制信號HSYNV(水平同步信號)、VSYNC(垂直同步信號)、VDEN(數(shù)據(jù)使能信號)及LCDCLK(LCD時鐘信號)的接口,簡化了硬件設(shè)計。
    轎內(nèi)顯示器使用了三菱公司的10.4寸LVDS(Low Voltage Differential Signaling)接口TFT-LCD AA104SG01,液晶背面驅(qū)動電路集成了LVDS接收器。因此需要差分信號發(fā)送器將LPC2478主控器輸出TTL信號轉(zhuǎn)為LVDS信號,傳送到液晶面板側(cè)的LVDS接收器以驅(qū)動TFT-LCD,其中差分信號發(fā)送器是用視頻接口轉(zhuǎn)換芯片DS90C383。DS90C383可以在一個時鐘周期內(nèi)結(jié)合控制信號將16 bit TTL數(shù)據(jù)轉(zhuǎn)換成混合的3組LVDS數(shù)據(jù)流來驅(qū)動LCD,即TxOUT0、TxOUT1、TxOUT2,一組數(shù)據(jù)流包含7 bit數(shù)據(jù)。DS90C383輸入輸出信號映射關(guān)系以及LPC2478內(nèi)置LCD控制器在RGB(R[4:0]G[5:0]B[4:0])模式下與DS90C383管腳連接如表1所示。


1.2 觸摸屏接口設(shè)計
    從工作原理上可以把觸摸屏分為電阻式、電容式、紅外線式、聲表面波式等,這里采用目前最為普遍的四線電阻式觸摸屏[3]。液晶顯示器背面附有觸摸屏驅(qū)動電路,是一個電阻式四線觸摸屏,四線分別是X+(TSXP)、X-(TSXM)、Y+(TSYP)、Y-(TSYM),即X電極和Y電極的正負極,也是觸摸屏接觸點坐標數(shù)據(jù)輸入端。
    四線電阻式觸摸板由兩塊透明的電阻層組成,分別是X板和Y板[4]。如有外力使得上下兩層在某一點接觸,則在電極未加電壓的一層根據(jù)電壓梯度可以測得接觸點的電壓,經(jīng)過A/D轉(zhuǎn)換便可知道接觸點的坐標。由微處理器輸出4個控制信號控制4 個MOS 管的通斷,進而控制觸摸屏4個電極Y+、Y-、X+、X-的通斷。
1.3 外擴同步動態(tài)隨機存儲器
      針對LCD高速圖像顯示過程中大量數(shù)據(jù)暫時存儲的需要,采用了一種高速的圖像存儲方案,即中間緩存。SDRAM(Synchronous Dynamic RAM)作為數(shù)據(jù)中間緩存具有容量大、速度高、價格便宜和功耗低等優(yōu)勢[5],是一種非常有效的方法,真正滿足了高速、實時顯示圖像的要求。
    LPC2478內(nèi)置SDRAM控制器,可以實現(xiàn)SDRAM的邏輯控制[6],主要信號有片選信號(SCS)、時鐘信號(SCLK)、時鐘使能信號(SCKE)、讀寫信號(WE)、頁地址選擇信號(BA[1:0])、行地址選擇信號(A0~A12)、列地址選擇信號(A0~A8),采用分時復用的尋址方式,通過RAS和CAS信號來決定是行地址還是列地址,當RAS有效時,A0~A12是行地址;當CAS有效時,A0~A8是列地址信號。數(shù)據(jù)信號DATA[15:0],其使能受DQM信號控制。SDRAM的地址范圍為0xA000 0000~0xA200 0000(32 MB)。
2 軟件設(shè)計
2.1 StellarisWare圖形庫移植

    對于圖形顯示,StellarisWare圖形庫提供了快速的軟件開發(fā)解決方案,既可以進行基本圖形、文字繪制,也可以輕松實現(xiàn)常見的消息控件(Widget)的繪制。
2.1.1 按鈕控件圖形生成及圖形預處理
    StellarisWare軟件包含了兩個工具:LMI-button和pnmtoc,圖形的生成及預處理可以通過這兩個工具來完成。
    (1)LMI-button工具可以把其他格式的圖像保存為圖形庫可以識別的pnm格式,并且結(jié)合GIMP圖像處理程序可以生成各種類型控件。
    (2)pnmtoc工具壓縮圖像為C文件,主要是把pnm格式圖像轉(zhuǎn)換為圖形庫可以識別的C文件。運行Windows服務(wù)管理器并且輸入命令:pnmtoc Image.pnm>Image.c,即可把Image.pnm圖像生成圖形庫可以識別的C數(shù)組文件,默認名字為const unsigned char g_pucImage[],在主函數(shù)中調(diào)用函數(shù)GrImageDraw(&MyContext,g_pucImage,0,0)就是從(0,0)點繪制g_pucImage圖像。
2.1.2 控件定義及繪制
    Stellaris圖形庫可以實現(xiàn)很多控件,其中包括畫布和按鈕控件。畫布控件是一個簡單的繪圖面板,用戶可以在上面進行圖形、文字繪制,也支持顯示圖片。每一個控件都有3個屬性,分別是父控件(Parent)、下一個控件(Next)、子控件(Child)。為了方便管理,圖形庫將眾多控件以樹狀的形式管理,每個控件樹都有一個虛擬的WIDGET_ROOT控件作為最頂層的控件,其他控件都作為它的子節(jié)點或者更下層的子節(jié)點[7]。
    (1)定義畫布控件函數(shù)Canvas()和按鈕控件函數(shù)Rec-
tangularButtonStruct()。定義控件時用戶根據(jù)實際情況配置各參數(shù),同時要定義事件響應函數(shù)。
    (2)繪制控件樹函數(shù)。使用WidgetAdd()添加控件到控件樹WIDGET_ROOT,然后調(diào)用函數(shù)WidgetPaint(WIDGET_ROOT)繪制整個控件樹。
    (3)消息添加函數(shù)WidgetMessageQueueAdd()可以添加消息到消息隊列,以便進行后續(xù)處理。
2.2 LCD顯示的軟件設(shè)計
    對LPC2478內(nèi)置LCD控制器的軟件操作主要是對各種寄存器進行正確的設(shè)置。首先要初始化LCD,LCD初始化包括設(shè)置LCD寄存器、LCD工作模式為BGR 5:6:5、顯示數(shù)據(jù)緩沖區(qū)地址為SDRAM地址、LCD背光等,LCD顯示的過程也就是控件定義、添加、繪制和消息處理的過程。LCD顯示的軟件設(shè)計流程如圖2所示,函數(shù)Widget-MessageQueueProcess()處理控件樹信息隊列,刷新LCD。

2.3 觸摸屏的軟件設(shè)計
    觸摸屏附在顯示器表面,利用微處理器實現(xiàn)對液晶屏和觸摸屏的控制,只要測量出觸摸點的位置,就可以根據(jù)對應坐標點上的顯示內(nèi)容或字符獲知觸摸者的意圖,進而處理信息。觸摸屏回調(diào)函數(shù)TouchScreenCallbackSet(WidgetPointerMessage)的作用是將用戶動作事件與用戶定義的事件響應函數(shù)連接在一起,當用戶動作時,用戶輸入驅(qū)動可以調(diào)用WidgetPointerMessage()函數(shù),傳入動作的信息(如動作的x、y坐標、動作方式等)。圖形輸出驅(qū)動則響應用戶輸入事件,刷新顯示畫面,觸摸屏軟件設(shè)計流程如圖3所示。

2.4 CAN通信軟件設(shè)計
    電梯轎廂控制器與主控制器之間通過CAN總線實現(xiàn)數(shù)據(jù)傳輸,CAN總線是轎廂與主控制器之間進行通信的橋梁,可以同時支持多主節(jié)點,數(shù)據(jù)傳輸速度快,通信距離長。
    轎內(nèi)顯示器消息的格式:目的ID號+命令字節(jié)+數(shù)據(jù)字節(jié)1+數(shù)據(jù)字節(jié)2+…+數(shù)據(jù)字節(jié)6。ID號是為主控制器、轎廂控制器、外呼樓層指示器分配的標志符。命令字節(jié)是協(xié)議的核心,通常與數(shù)據(jù)字節(jié)配合使用,有開關(guān)門命令、樓層顯示命令、到站提示命令、登記樓層命令等。數(shù)據(jù)字節(jié)主要有所到樓層號、電梯運行狀態(tài)及登記樓層信息。
3 測試結(jié)果與分析
    將轎廂顯示控制器與電梯主控器連接,進行現(xiàn)場調(diào)試,圖4為電梯從10樓到5樓、再到1樓的LCD顯示過程,從圖中看到,按鈕控件有開關(guān)門和樓層按鈕,按鈕控件有按下和未按下兩種不同顏色狀態(tài)屬性,當用戶按下目的樓層號按鈕時,按鈕控件外觀顏色狀態(tài)發(fā)生變化,LCD顯示所到樓層號和電梯運行狀態(tài);當電梯到達用戶選通的目的樓層時,所到樓層按鈕將返回未按下狀態(tài),同時開門按鈕顯示開門狀態(tài),關(guān)門時關(guān)門按鈕控件也會顯示相應的狀態(tài)。

 

 

    本著高效、方便的目的,本文利用StellarisWare圖形庫,簡化了軟件設(shè)計難度,提高了開發(fā)效率。經(jīng)過多次現(xiàn)場測試,轎廂顯示控制器與電梯主控制器之間通信可靠、穩(wěn)定,顯示界面清晰、效果良好。帶有觸摸功能的電梯轎內(nèi)TFT-LCD顯示器是一種簡單、方便、自然的人機交互方式,界面美觀大方,可以更好地提高電梯品質(zhì),具備很好的應用前景。
參考文獻
[1] 郭本振,李聲晉,盧剛,等.基于DSP和LCD觸摸屏的車載信息系統(tǒng)設(shè)計[J].液晶與顯示,2011,26(1):83-87.
[2] 郭瑞玲,鄒向陽,黑銳.基于觸摸屏的某型雷達干擾機的人機接口設(shè)計[J].電測與儀表,2010,47(536A):149-141.
[3] 宋成,孫廣富.觸摸屏在S3C2410 上的應用實例[J].單片機與嵌入式系統(tǒng)應用,2005(1):35-38.
[4] 陳世利,孫墨杰,栗大超,等.觸摸屏的工作原理及典型應用[J].單片機與嵌入式系統(tǒng)應用,2002(2):11-13.
[5] 潘光榮,王沁,齊悅.面向邏輯設(shè)計的SDRAM 控制器性能度量模型[J].計算機應用研究,2009,26(9):3432-3435.
[6] 劉妍妍,李國寧,金龍旭.遙感圖像采集中的SDRAM圖像緩存技術(shù)[J].電視技術(shù),2012,36(17):52-54.
[7] Texas Instruments.StellarisWare?誖graphics library user′s  Guide[S].[2013-03-01].

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