畢業(yè)設計(論文)基于FPGA的LCD驅動顯示電路的設計與實現(xiàn)_第1頁
畢業(yè)設計(論文)基于FPGA的LCD驅動顯示電路的設計與實現(xiàn)_第2頁
畢業(yè)設計(論文)基于FPGA的LCD驅動顯示電路的設計與實現(xiàn)_第3頁
畢業(yè)設計(論文)基于FPGA的LCD驅動顯示電路的設計與實現(xiàn)_第4頁
畢業(yè)設計(論文)基于FPGA的LCD驅動顯示電路的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、論文題目論文題目 基于 fpga 的 lcd 驅動顯示電路的設計與實現(xiàn) 姓姓 名名 學學 院院 寶雞文理學院 專專 業(yè)業(yè) 電子信息工程 指導教師指導教師 2012 年年 04 月月 1010 日日 基于 fpga 的 lcd 驅動顯示電路的設計與實現(xiàn) 作者姓名: 薛文平 指導教師: 田勇 單位名稱: 嵌入式系統(tǒng)工程系 專業(yè)名稱: 電子信息工程(集成電路設計與系統(tǒng)方向) 東北大學東軟信息學院 2011 年 5 月 design and implementation of lcd drive display circuit based on fpga by xue wenping supervis

2、or: lecturer tian yong northeastern university neusoft institute of information may 2011 畢業(yè)設計(論文)任務書畢業(yè)設計(論文)任務書 畢業(yè)設計(論文)題目:畢業(yè)設計(論文)題目: 基于 fpga 的 lcd 驅動顯示電路的設計與實現(xiàn) 設計(論文)的基本內容:設計(論文)的基本內容: 本課題主要研究了利用 fpga 來驅動字符型液晶顯示器模塊。課題關 鍵是對驅動芯片的各個引腳和時序進行控制。本系統(tǒng)開發(fā)環(huán)境為 windows xp,開發(fā)語言為 verilog hdl。設計的目的是為了在 lcd 液晶 顯示器上

3、顯示任意大小寫英文字符和阿拉伯數(shù)字,能根據(jù)輸入數(shù)據(jù)的變 化同步變化 lcd 上顯示的內容所有功能全部用硬件描述語言編程實現(xiàn)下 載到 xilinx 公司的開發(fā)板上進行調整。完全可以取代傳統(tǒng)的利用單片機 來驅動液晶顯示,且比之有更好的抗干擾性,更高的可靠性。 畢業(yè)設計(論文)專題部分:畢業(yè)設計(論文)專題部分: 題目:題目: 設計或論文專題的基本內容:設計或論文專題的基本內容: 學生接受畢業(yè)設計(論文)題目日期學生接受畢業(yè)設計(論文)題目日期 第第 1 周周 指導教師簽字:指導教師簽字: 2010 年年 11 月月 30 日日 基于 fpga 的 lcd 驅動顯示電路的設計與實現(xiàn) 摘要 本課題主要

4、任務是設計基于 fpga 的 lcd 驅動電路的設計和實現(xiàn),兼顧好程序的 易用性,以方便之后模塊的移植和應用??刂破鞑糠植捎?verilog 語言編寫,主體程序 采用了狀態(tài)機作為主要控制方式。最后實現(xiàn)使用 fpga 在 lcd 上顯示任意的英文字符 和阿拉伯數(shù)字,另外要能根據(jù)輸入數(shù)據(jù)的變化同步變化 lcd 上顯示的內容。同時要能 將儲存模塊中的數(shù)據(jù)正常地顯示在 lcd 上。 該課題的研究將有助于采用 fpga 的系列產(chǎn)品的開發(fā),特別是需要用到 lcd 的產(chǎn) 品的開發(fā)。同時可以大大縮短 fpga 的開發(fā)時間。另外,由于模塊的易用性,也將使 得更多的采用 fpga 的產(chǎn)品之上出現(xiàn) lcd,增加人機

5、之間的交互性,為行業(yè)和我們的 生活帶來新的變化。 本文中對 fpga,lcd,modelsim,xilinx ise8.2i 硬件設計工具等進行了簡單的 介紹,對其功能進行了簡單的描述,并了解了 lcd 液晶顯示器的發(fā)展歷史,日常應用 以及相對比于其他種類顯示器的優(yōu)缺點,并對基于 fpga 的 lcd 液晶顯示器驅動電路 未來的發(fā)展趨勢進行了展望。 關鍵詞:關鍵詞:fpga,lcd,狀態(tài)機,verilog design and implementation of lcd drive display circuit based on fpga abstract in this project,

6、the main object is to design a lcd controller based on fpga, and at the same time emphasize on the convenience for the later application and migration.the program of the controller is written by verilog language, and the main body of the program used state machine as the primary control method. disp

7、layed picture which was put earlier. in this project, i finally realized the following function. the first one is to display any english and figureon character any position of the display screen. the second one is the display information will instantaneously update as the input data changes. the res

8、earch of this project will contribute to the developing process of those products which use fpgas, especially those products also use lcd. and at the same time, it can reduce dramatically on the developing time. in addition, for the convenience of this controller, more and more fpga based products w

9、ill come out with lcd screen. this change will enhance the interaction between human and the machine, and bring innovation to the industry and our lives. in this project, fpga, lcd, modelsim, xilinx ise8.2 i hardware design tools simply introduces its functions were a simple description, and underst

10、anding the lcd monitor the development history, and relative everyday applications than in other types of monitor based on fpga advantages and disadvantages, and the lcd monitor driver circuit future development trends are discussed. key words:, fpga, lcd, state machine, verilog 目錄 任務書i 摘要 ii abstra

