當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]一種基于S3C2410A的液晶屏接口設(shè)計(jì)

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

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

1.1 ARM核心板采用S3C2410A

嵌入式系統(tǒng)的硬件核心是嵌入式微處理器,ARM處理器是目前公認(rèn)的業(yè)界領(lǐng)先的32位嵌入式RISC微處理器,它具有體系結(jié)構(gòu)可擴(kuò)展,功耗低,成本低和支持處理實(shí)時(shí)多任務(wù)等特點(diǎn),成為設(shè)計(jì)嵌入式系統(tǒng)時(shí)32位RISC芯片的首選,也是許多行業(yè)嵌入式解決方案的RISC芯片標(biāo)準(zhǔn)[1]。

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

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

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

2 基于S3C2410A的液晶屏接口設(shè)計(jì)

2.1 S3C2410A與KS0107的接口控制

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

系統(tǒng)選用LCM19264系列液晶模塊,LCM19264點(diǎn)陣液晶屏單色液晶模塊帶有KS0107控制器,點(diǎn)陣形式為192 x 64,8位雙向數(shù)據(jù)總線,可以顯示圖形和文字。3個(gè)控制芯片,管理8頁(每頁為8行像素)和192列(每個(gè)芯片各自控制64列)的圖形屏幕,因此構(gòu)成了 192列,64行的像素矩陣,即所能使用的顯示范圍。

LCM19264型圖形點(diǎn)陣液晶顯示模塊與S3C2410A CPU的連接方式采用直接訪問方式。直接訪問方式是將液晶顯示模塊的接口作為存儲器或I/O設(shè)備直接掛在S3C2410A總線上,S3C2410A以訪問存儲器或I/O設(shè)備的方式操作液晶顯示模塊的工作。KS0107控制器是應(yīng)用于S3C2410A系統(tǒng)與液晶模塊之間的控制芯片,它接收來自 S3C2410A系統(tǒng)的指令與數(shù)據(jù),并產(chǎn)生相應(yīng)的時(shí)序及數(shù)據(jù)控制模塊的顯示。這樣可以大大緩解S3C2410A CPU的控制輸出,使用更加靈活,因此該解決方案具有很強(qiáng)的通用性。

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

 

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

表1  LCM192644芯片引腳說明

[!--empirenews.page--]

VO通過電位器R來進(jìn)行液晶屏對比度調(diào)節(jié),VEE負(fù)壓也通過電位器進(jìn)行改變。

液晶顯示模塊的速度相對于S3C24510A CPU較慢,中間用到三片SN74ALS573B鎖存數(shù)據(jù)和控制信息。S3C2410A CPU選取其低8位數(shù)據(jù)線來做為數(shù)據(jù)、命令的發(fā)送端,以及液晶屏數(shù)據(jù)、狀態(tài)的讀入端。這幾類信息均通過SN74ALS573B來連接到LCM19264液晶屏上。

2.2軟件設(shè)計(jì)

2.2.1設(shè)計(jì)分析

LCM192×64型液晶顯示器模塊與S3C2410A CPU模塊的連接采用直接控制方式,其特點(diǎn)是電路簡單,控制時(shí)序由軟件實(shí)現(xiàn),可以實(shí)現(xiàn)高速ARM CPU與液晶顯示模塊的接口。

液晶屏的驅(qū)動(dòng)控制程序軟件包括數(shù)據(jù)傳送、設(shè)置X/Y地址、液晶顯示控制等程序。

數(shù)據(jù)傳送包括初始化和將顯示數(shù)據(jù)發(fā)送到液晶屏的顯示存儲器中。

設(shè)置X/Y地址包括設(shè)置顯示起始行、設(shè)置頁面地址(即X地址)、設(shè)置Y地址。

液晶顯示控制等程序包括顯示開關(guān)控制、讀取液晶屏狀態(tài)以及讀取顯示數(shù)據(jù)等。

 

因此,要使液晶屏正常顯示,主要實(shí)現(xiàn)兩個(gè)功能,一個(gè)是向與寫指令和寫數(shù)據(jù)相對應(yīng)的I/O端口地址,寫入控制液晶屏工作的指令代碼和所要顯示的內(nèi)容的編碼。另一個(gè)就是要用程序來控制實(shí)現(xiàn)KS0107的讀寫時(shí)序[5],尤其是控制管腳E的高低電平持續(xù)時(shí)間產(chǎn)生液晶顯示所需的寫時(shí)序。KS0107寫操作的工作時(shí)序如圖3。

