论文部分内容阅读
KVM是键盘、显示器和鼠标的英文首字母缩写组合,是近年来新兴的一种远程机房集中管理技术。KVM切换器作为KVM系统的主要设备,能将计算机输入的桌面视频进行采集和编码后传输到远程客户端,并接收来自客户端的键盘和鼠标信息,以实现对计算机状态的远程控制。由于用户对KVM切换器的控制实时性、图像质量和网络带宽要求较高,且计算机桌面视频的内容和分辨率多样,使得KVM视频编码技术成为KVM技术中的核心环节。本课题基于TI公司的多核异构处理器DM385和H.264视频压缩算法,采用McFW软件框架、嵌入式Linux操作系统和BIOS实时系统设计并实现了一种面向KVM切换器的视频编码软件。论文主要完成的工作和成果如下:1.熟悉TI达芬奇处理器DM385的系统架构,包括其多核间通信方式、处理器内部各模块的功能、开发套件的使用、操作系统移植以及相关网络技术。分析McFW软件框架,包括M3视频采集核和M3视频编码核的运行流程,ARM核如何对它们进行管理调用。2.采用TI公司的IPNC RDK开发套件,结合DM385硬件系统,进行软件的总体设计并完成嵌入式Linux开发环境的搭建,包括RDK套件的安装和配置,UBL和uboot的交叉编译和CCS烧写,Linux内核的配置和TFTP下载,NFS网络文件系统的挂载调试,UBI文件系统的制作烧写。3.在M3视频采集核上通过VIP视频接口输入VGA视频信号,实现对计算机桌面视频的采集,运用M3视频编码核上的高清视频协处理器HDVICP2实现对桌面视频的H.264视频压缩编码,在ARM核上实现对视频采集核和视频编码核的管理调控,实现对码流的RTP打包和网络发送,并采用VLC进行编码效果的调试。4.采用GPMC总线、EDMA模块、GPIO外部中断等设计码流传输和命令交互所依赖的数据交互底层驱动,配置编写各个模块,包括寄存器设置,时序设计,中断处理函数设计等,实现与外部存储设备进行码流的高速准确传输和各种命令的简单有效交互。在此驱动的基础上进行各个交互模块相关通信协议的设计,编写上层应用程序完成交互所需要完成的功能。5.对全文工作内容进行总结,提出需要进一步完善和改进的问题,包括软件开发框架的整合优化,视频编码方法的优化等。