11、ct iii 第 1 章緒論1 1.1選題背景1 1.2 lcd 液晶顯示器的發(fā)展現(xiàn)狀1 1.3選題目的3 第 2 章關鍵技術介紹4 2.1fpga 簡介4 2. 2lcd 簡介4 2.2.1lcd 的簡介4 2.2.2tc 1602 液晶模塊簡介5 2.3 系統(tǒng)軟件圖 6 第 3 章系統(tǒng)分析7 3.1fpga 的設計方法7 3.2verilog hdl 和 vhdl 的異同 7 3.3tc1602 液晶模塊的工作方式8 3.4系統(tǒng)開發(fā)環(huán)境11 3.5系統(tǒng)任務的可行性分析12 第 4 章系統(tǒng)設計13 4.1系統(tǒng)概述13 4.2系統(tǒng)的功能結構設計13 4.2.1接口電路設計13 4.2.2液晶模

12、塊的內部顯示地址13 4.3 流程圖和狀態(tài)機的設計14 4.3.1 fpga 向液晶顯示屏控制芯片發(fā)送指令的流程圖14 4.3.2 狀態(tài)機15 第 5 章系統(tǒng)實現(xiàn)17 5.1系統(tǒng)硬件開發(fā)環(huán)境介紹17 5.2系統(tǒng)的實現(xiàn)17 5.2.1電路圖17 5.2.2系統(tǒng)主程序代碼節(jié)選19 第 6 章系統(tǒng)測試23 6.1系統(tǒng)測試23 6.1.1仿真波形23 6.2 對 tc1602 液晶顯示器進行 fpga 驗證 23 第 7 章結論24 參考文獻25 致謝27 第 1 章緒論 1.1選題背景 本課題主要任務是設計基于 fpga 的 lcd 驅動顯示電路的設計與實現(xiàn)。兼顧好程 序的易用性,以方便之后模塊的移

13、植和應用。最后在 fpga 上的任意位置顯示任意的 英文和數(shù)字,另外要能根據(jù)輸入數(shù)據(jù)的變化使 lcd 液晶顯示器上顯示的內容產(chǎn)生變化。 本課題的研究有助于采用 fpga 的系列產(chǎn)品的開發(fā),特別是需要用到基于 fpga 的 lcd 產(chǎn)品的開發(fā)。同時可以大大縮短 fpga 的開發(fā)時間。增加人機之間的交互性,為 行業(yè)和我們的生活帶來新的變化。 fpga 是 fieldprogrammable gate array 的縮寫,即現(xiàn)場可編程門陣列,它是在 gal、cpld、pal 等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路 (asic)領域中的一種半定制電路而出現(xiàn)的,既解決了原有可編程器件

14、門電路數(shù)有限 的缺點,又克服了定制電路的不足。 我們平時所說的 lcd,它的英文全稱為 liquid crystal display,直譯成中文就是液 態(tài)晶體顯示器,簡稱為液晶顯示器。液晶是一種幾乎完全透明的物質。它的分子排列 決定了光線穿透液晶的路徑。到 20 世紀 60 年代,有人發(fā)現(xiàn)給液晶充電會改變它的分 子排列,造成光線的扭曲或折射,這個發(fā)現(xiàn)引發(fā)了人們發(fā)明液晶顯示設備的念頭。 1.2 lcd 液晶顯示器的發(fā)展現(xiàn)狀 早期的時候,技術還不成熟,lcd 液晶顯示器主要被應用于電子表、計算器等領 域。 世界第一臺真正意義上的液晶顯示設備出現(xiàn)在 20 世紀 70 年代初,它被稱之為 tn-lcd

15、(扭曲向列)液晶顯示器。雖然是用單色顯示的方式,但它仍然被推廣到了電 子表、計算器等領域。 和 tn 技術不同的是,tft 的顯示采用“背透式”的照射方式假想的光源路徑 是從下向上,而不是像 tn 液晶那樣從上至下。 光源路徑設計成從下向上的作法是在液晶的背部設置特殊光管,光源照射時通過 下偏光板向上透出。由于上下夾層的電極改變成為 fet 電極和共通電極,在 fet 電極 導通時,液晶分子的表現(xiàn)也會改變,可以通過使用遮光和透光的方法來達到顯示的目 的,響應時間提高到 80ms 左右。 因為 tft 具有比 tn 更高的對比度,更豐富的色彩和更快的熒屏更新頻率,所以 tft 俗稱“真彩” 。相

16、比較于 dstn,tft 的主要特點是給每個像素都配置了一個半導 體開關器件。由于每個像素都可以通過點脈沖來直接控制,因而每個節(jié)點都顯得更獨 立,并可以連續(xù)控制。這樣的設計方法不但提高了顯示屏的反應速度,而且也可以精 確控制顯示的灰度,這就是 tft 色彩比 dstn 更為逼真的原因。 2001 年以后 lcd 液晶顯示器技術開始走上成熟發(fā)展之路、但仍然生存在 crt 顯 示器陰影下(crt 直譯中文為:陰極射線管,英文名稱為 cathode-ray tube)。 傳統(tǒng)的 crt 顯示器的發(fā)展歷程為從黑白到彩色和從球面到柱面再到平面直角最后 直至純平的發(fā)展。在這段非常快速前進的歷程中,顯示器的

17、視覺效果在跳躍性提高, 帶寬、畫質、分辨率、刷新和色彩率等各項指標均有非常大的提升。目前主流的純平 顯示器色彩真實,圖像無扭曲,畫面清晰,視角更廣闊,而且在設計時還充分考慮到 了人類的視覺構造,好的純平顯示器在長時間使用之后,眼睛不會感到疲勞等一系列 優(yōu)勢。但是 同期的液晶顯示器存在畫面延時,色彩還遠不夠真實,可視角度削弱等缺 點,所以,在 2005 年以前,lcd 液晶顯示器一直生活在 crt 顯示器的陰影下。 不過與此同時我們也對比看到 lcd 液晶顯示器寬廣的發(fā)展前景:可以說純平顯示 器是 crt 顯示器發(fā)展的最高水平,然而,由于 crt 顯示器的基本工作原理是依靠高 電壓激發(fā)的游離電子

