杜偉慶
(福州大學(xué)福建省數(shù)字電視工程研究中心,福建 福州 350002)
近年來,隨著數(shù)字衛(wèi)星廣播技術(shù)的飛速發(fā)展以及數(shù)字高清節(jié)目源的日益豐富,多功能高清衛(wèi)星接收機(jī)正在被越來越多的家庭廣泛采用。這類接收機(jī)普遍具有實(shí)時(shí)個(gè)人視頻錄制(Real-PVR)功能,因此都帶有多個(gè)調(diào)諧器(Tuner)。目前在歐洲及中東地區(qū),單個(gè)家庭內(nèi)就可能安裝有多個(gè)衛(wèi)星接收天線和多臺(tái)高清衛(wèi)星接收機(jī)。傳統(tǒng)情況下,為了保證每個(gè)Tuner的接收信號(hào)不互相干擾,接收天線上的低噪聲模塊(Low-Noise Block,LNB)輸出的信號(hào)必須通過獨(dú)立電纜與每個(gè)Tuner相連,這就大大增加了電纜安裝的復(fù)雜程度以及成本。而Unicable技術(shù)僅利用單根同軸電纜傳輸控制信號(hào)和頻段信號(hào),配合Unicable器件,很好地解決了多個(gè)Tuner的信號(hào)連接問題,大大降低了布線的復(fù)雜度與成本。
Unicable技術(shù)最早是由著名衛(wèi)星運(yùn)營(yíng)商SES ASTRA領(lǐng)導(dǎo)的行業(yè)協(xié)會(huì)開發(fā)出來的一種共用總線協(xié)議。它通過單根同軸電纜向多個(gè)用戶終端傳送衛(wèi)星信號(hào),有效地減少了衛(wèi)星接收設(shè)備安裝時(shí)的布線復(fù)雜度[1]。該協(xié)議在2007年3月被正式定為歐洲行業(yè)標(biāo)準(zhǔn)CENELEC EN50494,并在歐美和中東地區(qū)得到廣泛采用。
對(duì)于Ku波段(10.7~12.75 GHz)衛(wèi)星信號(hào)的接收,通常采用Universal LNB先將極其微弱的信號(hào)進(jìn)行低噪聲放大,然后再將高波段/水平極化、高波段/垂直極化、低波段/水平極化和低波段/垂直極化這4類寬帶信號(hào)的頻譜分別搬移到第一中頻(950~2150 MHz)[2]。在傳統(tǒng)情況下,每臺(tái)接收機(jī)是通過獨(dú)立電纜控制Multi-Switch或DiSEqC設(shè)備,從而進(jìn)行4路中頻信號(hào)的選擇性接收[3]。而采用Unicable技術(shù)的設(shè)備則是先將每臺(tái)接收機(jī)所要接收頻點(diǎn)的頻譜搬移到預(yù)先分配的某個(gè)固定中頻(User Band,又稱用戶頻帶),然后通過一個(gè)帶通濾波器產(chǎn)生一路窄帶子信號(hào),最后將每臺(tái)接收機(jī)要接收的窄帶子信號(hào)復(fù)合成一個(gè)頻帶信號(hào)輸出給每臺(tái)接收機(jī)。為了保證各個(gè)窄帶子信號(hào)復(fù)合后不會(huì)互相干擾,分配給每臺(tái)接收機(jī)的固定中頻之間的間隔較大。Unicable設(shè)備頻譜處理示意圖如圖1所示。

圖1 頻譜處理示意圖
Unicable設(shè)備的控制信號(hào)主要由極化控制電壓和DiSEqC控制信號(hào)復(fù)合而成,這樣有助于提高Unicable技術(shù)的開放性和適用范圍。Unicable設(shè)備控制信號(hào)的時(shí)序和數(shù)據(jù)格式如圖2所示。

