基于FPGA的LCD12864液晶漢字顯示設計 及VHDL語言的應用課件_第1頁
基于FPGA的LCD12864液晶漢字顯示設計 及VHDL語言的應用課件_第2頁
基于FPGA的LCD12864液晶漢字顯示設計 及VHDL語言的應用課件_第3頁
基于FPGA的LCD12864液晶漢字顯示設計 及VHDL語言的應用課件_第4頁
基于FPGA的LCD12864液晶漢字顯示設計 及VHDL語言的應用課件_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、本科畢業(yè)論文(設計)基于FPGA的LCD12864漢字顯示設計1、引言2、系統(tǒng)設計 (包括設計任務和要求)3、結束語4、參考文獻5、致謝1 引言1.1 本設計的研究背景和研究目的LCD液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構造是在兩片平行的玻璃當中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生畫面。比CRT要好的多,但是價錢較其它顯示器貴。 FPGA是英文FieldProgrammable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上

2、進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。本課題主要任務是設計基于FPGA的LCD控制器,兼顧好程序的易用性,以方便之后模塊的移植和應用。最后在FPGA上的任意位置顯示任意的16*16D的中文字符以及16*8的英文字符,另外要能根據(jù)輸入數(shù)據(jù)的變化同步變化LCD上顯示的內容。同時要能將儲存模塊中的圖片數(shù)據(jù)正常地顯示在LCD上。該課題的研究將有助于采用FPGA的系列產(chǎn)品的開發(fā),特別是需要用到LCD得采用FPGA的產(chǎn)品的開發(fā)。同時可以大大縮短FPGA的開發(fā)時間。另外,由于模塊的易用性,也將使得更

3、多的采用FPGA的產(chǎn)品之上出現(xiàn)LCD,增加人機之間的交互性,為行業(yè)和我們的生活帶來新的變化。1.2 EDA概述本設計采用EDA的自頂向下的設計方法。EDA(Electronic Design Automation,即電子設計自動化)技術是微電子和計算機技術飛速發(fā)展的產(chǎn)物,它融多學科于一體,是一門綜合性的學科。它以計算機硬件和系統(tǒng)軟件為基本的工作平臺,繼承和借鑒前人在電路和系統(tǒng)、數(shù)據(jù)庫、圖形學、圖論和拓撲邏輯、計算數(shù)學、優(yōu)化理論等多學科的最新科技成果而研制成的商品化EDA通用支撐軟件和應用軟件包,其目的在于幫助電子設計工程師在計算機上完成電路的功能設計、邏輯設計、性能分析、時序測試直至PCB(印

4、刷電路板)的自動設計等。與早期的電子CAD軟件相比,EDA軟件的自動化程度更高,功能更完善,運行速度更快,而且操作界面友好,有良好的數(shù)據(jù)開放性和互換性,即不同廠商的EDA軟件可相互兼容。因此,EDA技術一經(jīng)出現(xiàn),就很快在世界各大公司、企業(yè)和科研單位得到了廣泛的應用,并已成為衡量一個國家電子技術發(fā)展水平的重要標志。1.3.1狀態(tài)機簡介本設計通過編寫狀態(tài)機的VHDL語言來完成控制部分。狀態(tài)機在某種程度上可以稱是一種時序電路,如前面的觸發(fā)器、計數(shù)器等,都可以看成是功能固定的狀態(tài)機。在狀態(tài)機中常使用以狀態(tài)圖及狀態(tài)表描述的方式,然后根據(jù)這個狀態(tài)圖去設計符合要求的電路。狀態(tài)機簡寫為FSM(Finite S

5、tate Machine),主要分為2大類:第一類,若輸出只和狀態(tài)有關而與輸入無關,則稱為Moore狀態(tài)機:第二類,輸出不僅和狀態(tài)有關而且和輸入有關系,則稱為Melay狀態(tài)機。要特別注意的是,因為Melay狀態(tài)機和輸入有關,輸出會受到輸入的干擾,所以可能會產(chǎn)生毛刺(Gitch)現(xiàn)象,使用時應當注意。事實上現(xiàn)在市面上有很多EDA工具可以很方便的將采用狀態(tài)圖的描述轉換成可以綜合的VHDL程序代碼。2) 主控時序進程是指負責狀態(tài)機運轉和在時鐘驅動正負現(xiàn)狀態(tài)機轉換的進程。狀態(tài)機隨外部時鐘信號以同步方式工作,當時鐘的有效跳變到來時,時序進程將代表次態(tài)的信號next_state中的內容送入現(xiàn)態(tài)信號curr

