<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 基于ARM9處理器S3C2410的LCD顯示系統(tǒng)設(shè)計(jì)

          基于ARM9處理器S3C2410的LCD顯示系統(tǒng)設(shè)計(jì)

          ——
          作者:王成儒 朱振濤 燕山大學(xué) 時(shí)間:2007-01-26 來(lái)源:《電子元器件應(yīng)用》 收藏

          引言

          s3c2410是三星公司生產(chǎn)的基于arm920t內(nèi)核的risc微處理器,其主頻可達(dá)203mhz[1],適用于信息家電、pda、手持設(shè)備、移動(dòng)終端等領(lǐng)域,本文介紹了基于s3c2410的顯示系統(tǒng)的硬件電路及驅(qū)動(dòng)軟件設(shè)計(jì)方法。

          tft-lcd模塊的時(shí)序要求

          本顯示模塊選用的lq080v3dg01是sharp公司的tft-lcd器件,該器件的分辨率為640×480,控制時(shí)序圖如圖1所示,時(shí)間參數(shù)如表1所列[2]。

          本文引用地址:http://www.ex-cimer.com/article/21506.htm

          硬件電路設(shè)計(jì)

          在該顯示系統(tǒng)的硬件電路中,s3c2410與lcd模塊的連接是關(guān)鍵,s3c2410內(nèi)部自帶一個(gè)lcd驅(qū)動(dòng)控制器,其接口可以與單色、灰度、彩色stn型和彩色tft型的lcd直接相連,但需要根據(jù)所連接的lcd的類型設(shè)置相應(yīng)寄存器中的顯示模式(見(jiàn)下節(jié))。lq080v3dg01要求其電源電壓vdd典型值為3.3v/5v,并且lcd數(shù)據(jù)和控制信號(hào)的高電平輸入電壓vih在2.3-5.5v范圍內(nèi),低電平輸入電壓vil則在-0.3-0.9v范圍內(nèi),故可以直接與s3c2410相連,其電路圖如圖2所示。

          系統(tǒng)軟件設(shè)計(jì)

          s3c2410處理器中的lcd控制器內(nèi)含寄存器lcdcom1-lcdcon5。對(duì)于lq080v3dg01,這些寄存器的具體設(shè)置如下:

          (1)在lcdcon1中,clkval是時(shí)鐘參數(shù),對(duì)于lq080v3dg01,該域值取1。pnrmode是顯示模式參數(shù),該域值取3,表示所用模塊是tft型,bppmode是每個(gè)象素的數(shù)據(jù)位數(shù)參數(shù),對(duì)于lq080v3dg01模塊,設(shè)計(jì)時(shí)可設(shè)置成16bpp,所以此域值取12。

          (2)在lcdcon2中,vbpd對(duì)應(yīng)于表1中的h參數(shù),該域值取32。lineval對(duì)應(yīng)于表1中的i參數(shù),該域值取479,vfpd對(duì)應(yīng)于表1中的j參數(shù),該域值取9,vspw對(duì)應(yīng)于表1中的g參數(shù),該域值取1。

          (3)在lcdcon3中,hbpd對(duì)應(yīng)于表1中的c參數(shù),該域值取47。hozval對(duì)應(yīng)無(wú)于表1中的d參數(shù),該域值取639,hfpd對(duì)應(yīng)于表1中的e參數(shù),該域值取15。

          (4)在lcdcon4中只需要設(shè)置hspw即可,它對(duì)應(yīng)于表1中的b參數(shù),該域值取95。

          (5)lcdcon5中,bpp24bl用于決定24bpp視頻存儲(chǔ)器的大小端模式,該域值取0,frm565決定16bpp視頻輸入數(shù)據(jù)的格式。

          在設(shè)計(jì)中,還可在基于s3c2410的硬件平臺(tái)上安裝嵌入式linux操作系統(tǒng)。為了使lcd能夠正常顯示,還需要在嵌入式linux系統(tǒng)下開(kāi)發(fā)lcd的驅(qū)動(dòng)程序。

          framebuffer是出現(xiàn)在linux2.2.xx內(nèi)核的一種驅(qū)動(dòng)程序接口,對(duì)應(yīng)的源文件在linux/drivers/video/目錄下,總的抽象設(shè)備文件為fbcon.c。這種接口將顯示設(shè)備抽象為幀緩沖區(qū),用戶可以將它看成是顯示內(nèi)存的一個(gè)映象。在使用幀緩沖時(shí),linux將顯卡置于圖形模式下[3]。

          根據(jù)上面對(duì)lcd各主要寄存器設(shè)置的分析所得出的結(jié)果,筆者開(kāi)發(fā)了基于framebuffer機(jī)制的s3c2410fb驅(qū)動(dòng)程序。下面是經(jīng)過(guò)調(diào)試成功的部分代碼,該程序可對(duì)顯示屏幕進(jìn)行初始化并設(shè)置lcd控制寄存器的值:

          /*s3c2410fb.c*/
          static struct s3c2410fb_mach_infoxxx_stn_info_initdata={

          pixclock:174757,bpp:16,xres:640,yres:480,hsync_len:96,vsync_len:2,left_margin:40,upper_margin:24,right_margin:32,lower_margin:11,sync:0,cmap_static:1。

          reg:{//設(shè)置lcd控制寄存器的值

          lcdcon1:lcd1_bpp_16t |lcd1_pnr_tft|lcd1_clkval(1),lcdcon2:lcd2_vbpd(32)|lcd2_vfpd(9)|lcd2_vspw(1),lcdon3:lcd3_hbpd(47)|lcd3_hfpd(15),lcdcon4:lcd4_hspw(95)|lcd4_mval(13),lcdcon5:lcd5_frm565|lcd5_invvlien|lcd5_invvframe|lcd5_hw swp|lcd5_pwren,},};

          結(jié)束語(yǔ)

          按照本文所設(shè)計(jì)的接口連接好硬件后,即可修改s3c2410的驅(qū)動(dòng)程序,并在整個(gè)系統(tǒng)編譯后重新寫到flash中,這樣,重啟后就能正確顯示原系統(tǒng)的靜態(tài)啟動(dòng)畫面,而且畫面清晰穩(wěn)定,可達(dá)到預(yù)期的效果,這套裝置可在工業(yè)控制和車載通信等領(lǐng)域用作顯示輸出設(shè)備。



          關(guān)鍵詞: 液晶顯示 LCD

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();