借助坐標(biāo)設(shè)置指令可以對所要顯示的圖形進(jìn)行準(zhǔn)確的定位。KS0107有兩個(gè)常用指令用于設(shè)置光標(biāo)的X(行)方向坐標(biāo)、Y(列)方向坐標(biāo)。光標(biāo)出現(xiàn)的位置由0XB8(0~3比特位有效)和0x40(0~ 6比特位有效)分別加上一定的地址偏移量決定的。原則上在寫數(shù)據(jù),顯示一行圖形的過程中,X(行)坐標(biāo)保持不變,Y(列)坐標(biāo)會自動(dòng)循環(huán)加1,這樣對于靜態(tài)圖形的顯示,由于只需考慮行坐標(biāo),就很方便,但如果要?jiǎng)討B(tài)顯示各種文字圖形,它的編程效率就不是很高。最好對X,Y向的地址偏移量都進(jìn)行人為的設(shè)置,就可以精確控制圖像出現(xiàn)的位置。

[0XB8+(disp_x(屏幕坐標(biāo)))]→X(行)向的物理坐標(biāo)

[0XB8+(disp_y(屏幕坐標(biāo)))]→Y(列)向的物理坐標(biāo)

disp_x表示X(行)向的地址偏移量,取值范圍為0~7,也即代表顯示屏上的8行;disp_y表示Y(列)向的地址偏移量,取值范圍為0~63,也即代表顯示屏上的64列;當(dāng)然在開始顯示圖形之前,由0X3F打開顯示,此外還要存入所要顯示圖形的編碼。

[!--empirenews.page--]

2.2.2LCM 硬件層原子編程

2.2.2.1LCM初始化

初始化 LCM 實(shí)現(xiàn)為后續(xù)寫入顯示數(shù)據(jù)做準(zhǔn)備。

 

寫整個(gè) LCD 內(nèi)部顯示存儲器的內(nèi)容為 0x00,這樣整個(gè) LCD 顯示空白的屏幕以達(dá)到清屏效果。

2.2.2.2    讀LCM狀態(tài)

每次讀寫LCM之前,都需要判斷LCM的上作狀態(tài),以便能夠得到期望的結(jié)果。讀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

將一個(gè)命令字寫到指定的控制芯片的命令寄存器中(對應(yīng)一個(gè)控制端口地址)。

設(shè)置頁地址即X地址時(shí),DDRAM中8行為一頁,LCM19264液晶模塊共計(jì)64行即8頁,由最低3位地址來選擇0~7頁,讀寫數(shù)據(jù)對頁地址沒有影響,頁地址由本指令或RST信號改變,復(fù)位后頁地址為0。

2.2.2.4    寫數(shù)據(jù)到 LCM

將一個(gè)數(shù)據(jù)(就是顯示的數(shù)據(jù))寫到指定控制芯片的 RAM 中。Y地址計(jì)算器具有自動(dòng)加1功能,在每次讀/寫數(shù)據(jù)后自動(dòng)加1,所以,在連續(xù)進(jìn)行讀/寫數(shù)據(jù)時(shí),不必每次都設(shè)置一次Y地址計(jì)數(shù)器。

寫LCM數(shù)據(jù)到DDRAM中,數(shù)據(jù)在E信號下降沿,瞬時(shí)打入LCM中。

[!--empirenews.page--]

2.2.2.5    讀 RAM 數(shù)據(jù)

從指定控制器的規(guī)定地址 RAM 中,讀出一個(gè)相應(yīng)數(shù)據(jù)。讀LCM數(shù)據(jù)可以從DDRAM中讀出某個(gè)位置的內(nèi)容到數(shù)據(jù)總線DB7~DB0,此時(shí)Y地址指針自動(dòng)加1。

3  結(jié)語

本文創(chuàng)新點(diǎn)在于:通過軟、硬件設(shè)計(jì)相結(jié)合的方式,提出的LCM19264液晶顯示模塊接口設(shè)計(jì),結(jié)合特定的應(yīng)用場合,搭建了以S3C2410A和 KS0107控制器為基礎(chǔ)的嵌入式液晶屏開發(fā)底層平臺。成功解決了液晶模塊與ARM9 CPU的讀寫和控制等問題,大大提高了顯示效果和控制靈活性,為ARM嵌入式系統(tǒng)液晶顯示平臺的構(gòu)建提供了一種新的參考。該開發(fā)模式可以有效地運(yùn)用到以 POS機(jī)為主的嵌入式應(yīng)用場合,在其他顯示場合稍作修改,即可使用,因此,具有很強(qiáng)的移植性。

參考文獻(xiàn):
[1] 周立功. ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M]. 北京:北京航空航天大學(xué)出版社,2005.8
[2] S3C2410 Data sheet
[3] LCM Product Specifications—LCM 192644-01.
[4] 楊于鐳. 基于ARM的Sam sung S3C44BOX觸摸屏接口設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2006,9:2264—2266
[5]周廣祿,王翠華,孫鵬嬌等. 基于AVS-M和DM642視頻服務(wù)器的研究,微計(jì)算機(jī)信息,2006,10-2:46-48
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