6、ent_state中,而next_state中的內容完全由其他進程根據(jù)實際情況而定,此進程中往往也包括一些清零或置位的控制信號。3) 主控組合進程根據(jù)外部輸入的控制信號(包括來自外部的和狀態(tài)機內容的非主控進程的信號)或(和)當前狀態(tài)值確定下一狀態(tài)next_state的取值內容,以及對外或對內部其他進程輸出控制信號的內容。4) 輔助進程用于配合狀態(tài)機工作的組合、時序進程或配合狀態(tài)機工作的其他時序進程。在一般狀態(tài)機的設計過程中,為了能獲得可綜合的,高效的VHDL狀態(tài)機描述,建議使用枚舉類數(shù)據(jù)類型來定義狀態(tài)機的狀態(tài),并使用多進程方式來描述狀態(tài)機的內部邏輯。例如可使用兩個進程來描述,個進程描述時序邏輯

7、,包括狀態(tài)寄存器的工作和寄存器狀態(tài)的輸出,另一個進程描述組合邏輯,包括進程間狀態(tài)值的傳遞邏輯以及狀態(tài)轉換值的輸出。必要時還可以引入第三個進程完成其它的邏輯功能。 (1)設計任務和要求(2)總體設計方案 (3)軟件設計2、系統(tǒng)設計a)能通過VHDL程序,在QUARTUS II 9.1軟件的編譯仿真下,并在EDA實驗箱上進行下載顯示,驗證程序的正確性。b)要求顯示的字符為“廣西師范學院”、“物理與電子工程院”、“07電本陳岸”、“指導老師:劉桂英” 1)方案一:用單片機實現(xiàn),可以用AT89S52單片機實現(xiàn)128*64液晶屏顯示。程序方面可以用C語言成語,亦可以用匯編程序。整個設計首先是在protu

8、es軟件中進行硬件的搭建及仿真的,然后才下載到目標芯片上,進行調試。其連接方式如下:(2)總體設計方案 圖1 單片機與液晶屏的連接 圖7 用單片機設計的具體流程圖 2)方案二:采用EDA的自頂向下的思想,并在EDA實驗平臺上實現(xiàn)。使用的軟件是QUARTUS II 9.1,可以用Verilog語言,也可以用VHDL語言,這里采用的是VHDL語言。并使用Altera公司的cycloneII系列的EP2C8Q208C8來作為核心的控制器。具體設計流程圖如下:3)方案比較 兩種方法都能實現(xiàn)漢字的顯示,盡管設計思路不同,但最終效果是一樣的。考慮到單片機的設計方法更適合用在點陣LED的顯示設計方面,EDA

9、的設計方法明顯更適合用于LCD的漢字顯示,并且考慮到學校實驗室的資源,實驗室里有完善的EDA實驗箱,并且有設計所需要的控制芯片和顯示器件,而如果用單片機的設計方法實現(xiàn)的話,資源明顯不夠。兩相比較之下,EDA的設計方法明顯有優(yōu)勢,所以選用方法二。(3)軟件設計a) QUARTUS II概述Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程。 Quartus I

10、I可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設計流程外,提供了完善的用戶圖形界面設計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方EDA工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方EDA工具。 此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結合,可以方便地實現(xiàn)各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC

11、)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)、可編程邏輯設計于一體,是一種綜合性的開發(fā)平臺。b) VHDL代碼 (頂層設計) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY lcd12864 IS PORT ( CLOCK : IN std_logic; -全局時鐘 Q_KEY : IN std_logic; -異步復位 - LCD12864的接口 LCD12864_DATA : OUT std_logic_vector(7 DOWN

12、TO 0); -數(shù)據(jù)總線 LCD12864_E : OUT std_logic; LCD12864_RS : OUT std_logic; -數(shù)據(jù)/指令 LCD12864_RW : OUT std_logic); -讀/寫END lcd12864;這個部分主要實現(xiàn)的功能是實例化LCD12864顯示驅動模塊并且把要輸入的數(shù)據(jù)傳給底層,由于所使用的GJ12864C-1帶有字庫,這就需要調用字庫,字庫的調用其實很簡單,首先是要在字庫中找到所要現(xiàn)實的漢字,然后轉換成VHDL語言能識別的ASCII碼,再寫入程序中即可,更改程序可以顯示任意漢字、英文和標點符號等。例如,“廣”字在字庫中的代碼為B9E3,轉

