《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > SOPC中NiosII的LCD顯示驅(qū)動IP設(shè)計
SOPC中NiosII的LCD顯示驅(qū)動IP設(shè)計
摘要: 針對SOPC Builder系統(tǒng)沒有提供128064液晶模塊驅(qū)動的問題,以CBGl28064液晶模塊為例,采用有限狀態(tài)機,用Verilog HDL語言設(shè)計了顯示驅(qū)動IP核,并構(gòu)建了基于NiosII嵌入式處理器的片上系統(tǒng)。通過把顯示驅(qū)動IP核下載到Cyclone系列FPGA上,驗證了該設(shè)計的可行性。
關(guān)鍵詞: SoPC LCD顯示 Cyclone NioslI
Abstract:
Key words :

  引言

  NioslI嵌入式處理器是A1tera公司提出的SOPC解決方案,是一種用戶可隨意配置和構(gòu)建的32位嵌入式處理器,結(jié)合豐富的外設(shè)可快速、靈活地構(gòu)建功能強大的SOPC系統(tǒng)。Altera公司提供了一些通用的IP核,使得用戶可輕松集成屬于自己的專用功能;但對于一些特定的外設(shè),沒有現(xiàn)成可用的IP核,如液晶模塊CBGl28064等。

  用戶可通過自定義邏輯的方法在SOPC設(shè)計中添加自定義IP核。在實際應(yīng)用中,LCD液晶顯示器憑借功耗低、體積小、輕薄及控制驅(qū)動簡單等特點,在智能儀器、儀表和低功耗電子產(chǎn)品中得到了廣泛應(yīng)用。本文以深圳秋田視佳實業(yè)有限公司的液晶顯示模塊CBGl28064為例,在基于NioslI的SOPC系統(tǒng)中設(shè)計了LCD顯示驅(qū)動IP核,并下載到Cyclone系列的FPGA中,實現(xiàn)了對LCD的顯示驅(qū)動。

  1 CBGl28064液晶顯示模塊

  CBG128064是一款以2片HD61202作為列驅(qū)動器,1片HD61203作為行驅(qū)動器的液晶模塊。HD61202是一種帶有驅(qū)動輸出的圖形液晶顯示控制器,可直接與8位微處理器相連;而HD61203只需提供電源,就能產(chǎn)生行驅(qū)動信號和各種同步信號。CBGl28064液晶顯示模塊內(nèi)置顯示存儲器RAM,顯示屏上各像素點的顯示狀態(tài)與顯示存儲器RAM中的各位數(shù)據(jù)一一對應(yīng)。顯示存儲器的數(shù)據(jù)直接作為圖形顯示的驅(qū)動信號。外部處理器只需要通過其8位數(shù)據(jù)線和6條控制線來設(shè)置所需要的顯示方式,其他功能均由模塊自動完成。HD61202提供7條簡單的指令:顯示開/關(guān)指令、顯示起始行(ROW)設(shè)置指令、頁(RAGE)設(shè)置指令、列地址(Y Address)設(shè)置指令、讀狀態(tài)指令、寫數(shù)據(jù)指令、讀數(shù)據(jù)指令。

  2 方案選擇

  通常有兩種方式可以實現(xiàn)NiosII嵌入式處理器對LCD的顯示驅(qū)動:

  一種是利用現(xiàn)成的并行輸入/輸出(PIO)內(nèi)核。該內(nèi)核提供了Avalon總線從控制器端口到通用I/O口間的存儲器映射接口,將LCD模塊的接口與NiosII嵌入式處理器的并行端口相連接,NiosII嵌入式處理器通過對其端口的操作來完成對LCD模塊的控制。這種方式類似于單片機操作,時序簡單,易于實現(xiàn);但是在SOPC系統(tǒng)中硬件上需要設(shè)計與外設(shè)相連的I/O口,軟件上需要編寫接口程序進行讀寫控制,增加了處理器的時間開銷,F(xiàn)PGA的并行處理能力沒有得到發(fā)揮。

  另一種是采用自定義IP核方式。把LCD模塊看成是外部存儲器或I/O設(shè)備,作為從設(shè)備掛接到NiosII嵌入式處理器的Avalon總線上,處理器以訪問I/O設(shè)備或讀寫存儲器的方式對其進行控制。這種方法需要寫HDL模塊,自己定義控制、狀態(tài)、數(shù)據(jù)寄存器和控制位,可較為靈活地實現(xiàn)復(fù)雜的時序控制。一旦完成了設(shè)計,即可封裝為SOPC BLdldel可用的獨立元件,用戶可以像使用Altera公司提供的其他外設(shè)一樣來使用,并且可以提供給其他設(shè)計者使用。本文選用該方式實現(xiàn)。

  3 LCD顯示驅(qū)動設(shè)計

  圖l為系統(tǒng)結(jié)構(gòu)圖。設(shè)計的重點在于LCD顯示驅(qū)動模塊的設(shè)計。按照模塊化、層次化的設(shè)計思想,顯示驅(qū)動可分為3部分實現(xiàn),即任務(wù)邏輯部分、寄存器組部分和Avalon總線接口部分。任務(wù)邏輯部分描述液晶模塊的讀寫邏輯功能;寄存器文件部分提供了內(nèi)部寄存器訪問的通道;Avalon總線接口部分通過頂層接口模塊對寄存器進行操作,從而實現(xiàn)對行為模塊的訪問和控制。其中,DATA[7..0]為8位數(shù)據(jù)線,CSl、CS2為片選信號,RS為指令/數(shù)據(jù)選擇信號,R/W為讀寫選擇信號,RST為復(fù)位信號,E為讀寫使能信號。

