首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于嵌入式技术的MultiBus—CPU模块设计
来源:本站整理  作者:佚名  2010-06-27 10:07:01



 


    图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电压来实现背光灯的点亮。其函数的部分代码如下:
    
    

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:145,140.60000 毫秒