13、換成ASCII碼就是“1011100111100011”。C)底層設計LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY lcd12864_drive IS PORT ( clk : IN std_logic; -全局時鐘 rst_n : IN std_logic; -異步復位 row1_val : IN std_logic_vector(127 DOWNTO 0); -數(shù)據(jù)的第一行 row2_val : IN std_logic

14、_vector(127 DOWNTO 0); -數(shù)據(jù)的第二行 row3_val : IN std_logic_vector(127 DOWNTO 0); - 數(shù)據(jù)的第三行 row4_val : IN std_logic_vector(127 DOWNTO 0); - 數(shù)據(jù)的第四行 lcd_data : OUT std_logic_vector(7 DOWNTO 0); -數(shù)據(jù)總線 lcd_e : OUT std_logic; lcd_rs : OUT std_logic; -數(shù)據(jù)/指令 lcd_rw : OUT std_logic); -讀/寫END lcd12864_drive;這個部分的主

15、要功能是實現(xiàn)具體功能,并進行時鐘分頻,寫入數(shù)據(jù)。這個部分狀態(tài)機描述部分的功能是實現(xiàn)狀態(tài)轉變,不停的改變狀態(tài),把次態(tài)賦給當前狀態(tài)。達到不斷寫入數(shù)據(jù)的目的。“廣”:B9E3 、“西”: CEF7 、“師”: CAA6 、“范”: B7B6 、“學”: D1A7 、“院”: D4BA“物”: CEEF 、“理”: C0ED 、“與”: D3EB、“電”: B5E7 、“子”: D7D3、“工”: B9A4 、“程” : B3CC 、“院”: D4BA“0”: A3B0 、“7”: A3B7、 “電”: B5E7 、“本” : B1BE 、“陳”: B3C2、 “岸”: B0B6“指” : D6B8、

16、 “導”: B5BC 、“老”: C0CF 、“師”: CAA6、 “: ”: A1C3、 “劉”: C1F5 、“桂”: B9F0 、“英”: D3A2e)仿真結果結果分析仿真結果和實驗演示均一致,符合本設計要求。3、結束語經(jīng)過這次畢業(yè)設計,我對VHDL語言有了更加深刻的認識。VHDL是超高速集成電路的硬件描述語言,它能夠描述硬件的結構、行為與功能。另外,VHDL具有并發(fā)性,采用自上而下的結構式設計方法,適合大型設計工程的分工合作。在編寫程序的時候,我才發(fā)現(xiàn)能看懂程序和能自己寫程序是兩個完全不同的概念,自己一開始寫程序時,即便是一個很簡單的功能模塊,在編譯時也可能產(chǎn)生很多錯誤,在不斷的改錯過

17、程中,自己對VHDL語言的語法結構有了深刻的理解,對編譯過程中常見的錯誤也有了全面的認識。通過這次畢業(yè)設計,我在熟悉了基于FPGA設計的同時,也學到了很多在學習課本知識時所體會不到的東西。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。完成此次設計后,我不僅能對Qua

18、rtus II開發(fā)仿真軟件熟練操作,能達到學以致用,同時還掌握了點陣型液晶12864的工作原理。經(jīng)過這一過程,我發(fā)現(xiàn)平常的學習在注重理論知識的掌握同時,要加強實驗環(huán)節(jié),只有通過不斷地實踐,我們才能把知識掌握的更牢固,理解的更透徹。參考文獻楊恒,F(xiàn)PGA/CPLD最新實用技術指南M,清華大學出版社.2005。劉皖,F(xiàn)PGA設計與應用M,清華大學出版社,2006。潘松,EDA技術實用教程M,科學出版社,2005。朱正偉,數(shù)字電路邏輯設計M,清華大學出版社,2006。李維,液晶顯示應用技術M,電子工業(yè)出版社,2000。英渥倫斯基, VHDL數(shù)字系統(tǒng)設計M,電子工業(yè)出版社,2004。郭振東,常昌云,吳

19、金等.STN-LCD顯示驅動技術J,電子器件,2001(4):338345。柳義筠,李湘?zhèn)ィ芙?液晶顯示控制器HD61202的接口方式研究與編程J匡安云,劉湘云.SMG12864液晶模塊在中文人機界面設計中的應用,中國科技信息J,2008(19):8589。Sunggu Lee,Advanced Digital Logic DesignM,Pohang University of Science and Technology,2006.Hee-Chul Kim,Byong-Heon Kwon,Myung-Ryul Choi,An image interpolator with image improvement for LCD controllerJ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論