18、轟擊顯示屏而產(chǎn)生各種各樣的圖像,技術已經(jīng)十分成熟,沒有太 多的發(fā)展余地。受限于此,傳統(tǒng) crt 顯示器在體積、重量、功耗等方面露出自己的劣 勢。 當時,由于液晶面板廠商基本都是第三代以前的生產(chǎn)線,在切割 15、17 吋等主流 尺寸液晶面板的時候成本居高不下,所以,在那個年代,lcd 的售價也自然居高不下, 15 吋 lcd 液晶顯示器售價達到 4000 元以上,和當時同樣顯示面積的 17 吋 crt 顯示 器 2000 多元的價格根本沒有任何優(yōu)勢,所以,在那個年代,lcd 液晶顯示器只是一些 奢侈玩家的擺設品。 經(jīng)過 2003 年 lcd 液晶顯示器大幅度調價,消費者發(fā)現(xiàn) lcd 液晶顯示器的

19、價格與 crt 顯示器進一步接近了,尤其是大尺寸 lcd 液晶顯示器的售價和同尺寸的 crt 顯 示器相比甚至有一些尺寸開始有優(yōu)勢。大家在關注液晶顯示器的同時,開始注意到在 液晶顯示器具備一些獨特的優(yōu)勢。 1、大大提高桌面利用率 2、易于懸掛、拼接 3、接口更豐富、dvi 成為標準配置 4、分辨率更高,相同尺寸的可視面積更大 從 2003 年開始,各大顯示器廠商開始意識到一個重要的問題,要提高 lcd 液晶 顯示器的市場地位,他們當務之急是解決 lcd 液晶顯示器拖影問題。所以,我們可以 注意到,lcd 液晶顯示器響應時間技術從 2003 年開始飛速發(fā)展,從早期的 50ms 到 06 年的 1

20、ms,這完全是一個質的改變。 2003 年以前,還是有很多 40 毫秒甚至是 50 毫秒的產(chǎn)品的,它們充其量只能應付 一些基本的文本辦公,游戲應用根本無從談起。不少早期的用戶有這種體驗,在 crt 上玩慣魔獸之后,突然換成一臺響應時間為 30ms 的 lcd 液晶顯示器上進行游戲,感 覺自己操作以后技能和任務遲遲沒有發(fā)生變化,這就是 lcd 液晶顯示器早期被游戲玩 家嚴重詬病的一個地方。 1.3選題目的 本課題主要任務是設計基于 fpga 的 lcd 驅動電路的設計和實現(xiàn),兼顧好程序的 易用性,以方便之后模塊的移植和應用。最后在 fpga 上顯示任意的英文字符和數(shù)字, 另外要能根據(jù)輸入數(shù)據(jù)的變

21、化同步變化 lcd 液晶顯示器上顯示的內容。同時要能將儲 存模塊中的數(shù)據(jù)正常地顯示在 lcd 液晶顯示器上。 第 2 章關鍵技術介紹 2.1fpga 簡介 fpga(fieldprogrammable gate array) ,即現(xiàn)場可編程門陣列,它是在 pal、gal、cpld 等可編程器件的基礎上進一步發(fā)展的產(chǎn)物;它是作為專用集成電路 (asic)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原 有可編程器件門電路數(shù)有限的缺點。 目前主流的 fpga 依然是基于查找表技術的,它已經(jīng)很大程度上超出了先前版本 fpga 的基本性能,而且還整合了用戶常用功能(如時鐘管理、ram

22、 和 dsp)的硬核 (asic 型)模塊。fpga 芯片主要分成 6 個部分,他們分別是:基本可編程邏輯單元、 可編程輸入輸出單元、完整的時鐘管理、豐富的布線資源、嵌入塊式 ram、內嵌的底 層功能單元和內嵌專用硬件模塊。其的基本特點主要有: 1、fpga 可以做為其它的半定制或全定制 asic 電路中的試樣片。 2、采用 fpga 設計的 asic 電路,用戶不需要投片生產(chǎn),就能夠得到想要的芯片。 3、fpga 采用高速 chmos 工藝,功耗低,可以與 cmos、ttl 電平兼容。 4、fpga 的內部有非常豐富的觸發(fā)器和 io 引腳。 5、fpga 是 asic 電路中開發(fā)費用最低、設

23、計周期最短、風險最小的器件之一 2.2lcd 簡介 2. 2.1lcd 的簡介 lcd 顯示器是 liquid crystal display 的簡稱,lcd 液晶顯示器的構造是在兩片平 行的玻璃之中放入液態(tài)的晶體,兩片玻璃的中間含有很多垂直的和水平的細小電線, 通過為不同的液晶單元供電來控制桿狀水晶分子方向的改變,將光線折射出來產(chǎn)生畫 面。液晶顯示器具備的一些獨特優(yōu)勢: 1、大大提高桌面利用率 大屏幕液晶顯示器輕薄的機身對提高桌面利用率是顯而易見的。19 英寸的 crt 顯 示器其厚度普遍有 40cm 之巨,而當時相同尺寸的液晶顯示器厚度不超過 4cm,大大節(jié) 約了桌面空間。隨著雙頭輸出顯卡

24、的普及,越來越多的用戶需要同時使用兩臺顯示器, 笨重碩大的 crt 顯示器顯然不再適合,液晶顯示器才是最佳對象。 2、易于懸掛、拼接 大屏幕液晶顯示器大多數(shù)均設有 vesa 標準的懸臂接口,可以方便與各種各樣的 懸臂支架配合應用在特殊的場合中,而液晶顯示器特有的窄邊框設計使其在拼接成屏 幕墻的時候更加完美。而 crt 由于重量及外形原因,懸掛及拼接電視墻相對成本要高 很多,且效果并不理想。 3、接口更豐富、dvi 成為標準配置 傳統(tǒng)的 d-sub 模擬接口和數(shù)字化的 dvi 視頻接口已經(jīng)成為當時大屏幕液晶顯示器 事實上的標準配置。大家不但可以通過數(shù)字化的視頻接口享受無信號失真的干凈畫面 和操控

