一种通用、低成本的KVM over IP控制器的设计方案
0 引言 KVM是Keyboard(键盘)、Video(显示器)、Mouse(鼠标)的缩写,常特指KVM Switch(控制器),即多台计算机的标准I/O口连接到一台KVM Switch上,通过切换开关,共享Switch上连接的一套键盘、显示器和鼠标,以简化资源配置和操作,实现一对多的控制,在计算机房的管理和维护中得到了大量的应用。但由于是电缆连接,使用距离受限,影响了这种模拟KVM 的控制范围和扩展性。 KVM over IP,通常又简写为KVMoIP,也称为数字KVM.它是从本地计算机上采集视频信号,经过模数转换成为数字信息,压缩成IP包后,通过互联网或专用网络进行传送,远程控制台收到IP 包后,将其解包、转换,在控制台的屏幕上呈现;管理人员据此操作控制台的键盘、鼠标,发出的一系列控制命令由控制台组合成IP包,经过网络再回送到本地侧,解包后还原为键盘鼠标信号,从而让本地计算机执行相应的动作,实现了远程控制。 1 基于TI 达芬奇技术的KVMoIP 设计 KVMoIP的产品形态主要有外置式和内置式两种。 图1是外置式KVMoIP的典型组网示意图,一方面通过线缆把各本地端的KVM 信号接到控制器,由控制器进行信号的处理和转换,最后提供网口供远端用户使用。图1中示意的是菊链式KVMoIP切换器,对于已有的模拟共享式KVM切换器,为保护投资,也可以外接IP接入模块来进行KVMoIP的功能扩展,以节约成本。
内置式KVMoIP 是将该功能直接集成在计算机主板上,由主板上的BMC 芯片(如ASPEED 公司的AST2050)来实现。如图2所示,基板管理控制器(Base-board Management Controller,BMC),通过LPC 总线和PCIe总线接到Intel Xeon芯片组的桥片PCH上,BMC除了支持智能平台管理接口(IPMI)规范实现硬件资源的监控管理外,还提供KVMoIP的功能。
与传统的模拟式KVM相比,KVM over IP具有不受距离限制的优点,实现了任意时间、任意地点的管理访问。另外,和一些流行的远程控制软件PcAnywhere、Radmin 等相比,KVMoIP 有着更独特的强大功能,如BIOS 级的存取,带外管理不受限于设备的运行状态,与被监控设备的操作系统和硬件平台无关。因此,KVMoIP具有良好的通用性和可扩展性,在互联网数据中心IDC、通信网络操作中心NOC等环境领域得到了广泛应用,可以说KVMoIP已经是当今IT架构中重要的组成部分之一,已成为计算机远程管理的必然趋势。 图1 中的KVMoIP 系统分为两个部分:接入层的KVM控制器和管理层的远程客户端。客户端通过Web方式接入控制器,充分利用IP 技术呈现丰富的控制功能,提供集中化管理策略以及安全管理,如接收服务器软件发送的视频压缩数据,显示解压缩之后的视频图像;实现键盘、鼠标编码的发送并在目标设备间快速切换,保证网络传输的安全性和实时性。本文重点在单路KVM控制器的技术实现。图1中的KVM控制器大多采用Raritan公司的专用芯片KIRA100实现[3],专用性强且成本高,本方案采用TI达芬奇技术,作为一种低成本的通用性设计。 1.1 达芬奇技术简介 达芬奇(DaVinci)技术是TI公司推出的嵌入式多媒体应用方案,采用了高度集成的片上系统(SOC),为ARM DSP的双核架构。ARM核是通用处理器架构,利于任务调度,适合对外设的管理和控制;DSP核长于编解码算法,适合于数字音视频处理,两相结合,这一特点使达芬奇技术特别适合用来开发智能多媒体系统。DaVinci技术还提供了底层驱动、开发包(DVSDK)、标准库以及丰富的应用编程接口(API)等组件作为配套解决方案,可高效的开发数字多媒体产品,加速市场应用。因而,DaVinci技术一经推出就受到开发者的青睐,在视频监控、多媒体网络和移动通信等领域得到了越来越多的应用。 1.2 系统硬件设计 基于达芬奇技术的KVMoIP 控制器的硬件框图如图3所示,分为主控模块、KVM模块、网络传输模块三个部分。
1.2.1 主控模块 主控模块采用TMS320DM365,它是TI近年推出、面向高清视频处理的DaVinci系列的一款处理器,内部集成了ARM9 内核,图像处理子系统VPSS,H.264 高清编码协处理引擎HDVICP 和MPEG-4/JPEG 协处理引擎MJCP.ARM9 负责整个系统的控制,VPSS 不仅提供灵活的视频输入接口,如BT.601/BT.656/BT.1120 数字YCbCr(8/16 b)接口,用于支持多种类型的CCD/CMOS图像传感器,还支持RGB/YUV 数字信号输出和PAL/NTSC制式的复合视频信号输出,用于连接多种类型的显示设备。HDVICP和MJCP支持H.264、MPEG4、JPEG和WMV9/VC1等格式编解码,能够以30 f/s的速度对高清(720P)视频进行H.264 编解码。芯片还提供丰富的外设接口,包括USB 2.0、SDIO、SPI、UART、I2C、EMAC和Voice Codec(如G.711/G.723、MP3、WMA)等。图3 中,DM365 的外围电路扩展了程序存储器NAND FLASH、DDR2 数据存储器、USB 和EMAC 接口等。 1.2.2 KVM模块 键盘、鼠标的USB信号连接到DM365的USB接口,VGA信号由TVP7002接入处理。 TVP7002 是TI 的一款高清视频解码芯片,能为RGB/YPbPr的模拟视频和图像输入提供A/D 转换和解码的完整解决方案。芯片内含3路10 b A/D,处理速度高达165 MHz,支持各种分量输入视频标准,如480i/p,576i/p,720p,1 080i/p;支持最高UXGA(1 600×1 200)分辨率的PC 图像信号输入。输出信号支持RGB 或者YCbCr颜色空间,支持RGB/YCbCr 4∶4∶4和YCbCr 4∶2∶2的输出模式。芯片的工作模式由DM365通过I2C总线对其内部寄存器编程实现。 VGA 输入经TVP7002 转换为16 b 4∶2∶2 的YCbCr信号后可以直接送给DM365 的视频处理前端,中间无须进行任何数据格式的转换。 1.2.3 网络传输模块 DM365 在EMAC 接口外接一片10/100M 以太网PHY芯片,经网络变压器进行信号的隔离变换后,通过RJ45连接到网络,实现KVM数据的以太网传输。 1.3 系统软件设计 TI达芬奇技术的软件框架分为ARM端的应用层、I/O层以及DSP端的信号处理层三个部分,如图4所示。
I/O层以嵌入式实时操作系统MontaVista Linux来支持其对外设的驱动,如I2C、USB接口、以太网接口等;信号处理层SPL 包括实时操作系统DSP/BIOS、音视频编解码算法、Codec Engine;应用层APL 主要负责多线程的管理,并通过Codec Engine 的VISA API(Video/Im-age/Speech/Audio)调用DSP 侧的算法,通过EPSI API(Easy Peripheral Software Interface)访问和操作Davinci的外设,用以支持高级应用的开发。 基于该系统框架,TI及第三方提供了丰富的系统程序接口SPI、应用程序接口API以及多媒体算法组件,它们与操作系统、中间件一起构成了一个应用系统的大部分内容。在此基础上,开发者只需在系统的用户空间上添加特定的功能和发挥自己的特色,加以封装后即可快速推出代码可移植的高可用性产品。 对于采用DM365的KVMoIP控制器来说,内嵌Java处理能力的ARM926用作Web Server,远程客户端通过Web 页面访问控制器的Web 服务端,实现KVMoIP 功能。控制器的用户空间软件系统主要分为系统控制模块、编解码模块和网络传输模块三个部分。 1.3.1 系统控制模块 系统控制模块主要负责参数设置、系统初始化、协调各模块的运行以及进程管理,并通过消息队列和共享内存实现进程间的通信。 1.3.2 编解码压缩模块 该模块是整个KVMoIP 系统的关键。该模块的功能是调用TVP7002 驱动获取video 数据,并调用CodecEngine 对video 数据进行相应格式的编码压缩,交给网络传输模块,通过网络送到客户端解码显示。 视频数据的带宽高,尤其是1 600×1 200分辨率的UXGA视频数据,在16 bpp@60 Hz下更是高达近2 Gb/s的信号传输带宽。对于这么高带宽的视频数据,只有经过特定的处理后才能在目前的百兆网络上实时传输到客户端并清晰显示图文信息。为了减少网络带宽占用,一方面DSP核要采用适合的压缩算法,并提高实时性;再者,结合KVMoIP 远程控制的特性,编码压缩模块对帧间video数据的差异进行比对,只对变化帧的video数据才调用Codec Engine进行编码压缩,最后交给网络传输模块送到远端。 本模块帧间比对及压缩算法的优劣直接决定了客户端视频还原的质量。 1.3.3 网络传输模块 该模块主要由TCP/IP协议栈构成。在DM365上建立HTTP的Web服务器,为了保证KVM数据在网络上传输的安全性,模块还内置了认证授权机制,以及128位AES加密算法。Web服务器对编码压缩后的视频数据进行AES加密,通过TCP/IP,调用网口驱动程序发给客户端。 客户端运行Web 浏览器,经认证后登录KVMoIP控制器即DM365 的Web 服务端,接收发来的加密视频报文,经解密及解码后显示受控服务器的视频图像,管理员输入、点击的键盘鼠标数据形成加密报文,发给服务端。 服务端收到客户端的键盘鼠标报文后,经解密还原为键盘鼠标数据,调用USB驱动传给受控服务器,响应客户端的操作。 2 结语 本文设计的基于TMS320DM365的KVMoIP控制器,支持多种视频格式,包括VGA,SVGA,XGA,SXGA等,最高分辨率可达UXGA(1 600×1 200@16 bpp,60 Hz)。视频处理与压缩算法能够有效利用网络带宽,且实时性好,客户端操作的响应速度快。同时,鉴权机制和数据加密能够保证KVM数据在TCP/IP网络上传输的安全性。 本文基于TMS320DM365 的KVMoIP 控制器,其性能参数及基本功能与目前商用KVM over IP Switch 相当,软件功能还可以进一步扩充。相对于商用设备的专用芯片来说,这是一个通用的、低成本的方案。 |