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