25、的便利性,還可以通過傳統(tǒng) d-sub 接口兼容舊顯卡讓兩臺主機共用同一臺顯示 器。多數(shù)大屏幕液晶顯示器還配備了其它模擬視頻輸入接口和 3.5 毫米音頻輸入接口以 供多媒體應用,部分產(chǎn)品甚至還配備 usb hub。而小屏幕液晶顯示器由于產(chǎn)品普遍定 位較低和可供利用空間有限,只有在某些高端型號才配備部分上述接口。 4、分辨率更高,相同尺寸的可視面積更大 傳統(tǒng)的 crt 顯示器分辨率普遍要比同尺寸的液晶顯示器要低,17 英寸 crt 顯示 器的分辨率普遍為 1024*768,而 17 英寸普屏 lcd 液晶顯示器支持 12801024,同時 它的可視面積相當于 19 英寸 crt 顯示器的可視面積。

26、更高的分辨率可以在屏幕上顯 示更多的資訊,即使以后觀看 19201080 的 hdtv 節(jié)目源也不至于丟失太多的像素。 另外,更大顯示面積令用戶在欣賞電影時候不再只局限于一個視覺效果最佳的“皇帝位” ,即便是 23 人也能同時看到相同質量的畫面。 2.2.2tc 1602 液晶模塊簡介 一、tc 1602 液晶模塊是一種用 57 點陣圖形來顯示字符的液晶顯示器,根據(jù)顯 示的容量可以分為 1 行 16 個字、2 行 16 個字、2 行 20 個字等,最常用的為 2 行 16 個 字。 tc 1602 液晶模塊的一些主要技術參數(shù): 1、邏輯工作電壓(vdd):+4.5 +5.5v 2、lcd 驅動

27、電壓(vdd - vl):+4.5 +13.0v 3、工作溫度(ta): 0 60c(常溫)/-20 75 c(寬溫) 4、工作電流: 2.0ma 5、屏幕視域尺寸: 62.5 16.1mm 二、tc 1602 字符液晶模塊特點 1、可與 8 位或者 4 位微處理器直接連接; 2、內置字符發(fā)生器 rom 可提供 160 種工業(yè)標準字符,包括全部大小寫字母、阿 拉伯數(shù)字及日文片假名,以及 32 個特殊字符或符號顯示; 3、內置 ram 可根據(jù)用戶需要,自行設計定義字符或符號; 4、+5v 單電源供電; 5、低功耗。 2.3 系統(tǒng)軟件 軟件開發(fā)環(huán)境是利用 xilinx 工具,xilinx 工具是世

28、界領先的可編程邏輯完整的解 決方案的供應商,研發(fā),制造并且銷售應用范圍廣泛的高級集成電路,軟件設計工具。 并且,能夠定義系統(tǒng)級功能的 ip 核(intellentual prorerty) ,xilinx 工具長期以來一直致 力于推動 fpga 產(chǎn)業(yè)技術的更新和發(fā)展。xilinx 開發(fā)工具不斷地升級,由早期的 foundation 系列逐步發(fā)展到如今目前的 ise9.1i 系列,工具集成了 fpga 開發(fā)板所需要 的所有功能,此次項目設計我所采用的是 xilinx ise8.2i 硬件設計工具。相對容易使用 而且有著獨一無二的 pld 設計環(huán)境。xilinx ise8.2i 硬件設計工具將先進

29、的技術與靈活 性,方便使用性的圖形界面結合一起,使您在短時間設計出您想要設計的硬件設計。 xilinx ise8.2i,不管您經(jīng)驗如何,都是硬件設計新手的最佳選擇工具。 mentor 公司的 modesim 是業(yè)界最優(yōu)秀最可靠的 hdl 語言仿真軟件,它能夠提供 簡易的仿真環(huán)境,是業(yè)界唯一在單內核支持 vhdl 和 verilog 混合仿真的仿真軟件。 modelsim 采用直接優(yōu)化的編譯技術,tcl/tk 技術和單一內核仿真技術,使在編譯仿真 時候速度快,編譯的代碼與平臺關系無關,便于保護 ip 核,個性化的圖形界面和用戶 接口,全面支持 vhdl 和 verilog 語言對 ieee 標準

30、的準確,除眾多優(yōu)勢之外,它還能 夠支持 c/c+功能調試和調用。 modelsim 最大的特點是強大的調試功能,先進數(shù)據(jù)流窗口,可快速追蹤到產(chǎn)生不 定或者錯誤狀態(tài)的最終原因,性能分析工具幫助分析性能的上下瓶頸,加速仿真速率, 檢查確保測試的完備性能,多種模式下的波形比較功能,先進的 signal spy 強化功能, 地址訪問 vhdl 或者 verilog 和 vhdl 混合設計中的最底層信號,并且支持加密 ip, 可與 matlab 的 simulink 的聯(lián)合仿真功能。此外,modesim 的特點還有,rtl 級和門 級電路的優(yōu)化,具有集成性能分析,對 systemc 的直接編譯可以與 h

31、dl 任意混合。所 以說,它是目前世界上對系統(tǒng)級別硬件描述語言綜合仿真工具最全面支持的工具。 第 3 章系統(tǒng)分析 3.1fpga 的設計方法 一般用到的 fpga 的設計方法有“自頂向下”和“自下而上”這兩種。到目前為 止大規(guī)模 fpga 設計經(jīng)常所采用的設計方法是“自頂向下”的設計方法。所謂“自頂 向下”設計方法就是采用可以完全獨立于芯片廠商以及他們的產(chǎn)品結構的描述語言, 在功能級設計上對設計的產(chǎn)品進行定義,然后再結合其功能仿真技術,最后確保對產(chǎn) 品的設計的正確性,在對其功能定義完成后,利用邏輯綜合技術,把功能描述轉換成 某一含有具體結構芯片的網(wǎng)表文件,輸出最后要給廠商的布局布線器再進行布局

