• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式技術(shù)的MultiBus―CPU模塊設(shè)計(jì)

    基于嵌入式技術(shù)的MultiBus―CPU模塊設(shè)計(jì)

    作者: 時(shí)間:2010-06-25 來源:網(wǎng)絡(luò) 收藏

     


    圖3是顯示電路總體連接圖。S1D13506連接到AT9IRM9200的信號有:
    、ABl~AB20、DBl~DBl5、。連接到ICSl523的信號有:CLCKI、CLCKl2(用于內(nèi)部顯示及外部媒體接口時(shí)鐘)。連接到IS41LVl6100的信號有:DRAM-WE、DRAM-RAS、LCAS、UCAS、MA0~MA9、MD0~MDl5。其中,MDl、MD2、MD4、MD6、MDl5需要外接上拉電阻用于S1D13506初始配置。其他控制信號連接到LCD/CRT顯示器。S1D13506芯片有個(gè)測試使能引腳TESTEN在芯片正常工作時(shí)接地。如果不使用RAMDAC的數(shù)模轉(zhuǎn)換功能,那么IREF引腳必須接地。ICSl523通過I2C串行總線(TWD、TWCK)接受AT91RM9200對它的寄存器配置。本中,ICSl523的輸入時(shí)鐘是50 MHz,輸出CLKl為25 MHz,CLK2為12.5 MHz.

    4 顯示軟件方案
    4.1 Linux下LOD驅(qū)動(dòng)程序開發(fā)
    在Linux內(nèi)核中,設(shè)備驅(qū)動(dòng)程序是一個(gè)個(gè)獨(dú)立的“黑盒子”,可以使某個(gè)特定的硬件響應(yīng)一個(gè)定義良好的內(nèi)部編程接口,同時(shí)完全隱藏了設(shè)備的工作細(xì)節(jié),用戶操作只需要通過一組標(biāo)準(zhǔn)化的調(diào)用即可完成。把這些調(diào)用映射到設(shè)備特定的操作上,則是設(shè)備驅(qū)動(dòng)程序的任務(wù)。而每一個(gè)設(shè)備都可以看作是一個(gè)文件,所以打開的設(shè)備在內(nèi)核中都可以由一個(gè)File結(jié)構(gòu)標(biāo)識,內(nèi)核使用File_operations結(jié)構(gòu)訪問驅(qū)動(dòng)程序的函數(shù)。每個(gè)文件(設(shè)備)都與它自己的函數(shù)集相關(guān)聯(lián)。這些操作函數(shù)主要負(fù)責(zé)上面所提到的系統(tǒng)調(diào)用的實(shí)現(xiàn),并因此被命名為open、read、for-k,ioctl等。
    LCD控制器的功能是顯示驅(qū)動(dòng)信號,進(jìn)而驅(qū)動(dòng)LCD。用戶只需要通過讀寫一系列的寄存器,就可以配置和顯示驅(qū)動(dòng)。配置LCD控制器時(shí),最重要的一步是幀緩沖區(qū)(FrameBuffer)的指定。幀緩沖區(qū)為圖像硬件設(shè)備提供了一種抽象化處理,它代表了一些視頻硬件設(shè)備,允許應(yīng)用軟件通過定義明確的界面來訪問圖像硬件設(shè)備。用戶程序只需與幀緩沖驅(qū)動(dòng)程序抽象出來的接口打交道,就可以把要顯示的內(nèi)容從緩沖區(qū)中讀出,從而顯示到屏幕上。
    在FrameBuffer驅(qū)動(dòng)程序中,最核心的結(jié)構(gòu)體是幀緩沖區(qū)驅(qū)動(dòng)程序接口,即struct fb_info。它記錄了當(dāng)前FrameBtlffer硬件設(shè)備的狀態(tài),通常在Linux的inctLtde/Linux/fb.h中定義。最主要的結(jié)構(gòu)體有:Struct fb_fiX_screeninfo,定義顯示輸出設(shè)備自身的屬性,如屏幕緩沖區(qū)的物理地址和長度;Struct fb_var_screeninfo,記錄幀緩沖設(shè)備和指定顯示模式的可修改信息,包括顯示屏幕的分辨率、每個(gè)像素的比特?cái)?shù)和一些時(shí)序變量。
    若要先設(shè)定幀緩沖區(qū)的物理地址和長度,就要在SlDl3506.h里指定,然后在驅(qū)動(dòng)程序里通過對fb_fiX_screeninf0賦值來實(shí)現(xiàn):


    首先對LCD的背光燈進(jìn)行點(diǎn)亮。LCD顯示是一種被動(dòng)的顯示模式,不能發(fā)光,只能依靠控制透射或反射周圍環(huán)境的光來達(dá)到顯示的目的。因此,必須通過寫寄存器用高電平指示對LCD加3.2 V電壓來實(shí)現(xiàn)背光燈的點(diǎn)亮。其函數(shù)的部分代碼如下:

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 藁城市| 抚州市| 南岸区| 汨罗市| 青田县| 荔波县| 靖边县| 武川县| 湖州市| 四会市| 武山县| 湖南省| 叶城县| 平昌县| 罗源县| 南宫市| 新和县| 栾川县| 牙克石市| 南雄市| 师宗县| 普定县| 金堂县| 芦溪县| 连云港市| 定西市| 那坡县| 宁武县| 珲春市| 达尔| 六枝特区| 柘城县| 沧源| 永城市| 泸水县| 静安区| 新龙县| 且末县| 普兰店市| 靖远县| 临武县|