基于ARM处理器S3C2440A的便携式视频展示台的设计

时间:2016-10-10来源:网络

3.3 VGA驱动设计方案
3.3.1 LCD帧缓冲设备驱动结构
帧缓冲是Linux为显示设备提供的一个接口,它把一些显示设备描述成一个缓冲区,允许应用程序通过FrameBuffer定义好的接口访问这些图形设备,而不用去关心具体的硬件细节。对于帧缓冲设备而言,只要在显示缓冲区与显示点对应的区域写入颜色值,对应的颜色就会自动的在屏幕上显示。LCD控制器驱动是VGA设备驱动的核心,是一个标准的linux2.6内核下的framebuffer设备驱动。在VGA驱动设计的过程中首要的是配置LCD控制器。而在配置LCD控制器中最重要的一步则是帧缓冲区(FrameBuffer)的指定。因此,驱动帧缓冲是实现是整个驱动开发过程的重点。帧缓冲驱动需要完成的的工作主要有5个部分:编写初始化函数,编写成员函数,读写,映射,输入输出控制。
1)初始化LCD控制器
通过写寄存器,设置显示模式和颜色数,然后分配LCD显示缓冲区。缓冲区大小为:点阵行数×点阵列数×用于表示一个像素的比特数/8。缓冲区通常分配在大容量的片外SDRAM中,起始地址保存在LCD控制寄存器中。文中采用的LCD显示方式为800x600,需要分配的显示缓冲区为960 KB。最后是初始化一个fb_info结构,填充其中的成员变量,并调用register_framebuffer(tb_info),将fb_info登记入内核。
2)编写成员函数
该函数主要用于编写fb_info()结构体中指针fb_ops()对应的底层操作函数,主要是3个函数:
c.jpg
以上这些函数都是用来获取fb_info()中的成员变量的,当应用程序调用ioctl()操作时将会调用这些函数。
读写函数就是用来读写屏幕缓冲区,地址映射操作可以将文件的内容映射到用户空间,这样用户就可以通过读写这段地址来访问缓冲区了。输入输出操作就是设备文件ioctl()读取和设置显示设备的参数,具体的ioctl()的实现由底层驱动程序来完成。
3.3.2 根据VGA时序设定LCD控制器寄存器
本便携式视频展示台选择SVGA显示,像素时钟信号VCLK为40 MHz,分辨率为800x600,帧频率为60 Hz,16位真色彩显示,SVGA时序如下图所示。

d.JPG


根据图3、图4所示SVGA显示时序的特点,对LCD控制器中的控制寄存器进行如下配置。
1)LCDCON1寄存
CLKVAL:确定VCLK频率的参数。公式为VCLK=HCLK/[(CLKVAL+1)x2],在本设计中S3C2440A的HCLK=100MHz,VCLK=40 MHz,故需设置CLKVAL=0.25,设置BPPMODE=0xC,即选择TFT 16位模式。
2)LCDCON2寄存器
VBPD:确定帧同步信号和帧数据传输前的时延,是帧数据传输前延迟时间和行同步时钟间隔宽度的比值,如图4所示,VBPD=p/c=0.6 ms/20 μs=30。
VFPD:确定帧数据传输完成后到下一帧同步信号到来的一段延时,是帧数据传输后延迟时间和行同步时钟间隔宽度的比值,VFPD=r/c= 0.026 ms/20μs=10。
LINEVAL:确定显示的垂直方向大小,LINEVAL=YSIZE-1=599。
VSPW:确定帧同步时钟脉冲宽度,是帧同步信号时钟宽度和行同步时钟间隔宽度的比值,VSPW=o/c=0.1 ms/20μs=5。
3)LCDCON3寄存器
HBPD:确定行同步信号和行数据传输前的延时,描述行数据传输前延迟时间内VCLK脉冲个数,HBPD=bxVCLK=2.2μsx40 MHz=88。
HOZAL:确定显示的水平方向尺寸。这里HOZAL=XSIZE-1=799。
HFPD:确定行数据传输完成后到下一行同步信号到来的一段延迟时间,描述行数据传输后延迟时间内VCLK脉冲个数,HFPD=dxVCLK=1 μsx40 MHz=40。
4)LCDCON4寄存器
HSPW:确定行同步时钟脉冲宽度。描述行同步脉冲宽度时间内VCLK脉冲个数,HSPW=axVCLK=3.2μsx40 MHz=128。
5)LCDCON5寄存器
BPP24BL:确定数据存储格式。此处设置BPP24BL=0x0,即选择小端模式存放。
FRM565:确定16位数据输出格式。设置FRM565=0x1,即选择5:6:5的输出格式。

4 结束语
文中根据市场对视频展示台的大量需求现状,提出了基于ARM9的S3C2440的便携式视频展示台的设计方案。与用CPLD/FPGA来实现VGA显示的系统相比,本方案节约成本和资源,且接口电路简单,应用灵活、可靠。由本方案做成的视频展示台体积小,易于携带。本方案经过Linux软件测试论证,方案切实可行,对实物、图片、文档或者过程的显示效果清晰,无抖动。

1 2

关键词: S3C2440A ARM 处理器 便携式

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版