圖2 信號(hào)時(shí)序與數(shù)據(jù)格式
其中對(duì)于直流電壓信號(hào)的要求:低直流電壓范圍為12.5~14 V,高直流電壓范圍為17~19 V,該電壓與傳統(tǒng)LNB的垂直/水平極化控制電壓范圍一致。電壓建立與撤銷延時(shí)要求分別為:Ta范圍為4~22 ms,Td范圍為2~60 ms。合適的時(shí)延保證Unicable設(shè)備能夠準(zhǔn)確及時(shí)地識(shí)別到總線的占用狀態(tài)[4]。Unicable指令序列采用DiSEqC信號(hào)傳輸方式,疊加在高直流電壓上發(fā)送。普通的Unicable指令采用5 byte編碼格式能有效降低總線占用時(shí)間,從而減小了沖突的風(fēng)險(xiǎn)。而擴(kuò)展的Unicable指令采用6 byte編碼格式,極少用到,因此不在本文討論范圍。對(duì)于上述信號(hào)的時(shí)序和格式,支持DiSEqC設(shè)備的數(shù)字衛(wèi)星接收機(jī)不需要更改硬件,只要通過修改軟件就可滿足要求,因此可以很好地支持Unicable功能。
Unicable設(shè)備控制指令分成標(biāo)準(zhǔn)操作指令和特殊模式指令兩大類[4]。標(biāo)準(zhǔn)操作指令是所有Unicable設(shè)備必須支持的,該類指令主要用于切換接收頻點(diǎn)、選擇用戶頻帶和釋放用戶頻帶,這類指令的命令字段值為0x5A。特殊模式指令為可選指令,并要求所有的Unicable設(shè)備都完全支持這類指令,如Unicable開關(guān)等。這類指令主要用于檢測(cè)Unicable設(shè)備所支持的輸入波段數(shù)和類型、輸出用戶頻帶數(shù)和頻率、采用的本振頻率等,接收機(jī)可用這類型指令對(duì)Unicable設(shè)備參數(shù)進(jìn)行自動(dòng)初始化,這類指令的命令字段值為0x5B。為了最小化總線上的通信總量,圖2所示的Unicalbe指令數(shù)據(jù)格式中幀頭值固定為E0h,這類指令無須應(yīng)答。Unicable設(shè)備可識(shí)別的地址為00h,10h和11h三種,一般默認(rèn)為00h。通過在命令字段和2個(gè)數(shù)據(jù)字段填寫不同的值,可以控制Unicable設(shè)備實(shí)現(xiàn)不同功能,各類指令的命令字段、數(shù)據(jù)字段和功能如表1所示。
輸入波段序號(hào)由接收頻點(diǎn)的頻率值和極化方式計(jì)算得出,用戶頻點(diǎn)序號(hào)則是用戶預(yù)先配置給每臺(tái)接收機(jī)的,每個(gè)序號(hào)所對(duì)應(yīng)的固定中頻間隔較大,目前的Unicable設(shè)備一般支持4或者8個(gè)固定中頻。Signal_ON指令用于在每個(gè)固定中頻頻點(diǎn)同時(shí)產(chǎn)生能量信號(hào),以便接收機(jī)自動(dòng)檢測(cè)固定中頻頻率值;Config指令可用于自動(dòng)檢測(cè)Unicable的輸入波段數(shù)和用戶中頻數(shù);LoFreq指令用于自動(dòng)檢測(cè)Unicable設(shè)備采用的本振頻率,這兩個(gè)指令的子函數(shù)類型分別為0x01和0x02。

表1 Unicable指令與功能表
軟件控制模塊是數(shù)字衛(wèi)星接收機(jī)中實(shí)現(xiàn)Unicable功能的核心,它通過調(diào)用底層硬件的驅(qū)動(dòng)程序產(chǎn)生相應(yīng)的信號(hào)控制Unicable設(shè)備,然后在內(nèi)部實(shí)現(xiàn)Unicable設(shè)備的資源管理、總線通信實(shí)現(xiàn)和沖突處理,最后通過一組簡(jiǎn)單的API(應(yīng)用程序接口)向應(yīng)用層屏蔽了模塊功能實(shí)現(xiàn)的細(xì)節(jié)。軟件控制模塊的結(jié)構(gòu)框圖如圖3所示。