系統(tǒng)結(jié)構(gòu)圖

  3.1 任務(wù)邏輯

  任務(wù)邏輯是整個驅(qū)動的核心部分。要實現(xiàn)對LCD的顯示控制,就要按照CBG128064驅(qū)動控制器的規(guī)范及時序要求進行設(shè)計。在時序邏輯電路中,數(shù)據(jù)信號和控制信號的配合比較復(fù)雜,但又十分重要,使用有限狀態(tài)機可以較為容易地設(shè)計出復(fù)雜的數(shù)字電路系統(tǒng)。

  本文采用有限狀態(tài)機實現(xiàn)顯示驅(qū)動的核心邏輯。根據(jù)驅(qū)動控制器的讀寫命令及讀寫時序要求,本文設(shè)計了3個狀態(tài)機,分別為讀寫控制狀態(tài)機、讀寫狀態(tài)機和讀寫時序狀態(tài)機。

  如圖2所示,讀寫控制狀態(tài)機用于當(dāng)發(fā)生讀寫請求時進行忙狀態(tài)檢測及讀寫操作控制,并在每個狀態(tài)給出時序狀態(tài)機讀寫信號。

讀寫控制狀態(tài)機

  如圖3所示,讀寫狀態(tài)機給出讀或者寫信號,并在讀寫控制狀態(tài)機的控制下,完成寫命令、寫數(shù)據(jù)和讀數(shù)據(jù)之間的狀態(tài)轉(zhuǎn)移。在每一個狀態(tài)下給出LCD顯示數(shù)據(jù)及控制信號,如片選、所寫數(shù)據(jù)/指令等。

讀寫狀態(tài)機

  如圖4所示,讀寫時序狀態(tài)機用于控制讀或者寫外設(shè)的時刻,當(dāng)讀寫完成時給出讀寫完成信號。其中,讀寫信號由圖2中的讀寫操作給出。根據(jù)CBGl28064讀寫時序要求,當(dāng)R/W為高電平時,讀取顯示RAM中的數(shù)據(jù);當(dāng)R/W為低電平且在E的下降沿時,向顯示RAM中寫入數(shù)據(jù)。讀寫時序狀態(tài)機的讀寫信號由讀寫控制狀態(tài)機給定,其中,E為模塊使能信號。

 

讀寫時序狀態(tài)機

  3.2 寄存器組

  寄存器組由一系列寄存器組成,為軟件提供了訪問硬件的通道。寄存器組中的寄存器是根據(jù)任務(wù)邏輯中需要實現(xiàn)的特定邏輯功能來設(shè)定的,任務(wù)邏輯中的數(shù)據(jù)通過這些寄存器傳輸。本設(shè)計中,寄存器組設(shè)定了8位頁地址寄存器、8位列地址寄存器,以及32位數(shù)據(jù)寄存器等。

  3.3 Ayalon總線接口

  顯示驅(qū)動的Avalon總線接口需要一個簡單的Slave端口。該端口使用較少的Avalon信號來處理簡單的寄存器讀/寫傳輸。該模塊是與Avalon總線接口的一個頂層模塊,主要功能是對任務(wù)邏輯模塊和寄存器模塊進行例化和封裝,使其信號類型符合Avalon總線信號規(guī)范和外接模塊的信號規(guī)范。頂層接口定義如下:

