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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、論文題目論文題目 基于 fpga 的 lcd 驅(qū)動(dòng)顯示電路的設(shè)計(jì)與實(shí)現(xiàn) 姓姓 名名 學(xué)學(xué) 院院 寶雞文理學(xué)院 專專 業(yè)業(yè) 電子信息工程 指導(dǎo)教師指導(dǎo)教師 2012 年年 04 月月 1010 日日 基于 fpga 的 lcd 驅(qū)動(dòng)顯示電路的設(shè)計(jì)與實(shí)現(xiàn) 作者姓名: 薛文平 指導(dǎo)教師: 田勇 單位名稱: 嵌入式系統(tǒng)工程系 專業(yè)名稱: 電子信息工程(集成電路設(shè)計(jì)與系統(tǒng)方向) 東北大學(xué)東軟信息學(xué)院 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è)設(shè)計(jì)(論文)任務(wù)書畢業(yè)設(shè)計(jì)(論文)任務(wù)書 畢業(yè)設(shè)計(jì)(論文)題目:畢業(yè)設(shè)計(jì)(論文)題目: 基于 fpga 的 lcd 驅(qū)動(dòng)顯示電路的設(shè)計(jì)與實(shí)現(xiàn) 設(shè)計(jì)(論文)的基本內(nèi)容:設(shè)計(jì)(論文)的基本內(nèi)容: 本課題主要研究了利用 fpga 來驅(qū)動(dòng)字符型液晶顯示器模塊。課題關(guān) 鍵是對驅(qū)動(dòng)芯片的各個(gè)引腳和時(shí)序進(jìn)行控制。本系統(tǒng)開發(fā)環(huán)境為 windows xp,開發(fā)語言為 verilog hdl。設(shè)計(jì)的目的是為了在 lcd 液晶 顯示器上

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

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

5、之間的交互性,為行業(yè)和我們的 生活帶來新的變化。 本文中對 fpga,lcd,modelsim,xilinx ise8.2i 硬件設(shè)計(jì)工具等進(jìn)行了簡單的 介紹,對其功能進(jìn)行了簡單的描述,并了解了 lcd 液晶顯示器的發(fā)展歷史,日常應(yīng)用 以及相對比于其他種類顯示器的優(yōu)缺點(diǎn),并對基于 fpga 的 lcd 液晶顯示器驅(qū)動(dòng)電路 未來的發(fā)展趨勢進(jìn)行了展望。 關(guān)鍵詞:關(guān)鍵詞:fpga,lcd,狀態(tài)機(jī),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 目錄 任務(wù)書i 摘要 ii abstra

11、ct iii 第 1 章緒論1 1.1選題背景1 1.2 lcd 液晶顯示器的發(fā)展現(xiàn)狀1 1.3選題目的3 第 2 章關(guān)鍵技術(shù)介紹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 的設(shè)計(jì)方法7 3.2verilog hdl 和 vhdl 的異同 7 3.3tc1602 液晶模塊的工作方式8 3.4系統(tǒng)開發(fā)環(huán)境11 3.5系統(tǒng)任務(wù)的可行性分析12 第 4 章系統(tǒng)設(shè)計(jì)13 4.1系統(tǒng)概述13 4.2系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)13 4.2.1接口電路設(shè)計(jì)13 4.2.2液晶模

12、塊的內(nèi)部顯示地址13 4.3 流程圖和狀態(tài)機(jī)的設(shè)計(jì)14 4.3.1 fpga 向液晶顯示屏控制芯片發(fā)送指令的流程圖14 4.3.2 狀態(tài)機(jī)15 第 5 章系統(tǒng)實(shí)現(xiàn)17 5.1系統(tǒng)硬件開發(fā)環(huán)境介紹17 5.2系統(tǒng)的實(shí)現(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 液晶顯示器進(jìn)行 fpga 驗(yàn)證 23 第 7 章結(jié)論24 參考文獻(xiàn)25 致謝27 第 1 章緒論 1.1選題背景 本課題主要任務(wù)是設(shè)計(jì)基于 fpga 的 lcd 驅(qū)動(dòng)顯示電路的設(shè)計(jì)與實(shí)現(xiàn)。兼顧好程 序的易用性,以方便之后模塊的移

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

48、pga 的 lcd 驅(qū)動(dòng)顯示電路的設(shè)計(jì)與實(shí)現(xiàn),控制器 部分采用 verilog 語言編寫,主體程序采用了狀態(tài)機(jī)作為主要控制方式。最后實(shí)現(xiàn)使用 fpga 在 lcd 上顯示任意的英文字符和阿拉伯?dāng)?shù)字,另外要能根據(jù)輸入數(shù)據(jù)的變化同 步變化 lcd 上顯示的內(nèi)容。同時(shí)要能將儲存模塊中的數(shù)據(jù)正常地顯示在 lcd 上。 4.2系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì) 4.2.1接口電路設(shè)計(jì) tc1602 液晶顯示模塊可以和 51 系列單片機(jī)直接接口,下圖為是 s51 增強(qiáng)型實(shí)驗(yàn) 板的液晶接口電路(圖 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 接口電路設(shè)計(jì) 4.2.2液晶模塊的內(nèi)部顯示地址 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙 標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址, 也就是告訴模塊在哪里顯示字符,圖 4.2 是 tc1602 液晶模塊的內(nèi)部顯示地址。 圖 4.2 液晶模塊的內(nèi)部顯示地址 4.3 流程圖和狀態(tài)機(jī)的設(shè)計(jì)

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

51、根據(jù)上述流程圖(圖 5.1) ,可以采用狀態(tài)機(jī)狀態(tài)機(jī)實(shí)現(xiàn)對液晶顯示屏控制芯片的 控制。由于執(zhí)行不同的操作過程,需要的時(shí)間也不一樣,因此采用計(jì)數(shù)器與狀態(tài)機(jī)配 合的方式。為每個(gè)狀態(tài)機(jī)設(shè)置不同的時(shí)間(也就是延遲計(jì)數(shù)值的不同) ,計(jì)數(shù)器與狀態(tài) 設(shè)置延遲計(jì)數(shù)值相比較,并且給狀態(tài)機(jī)發(fā)出計(jì)數(shù)時(shí)間到的信號,通知狀態(tài)機(jī)轉(zhuǎn)換到下 一個(gè)狀態(tài),直到所有的數(shù)據(jù)傳送完畢后,再循環(huán)向液晶顯示屏控制芯片發(fā)送顯示字符 的編碼數(shù)據(jù)。 4.3.2狀態(tài)機(jī) 狀態(tài)機(jī)如圖(圖 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)機(jī) 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 當(dāng)復(fù)位鍵 reset 等于一的時(shí)候,s0 狀態(tài)開始工作,根據(jù)代碼可以看出,當(dāng) datacnt 小于或等于十的時(shí)候都在 s0 狀態(tài)循環(huán)工作,當(dāng) datacnt 大于十的時(shí)候跳轉(zhuǎn)到 s1 狀態(tài), 在 s1 狀態(tài)順序執(zhí)行完每條語句之后跳轉(zhuǎn)到 s2 狀態(tài),這個(gè)時(shí)候

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

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

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

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

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

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

59、詳細(xì)效果,其中的六個(gè)引腳分別 和圖 5.1 對應(yīng)。 圖 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) /設(shè)置 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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論