加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 10.8  典型實(shí)例18:字符LCD接口的設(shè)計(jì)與實(shí)現(xiàn)
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

利用FPGA實(shí)現(xiàn)外設(shè)通信接口之: 典型實(shí)例-字符LCD接口的設(shè)計(jì)與實(shí)現(xiàn)

2013/08/30
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?

10.8??典型實(shí)例18:字符LCD接口的設(shè)計(jì)與實(shí)現(xiàn)

10.8.1??實(shí)例的內(nèi)容及目標(biāo)

1.實(shí)例的主要內(nèi)容

本節(jié)旨在設(shè)計(jì)實(shí)現(xiàn)FPGA與字符LCD的接口,幫助讀者進(jìn)一步了解字符液晶的工作原理和設(shè)計(jì)方法。

2.實(shí)例目標(biāo)

通過本實(shí)例,讀者應(yīng)達(dá)到以下目標(biāo)。

·??學(xué)習(xí)字符型液晶顯示器的控制原理。

·??掌握利用FPGA設(shè)計(jì)驅(qū)動(dòng)的基本思想和方法。

·??熟練掌握狀態(tài)機(jī)的使用。

10.8.2??字符LCD接口實(shí)例內(nèi)容

紅色颶風(fēng)開發(fā)板配套的字符液晶模塊為2行,每行16個(gè)字符。本實(shí)要求顯示功能如下:第一行顯示“Welcome?RedLogic?World?!”,第二行顯示“RedLogic?World!”,由于一行只能顯示16個(gè)字符,因此要整屏左移顯示。

10.8.3??FPGA代碼設(shè)計(jì)實(shí)現(xiàn)

本設(shè)計(jì)的程序主要包含兩個(gè)模塊,一個(gè)模塊為char_ram,另一個(gè)模塊為LCD的驅(qū)動(dòng)模塊lcd。

char_ram模塊的主要功能是根據(jù)輸入的地址,輸出相應(yīng)字符在CGRM(字符存儲(chǔ)發(fā)生器)中的地址。因?yàn)樵诳刂?a class="article-link" target="_blank" href="/tag/LCD%E6%98%BE%E7%A4%BA/">LCD顯示時(shí),只需用戶提供相應(yīng)字符的地址,就可以顯示出該字符。

在char_ram中,先設(shè)置好所有字符對(duì)應(yīng)的地址,然后給需要用到的字符定義新的地址用于選擇輸出。

Lcd模塊用于驅(qū)動(dòng)lCD正常工作。LCD是一個(gè)慢顯示器件,因此時(shí)鐘一定要滿足要求,在這里通過50MHz分頻得到輸入的時(shí)鐘周期約為100μs(約10Hz),以滿足慢顯要求。LCD的驅(qū)動(dòng)模塊利用一個(gè)狀態(tài)機(jī)來實(shí)現(xiàn)。具體程序參考實(shí)例源代碼。

10.8.4??ModelSim仿真驗(yàn)證

通過Add?Source的方法直接將測(cè)試代碼加入到工程當(dāng)中。選中要加入的測(cè)試代碼文件:led_behavor_test.v,彈出如圖10.37所示的對(duì)話框,選擇“Verilog?Text?Fixture?File”。

用戶也可以直接新建一個(gè)仿真文件,選擇“New?Source”,選擇“Verilog?Test?Fixture”,輸入測(cè)試文件名稱,如圖10.38所示,單擊“Next”按鈕。

選擇lcd模塊(對(duì)哪個(gè)模塊進(jìn)行測(cè)試,就選擇哪個(gè)文件),如圖10.39所示。

圖10.37??選擇源文件類型

圖10.38??新建仿真源文件

圖10.39??選擇被測(cè)試模塊

?

新建測(cè)試文件后,ISE會(huì)自動(dòng)生成一部分代碼,其余內(nèi)容可直接從源工程中提供的測(cè)試文件中復(fù)制。

添加后選中測(cè)試文件可以看到如圖10.40所示的信息。

圖10.40??仿真文件信息

在Process?for?source下有4個(gè)M的圖標(biāo),分別對(duì)應(yīng)4個(gè)級(jí)別的仿真。從上至下,第一個(gè)為行為仿真,第二個(gè)為翻譯后仿真,第三個(gè)為映射后仿真,第四個(gè)為布局布線后仿真。在這里先做行為仿真,只需雙擊第一個(gè)圖標(biāo),就可啟動(dòng)ModelSim仿真,結(jié)果如圖10.41所示。

圖10.41??行為仿真

默認(rèn)情況下,ModelSim會(huì)彈出4個(gè)窗口,在這里主要觀察Wave窗口,如圖10.42所示。

圖10.42??行為仿真波形窗口

上面列出的很多信號(hào)是人為添加的,具體如何添加以及具體Wave窗口下的許多用法在這里不做詳細(xì)敘述。需要特殊說明的是,如果用戶自己裝的是ModelSim?XE版本,是無法完成這個(gè)仿真的,因?yàn)檫@個(gè)工程代碼是用VHDL寫的,測(cè)試代碼是用Verilog寫的,ModelSim?XE版本是不支持混仿真的,建議安裝ModelSim?SE版本,SE下是支持混合仿真的。

ModelSim仿真結(jié)果如圖10.43和圖10.44所示。

圖10.43??LCD寫數(shù)據(jù)仿真結(jié)果

圖10.44??LCD寫指令仿真結(jié)果

?

這兩個(gè)波形分別為寫數(shù)據(jù)和寫指令的仿真結(jié)果。寫數(shù)據(jù)即向DDRAM寫入要顯示的字符對(duì)應(yīng)的地址,其中clk為系統(tǒng)的輸入時(shí)鐘50MHz,clk_int為分頻后得到的約10Hz輸入時(shí)鐘,lcd_e為使能信號(hào),寫數(shù)據(jù)時(shí)RS=1,R/W=0,寫指令時(shí)RS=0,R/W=0。

10.8.5??小結(jié)

本節(jié)對(duì)利用FPGA來驅(qū)動(dòng)字符型液晶模塊的方法做了介紹,并通過編譯下載在紅色颶風(fēng)的開發(fā)板上實(shí)現(xiàn)了預(yù)定功能。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

華清遠(yuǎn)見(www.farsight.com.cn)是國內(nèi)領(lǐng)先嵌入師培訓(xùn)機(jī)構(gòu),2004年注冊(cè)于中國北京海淀高科技園區(qū),除北京總部外,上海、深圳、成都、南京、武漢、西安、廣州均有直營分公司。華清遠(yuǎn)見除提供嵌入式相關(guān)的長期就業(yè)培訓(xùn)、短期高端培訓(xùn)、師資培訓(xùn)及企業(yè)員工內(nèi)訓(xùn)等業(yè)務(wù)外,其下屬研發(fā)中心還負(fù)責(zé)嵌入式、Android及物聯(lián)網(wǎng)方向的教學(xué)實(shí)驗(yàn)平臺(tái)的研發(fā)及培訓(xùn)教材的出版,截止目前為止已公開出版70余本嵌入式/移動(dòng)開發(fā)/物聯(lián)網(wǎng)相關(guān)圖書。企業(yè)理念:專業(yè)始于專注 卓識(shí)源于遠(yuǎn)見。企業(yè)價(jià)值觀:做良心教育、做專業(yè)教育,更要做受人尊敬的職業(yè)教育。