DIY编程器网

标题: 基于FPGA的LCD显示的远程更新设计实现 [打印本页]

作者: admin    时间: 2015-4-27 16:08
标题: 基于FPGA的LCD显示的远程更新设计实现
第1章  远程更新LCD显示的背景与应用
          1.1 LCD的产生与发展
          液晶显示器,简称LCD(Liquid Crystal Display)。世界上第一台液晶显示设备出现在20世纪70年代初,被称之为TN-LCD(扭曲向列)液晶显示器。80年代,STN-LCD(超扭曲向列)液晶显示器出现,同时TFT-LCD(薄膜晶体管)液晶显示器技术被研发出来,但液晶技术仍未成熟,难以普及。80年代末90年代初,日本掌握了STN-LCD及TFT-LCD生产技术,LCD工业开始高速发展。
           
          现在,LCD是笔记本电脑和掌上电脑的主要显示设备,在投影机中,它也扮演着非常重要的角色,而且它开始逐渐渗入到桌面显示器市场中。相信不远的未来,LCD显示器将会更为普及地应用于商业、工业、军事等领域。
           
          1.2 远程视频监控系统的简述
          早期的视频监控系统受限于地域限制,随着视频监控技术与网络技术的发展,出现了远程视频监控系统。远程视频监控系统是把图形信息转变成信号信息,通过摄取、传输、显示等设备实现一定距离内图形转换为图像,在互联网上传输,从而实现较远距离可以看到现场图形信息的系统。
           
          远程视频监控系统通过互联网打破了地域限制,随着远程视频监控技术的成熟以及应用,人们的生产、生活以及企业管理正在发生新的变化,远程视频监控系统广泛渗透到教育、政府、娱乐场所、医院、酒店、运动场馆、城市治安甚至家庭等多个领域。
           
          1.3 远程更新LCD显示在远程视频监控的应用
          远程视频监控系统主要包括:前端摄像设备、传输存储设备、终端控制显示设备。其中,LCD显示作为监控显示设备应用于远程视频监控系统中。图 1为某视频监控系统设计原理图。
           
       

        图 1 某视频监控系统设计原理图

           
          第2章  系统整体设计方案
          2.1研究需求与目标
          2.1.1研究需求
          本设计“基于FPGA的LCD显示的远程更新”作为远程视频监视系统的监控终端设备,伴随着视频监控系统的发展而发展。近年来,中国视频监控市场受平安城市建设,北京奥运会、上海世博会、广州亚运会、深圳大运会等安保项目以及各行业视频监控需求快速增长等因素的刺激和拉动,取得了超常规快速发展,整体市场规模迅速扩大。
           
          作为中国视频监控市场未来发展方向之一的网络化视频监控系统,其市场规模将于2013年达168.91亿元,增速远超行业平均增长率水平。鉴于技术条件限制,高清视频监控一般建立在网络化的应用基础之上,若考虑给予智能高清视频监控市场占IP视频监控市场15%的份额估算,则2011-2013年智能高清监控市场规模将分别达13亿元、18亿元和25亿元,复合增速将高于36%。综上所述,可以预计未来3-5年视频监控市场将继续保持强劲增长,行业整体处于高速发展阶段。可见,本设计有着广泛的应用前景以及市场需求。
           
          2.1.2研究目标
          本次设计定位为视频监控系统的终端设备,其在系统中的位置如图 2所示。
       

        图 2 视屏监控系统结构图

         

          本设计预期实现的功能与技术指标:
           
          其中,监控人员具体的操作方式为通过鼠标来选择观看实时视频或查询视屏录像:
         
          2.2 系统概要设计
          2.2.1 Genesys开发板简介
          Digilent的Genesys开发板集成了功能强大的Xilinx Virtex?-5 FPGA,为广大用户带来了一个功能强大、方便实用的设计平台。其设计框图如图 3所示。
           
       

        图 3 Genesys开发板的组成框图

         

          Genesys板上还集成了千兆以太网接口、高速存储器、高分辨率音频和视频电路、以及USB主机接口等选项。Genesys开发板采用业界主流设计,无论是复杂系统,还是专用的高性能应用,Genesys都能为您提供有效的解决方案。其主要特性如下所示:
           

           
          2.2.2基于Genesys开发板的实现构想
          根据上面所述的预期实现功能与技术指标,并结合Genesys开发板的资源,本设计的实现构想:
           
          2.2.3 Genesys开发板上的资源利用情况
          根据设计的要求,Genesys开发板上的硬件资源既能满足本设计的硬件需求又能显示出其优越的性能。表格 1为本设计在Genesys开发板上的资源利用情况。
           
        表格 1 本设计在Genesys开发板上的资源利用情况

                               
                                        Genesys开发板的硬件资源

                       
                               
                                        本设计中的使用情况

                       
                               
                                        Adept USB2

                       
                               
                                        √

                       
                               
                                        DDR 256MByte

                       
                               
                                        √

                       
                               
                                        HDMI Video

                       
                               
                                        √

                       
                               
                                        10/100/1000 Ethernet PHY

                       
                               
                                        √

                       
                               
                                        Basic I/O

                       
                               
                                        √

                       
                               
                                        16 X 2 LCD

                       
                               
                                         

                       
                               
                                        High-Speed Expansion

                       
                               
                                         

                       
                               
                                        iMPACT USB2

                       
                               
                                        √

                       
                               
                                        StrataFlash 32Mbyte

                       
                               
                                        √

                       
                               
                                        AC-97 Audio Codec

                       
                               
                                         

                       
                               
                                        USB Host

                       
                               
                                        √

                       
                               
                                        Clock Gen

                       
                               
                                        √

                       
                               
                                        RS-232 Port

                       
                               
                                        √

                       
                               
                                        Pmod Port Expansion

                       
                               
                                        √

                       
        第3章  系统详细设计
          3.1 系统硬件平台设计
          3.1.1 系统的硬件构成
          本系统的硬件设计由以下部分构成:MicroBalze处理器、中断控制器XPS INTC、XPS Timer/Counter定时器/计数器、XPS BRAM接口控制器、外部存储器控制器XPS MCH EMC、多端口存储器控制器 XPS MPMC,DMA控制器XPS DMA、外设控制器 XPS EPC、三态以太网MAC核 XPS LL TEMAC、XPS TFT控制器、串口控制器XPS UART 16650、通用IO控制器 XPS GPIO、XPS PS2等控制器组成。图4为本系统的结构框图。
           
          其中,MicroBalze处理器、中断控制器XPS INTC、XPS Timer/Counter定时器/计数器构成了移植Petalinux基本硬件平台。多端口存储器控制器 XPS MPMC连接外部的DDR2 SODIMM,外部存储器控制器XPS MCH EMC连接外接的Flash。XPS EPC提供USB Host功能用来连接U盘。XPS LL TEMAC 核用来提供以太网接入。XPS TFT 控制器连接HDMI接口,驱动LCD的显示。XPS UART 16650 连接串口,作为移植PetaLinux的调试接口。XPS PS2 IPCore 连接PS2接口,在本设计中连接鼠标,提供用户操作接口。
           
       

        图 4 系统结构框图

         

          3.1.2 系统所需的IP核简介
          为了提高设计性能和缩短设计周期,本设计将会充分利用Xilinx公司所提供的多个IP核进行开发设计。本设计中将会使用到的IP核以及使用该IP核的理由如下所述:
           
           
          3.1.3 移植PetaLinux的可行性分析
          Genesy Virtex-5 FPGA Development Board开发板上面有256MB的DDR2 SODIMM、16Mbyte StrataFlash(一共32M字节)。这16Mbyte StrataFlash作为非易失存储器来存放FPGA的配置文件,单个FPGA的配置文件大小不超过2MByte,剩余30M字节供用户使用。PetaLinux一般规则下的最小配置为需要4MByte的DDR2,推荐使用16MByte的DDR2,至少8Mbyte的FLASH。因此,在Genesy Virtex-5 FPGA Development Board开发板上面嵌入MicroBlaze处理器核后,再进行PetaLinux的移植是可行的。本设计采用的嵌入式操作系统为2.6内核的PetaLinux。
           
          3.2 嵌入式系统的选取
          支持MicroBlaze 处理器的嵌入式操作系统很多,比如μC/ OS-II、BuleCat ME Linux、RTA MB、 hreadX、PetaLinux等。PetaLinux 操作系统是面向MicroBlaze 软核处理器的全功能嵌入式 Linux 操作系统。其发布采用了“all in one” 的整合方式, 将针对 MicroBlaze 处理器定制的Linux2. 4/ 2. 6 内核源码、 U2boot 源码、相关的开发工具以及开发板参考硬件平台配置,集成在一个压缩包内发行,极大地方便了开发人员的使用。该操作系统主要具有以下几大特点:
           
         
          本题目要求实现以FTP协议远程更新LCD,FTP是文件传输协议的缩写,它是一种用于文件传输的Internet标准。通常,我们可以认为FTP是一种基于TCP/IP协议的应用程序,它工作在OS网络模型的第七层,TCP协议的应用层上。
           
          完善的内置网络是Linux的一大特点。 Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。
           
          支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。
           
          文件传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。
           
          远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。
           
          PetaLinux强大的网络功能可以很好的完成本题目网络传输的要求,而且随着PetaLinux的不断发展,越来越多的Xilinx公司的IP Core驱动程序(XPX LL TEMAC, XPS UART 16550,XPS GPIO,XPS DMA)加入了其内核中,大大减小了开发的难度,加上linux是开源的,在网上有大量的资源可以获取,从另一方面加速了设计开发的进程。基于以上优点,选择了PetaLinux作为本次设计的嵌入式操作系统。
           
          3.3 嵌入式系统应用程序设计
          基于FPGA的LCD显示的远程更新的软件部分可分为FTP客户端模块、视屏播放器模块和图形人机交互模块三部分,其软件的组成结构如图 5所示,它们的作用分别是:
         

       

        图 5 软件组成

         

          3.3.1 FTP客户端的设计
          FTP在TCP/IP协议层间的位置如图 6所示:
           
       

        图 6 FTP在TCP/IP协议层间的位置

         

          FTP与其他基于TCP协议的应用程序不同,它在客户进程和服务器进程之间使用了两个TCP连接:一个是控制连接,客户端与FTP服务器通过控制连接进行沟通,连接FTP,发送FTP指令都是通过控制连接来完成的,它会一直持续到客户进程与服务器进程之间的会话完成为止;另一个是数据连接,每当有文件在客户机与服务器之间传输时,就建立一个数据连接,数据请求完成后,FTP关闭该段数据连接。FTP采用这种方式将传输控制与数据传输的通道相互分离,最大限度地提高了网络中数据的吞吐量。
           
          视屏录像服务器中保存了视屏录像,假设在视屏录像服务器上也运行了FTP服务器程序,当用户点播实时视频时,本设计以匿名用户登陆FTP服务器将视屏文件的部分先缓存到本地的DDR2 SODIMM中,然后同时进行下载和播放。当用户选择查询视屏录像时,首先将需要观看的视屏下载到本地的U盘中,然后使用播放器进行播放。考虑到文件下载是一种非常耗时的操作,为了提高视屏文件的下载效率,视屏文件的下载操作需要在子线程中完成。
         
          3.3.2 视屏播放器模块的设计
          视屏播放器模块准备在PeatLinux上面移植Mplayer播放器。MPlayer是Linux上的视屏播放器,它的功能十分强大,能够播放众多格式的文件,在X86 PC机上运行很稳定,也可以把它移植到非X86CPU上的嵌入式系统中来。相对其它播放器来说,其资源占用非常少,不需要任何系统解码器就可以播放各种媒体格式,对于MPEG/XviD/DivX格式的文件支持尤其好。MPlayer能使用众多本地的Xanim,RealPlayer和Win32 DLL编解码器,播放大多数MPEG、VOB、AVI、OGG、VIVO、ASF/WMV、QT/MOV、FLI、RM、NuppelVideo、yuv4mpeg、FILM、RoQ文件。借助于MPlayer你能观看VideoCD、SVCD、DVD、3ivx、RealMedia和DivX格式的电影。MPlayer的另一个大的特色是支持广泛的输出设备,它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、Aalib、DirectFB下工作,而且你也能使用GGI和SDL(由此使用它们支持的各种驱动模式)和一些低级的硬件相关的驱动模式。这个播放器能很稳定地播放被破坏的MPEG文件,并且它能播放Windows media player都打不开的有损坏的AVI文件,甚至,没有索引部分的AVI文件也可以播放。
           
          Mplayer播放器采用了MEncoder解码器。MEncoder采用的编解码器包是libavcodec,这个编解码器包可以在多种平台上对Cinepak、DV、H.263、H.264/MPEG-4 AVC、HuffYUV、Indeo、MJPEG、MPEG-1、MPEG-2、MPEG-4 Part 2、RealVideo、Sorenson、Theora、WMV编码格式的视频流进行解码,它同时也是已知完成这些任务最快的解码器。
           
          Mplayer移植到嵌入式平台时,编译后的可执行程序的大小在10~16MByte之间,由于Genesys开发板只有30MByte的Flash可以使用,所以不将Mplayer编译后的可执行文件放在文件系统中,而是将它存储在U盘中,待运行时再将它加载到开发板上执行。
           
          3.3.3 图形人机交互模块
          本设计以鼠标作为用户输入接口,采用带有HDMI接口的LCD显示器作为输出设备,利用QT 2.2.0进行图形界面的设计。QT/E是跨平台的C++图形用户界面(GUI)工具包,它是著名的QT开发商TrollTech发布的面向嵌入式系统的QT版本,Qt是目前KDE等项目使用的GUI支持库,许多基于Qt的X Windows程序可以非常方便地移植到嵌入式Qt/Embedded版本上。自从Qt/Embedded发布以来,就有许多嵌入式Linux开发商利用Qt/Embedded进行嵌入式GUI应用开发。
           
          Qt/Embedded是一个多平台的C++图形用户界面开发工具包,它注重与能给用户提供精美的图形界面所需的所有元素,而且其开发过程是基于面向对象的编程思想,而且Qt/embedded支持真正的组建编程。
           
          整个设计的软件工程流程图,如图 7所示:
           
       

        图 7 系统的软件流程图

         

          3.4 调试环境的搭建说明
          根据前面的设计要求,本设计在调试时需要用到视频录像服务器。但由于实际条件的限制,故使用带有千兆以太网口的高性能PC作为视频服务器。




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2