32、布線。 布局布線的結果還可以返回同一仿真器,進行包括時序和功能的后驗證,以此來保證 因為布局布線所帶來的門延時和線延時不會影響到設計的性能。 “自頂向下”的優(yōu)越性是比較顯而易見的。第一,因為它的功能描述可以完全獨 立于芯片結構,在進行設計的最初階段,設計師完全可以不受芯片結構的約束,集中 全部精力對產(chǎn)品進行設計,因此可以避免了傳統(tǒng)設計方法所帶來的重新再設計風險, 在最大限度上縮短了設計周期。第二,設計的再利用得到了保證。目前的電子產(chǎn)品正 在向著模塊化方向發(fā)展。所謂模塊化就是對以往設計得成果進行修改、組合和再利用, 產(chǎn)生全新的或派生設計。而“自頂向下”的功能描述可與芯片結構無關。因此,可以 以一

33、種 ip(intelligence property 知識產(chǎn)權)的方式進行存檔,方便將來的重新利用。 第三,在設計規(guī)模上大大提高。簡單的語言描述就可以完成復雜的功能,且不需要手 工繪圖。最后,在芯片的選擇上更加靈活。設計師可在較短的時間內采用所能見到的 各種結構芯片來完成同一功能描述,從而在設計規(guī)模、速度、芯片價格及系統(tǒng)性能要 求等方面進行平衡,選擇最佳結果。目前最為常用的功能描述方法是采用均已成為國 際標準的兩種硬件描述語言 vhdl 和 verilog hdl。本課題使用的為 verilog hdl。 3.2verilog hdl 和 vhdl 的異同 verilog hdl 和 hdl

34、都是用于邏輯設計的硬件描述語言,并且都已成為 ieee 標 準。vhdl 是在 1987 年成為 ieee 標準,而 verilog hdl 則是在 1995 年才正式成為 ieee 標準。之所以 vhdl 比 verilog hdl 更早成為 ieee 標準,是因為 vhdl 是美國 軍方組織開發(fā)的,而 verilog hdl 只是從一個普通的民間公司的私有財產(chǎn)轉化而來, 基于 verilog hdl 的優(yōu)越性,才成為的 ieee 標準,因而有更強的生命力。 vhdl 其英文全名為 vhsic hardware description language,而 vhsic 則是 very hig

35、h speed integerated circuit 的縮寫詞,譯為甚高速集成電路,所以 vhdl 準確的中文譯名為甚高速集成電路的硬件描述語言。 verilog hdl 和 vhdl 作為描述硬件電路設計的語言,他們共同的特點在于:可 借用高級語言的精巧結構來簡化電路行為的描述、支持邏輯設計中層次與范圍的描述、 能形式化地抽象表示電路的行為和結構、具有電路仿真與驗證機制以保證設計的正確 性、支持電路描述由高層到低層的綜合轉換、硬件描述與實現(xiàn)工藝無關(有關工藝參數(shù) 可通過語言提供的屬性包括進去)、便于文檔管理、易于理解和設計重用。 在這些共同點的基礎上,verilog hdl 和 vhdl

36、又各有其自己的特點。由于 verilog hdl 早在 1983 年就已推出,至今已有近二十年的應用歷史,因而 verilog hdl 擁有更廣泛的設計群體,成熟的資源也遠比 vhdl 豐富。與 vhdl 相比 verilog hdl 的最大優(yōu)點是:它是一種非常容易掌握的硬件描述語言,只要有 c 語言的編程基礎, 通過一段時間的學習,再加上一段實際操作,就可以掌握這種設計技術。但是掌握 vhdl 設計技術就比較困難。這是因為 vhdl 不是很直觀,需要有 ada 編程基礎,一 般認為需要較長時間的專業(yè)培訓,才能掌握 vhdl 的基本設計技術。目前版本的 verilog hdl 和 vhdl 在

37、行為級抽象建模的覆蓋范圍方面也有所不同。一般認為 verilog hdl 在系統(tǒng)級抽象方面比 vhdl 略差一些,而在門級開關電路描述方面比 vhdl 強得多。 3.3tc1602 液晶模塊的工作方式 本課題中使用的 tc 1602 液晶模塊采用標準的 16 腳接口,其引腳功能如下: 第 1 腳:vss 為電源地,接 gnd。 第 2 腳:vdd 為電源,接+5v 電源。 第 3 腳:vl 為液晶顯示器對比度調節(jié)端,接地電源時對比度最高,接正電源時對 比度最弱,對比度過高的時候顯示器上會產(chǎn)生“鬼影” ,在使用的時侯可以通過一個 10k 左右的電位器來調整其對比度。 第 4 腳:rs 為寄存器選

38、擇端,低電平時選擇為指令寄存器,高電平時選擇為數(shù)據(jù) 寄存器。 第 5 腳:rw 為讀寫信號線端,低電平時進行得是寫操作,高電平時進行的是讀 操作。當 rw 為高電平 rs 為低電平時可以讀忙信號,當 rw 和 rs 共同為低電平時可 以顯示地址或者寫入指令,當 rw 為低電平 rs 為高電平時可以寫入數(shù)據(jù)。如果不需 要讀操作,那么該引腳可直接接地。 第 6 腳:e 端為使能端,當 e 端由高電平轉變?yōu)榈碗娖綍r,液晶模塊開始執(zhí)行命 令。 第 714 腳:d0d7 為 8 位雙向數(shù)據(jù)線。 第 15 腳:bla 背光電源正極(+5v)輸入引腳。 第 16 腳:blk 背光電源負極,接 gnd。 tc

39、 1602 液晶模塊內部自帶標準字庫,內部的字符發(fā)生存儲器(cgrom)存儲了 192 個 57 點陣字符,32 個 510 點陣字符。除此之外還有字符生成 ram(cgram)512 字節(jié),供用戶自定義字符。如表 3.1 所示,這些字符有:大小寫 的英文字母、阿拉伯數(shù)字、日文假名和常用的符號等,每一個字符都固定有一個的代 碼相對應,例如大寫英文字母“a”所對應的代碼是 01000001b(41h) ,需要顯示時 模塊就把地址 41h 中所代表的點陣字符圖形顯示出來,就能在 tc 1602 液晶顯示器上 看到字母“a” 。 表 3.1 cgrom 和 cgram 中字符代碼與字符圖形對應關系

