新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式技術的MultiBus―CPU模塊設計

        基于嵌入式技術的MultiBus―CPU模塊設計

        作者: 時間:2010-06-25 來源:網絡 收藏

         


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

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


        首先對LCD的背光燈進行點亮。LCD顯示是一種被動的顯示模式,不能發光,只能依靠控制透射或反射周圍環境的光來達到顯示的目的。因此,必須通過寫寄存器用高電平指示對LCD加3.2 V電壓來實現背光燈的點亮。其函數的部分代碼如下:

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尚义县| 同德县| 浮山县| 仪征市| 建水县| 遂平县| 军事| 连南| 景泰县| 普格县| 渑池县| 奉贤区| 西乌珠穆沁旗| 海丰县| 深圳市| 安图县| 满城县| 榕江县| 阿拉善盟| 乌苏市| 辉南县| 东源县| 石嘴山市| 聊城市| 新津县| 东乌| 高淳县| 六安市| 东乡县| 南乐县| 丰都县| 宜宾县| 酒泉市| 台中县| 斗六市| 巴青县| 新津县| 德化县| 海安县| 旅游| 尼玛县|