歡迎,客人 | 請登錄 | 免費注冊 | 忘記密碼?

 
當前位置: 首頁 » 綜合資訊 » 企業(yè)資訊 » 顯示設備 »

一種基于S3C2410A的液晶屏接口設計

發(fā)布日期:2012-03-26  中國POS機網(wǎng)

目前對液晶屏的控制顯示多采用單片機、FPGA或CPLD作為控制器,編制程序多采用匯編語言或C51程序。本文以控制器和顯示集成一體的小型號LCM19264圖形點陣式液晶顯示器為例,提出并實現(xiàn)了一種新型的基于S3C2410A CPU和KS0107控制器的嵌入式液晶屏接口系統(tǒng),適用于POS機等許多應用領域,具有較高的應用價值。

1 ARM微處理器及開發(fā)環(huán)境

1.1 ARM核心板采用S3C2410A

嵌入式系統(tǒng)的硬件核心是嵌入式微處理器,ARM處理器是目前公認的業(yè)界領先的32位嵌入式RISC微處理器,它具有體系結構可擴展,功耗低,成本低和支持處理實時多任務等特點,成為設計嵌入式系統(tǒng)時32位RISC芯片的首選,也是許多行業(yè)嵌入式解決方案的RISC芯片標準[1]。


16/32位RISC處理器S3C2410A 采用了ARM920T內核,0.18um工藝的CMOS標準宏單元和存儲器單元[2]。它的低功耗、精簡和出色的全靜態(tài)設計特別適用于對成本和功耗敏感的應用。它一方面具有處理器的所有優(yōu)點:低功耗、高性能;同時又具有非常豐富的片上資源, 非常適合嵌入式產品的開發(fā)。

1.2   ARM嵌入式系統(tǒng)的開發(fā)環(huán)境

開發(fā)中嵌入式操作系統(tǒng)選用標準的LINUX2.4內核版本。為了滿足嵌入式核心板的系統(tǒng)性能要求,需要對內核進行一定程度的裁減修改,對某些功能模塊進行合理的配置。其中對指定的端口地址進行映射是必不可少的。采用專用的FPGA下載電纜即可將編譯通過的Linux內核下載移植到核心板的 S3C2410A中。內核的啟動Bootloader使用了vivi。這里的交叉編譯器采用的是Arm-Linux-Toolchains;而 S3C2410A整個根目錄則使用了可讀寫的yaffs文件系統(tǒng)[4]。開發(fā)調試中可通過串口或網(wǎng)口來實現(xiàn)宿主機對目標板的控制使用。

2 基于S3C2410A的液晶屏接口設計

2.1 S3C2410A與KS0107的接口控制
S3C2410A的存儲系統(tǒng)地址空間總共由8個存儲器Bank構成,每個Bank 128M字節(jié),總共1G字節(jié)/8Banks。6個是ROM、SRAM等類型存儲器Bank。剩下的2個可以作為ROM、SRAM、SDRAM等存儲器 Bank。除Bank0只能是16/32位寬之外,其他Bank都具有可編程的訪問大小,可以是8/16/32位寬。前7個存儲器Bank有固定的起始地址,最后一個Bank的起始地址是可調整的,最后兩個Bank的大小是可編程的,且所有Bank的訪問周期都是可編程的。Bank0 的數(shù)據(jù)總線(nGCS0)必須首先設置成16位或32位的。因為Bank0通常作為引導ROM區(qū)(映射到地址0x0000-0000)。Bank6和 Bank7通常分給SDRAM.。S3C2410A接16/32位或多片8位存儲器時地址線需要錯位連接。


系統(tǒng)選用LCM19264系列液晶模塊,LCM19264點陣液晶屏單色液晶模塊帶有KS0107控制器,點陣形式為192 x 64,8位雙向數(shù)據(jù)總線,可以顯示圖形和文字。3個控制芯片,管理8頁(每頁為8行像素)和192列(每個芯片各自控制64列)的圖形屏幕,因此構成了 192列,64行的像素矩陣,即所能使用的顯示范圍。
LCM19264型圖形點陣液晶顯示模塊與S3C2410A CPU的連接方式采用直接訪問方式。直接訪問方式是將液晶顯示模塊的接口作為存儲器或I/O設備直接掛在S3C2410A總線上,S3C2410A以訪問存儲器或I/O設備的方式操作液晶顯示模塊的工作。KS0107控制器是應用于S3C2410A系統(tǒng)與液晶模塊之間的控制芯片,它接收來自 S3C2410A系統(tǒng)的指令與數(shù)據(jù),并產生相應的時序及數(shù)據(jù)控制模塊的顯示。這樣可以大大緩解S3C2410A CPU的控制輸出,使用更加靈活,因此該解決方案具有很強的通用性。


