摘 要:隨著數(shù)字電視的迅速發(fā)展和移動多媒體設(shè)備——手機(jī),PDA等的普及,新的技術(shù)被發(fā)展并應(yīng)用于手持設(shè)備數(shù)字電視的接收,DVB-H手機(jī)電視標(biāo)準(zhǔn)提供了很好的手機(jī)電視接收解決方案。該標(biāo)準(zhǔn)是DVB-T的擴(kuò)展應(yīng)用,在數(shù)據(jù)鏈路層實現(xiàn)了時間分片、多協(xié)議封裝和前向糾錯功能,從而降低了平均功耗,增強(qiáng)了移動接收的魯棒性。提出了基于E語言的DVB-H系統(tǒng)數(shù)據(jù)鏈路層的功能驗證環(huán)境,并給出了具體驗證步驟和結(jié)果分析,最后通過驗證分析完善和改進(jìn)了DVB-H數(shù)據(jù)鏈路層系統(tǒng)功能,此外對基于E語言的驗證方法進(jìn)行了一定的研究。
關(guān)鍵詞:DVB-H;數(shù)字電視;E語言;功能驗證
中圖分類號:TN41,TP33 文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2008)11-069-04
Function Verification Research Based on E Language for DVB-H Link Layer
LUO Xi
(Embedded System Key Lab,Beijing University of Technology,Beijing,100022,China)
Abstract:With the rapid development of digital television and mobile equipment,new technology has been proposed to receive broadcasting television program on the handheld devices,such as PDA and mobile phone.DVB-H standard which isan extended implement of DVB-T(Terrestrial Digital Video Broadcasting)that adds time-slicing and MPE-FEC (forward error correction for multi-protocol encapsulated data) in the link layer.As a preferable approach,it provides robust reception and effectively reduces the average power consumption.This paper focuses on building verification environment for DVB-H link layer based on E language,and offers detail steps and resulting report.As a result,the entire system function has been improved and enhanced through exhaustive verification.Furthermore,this paper also does some research on the function verification based on E language.
Keywords:DVB-H;digital TV;E language;function verification
1 引 言
歐洲無線通信標(biāo)準(zhǔn)組織(ETSI)在2004年10月發(fā)布了數(shù)字電視手機(jī)標(biāo)準(zhǔn)——DVB-H (Digital Video Broadcasting for Handheld Terminals)。該標(biāo)準(zhǔn)是地面數(shù)字電視標(biāo)準(zhǔn)DVB-T的擴(kuò)展應(yīng)用,能夠在移動環(huán)境下為便攜式或手持終端提供高品質(zhì)和可靠的多媒體服務(wù)。DVB-H傳輸系統(tǒng)除了物理層基于DVB-T(Terrestrial Digital Video Broadcasting)系統(tǒng)之外,在數(shù)據(jù)鏈路層增加了時間分片技術(shù)(Time-slicing)和多協(xié)議封裝和前向糾錯(MPE-FEC)功能,從而極大地節(jié)省了手機(jī)功耗并提供了更好的移動接收魯棒性。本文針對DVB-H的系統(tǒng)的特點(diǎn),選擇基于E語言搭建驗證環(huán)境來驗證數(shù)據(jù)鏈路層的功能,同時通過驗證測試對該驗證方法進(jìn)行了一定的研究。
2 DVB-H數(shù)字電視傳輸系統(tǒng)數(shù)據(jù)鏈路層
DVB-H系統(tǒng)包括兩個主要的部分:物理層和數(shù)據(jù)鏈路層。圖1描述了DVB-H接收系統(tǒng)概念上的基本結(jié)構(gòu)。接收端的DVB-T解調(diào)器通過RF接收DVB-H模擬信號,經(jīng)過解調(diào)后的TS流傳輸?shù)綌?shù)據(jù)鏈路層,鏈路層通過解封裝和前向糾錯得到正確的IP包,并且連同其他TS服務(wù)信息包輸出到終端。同時,數(shù)據(jù)鏈路層通過時間參數(shù)控制工作模式的開關(guān)狀態(tài),降低接收系統(tǒng)的平均功耗。
圖1 DVB-H接收端系統(tǒng)示意框圖
物理層
在DVB-T的基礎(chǔ)上進(jìn)行了補(bǔ)充,增加了4k傳輸模式和深度符號交織,在傳輸參數(shù)信令(TPS)比特中增加了DVB-H專有信令比特,用于支持DVB-H業(yè)務(wù)發(fā)展。在TPS中蜂窩標(biāo)識指示用于支持移動接收時的快速信號掃描和頻率交換。增加4k模式可以適應(yīng)移動接收特性和單頻網(wǎng)蜂窩的大小,提高網(wǎng)絡(luò)設(shè)計、規(guī)劃的靈活性。2k和4k模式進(jìn)行深度符號交織,以進(jìn)一步提高在移動環(huán)境和沖擊噪聲環(huán)境下系統(tǒng)的魯棒性[1]。
數(shù)據(jù)鏈路層 主要包括時間分片技術(shù)和MPE- FEC(多協(xié)議封裝-前向糾錯)。
時間分片技術(shù):由于DVB-H系統(tǒng)的發(fā)送端采用突發(fā)式數(shù)據(jù)傳送,在每個突發(fā)時間內(nèi)集中的發(fā)送DVB-H數(shù)據(jù)流業(yè)務(wù),并且該業(yè)務(wù)獨(dú)占全部帶寬。在兩個時間片之間沒有所選的DVB-H數(shù)據(jù)流傳輸,在這段時間,為了提高系統(tǒng)的兼容性,其他數(shù)據(jù)流,例如DVB-T數(shù)據(jù)流業(yè)務(wù)可以以非時間分片的方式傳輸。接收端在所選業(yè)務(wù)所在的時間片接收信息,在兩個時間片之間作節(jié)能處理,從而有效地降低接收端平均功耗。此外,在業(yè)務(wù)傳送時間片內(nèi),系統(tǒng)可以從經(jīng)過多協(xié)議封裝的TS碼流中提取時間參數(shù)信息,計為Delta-T時間,這個相對時間指出了當(dāng)前業(yè)務(wù)分片到下一個具有相同業(yè)務(wù)的時間片到來的相對時間。因此,系統(tǒng)可以根據(jù)該參數(shù)在下一個時間片到來時從節(jié)能狀態(tài)轉(zhuǎn)換到工作狀態(tài)。圖2表示了時間分片技術(shù)的工作原理。
圖2 DVB-H時間分片技術(shù)示意圖
MPE-FEC:DVB-H標(biāo)準(zhǔn)在數(shù)據(jù)鏈路層為IP包增加了RS(Reed-Solomon)糾錯編碼,作為MPE的前向糾錯編碼,校驗信息將在指定的FEC段中傳送,稱為MPE-FEC。如圖3所示MPE-FEC表的格式,左邊191列是應(yīng)用數(shù)據(jù)部分,右邊為RS數(shù)據(jù)校驗部分。幀的行數(shù)是可變參數(shù),最大行數(shù)為1 024。DVB-H系統(tǒng)發(fā)送端把音視頻的數(shù)據(jù)封裝成IP包的格式,這些IP包依次按列被填充到MPE-FEC表的左邊191列,如未填滿,以0填充剩余的部分。然后按行通過RS(255,191)編碼得到右邊64列的奇偶校驗數(shù)據(jù)。
圖3 MPE-FEC幀表結(jié)構(gòu)示意圖
每一個IP包將在MPE Section 中發(fā)送,RS數(shù)據(jù)將緊跟在最后一個MPE Section后,通過MPE-FEC Section 傳送,所有的MPE 和MPE-FEC Section 都有12 B的頭部信息,和數(shù)據(jù)負(fù)載部分(IP數(shù)據(jù)或RS數(shù)據(jù)),在最后有4 B的CRC32校驗數(shù)據(jù)。其中在頭信息中有4 B的時間參數(shù)域,包括12個比特的開始地址,該地址表明了每個IP包或RS數(shù)據(jù)開始數(shù)據(jù)在MPE-FEC表中的位置,18 個比特的Delta-T 時間參數(shù),以及1個比特的標(biāo)志位表示最后一個IP包所在的Section和最后整個幀的結(jié)束,通常是最后一個MPE-FEC Section。所有的Section 將被拆分為184 B作為TS包的有效負(fù)載部分,特殊情況是當(dāng)作為Section的第一個TS包,將加上一個點(diǎn)(point)字節(jié),該字節(jié)指名Section的第一個字節(jié)在TS包中的位置,然后加上183 B作為TS包的有效負(fù)載部分,并加上TS包的4 B的頭信息,通過復(fù)用后發(fā)送到信道中傳輸,如圖4所示。
圖4 IP數(shù)據(jù)包封裝入MPE Section再拆分成TS碼流
接收端將在所選的業(yè)務(wù)的時間片內(nèi),從復(fù)用的TS碼流中得到所有的Section,通過計算Section的CRC32和接收數(shù)據(jù)的CRC32對比,如果一致,表明該IP包正確接收,反之,該IP數(shù)據(jù)包將整個被丟掉,并且按照頭部信息中的開始地址域,將正確的IP包保存在MPE-FEC數(shù)據(jù)表中,沒有正確接收的IP包,將不出現(xiàn)在表中,且相應(yīng)位置將被標(biāo)記為不可靠位,然后通過RS(255,191)解碼,得到所有的正確的IP包。這種RS糾錯方法稱為擦除表RS糾錯,最大糾錯能力每行可達(dá)到兩倍的錯誤字節(jié)數(shù),即64 B。如果每行的不可靠字節(jié)數(shù)超過這個最大限制,RS糾錯將失敗,MPE-FEC的整個幀將被丟棄。
3 基于E語言的DVB-H系統(tǒng)驗證環(huán)境的構(gòu)建
目前的IC設(shè)計中,由于SoC(System on Chip)設(shè)計的日益復(fù)雜化以及芯片規(guī)模的日益擴(kuò)大,系統(tǒng)級驗證成為最具挑戰(zhàn)的環(huán)節(jié),據(jù)估計從系統(tǒng)結(jié)構(gòu)設(shè)計,子模塊設(shè)計,子模塊驗證,系統(tǒng)級驗證到FPGA測試,到最終的IC的投產(chǎn),60% ~ 70%的時間會花費(fèi)在功能驗證方面。選擇高性能的驗證工具將極大地縮短驗證時間,從而降低設(shè)計的開發(fā)周期。當(dāng)前的EDA行業(yè)最推崇的主要是System C 和E 兩種驗證語言。其中E語言是Verisity 公司開發(fā)的專用于其Specman驗證工具上的一種面向?qū)ο蟮尿炞C語言。用E語言來搭建系統(tǒng)測試環(huán)境有很多優(yōu)點(diǎn):自動生成基于約束條件的測試矢量,通過描述約束條件產(chǎn)生驗證計劃中期望的驗證場景,能夠根據(jù)DUV(Design Under Verification)當(dāng)前的狀態(tài)動態(tài)地產(chǎn)生測試場景,這樣便有可能產(chǎn)生一些很難碰到的邊緣案例;自動完成數(shù)據(jù)和時序的檢查;自動進(jìn)行功能覆蓋率的分析找出漏洞;提供所有主流的Verilog和VHDL仿真器接口;此外擴(kuò)展性強(qiáng),可以在分開的測試文件中修改若干數(shù)據(jù)對象,這些測試文件在分層的基礎(chǔ)驗證環(huán)境中處于頂部,這種擴(kuò)展特性允許不犧牲模塊化或可讀性的同時更好地迎合系統(tǒng)和測試說明的要求[4]。此外在本文的第二部分的分析中,DVB-H數(shù)據(jù)鏈路層的功能主要基于一系列的協(xié)議層,E語言可以通過簡單的描述實現(xiàn)各種復(fù)雜協(xié)議測試激勵的生成,十分符合DVB-H系統(tǒng)功能驗證要求。
3.1 構(gòu)建DVB-H驗證環(huán)境
基于E語言的DVB-H驗證環(huán)境如圖5所示,dvbhenv 是用E語言搭建的驗證環(huán)境,dvbhdut作為DVB-H系統(tǒng)數(shù)據(jù)鏈路層的系統(tǒng)模型被例化到驗證環(huán)境中。由于DVB-H數(shù)據(jù)鏈路層要處理各種符合協(xié)議要求的TS包,同時負(fù)責(zé)對錯包和丟包情況作糾錯處理,并需要管理時間分片從而有效地將低功耗,因此對這些事務(wù)處理過程的驗證離不開各種復(fù)雜測試激勵的生成,然而傳統(tǒng)的手工編寫的激勵很難覆蓋到各種場景,采用E語言的驗證平臺通過在滿足約束的條件下,隨機(jī)自動生成測試矢量,達(dá)到了高效的驗證需要。同時和傳統(tǒng)的手工編寫測試激勵的相比,E語言中有各種函數(shù)可供利用,可以方便地實現(xiàn)各種算法,例如:各種協(xié)議包中都有CRC32校驗字節(jié),調(diào)用E語言CRC32()函數(shù)就可以實現(xiàn)。此外,各種協(xié)議包都有固定的結(jié)構(gòu),通過E語言中的struct可以構(gòu)建各種協(xié)議包,并在產(chǎn)生協(xié)議包的過程中可以對結(jié)構(gòu)中的域值重新指定或者限定范圍,也可以通過定義不符合協(xié)議要求的包及有錯誤值的包來達(dá)到驗證系統(tǒng)魯棒性的要求。擴(kuò)展性強(qiáng)的優(yōu)點(diǎn)可以節(jié)省編寫各種測例的時間,E語言很類似于HDL語言編寫的系統(tǒng),在一個系統(tǒng)頂層模塊中有各種例化的子模塊組成,E語言的這些子模塊為unit,可以通過extend uinitname {}方式在不改變基本結(jié)構(gòu)基礎(chǔ)上的對子模塊作擴(kuò)展,也可以覆蓋原有的內(nèi)容重新定義。E語言驗證環(huán)境也提供了數(shù)據(jù)一致性檢查的機(jī)制,稱為記分板方法。具體是通過將原始測試激勵與從系統(tǒng)輸出的數(shù)據(jù)作比較,提供報告驗證系統(tǒng)的功能。在DVB-H鏈路層系統(tǒng)中,RS糾錯模塊對收到的IP包做糾錯處理,因此記分板方法可以很好的驗證數(shù)據(jù)糾錯功能。
3.2 驗證步驟及代碼具體實現(xiàn)
驗證環(huán)境搭建完成后,就可以將DVB-H接收系統(tǒng)的鏈路層例化到功能驗證環(huán)境中進(jìn)行驗證。以下各步需要通過E語言來完成。
第一步,驗證環(huán)境需要產(chǎn)生符合DVB-H標(biāo)準(zhǔn)的TS流,碼流的基本結(jié)構(gòu)如圖4所示。在Host ref 模塊中產(chǎn)生IP數(shù)據(jù)包并記錄到計分板,為數(shù)據(jù)檢查提供參考數(shù)據(jù)。然后在MPE-FEC handle模塊,產(chǎn)生RS編碼數(shù)據(jù),并封裝成Section格式,隨后在時間分片模塊中在MPE Section的頭信息的相應(yīng)位中插入時間分片信息,由TSgen模塊打包成TS流的格式通過BBdriver將測試激勵輸入已例化到測試環(huán)境中的DVB-H鏈路層系統(tǒng)。以上部分的工作實際上是模擬數(shù)字電視發(fā)送端的工作,產(chǎn)生符合協(xié)議要求的傳輸包。
圖5 DVB-H 驗證環(huán)境
第二步,在測試環(huán)境中Host driver模塊模擬系統(tǒng)驅(qū)動的工作,主要負(fù)責(zé)和DVB-H傳輸系統(tǒng)的接口交互,包括對系統(tǒng)的中斷響應(yīng),寄存器讀寫,接收IP數(shù)據(jù)包(即從Buffer中讀出數(shù)據(jù)),同時通過將接收的IP數(shù)據(jù)包報告給計分板,驗證數(shù)據(jù)的一致性。DVB-H系統(tǒng)的接口采用PCI僅用于測試需要,實際可以采用各種移動設(shè)備流行的接口,包括SDIO,USB2.0等。
第三步,模擬實際環(huán)境中的場景,擴(kuò)展測例,增加覆蓋率,主要包括兩個方面:
第一,在數(shù)字電視中,發(fā)送端將各種節(jié)目信息表(SI/PSI表)和視音頻數(shù)據(jù)流復(fù)用后發(fā)送,因此測試激勵不僅要產(chǎn)生DVB-H協(xié)議要求的封裝視音頻數(shù)據(jù)的IP包,還需要插入各種服務(wù)信息包,包括NIT(Network Information Table),INT(IP/MAC Notification Table),PAT(Program Association Table),PMT(Program Map Table),EIT(Event Information Table),SDT(Service Description Table),信息表的結(jié)構(gòu)可參照DVB的相關(guān)協(xié)議。第二,在移動環(huán)境中通過DVB-H物理層解調(diào)后,誤碼率依然存在,同時還會有丟包的情況發(fā)生,測試環(huán)境必須模擬該種場景,在數(shù)據(jù)包中隨機(jī)插入錯誤數(shù)據(jù),同時產(chǎn)生丟包的情況。
第四步,測試環(huán)境中注意合理的插入斷言,不僅可以跟蹤仿真進(jìn)度,同時利于快速定位錯誤位置,縮短驗證周期。此外為了測試環(huán)境利于維護(hù)和重用,對所有的參數(shù)和寄存器地址變量,用名稱關(guān)聯(lián)的方式引用。
第五步,用監(jiān)視器來收集和分析仿真對DVB-H鏈路層模塊的覆蓋情況。根據(jù)各種功能點(diǎn)的覆蓋率要求,設(shè)定一些觸發(fā)事件,觸發(fā)事件發(fā)生時通過采集相關(guān)數(shù)據(jù),可以了解驗證的進(jìn)度,以便及時根據(jù)覆蓋率報告修改隨機(jī)測試矢量的約束條件,以覆蓋這些驗證中存在的空洞,直到覆蓋率達(dá)到要求。此外也可以通過設(shè)置斷點(diǎn),了解功能模塊的工作進(jìn)度,同時能更好地定位錯誤位置,即時地完善系統(tǒng)功能。
4 驗證結(jié)果及分析
DVB-H數(shù)據(jù)鏈路層功能驗證的參數(shù)選擇如表1所示。
測試環(huán)境根據(jù)上述參數(shù)條件,共產(chǎn)生了3個時間片,共計180個IP數(shù)據(jù)包,在第一個時間片內(nèi)控制產(chǎn)生6個字節(jié)錯誤隨機(jī)分布在每個時間片內(nèi)的60個IP包中,隨機(jī)產(chǎn)生2個TS包丟棄情況,根據(jù)記分板測試報告,接收到全部的60個IP數(shù)據(jù)包并且所有錯誤通過MPE-FEC模塊被糾正。通過修改約束條件,增加誤碼率,在第二個時間片內(nèi)使每個MPE-FEC幀中13個IP數(shù)據(jù)包存在錯誤比特,由于誤碼率超過了MPE-FEC模塊的糾錯容限,結(jié)果分析,RS糾錯失敗,該時間片內(nèi)的所有IP包被丟棄。第三個時間片主要增加了服務(wù)信息表PAT,PMT,測試系統(tǒng)對TS流解析的能力。對時間參數(shù)Delta-T選擇為當(dāng)前時間分片到下一個時間分片開始的間隔設(shè)定100 ms,根據(jù)系統(tǒng)時間,每個Section需要根據(jù)相對時間偏移,選取不同的Delta-T值插入頭信息中,如果DN為當(dāng)前時間片的第N個Section的Delta-T值,DN-1為前一個Section的Delta-T值:DN = DN-1 -M,其中M為時間偏移量,且第一個Section的D1= 10。驗證同時對主要模塊的狀態(tài)機(jī),中斷響應(yīng),Buffer讀寫,寄存器讀寫作了測試覆蓋率分析,功能驗證的覆蓋率報告如圖6所示,其中MPE-FEC模塊的狀態(tài)機(jī)(mpefecstate),中斷響應(yīng)(datagramstatrtint,datagramfinishint,poweroffint,poweronint,bufferint),Buffer讀寫(bufferrd,bufferwr),寄存器讀寫(cfgregrd,cfgregwr) 功能覆蓋率均為100%,TS流解析模塊狀態(tài)機(jī)(tspstate) 覆蓋率達(dá)到83%。由以上結(jié)果分析發(fā)現(xiàn),對于測試激勵,由于產(chǎn)生過程沒有覆蓋所有的服務(wù)信息表,主要集中選取PAT、PMT,因此TS流解析對于其他服務(wù)信息表的解析功能沒[CM(21*2]有完全測試,可以通過修改測例,增加各種在DVB-H協(xié)[CM)]
議中包括的服務(wù)信息表的激勵生成,進(jìn)一步完善對TS解析功能的測試。在測試過程中,筆者發(fā)現(xiàn)TS流解析模塊不僅需要提取包含在MPE Section頭信息中的各種關(guān)鍵內(nèi)容,并輸出控制信號給MPE-FEC糾錯模塊和時間分片模塊,同時還負(fù)責(zé)將正確接收的IP數(shù)據(jù)包通過buffer寫入數(shù)據(jù)存儲器。如果任何解析錯誤都將影響其他模塊的正確工作。在測試中實際TS解析模塊經(jīng)過一定修改完善,最終對于錯誤TS包和丟包的情況,和其他邊緣情況達(dá)到了功能要求。此外,通過后續(xù)對DVB-H數(shù)據(jù)鏈路層的FPGA硬件測試結(jié)果證明了基于E語言的功能驗證結(jié)果的可靠性和優(yōu)越性。
圖6 DVB-H 功能驗證覆蓋率報告
5 結(jié) 語
該研究通過DVB-H數(shù)據(jù)鏈路層的基于E語言的驗證環(huán)境的構(gòu)建。利用E語言完成測試環(huán)境的編寫,并采用Specman作為功能驗證平臺。針對DVB-H數(shù)據(jù)鏈路層的協(xié)議分析,通過產(chǎn)生符合協(xié)議的測試激勵及模擬實際場景的情況,充分驗證了系統(tǒng)的功能,同時通過計分板報告和覆蓋率測試報告,完善了系統(tǒng)的邊緣測試情況。總之,采用E語言的功能驗證不僅能提高驗證效率,同時調(diào)試方便,而且重用性和可擴(kuò)展性強(qiáng)。
參 考 文 獻(xiàn)
[1]Digital Video Broadcasting (DVB);Transmission System for Handheld Terminals (DVB-H),ETSI EN 302 304 V1.1.1 (2004-11),European Telecommunications Standards Institute.
[2]Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB Systems,ETSI EN 300 468 V1.6.1 (2004-11),European Telecommunications Standards Institute.
[3]Eerenberg O,Koppelaar A,Stuivenwold A M,et al.IP-recovery in the DVB-H Link Layer for TV on Mobile\\[J\\].Proceedings of ICCE,2006:411-412.
[4]須自明,劉戰(zhàn),王國章,等.各種驗證技術(shù)在SoC設(shè)計中的應(yīng)用\\[J\\].微機(jī)算機(jī)信息,2006(Z1):120-121,142.
[5]金娟,羅春.基于E 語言的外部存儲器接口的功能驗證\\[J\\].電子電氣教學(xué)學(xué)報,2006,28(1):67-69,103.
作者簡介 羅 茜 女,1982年出生,北京工業(yè)大學(xué)嵌入式系統(tǒng)重點(diǎn)實驗室研究生。主要從事嵌入式系統(tǒng)硬件設(shè)計及系統(tǒng)驗證以及數(shù)字電視接收系統(tǒng)的研發(fā)。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。