基于E語言的數字電視DVB-H系統數據鏈路層功能驗證研究
第二步,在測試環境中Host driver模塊模擬系統驅動的工作,主要負責和DVB―H傳輸系統的接口交互,包括對系統的中斷響應,寄存器讀寫,接收IP數據包(即從Buffer中讀出數據),同時通過將接收的IP數據包報告給計分板,驗證數據的一致性。DVB―H系統的接口采用PCI僅用于測試需要,實際可以采用各種移動設備流行的接口,包括SDIO,USB2.O等。
第三步,模擬實際環境中的場景,擴展測例,增加覆蓋率,主要包括兩個方面:
第一,在數字電視中,發送端將各種節目信息表(SI/PSI表)和視音頻數據流復用后發送,因此測試激勵不僅要產生DVB―H協議要求的封裝視音頻數據的IP包,還需要插入各種服務信息包,包括NIT(Network Informa―tion Table),INT(IP/MAC Notification Table),PAT(Pro―gram Association Table),PMT(Program Map Table),EIT(Event Information Table),SDT(Service Description Ta―ble),信息表的結構可參照DVB的相關協議。第二,在移動環境中通過DVB―H物理層解調后,誤碼率依然存在,同時還會有丟包的情況發生,測試環境必須模擬該種場景,在數據包中隨機插入錯誤數據,同時產生丟包的情況。
第四步,測試環境中注意合理的插入斷言,不僅可以跟蹤仿真進度,同時利于快速定位錯誤位置,縮短驗證周期。此外為了測試環境利于維護和重用,對所有的參數和寄存器地址變量,用名稱關聯的方式引用。
第五步,用監視器來收集和分析仿真對DVB―H鏈路層模塊的覆蓋情況。根據各種功能點的覆蓋率要求,設定一些觸發事件,觸發事件發生時通過采集相關數據,可以了解驗證的進度,以便及時根據覆蓋率報告修改隨機測試矢量的約束條件,以覆蓋這些驗證中存在的空洞,直到覆蓋率達到要求。此外也可以通過設置斷點,了解功能模塊的工作進度,同時能更好地定位錯誤位置,即時地完善系統功能。
4 驗證結果及分析
DVB―H數據鏈路層功能驗證的參數選擇如表1所示。
測試環境根據上述參數條件,共產生了3個時間片,共計180個IP數據包。在第一個時間片內控制產生6個字節錯誤隨機分布在每個時間片內.的60個IP包中,隨機產生2個TS包丟棄情況,根據記分板測試報告,接收到全部的60個IP數據包并且所有錯誤通過MPE―FEC模塊被糾正。通過修改約束條件,增加誤碼率,在第二個時間片內使每個MPE―FEC幀中13個IP數據包存在錯誤比特,由于誤碼率超過了MPE―FEC模塊的糾錯容限,結果分析,RS糾錯失敗,該時間片內的所有IP包被丟棄。第三個時間片主要增加了服務信息表PAT,PMT,測試系統對TS流解析的能力。對時間參數Delta―T選擇為當前時間分片到下一個時間分片開始的間隔設定100 ms,根據系統時間,每個Section需要根據相對時間偏移,選取不同的Delta―T值插入頭信息中,如果DN為當前時間片的第N個Section的Delta―T值,DN―l為前一個Section的Delta―T值:DN=DN-1一M,其中M為時間偏移量,且第一個Section的D1=10。驗證同時對主要模塊的狀態機,中斷響應,Buffer讀寫,寄存器讀寫作了測試覆蓋率分析,功能驗證的覆蓋率報告如圖6所示,其中MPE―FEC模塊的狀態機(mpe_fec_state),中斷響應(datagram_statrt_int,datagram_finish_int,power_off_int,power_on_int,buffer_int),Buffer讀寫(buffer_rd,buffer_wr),寄存器讀寫(cfg_reg_rd,cfg_reg_wr)功能覆蓋率均為100%,TS流解析模塊狀態機(tsp_state)覆蓋率達到83%。由以上結果分析發現,對于測試激勵,由于產生過程沒有覆蓋所有的服務信息表,主要集中選取PAT、PMT,因此TS流解析對于其他服務信息表的解析功能沒有完全測試,可以通過修改測例,增加各種在DVB―H協議中包括的服務信息表的激勵生成,進一步完善對TS解析功能的測試。在測試過程中,筆者發現TS流解析模塊不僅需要提取包含在MPE Section頭信息中的各種關鍵內容,并輸出控制信號給MPE―FEC糾錯模塊和時間分片模塊,同時還負責將正確接收的IP數據包通過buffer寫入數據存儲器。如果任何解析錯誤都將影響其他模塊的正確工作。在測試中實際TS解析模塊經過一定修改完善,最終對于錯誤TS包和丟包的情況,和其他邊緣情況達到了功能要求。此外,通過后續對DVB―H數據鏈路層的FPCA硬件測試結果證明了基于E語言的功能驗證結果的可靠性和優越性。
5 結 語
該研究通過DVB―H數據鏈路層的基于E語言的驗證環境的構建。利用E語言完成測試環境的編寫,并采用Specman作為功能驗證平臺。針對DVB―H數據鏈路層的協議分析,通過產生符合協議的測試激勵及模擬實際場景的情況,充分驗證了系統的功能,同時通過計分板報告和覆蓋率測試報告,完善了系統的邊緣測試情況。總之,采用E語言的功能驗汪不僅能提高驗證效率,同時調試方便,而且重用性和可擴展性強。
評論