基于FPGA的多功能LCD顯示控制器設計
摘要:通過(guò)對LCD1602/LCD12864顯示模塊控制時(shí)序和指令集的對比分析,利用Verilog HDL描述語(yǔ)言完成了多功能LCD顯示控制模塊的IP核設計,所設計的LCD顯示控制器具有很好的可移植性,只需通過(guò)端口的使能參數配置便可以驅動(dòng)LCD1602/LCD12864模塊實(shí)現字符或圖形的實(shí)時(shí)顯示,并且該多功能LCD控制器的可行性也在CycloneⅡ系列的EP2C5T144C8 FPGA芯片上得到了很好的驗證。
關(guān)鍵詞:FPGA;LCD顯示控制器;IP棱;有限狀態(tài)機
在許多嵌入式系統應用領(lǐng)域,都需要友好的人機信息界面,傳統的數碼管或者發(fā)光二極管顯示方式已經(jīng)不能滿(mǎn)足實(shí)際的顯示需求,而LCD1602/LCD12864液晶顯示模塊具有低壓微功耗、壽命長(cháng)、顯示信息量大、超薄等顯著(zhù)優(yōu)點(diǎn),被廣泛應用于智能儀器、儀表等各種便攜式電子信息產(chǎn)品上來(lái)實(shí)現數字、字符和圖形的可視化信息顯示。目前,針對LCD1602/LCD12864液晶模塊的顯控技術(shù)主要有兩種方式,首先是基
于各種微處理器(8051/ARM/NoisⅡ/SPCE061)的微程序控制方式,這種軟件組態(tài)的LCD模塊控制技術(shù)應用廣泛,但是這種控制方式會(huì )占用處理器資源、速度慢、實(shí)時(shí)顯示性能較差。其次,就是使用CPLD/FPGA開(kāi)發(fā)的獨立顯示控制器,這種純硬件結構的獨立顯示控制器,速度快、實(shí)時(shí)顯示性能好;但是這種獨立顯示控制器可移植性差、功能單一,很難適應不同類(lèi)型的液晶屏及不同的顯示模式。
因此,文中就提出了一個(gè)基于FPGA的多功能LCD顯示控制器設計方案,只需通過(guò)端口的使能參數配置便可以驅動(dòng)LCD1602模塊顯示字符、LCD12864模塊實(shí)現字符或圖形的實(shí)時(shí)顯示,并在FPGA開(kāi)發(fā)板(EP2C5T144C8)上進(jìn)行了該設計的可行性驗證。
1 多功能顯示控制器的端口設計
要設計能夠驅動(dòng)LCD1602/LCD12864兩種液晶模塊的多功能顯示控制器,就必須同時(shí)兼顧這二者的封裝端口引腳和用途;對多功能顯示控制器的端口做出兼容性設計。
LCD1602液晶模塊是一款最常用、最便宜的工業(yè)字符型液晶顯示屏,它可以顯示16x2個(gè)、5x7的點(diǎn)陣字符,模塊的字模存儲器CGROM(Chara cter Generator ROM)中固化192個(gè)常用字符的字模,另外還有8個(gè)允許用戶(hù)自定義的字符存儲器CGRAM(Character Generator RAM)??梢杂糜谏倭康淖远x圖形顯示(如漢字)。由于顯示單元位間隔和行間隔的存在而導致顯示效果不好,因此LCD1602模塊主要用于西文、ASCII碼字符的顯示,該模塊擁有1個(gè)16引腳的單排插針外接端口,端口的功能定義如表1所示。
目前,常用的LCD12864模塊是一種內部含有國標一級、二級簡(jiǎn)體中文字庫的點(diǎn)陣型圖形液晶顯示模塊;具有串/并多種接口方式,內置了8 192個(gè)16x16點(diǎn)漢字和128個(gè)16x8點(diǎn)ASCⅡ字符集,它在字符顯示模式下可以顯示8x4個(gè)16x16點(diǎn)陣的漢字或16x4個(gè)16x8點(diǎn)陣的西文(ASCH)字符;它也可以在圖形工作模式下顯示分辨率為128x64的二值化圖形,該模塊擁有1個(gè)20引腳的單排插針外接端口,端口的功能定義與LCD1602的對比如表1所示。
通過(guò)表1所示的LCD12864和LCD1602兩種液晶模塊的端口對比可以看出,它們的端口定義基本相同,LCD12864模塊只比LCD16021模塊多了PSB(串并選擇)和RST(復位端)端口,因此;可以完全按照LCD12864的端口要求來(lái)設計多功能LCD顯示控制器的端口;PSB和RST端口在驅動(dòng)LCD 1602模塊時(shí)閑置或懸空(也可以用來(lái)充當某些特殊LCD1602屏的電源開(kāi)關(guān)和背光開(kāi)關(guān)信號)。
2 多功能顯示控制器的操作時(shí)序
如果LCD12864液晶模塊工作在并口的數據傳輸模式(PSB=1、RST=1)下,就和LCD1602液晶模塊具有完全相同的控制時(shí)序,這就要求多功能控制器產(chǎn)生的E、RW、RS控制信號具有正確的時(shí)序,LED模塊的讀/寫(xiě)操作時(shí)序由使能信號E完成:對讀/寫(xiě)操作的識別是判斷RW信號上的電平狀態(tài);RS信號用于識別數據總線(xiàn)DB0~DB7上的數據是指令代碼還是屬于顯示數據,控制信號的操作時(shí)序如圖1所示。
在如圖1所示的操作時(shí)序圖形中,LCD模塊都給出了關(guān)鍵時(shí)間參數(不同廠(chǎng)商產(chǎn)品有差異),一般要求數據讀寫(xiě)周期TC≥13μs;使能脈沖寬度TPW≥1.5 μs;數據建立時(shí)間TDSW≥1μs;數據保持時(shí)間TH≥20 ns;地址建立和保持時(shí)間(TAS和TAH)不得小于1.5μs,因此在多功能LCD顯示控制器IP核的設計中,必須設置有延時(shí)配置參數以滿(mǎn)足控制器的多種模塊驅動(dòng)調試。
LCD顯示屏相關(guān)文章:lcd顯示屏原理
fpga相關(guān)文章:fpga是什么
led顯示器相關(guān)文章:led顯示器原理
lcd相關(guān)文章:lcd原理
評論