對于液晶顯示屏的數(shù)據(jù)接口,因為S3C2410A與液晶顯示屏均由3.3V供電,可以經緩沖后將二者數(shù)據(jù)線相連,這樣S3C2410A就能將ROM或RAM中的數(shù)據(jù)直接送入KS0107控制器的緩存中以便顯示。

圖2  LCM192×64顯示模塊與S3C2410A CPU接口電路 

 液晶顯示屏的控制信號由S3C2410A地址線的第6位、第7位和第8位經過74HC138譯碼產生。因此液晶屏控制器的數(shù)據(jù)端口、控制端口和狀態(tài)端口具有不同的地址。S3C2410A對液晶屏的控制信號是由其自身的數(shù)據(jù)口來充當?shù)?,即控制信號作為?shù)據(jù)的形式發(fā)送到液晶屏控制器KS0107,再由 KS0107按照固定時序完成對液晶顯示屏的控制。實際上完全可以將液晶屏的讀寫由一個端口地址來實現(xiàn),此時譯碼輸出端該管腳為高時,通過非門輸出的低電平來做為選通液晶顯示屏的讀信號;當讀管腳為低時,則直接選通液晶顯示屏的寫管腳。表1是LCM192644的主要引腳功能。


表1  LCM192644芯片引腳說明
引腳名稱電平說明
3VO LCD屏操作電壓(調節(jié)VO的值可以調節(jié)顯示對比度)
4RSH/L指令/數(shù)據(jù)選擇,當RS是Low時,MCU會存取指令,而
RS是High時,MCU會存取顯示RAM的數(shù)據(jù)。
5R/WH/L讀取/寫入信號(R/W),高電位時表示為讀取的動作,低電位時表示為寫入的動作。
6EH/H→L為Enable信號。R/W為L時,在E的下降沿寫入數(shù)據(jù);R/W為H時,在E為高電平時讀出數(shù)據(jù);
7~14DB0~DB7H/L8位數(shù)據(jù)線
15/CS1LCS1低電平時,選通左側1/3屏
16/RSTL復位信號
17/CS2LCS2為低電平時,選通中間1/3屏
18/CS3LCS2為低電平時,選通右側1/3屏
19VEE 負電壓輸出

 

VO通過電位器R來進行液晶屏對比度調節(jié),VEE負壓也通過電位器進行改變。
液晶顯示模塊的速度相對于S3C24510A CPU較慢,中間用到三片SN74ALS573B鎖存數(shù)據(jù)和控制信息。S3C2410A CPU選取其低8位數(shù)據(jù)線來做為數(shù)據(jù)、命令的發(fā)送端,以及液晶屏數(shù)據(jù)、狀態(tài)的讀入端。這幾類信息均通過SN74ALS573B來連接到LCM19264液晶屏上。
2.2軟件設計
2.2.1設計分析
LCM192×64型液晶顯示器模塊與S3C2410A CPU模塊的連接采用直接控制方式,其特點是電路簡單,控制時序由軟件實現(xiàn),可以實現(xiàn)高速ARM CPU與液晶顯示模塊的接口。
液晶屏的驅動控制程序軟件包括數(shù)據(jù)傳送、設置X/Y地址、液晶顯示控制等程序。
數(shù)據(jù)傳送包括初始化和將顯示數(shù)據(jù)發(fā)送到液晶屏的顯示存儲器中。
設置X/Y地址包括設置顯示起始行、設置頁面地址(即X地址)、設置Y地址。
液晶顯示控制等程序包括顯示開關控制、讀取液晶屏狀態(tài)以及讀取顯示數(shù)據(jù)等。

圖3  KS0107寫時序圖

