大肉大捧一进一出好爽视色大师,丰满少妇被猛烈进入在线播放,欧美真人性野外做爰,黑人巨大vs日本人优在线

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
CPLD的雙屏結構液晶控制器的研究與設計
CPLD的雙屏結構液晶控制器的研究與設計
 更新時間:2008-7-27 16:55:56  點擊數:3
【字體: 字體顏色
可編程邏輯器件CPLD體積小功能強大, Verilog HDL語言簡練,設計思想、電路結構和邏輯關系清晰,本文著重介紹使用Verilog設計CPLD實現雙屏顯示液晶控制器的功能。
關鍵詞: Verilog  CPLD  液晶控制器

1.引言

  隨著集成電路技術的發展, 在現代電子設計中,可編程邏輯器件的運用越來越多,原因在于其規模大,體積小,功能強,價格便宜。CPLD可擦寫上萬次,使得硬件設計像軟件設計一樣靈活方便。Verilog HDL語言作為硬件描述語言有其獨特的優勢:在門級描述的底層,描述的設計思想、電路結構和邏輯關系清晰明了,設計語言簡練、易學易用,模塊化分層結構在大規模設計時具有優勢。如果使用Verilog把控制功能集成在一片CPLD芯片里,整個電路將會變得更簡潔、實用。

2.液晶控制器原理

    液晶控制器用于單片機和液晶屏的接口,一方面不斷地把顯存的數據刷新到液晶屏上,另一方面控制單片機對顯存數據的更新。

    雙屏結構液晶控制器內部主要的計數器,分別是4bit時鐘同步字符計數器、行計數器和幀計數器,它們在系統時鐘FCLK的控制下同時計數,主要是用來產生行同步信號LP 和幀同步信號FP ,分別用來控制液晶屏換行和換頁。液晶屏就是在這三個信號的控制下反復地把顯存里的數據刷新到屏幕上。

    本設計采用Altera 公司生產的EPM7128SCPLD芯片來實現LCD 控制器以及它的外圍邏輯時序的全部功能,使用的液晶屏為640×480雙屏顯示結構,即上半屏和下半屏同時顯示,RAM為一片SRM20512LLTM78(62512)。 

  液晶屏刷新速度的計算公式為FFRP = FCLK/ ( Hn×Nx )

    其中,FFRP為液晶屏顯示幀掃描頻率,一般要大于70 Hz ,Hn為一行顯示的4bit同步字符數640/4=160,Nx為一屏幀掃描的行數480/2=240,FCLK為系統的工作時鐘頻率,采用晶振提供頻率11.05926MHz,將其四分頻得到2.764815MHz即可作為系統時鐘FCLK。

    系統構成如下圖所示:

3.實現過程

1)  液晶刷新時序產生

    此部分主要產生行同步和幀同步信號,完成行和幀同步。

    由于雙屏結構液晶屏以4bit為單位上下同時顯示,可以在CPLD內定義兩個寄存器,行含4bit字符寄存器scp_reg,值為640/4=160, 幀含行寄存器lp_reg,值為480/2=240。字符時鐘同步計數器scp_count為4bit字符的計數器,在系統時鐘scp_clk作用下計數加一,與行含字符寄存器內容比較,若等,表示一行結束,開始下一行,scp_count清零,行計數器lp_count加一,lp_flag置一,產生行同步信號LP。行計數器lp_count與幀含行寄存器內容比較,若等,表示一幀結束,開始下一幀,scp_count, lp_count 清零,fp_flag置一,產生幀同步信號FP。實現的程序如下:

    always@(posedge scp_clk)

       begin

       scp_count=scp_count+1;

    if(scp_count==scp_reg)

begin

       lp_count=lp_count+1;

    lp_flag=1;

    scp_count=0;

    if(lp_count==lp_reg)

           begin

     fp_flag=1;

    lp_count=0;

       scp_count=0;

           end

    else fp_flag=0;

      end

       else lp_flag=0;

    end

    操作lcd時,scp_reg=160,lp_reg=240。仿真時取scp_reg=3,lp_reg=4,如下:

2)  單片機寫數據至RAM

    此部分為單片機通過CPLD更新RAM數據。

    單片機寫信號WR有效,CPLD判斷數據線上內容為指令還是數據,若為指令,則將DB內容存入指令寄存器CMDREG,若為數據,判斷指令寄存器CMDREG內容以指示狀態。若CMDREG為8’h00或8’h02,表示DB為低或高八位地址,分別存入低高八位地址寄存器addl和addh,若為8’h04,表示DB為要寫入RAM的數據,存入數據寄存器ioreg。

CMDREG

DB內容

8’h00

低八位地址

8’h02

高八位地址

8’h04

數據

if(a0==1)  cmdreg=db;

else  begin

        if(cmdreg==8'h00)      addl=db;

        else if(cmdreg==8'h02)

                begin

                addh=db;

                p={addh,addl};

             end

        else if(cmdreg==8'h04)       ioreg=db;

     end

3)  顯存的數據刷新到液晶屏

    此部分完成RAM數據到LCD的正確映射。

    RAM存儲和LCD對應關系如下圖所示:

    正確的將RAM中的數據送入LCD,使液晶屏上下半屏隨著時鐘同時顯示,必須理清RAM存儲和LCD顯示間的地址關系。LCD為640×480,所以下半屏起始地址對應的內容應為640×240/8=19200,即RAM0x4b00中的內容。

    由于4bit字符同步時鐘scp_clk內含四個周期computerclk,可以在computerclk的二三周期,分別將RAM地址0x0000的內容AB和0x4b00的內容EF傳至八位寄存器reg1和reg2,在余下的第四周期,將reg1和reg2的高四位即A和E傳至上下半屏數據寄存器ud_reg和ld_reg,lcd將同時顯示上半屏A下半屏E。下一個scp_clk時,只需將reg1和reg2的低四位即B和F傳至ud_reg和ld_reg,則lcd將同時顯示上半屏B下半屏F。以后每兩個scp_clk,RAM地址加一,同樣的方式取數據刷新lcd。

    仿真圖中藍線指示為RAM地址加一后上述一個循環的開始。

4)  數據選擇器

    單片機對RAM數據的更新,CPLD刷新LCD對RAM的讀取,可以通過一個二選一數據選擇器完成。

    當單片機寫時,置選擇信號sel為1,存放MCU操作的地址寄存器addl、addh和數據寄存器ioreg與RAM地址數據總線連接,完成MCU對RAM數據的更新;當sel為0,刷新液晶屏的地址寄存器q和數據寄存器ud_reg、ld_reg與RAM地址數據總線連接,刷新LCD。

4.結束語

    以上主要介紹了Verilog HDL設計CPLD作為液晶控制器的幾個基本部分,經過驗證,所設計控制器在單片機作用下正確完成液晶的顯示。本設計創新點在于控制器設計使用硬件描述語言Verilog而非傳統設計方法設計,易于理解,易于維護,調試電路速度快,有許多易于掌握的仿真綜合布局布線工具。若使用其他液晶屏,只需修改程序中相關參數,更多功能的擴充,也只需增添CPLD中的模塊即可實現。

  • 上一篇: FPGA的高速可變周期脈沖發生器的設計
  • 下一篇: CPLD響高速數據采集系統的設計與實現
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 定安县| 宜兴市| 紫阳县| 龙胜| 三都| 盐城市| 民权县| 山东省| 襄城县| 出国| 陆丰市| 南安市| 长治县| 大厂| 芦溪县| 荔波县| 蛟河市| 汨罗市| 涞源县| 太和县| 乳山市| 泉州市| 尤溪县| 北辰区| 澜沧| 崇文区| 营山县| 厦门市| 荔波县| 吴桥县| 高州市| 临西县| 大姚县| 平泉县| 北票市| 赤城县| 浑源县| 抚顺县| 密云县| 华池县| 崇左市|