40、tc 1602 液晶模塊內部的控制器共有 11 條控制指令,如表 3.2 所示。它的讀寫操 作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。 (說明:1 為高電平、0 為低電平) 指令 1:清顯示。功能:送 20h“空代碼”到所有的 ddram 中,清除所有顯示 數(shù)據(jù),并將 ddram 地址計數(shù)器(ac)清零,光標返回至原始狀態(tài),設置 i/d=h,ac 為自動加一的輸入方式。 指令 2:光標復位。功能:不改變 ddram 中的內容,只將 ddram 地址計數(shù)器 (ac)清零光標返回到原始狀態(tài),若有滾動效果,撤銷滾動效果,將畫面拉回到 home 位。 表 3.2 1602 液晶模塊內部的控制器共有

41、 11 條控制指令 指令 3:輸入方式設置。功能:設置光標的移動方向,并且指定整體的顯示有沒有 移動,用來設置需要顯示字符的輸入方式,在計算機的讀/寫 ddram 或 cgram 后, 地址指針的修改方式,反映在效果上,寫入字符畫面或光標的移動。該子令的兩個參 數(shù)位 i/d 和 sh 確定了字符的輸入方式。 i/d 表示計算機讀/寫 ddram 或 cgram 后,地址的修改方式,也是光標的移動 方式: i/d=0:光標自右往左移動,ac 減一。 i/d=1:光標自左往右移動,ac 加一。 sh 表示在寫入字符時,是否允許顯示畫面的滾動方式: sh=0:允許滾動。 sh=1:禁止?jié)L動。 指令

42、4:顯示開關控制。功能:該指令用來控制閃爍,光標及畫面的開和關。有三 個狀態(tài)位:b、c、d: b:控制光標是否閃爍,高電平閃爍,低電平不閃爍;c:控制光標的開與關,高 電平表示有光標,低電平表示無光標;d:控制整體顯示的開與關,高電平表示開顯示, 低電平表示關顯示。 指令 5:光標或顯示整體顯示移位位置。功能: s/c 和 r/l 對應操作: 0 0:光標由右向左移動且 ac 減一。顯示不動 0 1:光標由左向右移動且 ac 加一。顯示不動 1 0:所有顯示由右向左移動,光標跟隨移動,ac 減一 1 1:所有顯示由左向右移動,光標跟隨移動,ac 加一 指令 6:功能設置命令。功能:設置接口數(shù)據(jù)

43、位數(shù)以及顯示模式。dl:高電平時 為 8 位數(shù)據(jù)接口模式,db0 到 db7 有效,低電平時為 4 位數(shù)據(jù)接口模式,db4 到 db7 有效。在這種模式下傳送的方式為先告 4 位,后低 4 位。n:低電平時為單行顯 示,高電平時雙行顯示 f:低電平時顯示 5x7 的點陣字符,加光標,高電平時顯示 5x10 的點陣字符,加光標。 指令 7: cgram 地址設置。功能:將 cgram 地址送入 ac 中。隨后計算機歲 數(shù)據(jù)的操作是對 cgram 的讀/寫操作。 指令 8:ddram 地址設置。功能:將 ddram 地址送入 ac 中。n 為低電平時, ddram 范圍為 80h 到 ffh,n

44、為高電平時,第一行 ddram 地址范圍為 80h 到 bfh,第二行 ddram 地址范圍為 c0h 到 ffh。 指令 9:讀忙標志位及地址。功能:最高位(bf)為忙信號位,低 7 位為地址計 數(shù)器的內容。bf=1:內部正在執(zhí)行操作,此時要執(zhí)行下一指令需要等待,到 bf=0 在 繼續(xù)執(zhí)行。 指令 10:寫數(shù)據(jù)。功能:寫數(shù)據(jù)到 cgram 或 ddram。rs 為高電平,rw 為 低電平,為數(shù)據(jù)的寫操作;rs 和 rw 均為低電平,為指令的寫操作。執(zhí)行寫操作后, 地址自動加/減 1(更具輸入方式設置指令) 。 指令 11:讀數(shù)據(jù)。功能:從 cgram 或 ddram 讀出 8 位數(shù)據(jù)。如果從

45、 ddram 讀數(shù)據(jù),則執(zhí)行讀操作后,地址自動加/減 1(更具駛入方式設置指令) 。 其中,clk、rst 分別是 50mhz 時鐘和復位輸入信號,rst 低電平有效, rs、rw、e 和 data 分別為與液晶顯示屏控制芯片連接的控制信號。rs 為寄存器選擇 控制輸出信號,當 rs 為低電平時,表示數(shù)據(jù)總線傳輸?shù)氖敲羁刂菩盘枺?rs 為高 電平時,表示數(shù)據(jù)總線傳輸?shù)氖菙?shù)據(jù)信號;rw 為讀/寫控制輸出信號,當 rw 為低電 平時,表示向液晶顯示屏控制芯片寫數(shù)據(jù),反之,為讀取數(shù)據(jù);e 為讀/寫操作允許控 制脈沖輸出信號,高電平有效;data 為數(shù)據(jù)信號。然后介紹一下 fpga 向液晶顯示屏

46、控制芯片發(fā)送指令的流程,上電后,必須傳送給液晶顯示屏控制芯片初始化命令,初 始化結束后,還要傳輸指定地址、計數(shù)器地址和顯示字符的編碼數(shù)據(jù), 。接通電源后, fpga 向液晶顯示屏控制芯片發(fā)送指令的流程如下圖所示。 3.4系統(tǒng)開發(fā)環(huán)境 硬件配置:tc1602 液晶模塊 操作系統(tǒng): windows xp 仿真工具:modelsim 開發(fā)語言:verilog 3.5系統(tǒng)任務的可行性分析 在系統(tǒng)設計的過程中,要基于高級數(shù)字系統(tǒng)設計與驗證的指導思想為設計方法, 首先要對本設計的算法實現(xiàn)有一個整體上的學習以及周邊知識的了解,思想上保持統(tǒng) 一,實現(xiàn)整體框圖設計,然后對流程圖設計,以求最簡化。再由流程圖,準確

