李俊,張團善,武玉婷
(西安工程大學 電子信息學院,西安 710048)
目前,ARM在嵌入式系統中的應用越來越廣泛。本文選用的是NXP公司32位 LPC2478。LPC2478豐富的資源適合在工業領域中應用,該芯片的成本和功耗都比較低,是內部集成LCD控制器的ARM7芯片。在工業領域中,相比較數字屏而言,模擬屏具有驅動能力、抗干擾能力強和價格低等優點。根據實際項目應用,本設計中采用了群創公司的7 in模擬屏。
HX8817是一個帶有 ITUR BT.656和BT.601輸入接口的TFT-LCD時序控制器。該控制器內置色彩空間轉換電路、DAC和運算放大器,并且具有gamma校正和極性翻轉功能,將數字數據轉化為行極性變換方式的、模擬放大的RGB信號,同時產生模擬屏所需的水平和垂直時序。該芯片結構框圖如圖1所示。

圖1 HX8817結構框圖
LCD控制器直接為多種彩色和單色LCD顯示屏的接口提供了所有必需的控制信號。顯示分辨率最高支持1 024×768。LCD控制器用于將像素編碼數據轉換成所需格式,并產生相應的時序以驅動各種單屏或雙屏的單色和彩色LCD顯示屏。該 LCD控制還具有兩個獨立的DMA FIFO緩存器,當液晶屏為單屏,可將這兩個緩存器合并為32雙字節容量來使用。采用了DMA FIFO之后,SDRAM中的Frame Buffer中的圖像數據以DMA方式傳輸到LCD控制器數據緩存器FIFO,不占用系統總線時間。LCD控制器包含兩個單獨的AHB接口。一個是AHB從接口,主要被CPU用于訪問LCD控制器內的控制寄存器和數據寄存器;另外一個是AHB主接口,被LCD控制器用來DMA訪問存在于內存或系統其他地方的顯示數據。LCD控制器的接口和控制信號引腳如表1所列。

表1 LCD控制器的引腳
具體的硬件電路框圖如圖2所示。

圖2 系統硬件框圖
硬件電路可以分為以下部分:
①電源驅動電路設計。該電路主要功能是把5 V電源變成模擬屏所需的正負電壓(VGL、VGH)。本設計采用MC34063芯片,該芯片外圍電路簡單,能很方便地設計出模擬屏所需的正負電壓。
②ARM的LCD控制器與HX8817芯片接口設計。通過設定HX8817的IF1~IF3引腳,使得HX8817的輸入為18位數字信號RGB(R5~R0,G5~G0,B5~B0),具體設定IF1~IF3均為高電平。分辨率通過RES1~RES3引腳設定,本文設定分辨率為 480×234。但是由于LPC2478的LCD控制器數據總線為24位,因此在數據總線連接的時候必須注意對應的連接順序。為了保證顏色的失真最低,只能丟棄LCD 24位 RGB中的每種顏色數據的低兩位。其他引腳對應方式如下:LCD控制器的LCDDCLK接HX8817的CLK1,LCDFP接VS,LCDLP接HS,LCDENA接DE。
③HX8817與模擬屏接口。此處所要注意的是HX8817的POL信號要經過運放電路,然后疊加直流信號,產生VCOM信號送給模擬屏,具體參考電路如圖3所示。其他引腳只要一一對應連接即可。通過調節VCOM的DC端,可以改變LCD的色彩;調節 AC端,可以改變LCD的對比度。

圖3 VCOM信號產生電路圖
本文的重點是討論如何實現用LCD控制器的信號去驅動模擬屏,具體在顯示上的一些GUI函數,不是本文討論的內容,在此就不展開。HX8817所需的時序信號是通過對LCD控制器的配置產生的,筆者根據實際項目應用,并比較HX8817輸入時序信號和LCD控制器輸出時序信號,對LPC2478的LCD控制器里的主要寄存器進行初始化設置。初始化函數Lcd_Init()主要代碼如下:

本文給出了一種LCD控制器信號直接驅動模擬屏的設計方案,主要就硬件的實現展開論述。經過實驗證明,該設計方案具有硬件接口電路設計簡單、成本較低等特點,對具有數字屏的項目轉換成模擬屏具有很實際的借鑒意義,可廣泛應用于工業自動化產品中。
[1]HX8817 TCOM with YUV Input and DAC version 04,2007-10.
[2] 周立功,等,深入淺出 ARM7——LPC2400(下冊)[M].北京:北京航空航天大學出版社,2006.
[3]周立功,等,ARM嵌入式系統應用技術筆記——基于LPC2400(下冊)[OL].[2010-03].http://zlgmcu.com.