邏輯分析儀測試在基于FPGA的LCD顯示控制中的應(yīng)用
邏輯分析儀測試在基于FPGA的LCD顯示控制中的應(yīng)用
本文引用地址:http://m.butianyuan.cn/article/190781.htm摘要:邏輯分析儀作為基礎(chǔ)儀器,應(yīng)該在基礎(chǔ)數(shù)字電路教學(xué)中得到廣泛應(yīng)用。本文介紹了基于FPGA的液晶顯示控制設(shè)計(jì)方案,通過使用OLA2032B邏輯分析儀,對控制線進(jìn)行監(jiān)測與分析,保證設(shè)計(jì)方案的準(zhǔn)確性,或者在設(shè)計(jì)出現(xiàn)問題時(shí),快速定位和解決問題。結(jié)果表明,邏輯分析儀在數(shù)字電路的設(shè)計(jì)、調(diào)試和分析中,起著很重要的作用。
關(guān)鍵字:LCD;邏輯分析儀;總線分析;觸發(fā)
一、引言
邏輯分析儀是數(shù)字設(shè)計(jì)驗(yàn)證與調(diào)試過程中公認(rèn)最出色的工具,它能夠檢驗(yàn)數(shù)字電路是否正常工作,并幫助用戶查找并排除故障。邏輯分析儀的主要特點(diǎn)是能夠同時(shí)觀察多個(gè)信號(hào);能夠按高低電平、升降沿等模式觸發(fā)多條信號(hào)線,并查看結(jié)果。在基礎(chǔ)教學(xué)實(shí)驗(yàn)室中,邏輯分析儀應(yīng)該與示波器處于同等重要的地位,但示波器的身影隨處可見,邏輯分析儀多數(shù)是紙上談兵,而且隨著很多仿真軟件的成熟,設(shè)計(jì)人員在計(jì)算機(jī)上便可以觀察被控器件的輸出信號(hào),這樣在教學(xué)實(shí)驗(yàn)室中,就回避了價(jià)格昂貴、操作繁瑣、不易維修的邏輯分析儀,但軟件仿真與硬件輸出有時(shí)會(huì)有一定的差距,這就會(huì)造成設(shè)計(jì)結(jié)果與我們預(yù)想的結(jié)果不同,而且很難查找其原因,這就需要我們觀察硬件電路輸出的控制信號(hào)。本文針對邏輯分析儀的使用,主要介紹了OLA2032B獨(dú)立臺(tái)式邏輯分析儀在EDA實(shí)驗(yàn)教學(xué)中的一個(gè)典型的應(yīng)用——基于FPGA的液晶顯示控制設(shè)計(jì)方案。
二、LCD顯示控制原理簡介
1、LCD的顯示控制原理
實(shí)驗(yàn)的過程中使用了清華大學(xué)提供的EDA GW48-PK2教學(xué)實(shí)驗(yàn)箱,主要使用其中的液晶顯示模塊,此液晶顯示器為HS12864-3型液晶顯示器,它是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器和列驅(qū)動(dòng)器及128×64全點(diǎn)陣液晶顯示器組成,包含七種指令,讀寫指令共用八路數(shù)據(jù)??赏瓿蓤D形顯示,也可以顯示8×4個(gè)(16×16點(diǎn)陣)漢字。
在實(shí)驗(yàn)箱上,可以由FPGA直接控制LCD液晶顯示器,如圖1所示,F(xiàn)PGA保存子模,生成繪圖指令,并根據(jù)指令生成相應(yīng)的時(shí)序,發(fā)送給LCD。LCD端的DDRAM控制器接收時(shí)序控制信號(hào)并將圖像顯示在液晶屏上。
液晶模塊的硬件構(gòu)成如圖2所示,液晶屏被分為左右兩個(gè)區(qū)域,它是通過片選信號(hào)CS0、CS1選擇當(dāng)前信號(hào)所控制的區(qū)域,讀寫指令共用八路數(shù)據(jù),通過幾根控制線完成液晶顯示器的讀寫工作。該設(shè)備內(nèi)置64×64位的顯示存儲(chǔ)器DDRAM,顯示屏上各像素點(diǎn)的顯示狀態(tài)與DDRAM中的數(shù)據(jù)一一對應(yīng),DDRAM的數(shù)據(jù)直接作為圖形顯示的驅(qū)動(dòng)信號(hào)。DDRAM中某一點(diǎn)的數(shù)據(jù)為“1”,則液晶屏上相應(yīng)的像素點(diǎn)顯示;DDRAM中某一點(diǎn)的數(shù)據(jù)為“0”,則液晶上相應(yīng)的像素點(diǎn)不顯示。圖2中,IC3為行驅(qū)動(dòng)器,IC1、IC2為列驅(qū)動(dòng)器,IC1、IC2、IC3中含有很多功能器件。
圖2 模塊主要硬件構(gòu)成
通過控制DI、RW、E、CS1和CS2這五個(gè)信號(hào)管腳的電平并向數(shù)據(jù)總線上發(fā)送相應(yīng)的數(shù)據(jù),我們可以對液晶屏控制器進(jìn)行簡單的操作指令,如顯示開關(guān)設(shè)置、顯示起始行設(shè)置、地址指針設(shè)置和數(shù)據(jù)讀/寫等指令。這些指令可以分為兩類,即顯示狀態(tài)設(shè)置指令和數(shù)據(jù)讀/寫操作指令,根據(jù)控制指令表(表1)書寫操作指令。
其中:D/I:數(shù)據(jù)/指令標(biāo)志位,0表示數(shù)據(jù)總線上信號(hào)為指令,1表示數(shù)據(jù)總線上信號(hào)為數(shù)據(jù);
R/W:讀/寫標(biāo)志位,0表示FPGA向數(shù)據(jù)總線上做寫操作,1表示FPGA讀數(shù)據(jù)總線。
表1 液晶屏控制指令表
如圖3所示,在設(shè)計(jì)的過程中,讀寫時(shí)序非常關(guān)鍵,為保證讀寫操作的正確性,可用邏輯分析儀進(jìn)行調(diào)試,主要觀察信號(hào)的時(shí)序關(guān)系,以及讀寫的數(shù)據(jù)值的正確與否。讀寫時(shí)序有具體的時(shí)序參數(shù)要求,可以通過邏輯分析儀的測量功能,測量其中時(shí)間參數(shù)與讀取時(shí)序參數(shù)表對照,具體測量方法詳見下文。
圖3 讀寫操作時(shí)序
2、設(shè)計(jì)思路
LCD顯示控制器設(shè)計(jì)要點(diǎn):
1) LCD的讀寫是一個(gè)連續(xù)的過程,需要設(shè)置好起始地址后連續(xù)的進(jìn)行寫入,這需要一個(gè)狀態(tài)機(jī)來實(shí)現(xiàn)(LCD控制器);
2) 向LCD發(fā)送指令之前需要確定LCD的狀態(tài)是否可以接收指令,即要先進(jìn)行讀狀態(tài)字的操作,這也需要一個(gè)狀態(tài)機(jī)來實(shí)現(xiàn)(LCD讀/寫接口)。
3) HS12864-3液晶屏自帶DDRAM,讀寫DB[7..0]實(shí)際上是和DDRAM交換數(shù)據(jù)。
4) 由于DDRAM為并行8位數(shù)據(jù)總線,為了發(fā)送數(shù)據(jù)盡可能簡單,建議在LCD模塊中采用雙向8位RAM。
5) 不斷刷新128*64的每一像素的數(shù)據(jù),但只需產(chǎn)生數(shù)據(jù)向雙向RAM中刷新。無需關(guān)心如何繪制到LCD上。
三、使用邏輯分析儀進(jìn)行調(diào)試
1、設(shè)計(jì)過程中出現(xiàn)的問題
在實(shí)驗(yàn)結(jié)果中發(fā)現(xiàn)LCD模塊每隔一段時(shí)間可能產(chǎn)生一些不穩(wěn)定的因素,左半屏可能會(huì)不顯示,有時(shí)出現(xiàn)滾屏的現(xiàn)象,有時(shí)會(huì)在液晶顯示器上出現(xiàn)散點(diǎn),或出現(xiàn)圖像混亂現(xiàn)象,如圖4所示。這種現(xiàn)象一般由于控制指令出現(xiàn)問題,控制線與數(shù)據(jù)線的時(shí)序關(guān)系出現(xiàn)偏差,出現(xiàn)這種現(xiàn)象需要使用邏輯分析儀進(jìn)行調(diào)試。
圖4 液晶顯示的異常現(xiàn)象
2、搭建實(shí)驗(yàn)環(huán)境
基于以上問題,需要我們搭建一套實(shí)驗(yàn)環(huán)境,查找液晶顯示過程中可能出現(xiàn)的錯(cuò)誤,實(shí)驗(yàn)設(shè)備以邏輯分析儀為主,配備相應(yīng)的測試附件,如果希望存儲(chǔ)實(shí)驗(yàn)數(shù)據(jù)或者設(shè)置,還需要將邏輯分析與PC相連,利用邏輯分析儀的配套軟件,將所要的數(shù)據(jù)存儲(chǔ)下來。這樣便搭建了PC實(shí)時(shí)控制軟件+OLA邏輯分析儀+DUT待測設(shè)備的實(shí)驗(yàn)環(huán)境。
LCD顯示屏相關(guān)文章:lcd顯示屏原理
lcd相關(guān)文章:lcd原理
評論