因此,要使液晶屏正常顯示,主要實現(xiàn)兩個功能,一個是向與寫指令和寫數(shù)據(jù)相對應的I/O端口地址,寫入控制液晶屏工作的指令代碼和所要顯示的內容的編碼。另一個就是要用程序來控制實現(xiàn)KS0107的讀寫時序[5],尤其是控制管腳E的高低電平持續(xù)時間產生液晶顯示所需的寫時序。KS0107寫操作的工作時序如圖3。
借助坐標設置指令可以對所要顯示的圖形進行準確的定位。KS0107有兩個常用指令用于設置光標的X(行)方向坐標、Y(列)方向坐標。光標出現(xiàn)的位置由0XB8(0~3比特位有效)和0x40(0~ 6比特位有效)分別加上一定的地址偏移量決定的。原則上在寫數(shù)據(jù),顯示一行圖形的過程中,X(行)坐標保持不變,Y(列)坐標會自動循環(huán)加1,這樣對于靜態(tài)圖形的顯示,由于只需考慮行坐標,就很方便,但如果要動態(tài)顯示各種文字圖形,它的編程效率就不是很高。最好對X,Y向的地址偏移量都進行人為的設置,就可以精確控制圖像出現(xiàn)的位置。
[0XB8+(disp_x(屏幕坐標))]→X(行)向的物理坐標
[0XB8+(disp_y(屏幕坐標))]→Y(列)向的物理坐標
disp_x表示X(行)向的地址偏移量,取值范圍為0~7,也即代表顯示屏上的8行;disp_y表示Y(列)向的地址偏移量,取值范圍為0~63,也即代表顯示屏上的64列;當然在開始顯示圖形之前,由0X3F打開顯示,此外還要存入所要顯示圖形的編碼。
2.2.2LCM 硬件層原子編程
2.2.2.1LCM初始化
初始化 LCM 實現(xiàn)為后續(xù)寫入顯示數(shù)據(jù)做準備。

圖4  液晶屏初始化流程
寫整個 LCD 內部顯示存儲器的內容為 0x00,這樣整個 LCD 顯示空白的屏幕以達到清屏效果。
2.2.2.2    讀LCM狀態(tài)
每次讀寫LCM之前,都需要判斷LCM的上作狀態(tài),以便能夠得到期望的結果。讀LCM狀態(tài),就是讀LCM命令狀態(tài)寄存器,其最高位為‘1’,表示了 LCM的出于忙狀態(tài),不能接受任何命令或者數(shù)據(jù)的寫入。在從端口讀到數(shù)據(jù)中,最高位表示了 LCM 的工作狀態(tài),據(jù)此位即可獲得LCM狀態(tài)。
2.2.2.3    寫命令到 LCM
將一個命令字寫到指定的控制芯片的命令寄存器中(對應一個控制端口地址)。
RSR/WDB7~ DB0
10Write Command

設置頁地址即X地址時,DDRAM中8行為一頁,LCM19264液晶模塊共計64行即8頁,由最低3位地址來選擇0~7頁,讀寫數(shù)據(jù)對頁地址沒有影響,頁地址由本指令或RST信號改變,復位后頁地址為0。
2.2.2.4    寫數(shù)據(jù)到 LCM
將一個數(shù)據(jù)(就是顯示的數(shù)據(jù))寫到指定控制芯片的 RAM 中。Y地址計算器具有自動加1功能,在每次讀/寫數(shù)據(jù)后自動加1,所以,在連續(xù)進行讀/寫數(shù)據(jù)時,不必每次都設置一次Y地址計數(shù)器。
RSR/WDB7

打賞
 
?
免責聲明:
本網(wǎng)站部分內容來源于網(wǎng)站會員、合作媒體、企業(yè)機構、網(wǎng)友提供和互聯(lián)網(wǎng)的公開資料等,僅供參考。本網(wǎng)站對站內所有資訊的內容、觀點保持中立,不對內容的準確性、可靠性或完整性提供任何明示或暗示的保證。如果有侵權等問題,請及時聯(lián)系我們,我們將在收到通知后第一時間妥善處理該部分內容。

圖文推薦

您在本欄的歷史瀏覽
熱門資訊

中國POS機行業(yè)權威門戶網(wǎng)站 引領行業(yè)發(fā)展


微信號:pos580com

網(wǎng)站首頁 | 網(wǎng)站地圖 | 誠征英才 | 關于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權隱私 | 排名推廣 | 廣告服務 | 積分換禮 | 網(wǎng)站留言 | RSS訂閱

版權所有:POS機網(wǎng) 北京瑞紀華人科技有限公司 京ICP證060984  |  京ICP備07503063號

聯(lián)系電話:010-51658061 E-mail:bjsale#pos580.com(請把#替換成@)在線QQ:841617225

站所有信息均屬本站版權所有,如需轉載請注明來源地址 域名:jensthetc.com