基于ARM9處理器S3C2410的LCD顯示系統(tǒng)設(shè)計(jì)
發(fā)布時(shí)間:2008/5/26 0:00:00 訪問次數(shù):935
    
    
    來源:電子元器件應(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]。
    
    
    
    
    
    硬件電路設(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é)q080v3dg01要求其電源電壓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。對于lq080v3dg01,這些寄存器的具體設(shè)置如下:
    
    (1)在lcdcon1中,clkval是時(shí)鐘參數(shù),對于lq080v3dg01,該域值取1。pnrmode是顯示模式參數(shù),該域值取3,表示所用模塊是tft型,bppmode是每個(gè)象素的數(shù)據(jù)位數(shù)參數(shù),對于lq080v3dg01模塊,設(shè)計(jì)時(shí)可設(shè)置成16bpp,所以此域值取12。
    
    (2)在lcdcon2中,vbpd對應(yīng)于表1中的h參數(shù),該域值取32。lineval對應(yīng)于表1中的i參數(shù),該域值取479,vfpd對應(yīng)于表1中的j參數(shù),該域值取9,vspw對應(yīng)于表1中的g參數(shù),該域值取1。
    
    (3)在lcdcon3中,hbpd對應(yīng)于表1中的c參數(shù),該域值取47。hozval對應(yīng)無于表1中的d參數(shù),該域值取639,hfpd對應(yīng)于表1中的e參數(shù),該域值取15。
    
    (4)在lcdcon4中只需要設(shè)置hspw即可,它對應(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)下開發(fā)lcd的驅(qū)動(dòng)程序。
    
    framebuffer是出現(xiàn)在linux2.2.xx內(nèi)核的一種驅(qū)動(dòng)程序接口,對應(yīng)的源文件在linux/drivers/video/目錄下,總的抽象設(shè)備文件為fbcon.c。這種接口將顯示設(shè)備抽象為幀緩沖區(qū),用戶可以將它看成是顯示內(nèi)存的一個(gè)映象。在使用幀緩沖時(shí),linux將顯卡置于圖形模式下[3]。
    
    根據(jù)上面對lcd各主要寄存器設(shè)置的分析所得出的結(jié)果,筆者開發(fā)了基于framebuffer機(jī)制的s3c2410fb驅(qū)動(dòng)程序。下面是經(jīng)過調(diào)試成功的部分代碼,該程序可對顯示屏幕進(jìn)行初始化并設(shè)置lcd控制寄存器的值:
    
    /*s3c2410fb.c*/
    staticstructs3c2410fb_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控制寄存器的值
   &
    
    
    來源:電子元器件應(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]。
    
    
    
    
    
    硬件電路設(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é)q080v3dg01要求其電源電壓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。對于lq080v3dg01,這些寄存器的具體設(shè)置如下:
    
    (1)在lcdcon1中,clkval是時(shí)鐘參數(shù),對于lq080v3dg01,該域值取1。pnrmode是顯示模式參數(shù),該域值取3,表示所用模塊是tft型,bppmode是每個(gè)象素的數(shù)據(jù)位數(shù)參數(shù),對于lq080v3dg01模塊,設(shè)計(jì)時(shí)可設(shè)置成16bpp,所以此域值取12。
    
    (2)在lcdcon2中,vbpd對應(yīng)于表1中的h參數(shù),該域值取32。lineval對應(yīng)于表1中的i參數(shù),該域值取479,vfpd對應(yīng)于表1中的j參數(shù),該域值取9,vspw對應(yīng)于表1中的g參數(shù),該域值取1。
    
    (3)在lcdcon3中,hbpd對應(yīng)于表1中的c參數(shù),該域值取47。hozval對應(yīng)無于表1中的d參數(shù),該域值取639,hfpd對應(yīng)于表1中的e參數(shù),該域值取15。
    
    (4)在lcdcon4中只需要設(shè)置hspw即可,它對應(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)下開發(fā)lcd的驅(qū)動(dòng)程序。
    
    framebuffer是出現(xiàn)在linux2.2.xx內(nèi)核的一種驅(qū)動(dòng)程序接口,對應(yīng)的源文件在linux/drivers/video/目錄下,總的抽象設(shè)備文件為fbcon.c。這種接口將顯示設(shè)備抽象為幀緩沖區(qū),用戶可以將它看成是顯示內(nèi)存的一個(gè)映象。在使用幀緩沖時(shí),linux將顯卡置于圖形模式下[3]。
    
    根據(jù)上面對lcd各主要寄存器設(shè)置的分析所得出的結(jié)果,筆者開發(fā)了基于framebuffer機(jī)制的s3c2410fb驅(qū)動(dòng)程序。下面是經(jīng)過調(diào)試成功的部分代碼,該程序可對顯示屏幕進(jìn)行初始化并設(shè)置lcd控制寄存器的值:
    
    /*s3c2410fb.c*/
    staticstructs3c2410fb_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控制寄存器的值
   &
熱門點(diǎn)擊
- ATMega48的Bootloader的軟件
- LCD顯示屏出現(xiàn)閃爍的原因與解決
- 基于ARM9處理器S3C2410的LCD顯示
- 單片機(jī)89C52并行I/O口實(shí)現(xiàn)多個(gè)LED顯
- 基于單片機(jī)的OLED顯示器的應(yīng)用
- 基于C8051的軟開關(guān)用移相PWM的實(shí)現(xiàn)
- 用單片機(jī)設(shè)計(jì)A/D、D/A轉(zhuǎn)換器
- 基于CMX860的來電顯示電話測試儀的設(shè)計(jì)
- 高壓隔離線性光耦放大電路設(shè)計(jì)
- HY-240128M-201液晶顯示模塊及其
推薦技術(shù)資料
- 硬盤式MP3播放器終級改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- 分立器件&無源元件選型及工作原
- 新一代“超越EUV”光刻系統(tǒng)參
- 最新品BAT激光器制造工藝設(shè)計(jì)
- 新款汽車SoC產(chǎn)品Malibo
- 新芯片品類FPCU(現(xiàn)場可編程
- 電動(dòng)汽車動(dòng)力總成系統(tǒng)̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究