<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    基于NiosII的SOPC系統的LCD顯示驅動IP核設計

    發布時間:2010-11-24 11:33    發布者:eetech
    關鍵詞: IP核 , LCD , SoPC , 驅動 , 顯示
    NiosII嵌入式處理器是A1tera公司提出的SOPC解決方案,是一種用戶可隨意配置和構建的32位嵌入式處理器,結合豐富的外設可快速、靈活地構建功能強大的SOPC系統。Altera公司提供了一些通用的IP核,使得用戶可輕松集成屬于自己的專用功能;但對于一些特定的外設,沒有現成可用的IP核,如液晶模塊CBGl28064等。

    本文以深圳秋田視佳實業有限公司的液晶顯示模塊CBGl28064為例,在基于NiosII的SOPC系統中設計了LCD顯示驅動IP核,并下載到Cyclone系列的FPGA中,實現了對LCD的顯示驅動。

    1 CBGl28064液晶顯示模塊

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

    2 方案選擇

    通常有兩種方式可以實現NiosII嵌入式處理器對LCD的顯示驅動:

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

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

    3 LCD顯示驅動設計

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




    3.1 任務邏輯

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

    本文采用有限狀態機實現顯示驅動的核心邏輯。根據驅動控制器的讀寫命令及讀寫時序要求,本文設計了3個狀態機,分別為讀寫控制狀態機、讀寫狀態機和讀寫時序狀態機。

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



    如圖3所示,讀寫狀態機給出讀或者寫信號,并在讀寫控制狀態機的控制下,完成寫命令、寫數據和讀數據之間的狀態轉移。在每一個狀態下給出LCD顯示數據及控制信號,如片選、所寫數據/指令等!



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




    3.2 寄存器組

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

    3.3 Ayalon總線接口

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




    3.4 顯示驅動封裝及軟件設計

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

    在NiosII IDE環境下,使用自己添加的模塊編寫程序,可直接調用甬數IOWR(BASE,OFFSET,DATA)和IORD(BASE,OFFSET)對內部寄存器進行讀寫。本文使用結構體定義了一個指向模塊的結構體指針,對寄存器進行讀寫操作。




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

    結語

    本文采用有限狀態機設計了CBGl28064液晶模塊驅動硬件邏輯,并將顯示驅動IP核進行封裝構成了一個模塊化的獨立元件,使其能夠在其他的工程中復用;在此基礎上,基于NiosII嵌入式處理器構建了一個用戶定制的片上系統。經過在Cyclone系列FPGA上測試,該驅動能夠在C-BGl28064液晶模塊上顯示字符、圖形。整個系統體現了SOPC嵌入式系統的靈活性和擴展性。
    本文地址:http://www.portaltwn.com/thread-41217-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