47、提取出 數(shù)據(jù)通道和控制單元。在數(shù)據(jù)通道的提取中,規(guī)劃出所需要的單元模塊,模塊之間鏈 接的關系。并且考慮最終生成系統(tǒng)的可行性??刂茊卧彩窍到y(tǒng)的一個重要組成部分, 控制單元可由狀態(tài)機的轉移來實現(xiàn),要求合理控制各個狀態(tài)的轉移條件??刂茊卧?成的數(shù)據(jù)發(fā)送到數(shù)據(jù)通道所需的信號,同時接收來自數(shù)據(jù)通道處理過的狀態(tài)信號,到 達監(jiān)控整個設計單元實現(xiàn)的過程??刂茊卧目刂菩盘栍蓴?shù)據(jù)通道處理,把處理的結 果反饋給控制單元。數(shù)據(jù)通道電路主要由計數(shù)器,寄存器,ram,比較器和 lcd。數(shù) 據(jù)通道主要實現(xiàn)根據(jù)控制單元送來的信號,生成對數(shù)據(jù)信號的判斷。 第 4 章系統(tǒng)設計 4.1系統(tǒng)概述 本次項目所設計的系統(tǒng)是基于 f

48、pga 的 lcd 驅動顯示電路的設計與實現(xiàn),控制器 部分采用 verilog 語言編寫,主體程序采用了狀態(tài)機作為主要控制方式。最后實現(xiàn)使用 fpga 在 lcd 上顯示任意的英文字符和阿拉伯數(shù)字,另外要能根據(jù)輸入數(shù)據(jù)的變化同 步變化 lcd 上顯示的內容。同時要能將儲存模塊中的數(shù)據(jù)正常地顯示在 lcd 上。 4.2系統(tǒng)的功能結構設計 4.2.1接口電路設計 tc1602 液晶顯示模塊可以和 51 系列單片機直接接口,下圖為是 s51 增強型實驗 板的液晶接口電路(圖 4.1) p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 p3.4 p3.5 p3.6 p1.0 d1

49、d2 d3 d4 d5 d6 d7 rs rw e d0 blk gun vl bl a vcc 1 2 3 4 5 6 7 8 14 15 16 vcc(+5v) 對比度 背光 r1 47 w 10k at89s51lcd tc1602 圖 4.1 接口電路設計 4.2.2液晶模塊的內部顯示地址 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙 標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址, 也就是告訴模塊在哪里顯示字符,圖 4.2 是 tc1602 液晶模塊的內部顯示地址。 圖 4.2 液晶模塊的內部顯示地址 4.3 流程圖和狀態(tài)機的設計

50、4.3.1fpga 向液晶顯示屏控制芯片發(fā)送指令的流程圖 如圖 4.3 所示,首先接通電源,發(fā)送功能控制字,如果等待時間大于 15 毫秒的時 候,重復發(fā)送功能控制字。之后發(fā)送模式控制字,發(fā)送成功后,再發(fā)送打開顯示控制 字。發(fā)送初始化命令,發(fā)送成功后,如果等待時間大于等于 1.64 毫秒,那么發(fā)送 ddram 地址,再發(fā)送需要西安市字符的編碼,然后再循環(huán)依次發(fā)送 ddram 地址和 需要顯示字符的編碼。 接通電源 等待大于等于 15ms 重復發(fā)送功能控制字 發(fā)送模式控制字 發(fā)送打開顯示控制字 完成初始化命令 等待大于等于 1.64ms 發(fā)送 ddram 地址 發(fā)送需要顯示字符的編碼 圖 4.3

51、根據(jù)上述流程圖(圖 5.1) ,可以采用狀態(tài)機狀態(tài)機實現(xiàn)對液晶顯示屏控制芯片的 控制。由于執(zhí)行不同的操作過程,需要的時間也不一樣,因此采用計數(shù)器與狀態(tài)機配 合的方式。為每個狀態(tài)機設置不同的時間(也就是延遲計數(shù)值的不同) ,計數(shù)器與狀態(tài) 設置延遲計數(shù)值相比較,并且給狀態(tài)機發(fā)出計數(shù)時間到的信號,通知狀態(tài)機轉換到下 一個狀態(tài),直到所有的數(shù)據(jù)傳送完畢后,再循環(huán)向液晶顯示屏控制芯片發(fā)送顯示字符 的編碼數(shù)據(jù)。 4.3.2狀態(tài)機 狀態(tài)機如圖(圖 4.4)所示,其中 s 0 s 7 s 1 s 6 s 4 s 3 s 5 s 2 !reset datacnt10 datacnt=39 datacnt=39 w

52、rong datacnt!=39 圖 4.4 狀態(tài)機 s0:write_instr s1:write_dataup4_1 s2:write_datadown4_1 s3:set_ddramaddup s4:set_ddramadddown s5:write_dataup4_2 s6: write_datadown4_2 s7:default 當復位鍵 reset 等于一的時候,s0 狀態(tài)開始工作,根據(jù)代碼可以看出,當 datacnt 小于或等于十的時候都在 s0 狀態(tài)循環(huán)工作,當 datacnt 大于十的時候跳轉到 s1 狀態(tài), 在 s1 狀態(tài)順序執(zhí)行完每條語句之后跳轉到 s2 狀態(tài),這個時候

53、如果 datacnt 不等于 39, 那么跳轉會 s1 狀態(tài),重新執(zhí)行 s1 狀態(tài)的每條語句直到 datacnt 等于 39,跳轉到 s3 狀 態(tài),在執(zhí)行完 s3 狀態(tài)的每條語句之后,跳轉到 s4 狀態(tài)。在執(zhí)行完 s4 狀態(tài)的每條語句 后跳轉到 s5 狀態(tài)。此時順序執(zhí)行 s5 狀態(tài)的每條語句,跳轉到 s6 狀態(tài)。在 s6 狀態(tài)時 分為兩種情況:如果 datacnt 不等于 39 的時候,跳轉會 s5 狀態(tài)并重新執(zhí)行 s5 狀態(tài)的 語句;如果 datacnt=39 的時候,跳轉回 s1 狀態(tài),并重新執(zhí)行 s1 狀態(tài)到 s6 狀態(tài),不斷 循環(huán)。如果狀態(tài)機工作出現(xiàn)錯誤,設置一個錯誤狀態(tài) s7,此時跳

