您当前的位置:五五电子网电子知识电子知识资料科研成果基于ARM9的S3C2440的便携式视频展示台的设计方案 正文
基于ARM9的S3C2440的便携式视频展示台的设计方案

基于ARM9的S3C2440的便携式视频展示台的设计方案

点击数:7965 次   录入时间:03-04 11:37:43   整理:http://www.55dianzi.com   科研成果

    本文介绍了基于对微处理器S3C2440A的显示控制模块和高性能视频D/A芯片ADV7120的研究,提出了一种便携式视频展示台的设计方案。本方案采用130万像素的OV9650摄像头采集实物、文档、图片或者过程的图像数据,利用S3C2440自带的LCD控制器来产生符合VGA显示要求的时序逻辑,ADV7120将数字RGB信号转换成VGA显示需要的模拟彩色信号。通过TFT—LCD扫描显示的时序与VGA扫描显示时序的匹配来驱动VGA显示。测试结果表明,方案切实可行,达到正常显示色彩信息的要求。

    视频展示台是将实物、文稿、图片和过程等信息转换为图像信号输出在投影机、显示器上展示出来的一种演示设备。便携式视频展示台由于具有体积小,易于携带等优点,被广泛用于教学、大型会议及产品展示等场合,具有较大的研究前景。本视频展示台的设计采用三星基于ARM9内核的S3C2440A芯片,运用模块化的设计原则;具有体积小、便携带、低功耗、易维护性等特点,整个系统的设计由两部分构成,分别是实物、图片、文档或者过程等图像采集部分和VGA传输显示部分。此视频展示台的显示分辨率为800x600。

1 视频展示台系统结构设计
   
本便携式视频展示台采用三星S3C2440A处理器,其CPU的工作频率可达400 MHz,可以很好的处理图像数据。它的外设包括:LCD控制器、CAMIF单元、UART接口、IICBUS接口、USB主从接口等。系统采用具有极快读写速度的2片32 MB的SDRAM来保证linux操作系统的流畅运行,采用具有掉电保护功能的128 MB的Nancmash来存放操作系统和驱动程序。此外,130万像素的ov9650摄像头用来采集视频图像数据,ADV 7120将数字RGB信号转换成VGA显示需要的模拟彩色信号,显示分辨率为800x600。电源管理模块能够提供多种供电,包括芯片内核电压采用1.8 V供电,芯片的IO口部分采用3.3 V供电。为了给实物、文档、图片或者演示过程提供照明光源,在ov9650摄像头旁边加了一圈LED小灯。下图1是方案的硬件电路设计框图。

    a.JPG

     2 视频图像采集模块
     2.1 视频采集硬件接口及其分析
   
视频采集模块是本便携式视频展示台的一个重要组块之一。本模块采用摄像头接口控制单元CAMIF和IIC总线来控制和传输OV9650摄像头采集实物、图片、文档或者过程等视频数据。选择CMOS传感器是因为它有功耗低、编程方便、成本低等优点。其主要引脚及功能描述如下:CAMCLKOUT是CPU输出的采样时钟,帧同步信号VSYNC、行同步信号HREF、像素时钟信号PCLK由OV9650内部产生,输入到S3C2440A芯片中,用于对图像采集进行控制。摄像头在每个PCLK脉冲过程中依次采集一个字节的数据,直到一帧图像数据采集完成。

    b.JPG

   
    摄像头采集的数据经过处理后进入帧缓冲区,帧缓冲区由4个PINg Pong存贮器组成,因此图像帧的读写操作可以同时进行。然后通过预览DMA连到AHB总线上,通过AHB总线将数据送往内存。整个过程由linux操作系统来控制,如图2所示。
2.2 视频采集驱动设计
    file_operations结构是Linux2.6内核提供的一个标准化的文件操作实现接口。定义ov9650_ops为file_operations结构。编写用于上层软件接口函数:
    struct file_operations ov9650_ops=
    {
    open:ov9650_open,
    release:ov9650_release,
    read:ov9650_read,
    write:ov9650_write,
    iocfl:ov9650_ioctl,
    };
    通过这些调用函数,应用程序就可实现对CMOS摄像头的打开、关闭、视频数据的读取、内部寄存器的设置等进行操作。在启动驱动程序时,系统首先调用已经定义的ov9650摄像头驱动程序的入口函数init(ov9650_init)对摄像头进行初始化,初始化的主要内容是复位、通过IIC配置相关摄像头寄存器、摄像头采样时钟配置以及中断配置等,然后等待进一步命令。应用程序使用结束后,系统调用已经定义的ov9650出口函数exit(ov9650_exit)退出。

3 VGA显示模块
3.1 LCD控制器接口和VGA接口描述
   
本便携式视频展示台的另一个重要组块是VGA显示模块。S3C2440A带有LCD控制器,可以很方便地控制驱动扫描式接口的TFT显示。其主要功能引脚有:像素时钟信号引脚VCLK/LCD,场同步信号引脚VFRAME/VSYNC,行同步信号引脚VLINE/HSYNC,VD[23:0]是LCD数据输出端口。当把VSYNC、HSYNC、VCLOCK等信号参数设定好,并把帧内存(frame memory)的地址告诉LCD控制器后,LCD控制器即可通过DMA自动获取帧内存中的图像数据。
    VGA接口使用模拟RGB通道,逐点、逐行扫描。VGA接口信号为模拟信号,其关键信号有5个,分别是行同步信号,场同步信号,红色模拟信号,绿色模拟信号和篮色模拟信号。电子枪从左至右,从上而下的进行扫描,每行结束时,用行同步信号进行同步。扫描完所有的行后用场同步信号进行场同步。
    通过比较LCD扫描式接口时序和VGA时序可知,LCD控制器驱动TFT显示的行场同步信号时序和VGA行场同步信号时序很像。只是信号的极性VGA是负极性,LCD信号是正极性,这个通过调整Linux内核显示模块来调整LCD的时序以适应SVGA时序即可。因此,可以利用高性能视频D/A转换芯片ADV7120将S3C2440A自带的LCD扫描式接口转换为VGA接口,然后用带有VGA接口的显示器显示。此外,LCD控制器用于控制数据信号的使能的引脚VDEN在D/A转换模块中可用来控制信号转换的使能,LCD控制器的VCLK可用作D/A转换模块的时钟信号。
3.2 高性能视频D/A转换芯片ADV7120
   
ADV7120的输入及控制信号非常简单:3组8位的数字视频数据输入端,用以连接LCD控制器的数据输出接口VD[23:0],数据输入端采用标准TTL电平接口;4条视频控制信号线包括复合同步信号SYNC、消隐信号BLANK、白电平参考信号REF WHITE和像素时钟信号CLOCK,外接一个123V数模转换参考电压源和1个输出满度调节。
    ADV7120的输出信号只有4条:3条模拟RGB信号和同步参考电流输出信号Isync。VGA接口的行场同步信号和LCD扫描式接口的行场同步信号是一致的,因此LCD控制器接口中的行场同步扫描信号HSYNC和VSYNC直接接到VGA接口。LCD控制器和VGA接口是由硬件实现的两种接口的电器转接,不需要写任何驱动程序,这是在嵌入式系统平台上扩张VGA接口最方便的方案,也是本便携式视频展示台体积小,易携带性设计的基础。



www.55dianzi.com


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时序如下图所示。

[1] [2]  下一页


本文关键字:视频展示台  科研成果电子知识资料 - 科研成果