圖3 軟件控制模塊架構(gòu)
軟件控制模塊的設(shè)計(jì)采用分層設(shè)計(jì)的思想。最底層為平臺(tái)接口層,該層抽象了所有軟件控制模塊需要用到的底層接口,包括信號(hào)調(diào)諧、鎖定狀態(tài)獲取、極化電壓控制和DiSEqC指令操作等函數(shù)。良好的底層接口將使得軟件控制模塊更易于在不同平臺(tái)的移植,使得設(shè)計(jì)出來的軟件模塊更具通用性。位于中間的是資源管理層和通信處理層,資源管理層負(fù)責(zé)保存Unicable設(shè)備使用的本振參數(shù)、輸入波段參數(shù)和輸出固定中頻參數(shù)等,并將應(yīng)用層傳下來的頻點(diǎn)調(diào)諧參數(shù)轉(zhuǎn)化成具體的控制指令;通信處理層則負(fù)責(zé)具體控制信號(hào)的邏輯實(shí)現(xiàn)、固定中頻調(diào)諧以及通信沖突的處理。最上層為模塊API層,該層提供了一組簡(jiǎn)單、規(guī)范的接口供應(yīng)用層調(diào)用,這些接口包括Unicable設(shè)備參數(shù)設(shè)置和頻點(diǎn)調(diào)諧等。
接收機(jī)在上電后,必須對(duì)Unicable軟件控制模塊的資源管理層的相關(guān)參數(shù)進(jìn)行初始化。對(duì)于帶Unicable功能的Switch,這些參數(shù)由Flash中的默認(rèn)配置區(qū)讀取或者由用戶從相關(guān)界面中輸入配置。對(duì)于帶Unicable功能的LNB,參數(shù)可由用戶從界面中輸入配置,也可以通過調(diào)用特殊模式指令進(jìn)行自動(dòng)初始化,模塊初始化流程如圖4所示。

圖4 模塊初始化流程
在模塊初始化完成后,就可以對(duì)具體的頻點(diǎn)進(jìn)行調(diào)諧操作,頻點(diǎn)調(diào)諧時(shí)必須根據(jù)目標(biāo)頻點(diǎn)的參數(shù)計(jì)算輸入波段序號(hào)和頻率轉(zhuǎn)換值 (10 bit),同時(shí)計(jì)算因頻率轉(zhuǎn)換值精度有限所帶來實(shí)際的固定中頻誤差,對(duì)實(shí)際設(shè)置到Tuner中的固定中頻做細(xì)微調(diào)整。整個(gè)調(diào)諧操作流程如圖5所示。

圖5 頻點(diǎn)調(diào)諧流程
Unicable設(shè)備采用的是共用總線技術(shù),通過單根同軸電纜連接多臺(tái)接收機(jī),因此總線通信沖突是不可避免的。并且由于通信過程中采用無應(yīng)答類型的DiSEqC指令,所以接收機(jī)必須可以自己檢測(cè)到總線沖突并進(jìn)行異常處理。在當(dāng)前頻點(diǎn)與目標(biāo)頻點(diǎn)的符號(hào)率相近且信號(hào)鎖定的情況下,如果接收機(jī)發(fā)送的Channel_Change指令因總線沖突無法被Unicable設(shè)備識(shí)別,此時(shí)用戶固定頻點(diǎn)輸出的仍然為原來頻點(diǎn)的信號(hào),但接收機(jī)將會(huì)誤判成已調(diào)諧成功且信號(hào)鎖定。本設(shè)計(jì)采用Channel_Change與PowerOFF指令配合使用的沖突檢測(cè)方法和隨機(jī)延時(shí)的處理方法,使得軟件模塊不依賴于平臺(tái)解復(fù)用驅(qū)動(dòng)和解調(diào)器驅(qū)動(dòng),并且有效解決了相近符號(hào)率且不同頻點(diǎn)間的信號(hào)切換誤判問題。具體通信沖突檢測(cè)與異常處理流程如圖6所示。

圖6 通信沖突檢測(cè)與異常處理
當(dāng)前所有的主流接收機(jī)平臺(tái)都是采用C語(yǔ)言開發(fā),因此整個(gè)Unicable軟件控制模塊也都采用標(biāo)準(zhǔn)的C語(yǔ)言進(jìn)行編碼實(shí)現(xiàn),并且運(yùn)用面向?qū)ο蟮乃枷雽?duì)模塊中的數(shù)據(jù)和函數(shù)進(jìn)行封裝,這樣可以使得設(shè)計(jì)出來的軟件模塊更適合移植和重載[5]。面向?qū)ο笾饕w現(xiàn)在對(duì)UNI_CB結(jié)構(gòu)體的設(shè)計(jì)上,結(jié)構(gòu)體主要有成員變量和一系列函數(shù)指針組成,其定義大體如下所示:


在結(jié)構(gòu)體中,數(shù)據(jù)用于存儲(chǔ)當(dāng)前調(diào)諧器所采用的Unicable設(shè)備的資源以及接收頻點(diǎn)等相關(guān)信息。以Module開頭的函數(shù)指針分別指向模塊內(nèi)部各個(gè)流程的實(shí)現(xiàn)函數(shù),這些流程函數(shù)在實(shí)現(xiàn)過程中必須可重載,因?yàn)閷?duì)于不同的UNI_CB元素,這類函數(shù)指針指向的實(shí)際為同一個(gè)函數(shù);以Interface開頭的函數(shù)指針則指向各個(gè)平臺(tái)的接口函數(shù),每個(gè)平臺(tái)的這些接口函數(shù)可能不一樣。對(duì)于具有雙調(diào)諧器的接收機(jī),只要定義兩個(gè)UNI_CB元素,然后在模塊初始化階段根據(jù)各個(gè)調(diào)諧器的配置參數(shù)對(duì)元素進(jìn)行初始化即可。
將實(shí)現(xiàn)后的軟件控制模塊在不同的接收機(jī)平臺(tái) (低端如GX6105、中端如ALI3601等)進(jìn)行移植和調(diào)試,然后分別結(jié)合Unicable LNB(如FRW_LSL_23)和Unicable Switch(如Sam_81KT)進(jìn)行頻點(diǎn) (S或S2)切換和搜臺(tái)的多次驗(yàn)證測(cè)試,測(cè)試方法和結(jié)果歸納如下:
1)單接收機(jī)切換頻點(diǎn)與傳統(tǒng)Universal接收情況對(duì)比,時(shí)間大體一致,用戶無感覺延遲。
2)2臺(tái)接收機(jī)同時(shí)切換頻點(diǎn),用戶無感覺明顯延遲;多臺(tái)接收機(jī)同時(shí)切換頻點(diǎn),有的接收機(jī)略有延遲,延遲基本為1 s內(nèi),最大不超過2 s。
3)2臺(tái)接收機(jī)同時(shí)在同符號(hào)率的頻點(diǎn)間進(jìn)行切換測(cè)試,無鎖定誤判現(xiàn)象出現(xiàn)。
4)3臺(tái)接收機(jī)同時(shí)搜臺(tái),無漏臺(tái)現(xiàn)象出現(xiàn)。相比于傳統(tǒng)模式下,搜臺(tái)時(shí)間延遲并不會(huì)隨搜索頻點(diǎn)總數(shù)線性增大,因?yàn)橥ㄐ艣_突僅在少數(shù)頻點(diǎn)調(diào)諧過程發(fā)生,而不是每個(gè)頻點(diǎn)都發(fā)生。
5)傳統(tǒng)Univeral接收情況下的切臺(tái)和搜臺(tái)不受影響,并且這兩種模式下的高清、標(biāo)清音視頻播放效果也都不受影響,因?yàn)閁nicable的設(shè)備的采用只是改變了接收機(jī)調(diào)諧頻點(diǎn)的方法,并不會(huì)影響到音視頻解碼的解碼工作。
在Unicable工作模式下,調(diào)諧頻點(diǎn)的時(shí)間延遲主要由3個(gè)方面引入:1)發(fā)送Unicable命令所耗費(fèi)的時(shí)間;2)Unicable設(shè)備本身的響應(yīng)時(shí)間;3)總線通信沖突所導(dǎo)致的延遲。前兩者的延遲時(shí)間基本固定,采用本文提出的總線沖突處理方法,可以使得切換頻點(diǎn)時(shí)間延遲降到最低。
隨著Unicable設(shè)備使用范圍的不斷擴(kuò)大,用戶對(duì)于支持Unicable功能的衛(wèi)星接收的需求也越來越大。目前,本文設(shè)計(jì)的易移植Unicable軟件控制模塊已在多種中、高端數(shù)字衛(wèi)星接收機(jī)平臺(tái)以及數(shù)字尋星設(shè)備中移植使用,并且功能的實(shí)現(xiàn)和對(duì)于不同Unicable設(shè)備的兼容性也都得到用戶的充分認(rèn)可。
[1]沈永明.衛(wèi)星接收方案設(shè)計(jì)中的Unicable技術(shù)[J].實(shí)用影音技術(shù),2009(10):27-34.
[2]沈永明.衛(wèi)星電視接收完全DIY[M].北京:人民郵電出版社,2011.
[3] 李春光,劉國(guó)棟.DVB-S中基于STV0299的DiSEqC功能設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2004,25(10):1820-1823.
[4] EN50494,Satellite signal distribution over a single coaxial cable in single dwelling installations[S].2007.
[5]高煥堂.UML+OOPC嵌入式C語(yǔ)言開發(fā)精講[M].北京:電子工業(yè)出版社,2008.