54、轉到錯誤狀態(tài) s7,之 后跳轉回 s0 狀態(tài),指就是本狀態(tài)機得工作原理。 第 5 章系統(tǒng)實現(xiàn) 5.1系統(tǒng)硬件開發(fā)環(huán)境介紹 本次設計所使用的硬件開發(fā)環(huán)境是 spartan-3 開發(fā)板進行系統(tǒng)開發(fā),并且選用了 xilinx spartan-3 系列,其中配置是 150 萬門 bga 封裝商業(yè)級芯片(xc3s1500- 4fg676c) ,采用 90nm 技術的當前先進處理能力,使設計者更加充分了解學習。 spartan-3 fpga 系列提供各種高級應用,接近世界主流設計理念,其中包括硬件嵌入 式 18*18 乘法器來支持高性能 dsp 數(shù)字信號處理功能;片上數(shù)字時鐘管理(dcm)系 統(tǒng),不需要外

55、部時鐘管理器件,包括頻率合成,相位移動,占空比恢復等一系列功能; 分布式存儲器與 16bit 移位寄存器邏輯(srl16) 能夠使硬件環(huán)境更加穩(wěn)定實現(xiàn) dsp 功能;18kb 個 ram 可以用來做緩存和高速緩存;數(shù)字片上終端電阻(dci)能夠完 全去除對多個外部電阻的依賴;8 個獨立的 i/o 組支持 24 種不相同的 i/o 標準。這些 優(yōu)點使的豐富性能與低成本制造工藝的完美結合意味著 spartan3 能夠以最高的性價比 實現(xiàn)完整的系統(tǒng)功能,出色的切合大多是設計者用戶的需求。digital lab 設計的 spartan-3 mb 開發(fā)工具包括了提供了探索這些特色功能的完美平臺,令設計者

56、快速的 有效的適應市場商機的需要,從而使系統(tǒng)優(yōu)化達到最優(yōu)的性價比。開發(fā)板框圖如圖 5.1 所示。 fpga 的芯片結構:目前主流的 fpga 仍然是基于查找表技術所研發(fā)的,包括這 次所使用的,這已經(jīng)完全超過了先前版本的基本功能,并且整合了常用的功能,使 fpga 開發(fā)板更加實用。fpga 中有 7 大模塊,七大模塊分別為:可編程的輸入輸出模 塊,可配置邏輯模塊,數(shù)字時鐘管理模塊,豐富的布局布線資源,底層內嵌功能單元 模塊,內嵌專用的硬核芯片組。這些模塊提供了強大的功能,是設計者更加有效的完 成設計。使 fpga 在系統(tǒng)級應用上與傳統(tǒng)的計算機技術結合,實現(xiàn)了一種全新的設計 流程。在硬件設計領域中

57、,fpga 的相對成熟的技術在通訊,信息處理等領域開發(fā)出 了令人滿意的行業(yè)需求,并且因為 fpga 技術在接口技術,控制,ip 核技術上的不斷 創(chuàng)新,使有條件的實現(xiàn)一個構造簡單,功能全面的系統(tǒng)產(chǎn)品的設計研發(fā)。目前這類人 才需求較高,對我們這些設計初學者來說是前途光明,路途漫漫。 5.2系統(tǒng)的實現(xiàn) 5.2.1電路圖 在 xilinx ise 8.2i 軟件中仿真后得出電路圖(圖 5.1) ,本框圖共有兩個輸入端和四 個輸出端,分別為 clk 、reset、data3:0、lcd_rs、lcd_rw、lcd_en。其中一個輸入端是 clk 表示的是時鐘發(fā)生信號;另一個輸入端是 reset,表示的是

58、復位信號;data3:0是一 個輸出端,表示的是輸出一個四位字節(jié)的數(shù)據(jù)。第二個輸出端是 lcd_en,為讀/寫操作 允許控制脈沖輸出信號,高電平有效,第三個輸出端是 lcd_rs,表示為寄存器選擇控制 輸出信號,當 lcd_rs 為低電平時,表示數(shù)據(jù)總線傳輸?shù)氖敲羁刂菩盘?,?lcd_rs 為 高電平時,表示數(shù)據(jù)總線傳輸?shù)氖菙?shù)據(jù)信號;第四個輸出端是 lcd_rw,表示的是讀/寫 控制輸出信號,當 lcd_rw 為低電平時,表示向液晶顯示屏控制芯片寫數(shù)據(jù),當 lcd_rw 為高電平時,表示的是讀取數(shù)據(jù)。 圖 5.1 電路圖 圖 5.2 為 xilinx ise 8.2i 軟件中仿真后得出電路圖

59、詳細效果,其中的六個引腳分別 和圖 5.1 對應。 圖 5.2 電路圖 5.2.2系統(tǒng)主程序代碼節(jié)選 always (posedge clk) begin if(num23d7999999) /7999999 次分頻 begin num=num+1; end else begin num=0; lcd_clk=lcd_clk; end end always (posedge lcd_clk or negedge reset) begin if(!reset) begin state=write_instr; lcd_rs=1b0; end else begin case(state) writ

60、e_instr: begin lcd_rs=1b0; /液晶顯示的初 始化階段 if(datacnt=0) begin data=4b0011; datacnt=datacnt+1; end else if(datacnt=10) /設置 ddram 中的字 體顯示位置 begin data=4b1000; datacnt=datacnt+1; end else begin data=4b0000; datacnt=0; state=write_dataup4_1; end end write_dataup4_1: begin lcd_rs=1b1; data= myramupdatacnt7

溫馨提示

  • 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

提交評論