亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式Linux變壓器監(jiān)測終端LCD驅(qū)動程序的設(shè)計(jì)

        2013-12-12 05:23:56趙江東姚有峰馬小陸
        巢湖學(xué)院學(xué)報(bào) 2013年3期
        關(guān)鍵詞:驅(qū)動程序內(nèi)核嵌入式

        趙江東 姚有峰 馬小陸

        (1皖西學(xué)院基礎(chǔ)實(shí)驗(yàn)中心,安徽 六安 237012)(2安徽工業(yè)大學(xué)電氣信息學(xué)院,安徽 馬鞍山 243002)

        引言

        隨著電力系統(tǒng)自動化的發(fā)展,用戶對配電變壓器監(jiān)測終端系統(tǒng)的人機(jī)界面的要求也越來越高,顯示器是主要的人機(jī)交互設(shè)備,但由于傳統(tǒng)的CRT顯示器體積過于龐大等缺點(diǎn),難以應(yīng)用到配電自動化的設(shè)備中[1]。LCD作為新一代的顯示設(shè)備,它能夠顯示字符、漢字及圖形,并且具有功耗低、體積小、重量輕及超薄等許多優(yōu)點(diǎn),可滿足配電變壓器監(jiān)測終端系統(tǒng)人機(jī)界面日益提高的性能要求[2]。當(dāng)前市場上的變壓器監(jiān)測終端系統(tǒng)設(shè)計(jì)多是基于嵌入式技術(shù),硬件采用性價(jià)比非常高的ARM處理器,軟件采用嵌入式Linux操作系統(tǒng),這使得變壓器監(jiān)測終端具有高精度的數(shù)據(jù)處理和強(qiáng)大的數(shù)據(jù)管理等優(yōu)點(diǎn)。本文將闡述在嵌入式Linux變壓器監(jiān)測終端平臺上液晶顯示屏的驅(qū)動程序的設(shè)計(jì)方法。

        1 TFT-LCD工作原理

        TFT-LCD是作為STN-LCD的換代顯示器,它具有響應(yīng)速度快、分辨率高及色彩豐富等優(yōu)點(diǎn),當(dāng)前正取代STN-LCD,被廣泛運(yùn)用到便攜式計(jì)算機(jī)、攝錄像機(jī)及工業(yè)控制儀表等實(shí)際產(chǎn)品中。TFT-LCD的顯示原理如圖1所示。

        圖1 TFT-LCD顯示原理

        TFT是一個(gè)場效應(yīng)管結(jié)構(gòu),它的柵極電流小,LCD的行和列數(shù)的增加是不會使驅(qū)動的電壓變高,故TFT-LCD可以制作成高分辨率的顯示器。當(dāng)TFT導(dǎo)通的時(shí)候,源極和漏極的電阻較??;當(dāng)TFT被關(guān)斷的時(shí)候,源極和漏極的電阻很大,它近似于開路。顯示驅(qū)動的時(shí)候,某一時(shí)刻只會有一行的像素被選中,這行的TFT被導(dǎo)通,其它行的像素TFT處于關(guān)斷狀態(tài)。TFT-LCD的色彩豐富,能夠做到真彩顯示,因此其應(yīng)用非常廣泛。

        2 Linux下LCD驅(qū)動接口

        Linux2.2內(nèi)核之后的版本中出現(xiàn)一種驅(qū)動接口,即Framebuffer。該接口提供了一種在硬件設(shè)備上處理圖像的方法。Framebuffer代表視頻的硬件設(shè)備,可使應(yīng)用軟件利用其定義來確定界面訪問圖像的硬件設(shè)備[3]。這樣能使應(yīng)用程序在不知道任何的硬件底層驅(qū)動內(nèi)容。在Linux系統(tǒng)下LCD驅(qū)動的接口框圖如圖2所示。

        圖2 Linux系統(tǒng)下LCD驅(qū)動的接口框圖

        Framebuffer的實(shí)現(xiàn)可以分為兩個(gè)方面:一是對LCD和相關(guān)部件的初始化;二是對畫面的緩沖區(qū)讀寫,具體的代碼是read、write、lseek等相關(guān)系統(tǒng)調(diào)用接口。Framebuffer的完整驅(qū)動程序即是這兩個(gè)方面的具體實(shí)現(xiàn),在Linux的發(fā)行版本中,包含大量設(shè)備驅(qū)動程序的源碼,例如drivers/video下提供了多種顯卡Framebuffer的程序,這樣省去了上層程序的工作,只要針對所用到的LCD模塊類型及接口時(shí)序修改其驅(qū)動程序中和底層相關(guān)的代碼,就可以得到需要的LCD驅(qū)動程序。

        Linux為了便于開發(fā)Framebuffer程序,使用了層次結(jié)構(gòu)。fbmem.c(內(nèi)核源碼driver/video目錄下)源碼位于該設(shè)備驅(qū)動程序的中心位置。它為上層的用戶空間提供了系統(tǒng)調(diào)用接口,同時(shí)也可以為下層特定硬件提供驅(qū)動接口,底層硬件驅(qū)動需要用該接口向內(nèi)核注冊。下面是fbmem.c的一些主要數(shù)據(jù)結(jié)構(gòu)。

        fb_info為幀緩沖設(shè)備定義的驅(qū)動層接口,其定義在內(nèi)核源碼include/linux/fb.h文件中。不僅包含底層函數(shù),也包含與設(shè)備有關(guān)的數(shù)據(jù)。每個(gè)幀緩沖的設(shè)備中都有一個(gè)fb_info的結(jié)構(gòu)體與之相對應(yīng)。它的重要成員有node、fb_var_screeninfo和fbops。node表示特定的Framebuffer,同時(shí)也是一個(gè)Framebuffer設(shè)備的次設(shè)備號;fb_var_screeninfo記錄了可以修改顯示器控制參數(shù)的內(nèi)容;fb_ops提供了底層驅(qū)動的接口。與在編寫字符設(shè)備驅(qū)動程序一樣,需要填寫一個(gè)file_operations結(jié)構(gòu)體,然后使用register_chrdev()注冊file_operations。而編寫Framebuffer驅(qū)動代碼時(shí),要填寫fb_ops結(jié)構(gòu)體的相關(guān)成員。

        綜上可見,在Linux下Framebuffer的編程框圖如圖3所示。

        圖3 Linux下Framebuffer的編程框圖

        3 LCD驅(qū)動程序設(shè)計(jì)

        3.1 硬件結(jié)構(gòu)圖

        本文中使用的LCD型號為LQ080V3DG01,是由日本夏普生產(chǎn)的TFT-LCD,基于ARM920T的微處理器S3C2410和LCD液晶模塊的連接圖如圖4所示。

        圖4 S3C2410和LQ080V3DG01連接圖

        從S3C的LCD控制器引出來的信號線有24根數(shù)據(jù)線和部分控制線。如果使用256色LCD,則只需要其中低8位的數(shù)據(jù)線。這些線是經(jīng)過74HC245模塊隔離后連接到LCD模塊,在接256色屏?xí)r由這個(gè)芯片完成電平的轉(zhuǎn)換。此外LCD信號線驅(qū)動74HC245的電源是可以選擇的。S3C2410可以安裝5寸的偽彩屏和8寸的真彩屏,其連接原理圖如圖5所示。

        3.2 驅(qū)動程序設(shè)計(jì)

        根據(jù)LCD驅(qū)動原理和以上硬件結(jié)構(gòu)圖,LCD驅(qū)動程序設(shè)計(jì)代碼如下:

        3.2.1 LCD 屏參數(shù)初始化[4][5]

        圖5 S3C2410與LQ080V3DG01連接原理圖

        3.2.2 Linux 系統(tǒng) LCD 初始化

        在Linux中對LCD模塊初始化代碼如下:

        3.2.3 頭文件添加

        在內(nèi)核/include/asm-arm/arch-s3c2410目錄下創(chuàng)建zjd.h文件,內(nèi)容如下:

        3.2.4 配置和編譯內(nèi)核

        配置界面如圖6所示:

        圖6 內(nèi)核配置LCD模塊

        選擇其驅(qū)動如下[6][7]:

        將重新制作zImage燒寫到系統(tǒng)中,再次啟動 linux2.6.14以后就可以在LCD上顯示圖形。

        4 結(jié)論

        隨著電力系統(tǒng)自動化水平的日益提高,用戶對配電變壓器監(jiān)測終端系統(tǒng)的人機(jī)界面的要求也越來越高,根據(jù)嵌入式Linux下配電變壓器監(jiān)測終端的特點(diǎn)和Linux2.6內(nèi)核驅(qū)動程序接口Framebuffer的工作原理,針對特定TFT-LCD屏詳細(xì)闡述了驅(qū)動程序的設(shè)計(jì)步驟,最后針對配電變壓器監(jiān)測終端系統(tǒng)實(shí)驗(yàn)平臺中的核心單元S3C2410處理器進(jìn)行了驅(qū)動程序的測試驗(yàn)證。測試結(jié)果表明LCD驅(qū)動程序的內(nèi)核機(jī)制極大地優(yōu)化了嵌入式系統(tǒng)友好界面設(shè)計(jì),為嵌入式LCD模塊的應(yīng)用提供了更廣泛的應(yīng)用領(lǐng)域。

        [1]陶維青,馬小陸.基于 430 單片機(jī)的新型配電變壓器遠(yuǎn)方終端的開發(fā)[J].繼電器,2005,(19):66-67.

        [2]邱濤.一種基于Linux的車載多功能系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2009.

        [3]王春波.GPS/GPRS車載終端的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2008.

        [4]譚周文.基于ARM和Linux的超高頻讀寫器設(shè)計(jì)與實(shí)現(xiàn)[D].長沙:湖南大學(xué),2008.

        [5]劉志棟.基于嵌入式Linux系統(tǒng)的夫瑯和費(fèi)衍射實(shí)驗(yàn)儀的開發(fā)與研制[D].長春:吉林大學(xué),2008.

        [6]李靜.基于嵌入式平臺的目標(biāo)識別研究[D].桂林:桂林電子科技大學(xué),2009.

        [7]韋東山.嵌入式 Linux 應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008:158.

        猜你喜歡
        驅(qū)動程序內(nèi)核嵌入式
        萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        自動化博覽(2014年4期)2014-02-28 22:31:15
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        欧美成人精品福利在线视频| 男女18禁啪啪无遮挡激烈网站| 偷拍熟女露出喷水在线91| 开心五月激动心情五月| 那有一级内射黄片可以免费看 | 欧美极品少妇无套实战| 欧美日韩中文国产一区发布| 久久99精品久久久久久齐齐百度| 美女高潮流白浆视频在线观看| 极品av在线播放| 成人免费毛片立即播放| 天堂免费av在线播放| 亚洲中文字幕日产无码| 亚洲中文字幕久久精品无码a| 少妇人妻大乳在线视频不卡| 97久久超碰国产精品2021 | 免费的黄网站精品久久| 国产在线一区二区av| 国产精品一区二区三区卡| 国产精品v片在线观看不卡| 男女啪啪无遮挡免费网站| 国产精品99久久久精品免费观看| 亚洲精品区二区三区蜜桃| 青青草免费视频一区二区| 一二三区无线乱码中文在线| 又爽又黄又无遮挡的视频| 日韩精品一区二区三区视频| 亚洲中文字幕av天堂| 亚洲国产一区中文字幕| 亚洲一区二区三区,日本| 无码尹人久久相蕉无码| 国产成人AV无码精品无毒| 欧美一级视频在线| 日本在线一区二区三区视频| 国产精品久久久久久妇女| 亚洲av综合久久九九| 中日韩欧美成人免费播放| 91久久大香伊蕉在人线国产| 日本中文字幕一区二区有码在线| 男女性高爱潮免费网站| 91热国内精品永久免费观看|