一種通用、低成本的KVM over IP控制器的設計方案
0 引言
KVM是Keyboard(鍵盤)、Video(顯示器)、Mouse(鼠標)的縮寫,常特指KVM Switch(控制器),即多臺計算機的標準I/O口連接到一臺KVM Switch上,通過切換開關,共享Switch上連接的一套鍵盤、顯示器和鼠標,以簡化資源配置和操作,實現(xiàn)一對多的控制,在計算機房的管理和維護中得到了大量的應用。但由于是電纜連接,使用距離受限,影響了這種模擬KVM 的控制范圍和擴展性。
KVM over IP,通常又簡寫為KVMoIP,也稱為數(shù)字KVM.它是從本地計算機上采集視頻信號,經(jīng)過模數(shù)轉(zhuǎn)換成為數(shù)字信息,壓縮成IP包后,通過互聯(lián)網(wǎng)或?qū)S镁W(wǎng)絡進行傳送,遠程控制臺收到IP 包后,將其解包、轉(zhuǎn)換,在控制臺的屏幕上呈現(xiàn);管理人員據(jù)此操作控制臺的鍵盤、鼠標,發(fā)出的一系列控制命令由控制臺組合成IP包,經(jīng)過網(wǎng)絡再回送到本地側(cè),解包后還原為鍵盤鼠標信號,從而讓本地計算機執(zhí)行相應的動作,實現(xiàn)了遠程控制。
1 基于TI 達芬奇技術的KVMoIP 設計
KVMoIP的產(chǎn)品形態(tài)主要有外置式和內(nèi)置式兩種。
圖1是外置式KVMoIP的典型組網(wǎng)示意圖,一方面通過線纜把各本地端的KVM 信號接到控制器,由控制器進行信號的處理和轉(zhuǎn)換,最后提供網(wǎng)口供遠端用戶使用。圖1中示意的是菊鏈式KVMoIP切換器,對于已有的模擬共享式KVM切換器,為保護投資,也可以外接IP接入模塊來進行KVMoIP的功能擴展,以節(jié)約成本。
內(nèi)置式KVMoIP 是將該功能直接集成在計算機主板上,由主板上的BMC 芯片(如ASPEED 公司的AST2050)來實現(xiàn)。如圖2所示,基板管理控制器(Base-board Management Controller,BMC),通過LPC 總線和PCIe總線接到Intel Xeon芯片組的橋片PCH上,BMC除了支持智能平臺管理接口(IPMI)規(guī)范實現(xiàn)硬件資源的監(jiān)控管理外,還提供KVMoIP的功能。
與傳統(tǒng)的模擬式KVM相比,KVM over IP具有不受距離限制的優(yōu)點,實現(xiàn)了任意時間、任意地點的管理訪問。另外,和一些流行的遠程控制軟件PcAnywhere、Radmin 等相比,KVMoIP 有著更獨特的強大功能,如BIOS 級的存取,帶外管理不受限于設備的運行狀態(tài),與被監(jiān)控設備的操作系統(tǒng)和硬件平臺無關。因此,KVMoIP具有良好的通用性和可擴展性,在互聯(lián)網(wǎng)數(shù)據(jù)中心IDC、通信網(wǎng)絡操作中心NOC等環(huán)境領域得到了廣泛應用,可以說KVMoIP已經(jīng)是當今IT架構(gòu)中重要的組成部分之一,已成為計算機遠程管理的必然趨勢。
圖1 中的KVMoIP 系統(tǒng)分為兩個部分:接入層的KVM控制器和管理層的遠程客戶端??蛻舳送ㄟ^Web方式接入控制器,充分利用IP 技術呈現(xiàn)豐富的控制功能,提供集中化管理策略以及安全管理,如接收服務器軟件發(fā)送的視頻壓縮數(shù)據(jù),顯示解壓縮之后的視頻圖像;實現(xiàn)鍵盤、鼠標編碼的發(fā)送并在目標設備間快速切換,保證網(wǎng)絡傳輸?shù)陌踩院蛯崟r性。本文重點在單路KVM控制器的技術實現(xiàn)。圖1中的KVM控制器大多采用Raritan公司的專用芯片KIRA100實現(xiàn)[3],專用性強且成本高,本方案采用TI達芬奇技術,作為一種低成本的通用性設計。
1.1 達芬奇技術簡介
達芬奇(DaVinci)技術是TI公司推出的嵌入式多媒體應用方案,采用了高度集成的片上系統(tǒng)(SOC),為ARM+DSP的雙核架構(gòu)。ARM核是通用處理器架構(gòu),利于任務調(diào)度,適合對外設的管理和控制;DSP核長于編解碼算法,適合于數(shù)字音視頻處理,兩相結(jié)合,這一特點使達芬奇技術特別適合用來開發(fā)智能多媒體系統(tǒng)。DaVinci技術還提供了底層驅(qū)動、開發(fā)包(DVSDK)、標準庫以及豐富的應用編程接口(API)等組件作為配套解決方案,可高效的開發(fā)數(shù)字多媒體產(chǎn)品,加速市場應用。因而,DaVinci技術一經(jīng)推出就受到開發(fā)者的青睞,在視頻監(jiān)控、多媒體網(wǎng)絡和移動通信等領域得到了越來越多的應用。
1.2 系統(tǒng)硬件設計
基于達芬奇技術的KVMoIP 控制器的硬件框圖如圖3所示,分為主控模塊、KVM模塊、網(wǎng)絡傳輸模塊三個部分。
1.2.1 主控模塊
主控模塊采用TMS320DM365,它是TI近年推出、面向高清視頻處理的DaVinci系列的一款處理器,內(nèi)部集成了ARM9 內(nèi)核,圖像處理子系統(tǒng)VPSS,H.264 高清編碼協(xié)處理引擎HDVICP 和MPEG-4/JPEG 協(xié)處理引擎MJCP.ARM9 負責整個系統(tǒng)的控制,VPSS 不僅提供靈活的視頻輸入接口,如BT.601/BT.656/BT.1120 數(shù)字YCbCr(8/16 b)接口,用于支持多種類型的CCD/CMOS圖像傳感器,還支持RGB/YUV 數(shù)字信號輸出和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 數(shù)據(jù)存儲器、USB 和EMAC 接口等。
1.2.2 KVM模塊
鍵盤、鼠標的USB信號連接到DM365的USB接口,VGA信號由TVP7002接入處理。
TVP7002 是TI 的一款高清視頻解碼芯片,能為RGB/YPbPr的模擬視頻和圖像輸入提供A/D 轉(zhuǎn)換和解碼的完整解決方案。芯片內(nèi)含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總線對其內(nèi)部寄存器編程實現(xiàn)。
VGA 輸入經(jīng)TVP7002 轉(zhuǎn)換為16 b 4∶2∶2 的YCbCr信號后可以直接送給DM365 的視頻處理前端,中間無須進行任何數(shù)據(jù)格式的轉(zhuǎn)換。
1.2.3 網(wǎng)絡傳輸模塊
DM365 在EMAC 接口外接一片10/100M 以太網(wǎng)PHY芯片,經(jīng)網(wǎng)絡變壓器進行信號的隔離變換后,通過RJ45連接到網(wǎng)絡,實現(xiàn)KVM數(shù)據(jù)的以太網(wǎng)傳輸。
1.3 系統(tǒng)軟件設計
TI達芬奇技術的軟件框架分為ARM端的應用層、I/O層以及DSP端的信號處理層三個部分,如圖4所示。
I/O層以嵌入式實時操作系統(tǒng)MontaVista Linux來支持其對外設的驅(qū)動,如I2C、USB接口、以太網(wǎng)接口等;信號處理層SPL 包括實時操作系統(tǒng)DSP/BIOS、音視頻編解碼算法、Codec Engine;應用層APL 主要負責多線程的管理,并通過Codec Engine 的VISA API(Video/Im-age/Speech/Audio)調(diào)用DSP 側(cè)的算法,通過EPSI API(Easy Peripheral Software Interface)訪問和操作Davinci的外設,用以支持高級應用的開發(fā)。
基于該系統(tǒng)框架,TI及第三方提供了豐富的系統(tǒng)程序接口SPI、應用程序接口API以及多媒體算法組件,它們與操作系統(tǒng)、中間件一起構(gòu)成了一個應用系統(tǒng)的大部分內(nèi)容。在此基礎上,開發(fā)者只需在系統(tǒng)的用戶空間上添加特定的功能和發(fā)揮自己的特色,加以封裝后即可快速推出代碼可移植的高可用性產(chǎn)品。
對于采用DM365的KVMoIP控制器來說,內(nèi)嵌Java處理能力的ARM926用作Web Server,遠程客戶端通過Web 頁面訪問控制器的Web 服務端,實現(xiàn)KVMoIP 功能??刂破鞯挠脩艨臻g軟件系統(tǒng)主要分為系統(tǒng)控制模塊、編解碼模塊和網(wǎng)絡傳輸模塊三個部分。
1.3.1 系統(tǒng)控制模塊
系統(tǒng)控制模塊主要負責參數(shù)設置、系統(tǒng)初始化、協(xié)調(diào)各模塊的運行以及進程管理,并通過消息隊列和共享內(nèi)存實現(xiàn)進程間的通信。
1.3.2 編解碼壓縮模塊
該模塊是整個KVMoIP 系統(tǒng)的關鍵。該模塊的功能是調(diào)用TVP7002 驅(qū)動獲取video 數(shù)據(jù),并調(diào)用CodecEngine 對video 數(shù)據(jù)進行相應格式的編碼壓縮,交給網(wǎng)絡傳輸模塊,通過網(wǎng)絡送到客戶端解碼顯示。
視頻數(shù)據(jù)的帶寬高,尤其是1 600×1 200分辨率的UXGA視頻數(shù)據(jù),在16 bpp@60 Hz下更是高達近2 Gb/s的信號傳輸帶寬。對于這么高帶寬的視頻數(shù)據(jù),只有經(jīng)過特定的處理后才能在目前的百兆網(wǎng)絡上實時傳輸?shù)娇蛻舳瞬⑶逦@示圖文信息。為了減少網(wǎng)絡帶寬占用,一方面DSP核要采用適合的壓縮算法,并提高實時性;再者,結(jié)合KVMoIP 遠程控制的特性,編碼壓縮模塊對幀間video數(shù)據(jù)的差異進行比對,只對變化幀的video數(shù)據(jù)才調(diào)用Codec Engine進行編碼壓縮,最后交給網(wǎng)絡傳輸模塊送到遠端。
本模塊幀間比對及壓縮算法的優(yōu)劣直接決定了客戶端視頻還原的質(zhì)量。
1.3.3 網(wǎng)絡傳輸模塊
該模塊主要由TCP/IP協(xié)議棧構(gòu)成。在DM365上建立HTTP的Web服務器,為了保證KVM數(shù)據(jù)在網(wǎng)絡上傳輸?shù)陌踩裕K還內(nèi)置了認證授權機制,以及128位AES加密算法。Web服務器對編碼壓縮后的視頻數(shù)據(jù)進行AES加密,通過TCP/IP,調(diào)用網(wǎng)口驅(qū)動程序發(fā)給客戶端。
客戶端運行Web 瀏覽器,經(jīng)認證后登錄KVMoIP控制器即DM365 的Web 服務端,接收發(fā)來的加密視頻報文,經(jīng)解密及解碼后顯示受控服務器的視頻圖像,管理員輸入、點擊的鍵盤鼠標數(shù)據(jù)形成加密報文,發(fā)給服務端。
服務端收到客戶端的鍵盤鼠標報文后,經(jīng)解密還原為鍵盤鼠標數(shù)據(jù),調(diào)用USB驅(qū)動傳給受控服務器,響應客戶端的操作。
2 結(jié)語
本文設計的基于TMS320DM365的KVMoIP控制器,支持多種視頻格式,包括VGA,SVGA,XGA,SXGA等,最高分辨率可達UXGA(1 600×1 200@16 bpp,60 Hz)。視頻處理與壓縮算法能夠有效利用網(wǎng)絡帶寬,且實時性好,客戶端操作的響應速度快。同時,鑒權機制和數(shù)據(jù)加密能夠保證KVM數(shù)據(jù)在TCP/IP網(wǎng)絡上傳輸?shù)陌踩浴?/P>
本文基于TMS320DM365 的KVMoIP 控制器,其性能參數(shù)及基本功能與目前
評論