• 基于ARM9處理器S3C2410的LCD顯示系統(tǒng)設(shè)計
    電子元器件應(yīng)用

    引言

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

    TFT-LCD模塊的時序要求

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

                   控制時序圖
                 時間參數(shù)
     
    硬件電路設(shè)計

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

                               硬件電路設(shè)計

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

        S3C2410處理器中的LCD控制器內(nèi)含寄存器LCDCOM1-LCDCON5。對于LQ080V3DG01,這些寄存器的具體設(shè)置如下:

    (1)在LCDCON1中,CLKVAL是時鐘參數(shù),對于LQ080V3DG01,該域值取1。PNRMODE是顯示模式參數(shù),該域值取3,表示所用模塊是TFT型,BPPMODE是每個象素的數(shù)據(jù)位數(shù)參數(shù),對于LQ080V3DG01模塊,設(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視頻存儲器的大小端模式,該域值取0,F(xiàn)RM565決定16bpp視頻輸入數(shù)據(jù)的格式。

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

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

        根據(jù)上面對LCD各主要寄存器設(shè)置的分析所得出的結(jié)果,筆者開發(fā)了基于FrameBuffer機(jī)制的S3C2410fb驅(qū)動程序。下面是經(jīng)過調(diào)試成功的部分代碼,該程序可對顯示屏幕進(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é)束語

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




     
     
    網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點(diǎn)導(dǎo)航
     
    2022国产精品视频| 精品一区二区三区免费观看| 99久久国产综合精品五月天| 蜜桃麻豆WWW久久囤产精品| 91精品国产自产在线观看高清| 精品人无码一区二区三区| 亚洲国产精品综合福利专区| 日本精品www色| 精品无人区麻豆乱码1区2区新区 | 国内精品九九久久精品| 97精品国产91久久久久久| 亚洲国产精品lv| 91精品啪在线观看国产线免费| 中文字幕精品视频| 亚洲精品无码成人| 国产人妖系列在线精品| 国产精品综合久久第一页| 亚洲精品无码国产| 精品人妻久久久久久888| 亚洲国产成人久久精品软件| 国产精品夜夜爽范冰冰| 国产精品国产三级在线专区| 国产精品亚洲片在线| 在线观看精品视频看看播放| 麻豆成人精品国产免费| 午夜亚洲av永久无码精品| 99在线精品视频| 亚洲美女精品视频| 国产精品天堂avav在线| 国内精品人妻无码久久久影院| 久久精品国产亚洲av麻豆色欲| 成人精品一区二区三区电影| 精品成人av一区二区三区| 亚洲嫩草影院久久精品| 在线播放精品一区二区啪视频| 99国产精品久久| 91麻精品国产91久久久久| 国产精品jvid在线观看| 久久精品国产精油按摩| 久久精品国产亚洲av瑜伽| 国产精品嫩草视频永久网址|