程序

  3.4 顯示驅(qū)動封裝及軟件設(shè)計

  直接在SOPC Builder中添加設(shè)計好的顯示驅(qū)動IP Core和Verilog HDL語言描述的文件,并根據(jù)Avalon總線傳輸規(guī)范設(shè)置好相關(guān)的信號線及傳輸參數(shù)。由于是在NiosII IDE環(huán)境下直接編寫用戶程序,可以不用編寫驅(qū)動程序。完成后,將顯示驅(qū)動IP Core添加至SOPC工程,并編譯、下載到FPGA器件中。

  在NiosII IDE環(huán)境下,使用自己添加的模塊編寫程序,可直接調(diào)用甬?dāng)?shù)IOWR(BASE,OFFSET,DATA)和IORD(BASE,OFFSET)對內(nèi)部寄存器進行讀寫。本文使用結(jié)構(gòu)體定義了一個指向模塊的結(jié)構(gòu)體指針,對寄存器進行讀寫操作。

程序

  CBGl28064本身不帶字庫,可以通過2種方式添加字庫:一種是把所需字庫做到硬件ROM中,增加了硬件資源成本,且缺乏靈活性;另一種是在軟件中定義字庫,通過寫數(shù)據(jù)寄存器進行顯示。本設(shè)計采用第2種方式,在軟件中定義字庫,并編寫了簡單的顯示測試程序,在液晶屏上顯示“ZHONG GUO”字樣。測試結(jié)果表明,該設(shè)計是正確可行的。此外,利用字模軟件生成的圖形數(shù)據(jù),也可進行圖形顯示。

  結(jié)語

  本文采用有限狀態(tài)機設(shè)計了CBGl28064液晶模塊驅(qū)動硬件邏輯,并將顯示驅(qū)動IP核進行封裝構(gòu)成了一個模塊化的獨立元件,使其能夠在其他的工程中復(fù)用;在此基礎(chǔ)上,基于NiosII嵌入式處理器構(gòu)建了一個用戶定制的片上系統(tǒng)。經(jīng)過在Cyclone系列FPGA上測試,該驅(qū)動能夠在C-BGl28064液晶模塊上顯示字符、圖形。整個系統(tǒng)體現(xiàn)了SOPC嵌入式系統(tǒng)的靈活性和擴展性。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美尤物巨大精品爽| 在线亚洲+欧美+日本专区| 亚洲黄色免费| 在线电影国产精品| 国产一区二区黄| 国产三级精品三级| 国产精品日韩在线播放| 欧美午夜精品久久久| 欧美日韩免费观看一区| 欧美日本国产视频| 欧美日韩网站| 国产精品h在线观看| 国产精品av一区二区| 国产精品嫩草99av在线| 国产精品免费一区豆花| 国产伦精品一区二区三区高清版| 国产精品久久久久久户外露出| 国产精品超碰97尤物18| 国产精品精品视频| 国产精品区一区| 国产九九视频一区二区三区| 国产日韩欧美在线观看| 国产性天天综合网| 黑人极品videos精品欧美裸| 亚洲第一区色| 亚洲美女视频| 亚洲调教视频在线观看| 亚洲欧美激情在线视频| 欧美中文字幕不卡| 亚洲国产91色在线| 日韩视频免费观看高清完整版| 日韩视频精品在线| 亚洲一区亚洲二区| 欧美在线网址| 免费在线国产精品| 欧美日韩免费视频| 国产精品网站在线| 黄色成人91| 亚洲日本欧美天堂| 亚洲一区免费视频| 亚洲国产精品一区二区三区| 亚洲国产精品毛片| 夜夜嗨av一区二区三区中文字幕 | 欧美日韩在线免费| 国产精品影院在线观看| 狠狠色香婷婷久久亚洲精品| 亚洲精品欧美在线| 亚洲综合色网站| 亚洲国产一区二区a毛片| 一级成人国产| 欧美一级专区| 奶水喷射视频一区| 国产精品成人午夜| 韩日欧美一区二区| 日韩一区二区福利| 欧美中文字幕在线观看| 亚洲精品护士| 欧美一区二区三区另类| 久久综合狠狠综合久久综青草| 欧美激情一区二区三区全黄| 国产精品日韩欧美一区二区三区| 黄色亚洲免费| 亚洲少妇在线| 亚洲国产精品一区| 午夜日本精品| 欧美精品www| 国产日韩欧美中文| 亚洲精品日韩欧美| 欧美在线首页| 亚洲欧美日韩第一区| 免费在线看一区| 国产欧美另类| 亚洲毛片播放| 亚洲国产高清自拍| 亚洲欧美在线观看| 欧美激情一区二区三区在线视频| 国产日韩精品视频一区| 亚洲麻豆国产自偷在线| 久久精品国产久精国产思思| 亚洲欧美精品| 欧美破处大片在线视频| 国内精品99| 亚洲欧美激情四射在线日 | 免费看黄裸体一级大秀欧美| 国产精品乱人伦一区二区| 亚洲第一区在线观看| 亚洲欧美在线高清| 在线综合+亚洲+欧美中文字幕| 久久―日本道色综合久久| 国产精品成人在线观看| 亚洲福利在线看| 久久激情视频| 欧美亚洲在线播放| 欧美午夜宅男影院在线观看| 亚洲国产成人久久综合一区| 欧美夜福利tv在线| 欧美亚洲一区二区三区| 欧美日韩在线精品| 亚洲欧洲另类| 亚洲国产免费| 裸体歌舞表演一区二区| 国产香蕉久久精品综合网| 亚洲欧美日韩另类| 性欧美18~19sex高清播放| 欧美午夜精彩| 在线视频欧美一区| 亚洲天堂久久| 欧美日韩免费网站| 99精品免费网| 亚洲一区二区成人| 欧美日韩亚洲一区二区三区| 日韩视频一区二区三区在线播放免费观看| 91久久精品日日躁夜夜躁欧美| 久久久噜噜噜久久狠狠50岁| 国产日韩欧美高清免费| 亚洲一区二区3| 亚洲综合久久久久| 国产精品视频久久久| 亚洲制服丝袜在线| 欧美一区激情| 国产亚洲精品bv在线观看| 欧美在线免费观看| 久久人人爽国产| 原创国产精品91| 最新亚洲视频| 欧美精品三级在线观看| 日韩视频一区二区在线观看 | 亚洲免费中文| 国产欧美精品| 欧美自拍偷拍| 美女视频网站黄色亚洲| 亚洲高清电影| 一区二区三区产品免费精品久久75 | 亚洲国产欧美一区| av不卡在线看| 国产精品久久久久久久久久久久久久| 亚洲天堂av在线免费| 亚洲欧美综合v| 国产亚洲视频在线| 亚洲国产欧美国产综合一区 | 韩国视频理论视频久久| 亚洲国产日韩欧美在线动漫| 美女在线一区二区| 亚洲精品免费网站| 亚洲欧美在线另类| 韩国免费一区| 一本色道久久综合精品竹菊| 国产精品不卡在线| 欧美亚洲免费电影| 免费观看日韩| 一区二区三区四区五区在线 | 麻豆国产精品777777在线| 亚洲激情视频在线播放| 亚洲一区二区三区四区五区午夜| 国产精品青草久久| 亚洲国产精品激情在线观看| 欧美理论片在线观看| 亚洲欧美国产精品桃花| 蜜月aⅴ免费一区二区三区| 99re8这里有精品热视频免费 | 中文成人激情娱乐网| 国产乱码精品| 亚洲欧洲精品一区二区三区波多野1战4| 欧美日韩国产大片| 亚洲欧美电影在线观看| 免费欧美电影| 亚洲视频网站在线观看| 久久综合伊人77777麻豆| 日韩网站在线看片你懂的| 久久国产综合精品| 亚洲精品免费一二三区| 久久精品国产综合精品| 亚洲精品小视频| 久久九九有精品国产23| 亚洲区在线播放| 欧美亚洲综合另类| 亚洲精品免费电影| 久久久国产一区二区三区| 99精品免费| 蜜桃精品一区二区三区| 国产精品99久久久久久久久| 免费成人高清视频| 午夜精品久久久久久久白皮肤 | 欧美日韩一区不卡| 久久成人18免费观看| 欧美日韩亚洲一区二区三区在线| 欧美中文字幕在线| 国产精品高潮粉嫩av| 亚洲国产欧美一区二区三区丁香婷| 欧美四级电影网站| 亚洲激情国产精品| 欧美中文字幕| 香蕉乱码成人久久天堂爱免费| 久热成人在线视频| 亚洲免费综合| 欧美三级资源在线| 91久久精品日日躁夜夜躁国产| 国产欧美视频在线观看| 在线亚洲欧美专区二区| 影音先锋中文字幕一区|