基于DSP的DVB流發(fā)射/接收系統(tǒng)
關鍵詞:數(shù)字視頻廣播流;發(fā)射/接收系統(tǒng);數(shù)據(jù)處理;DSP;設計
一、序言
隨著數(shù)字視頻廣播(DVB)技術的發(fā)展,國內(nèi)開展了相關研究,其中真正研制數(shù)字視頻廣播流發(fā)射和接收系統(tǒng)的卻很少。為滿足DVB系統(tǒng)發(fā)射和接收的需要,基于DSP技術研制了可以進行0~8 Mbps的數(shù)字視頻廣播流(DVBS)發(fā)射/接收系統(tǒng),誤碼率低于10-7。?
二、系統(tǒng)框圖及流程
為滿足0~8 Mbps的數(shù)據(jù)處理能力,采用美國TI公司最新DSP處理芯片TMS320VC33-120(以下簡稱VC33)為系統(tǒng)控制及數(shù)據(jù)處理器,美國 Lucent公司E1/T1收發(fā)兩用芯片T7688作為發(fā)射/接收系統(tǒng)E1數(shù)據(jù)接口。E1接口即時分復用TDM方式PCM30/32傳輸,對系統(tǒng)發(fā)送端的時鐘同步有較高要求??[1]。系統(tǒng)在硬件和軟件共同控制下,將輸入數(shù)據(jù)流分割為4個標準的E1接口數(shù)據(jù)。系統(tǒng)總體框圖如圖1所示。
1DVBS發(fā)射系統(tǒng)框圖及流程
首先介紹DVBS發(fā)射系統(tǒng)數(shù)據(jù)流形成過程,如圖2所示。發(fā)射系統(tǒng)接口電路中,為形成標準DVBS,系統(tǒng)將接口電路中接收到的6 Mbps視頻流、384 kbps音頻流、每188字節(jié)包含4字節(jié)的TS包頭以及用戶數(shù)據(jù)復合成傳送流TS。系統(tǒng)在傳輸中每隔40 ms還插入一個程序參考時鐘PCR,相應TS包頭將增加8個字節(jié),插入PCR后系統(tǒng)速率增加為
在實際中,PES分組包頭將會對視頻和音頻數(shù)據(jù)增加約1%,當數(shù)據(jù)送入系統(tǒng)信道之前,數(shù)據(jù)還需經(jīng)過擾碼及糾錯編碼,被分成4路分別送入4個E1接口電路。在圖2中,糾錯編碼選用BCH(511,493)碼,經(jīng)過模2運算可實現(xiàn)糾正2個誤碼。由于糾錯編碼的加入,最后數(shù)據(jù)率增加為
系統(tǒng)在VC33 的控制下將數(shù)據(jù)等分為4, 每路TDM輸出的信號為1.662 Mbps,隨后數(shù)據(jù)在E1接口電路中經(jīng)加入幀同步頭,聯(lián)絡信號及特定的填充字比特后形成標準基群的2.048 Mbps比特流,經(jīng)E1接口電路變換為HDB3碼后直接送出E1接口。發(fā)射系統(tǒng)的具體流程如下:并行DVB流(串行異步DVB數(shù)據(jù)先經(jīng)過串并轉(zhuǎn)換成16位并行數(shù)據(jù))送至發(fā)射緩存1(FIFO1為4 k16 bit),VC33判斷緩存1處于半滿后,從緩存1讀取半滿數(shù)據(jù)量并按照E1格式劃分幀時隙、組幀、添加幀同步頭、復幀同步頭、添加信令等,寫入發(fā)射緩存 2(FIFO2為4k16 bit)。緩存2數(shù)據(jù)經(jīng)過16位并行―1路串行―4位并行變換電路,完成4路2.048 Mbps比特流E1分組,經(jīng)E1接口電路變換為HDB3碼后直接送出E1接口。為避免出現(xiàn)緩存2數(shù)據(jù)被讀空而緩存1未處于半滿的數(shù)據(jù)紊亂情況,我們采用 VC33自動添加特定格式的添加字(在接收通道中必須將添加字檢測并剔除)方法處理。DVBS發(fā)射系統(tǒng)工作原理框圖如圖3所示,DVBS發(fā)射系統(tǒng)實現(xiàn)框圖如圖4所示。
2. DVBS接收系統(tǒng)流程
接收系統(tǒng)是發(fā)射系統(tǒng)的逆過程,其各框圖與發(fā)射系統(tǒng)框圖基本一致(本文略去)。接收系統(tǒng)流程是:接收變壓器接收4 路E1數(shù)據(jù),通過4位并行―1路串行―16位并行電路轉(zhuǎn)換,送至接收緩存1(FIFO1)。當緩存1處于半滿狀態(tài)后,分別通過硬件電路及軟件檢測同步并執(zhí)行接收主程序,完成去幀同步頭、復幀同步頭、信令及添加的特定比特的填充字工作,還原出并行DVB數(shù)據(jù)并送至緩存2(數(shù)據(jù)經(jīng)過16位并行―1路串行轉(zhuǎn)換電路,經(jīng)發(fā)驅(qū)動電路完成串行異步DVB流的合成),完成并行DVB數(shù)據(jù)的接收。?
三、系統(tǒng)硬件實現(xiàn)
1?DSP工作方式的選擇
VC33-120是C3X系列最新產(chǎn)品,指令周期為17 ns,具有32位浮點或24位整數(shù)精度,與其它C3X的DSP不同,其片載存取區(qū)容量明顯得到增加,有34 kbit32存儲區(qū),24 bit地址線可以訪問16 M存儲空間,功耗更小,集成了較大的片內(nèi)存儲區(qū),性價比高,完全可以滿足系統(tǒng)數(shù)據(jù)處理及控制要求[2~4]。
VC33有MCBL(Microcomputer Boot Loader)和MP(Microprocessor)2種工作方式[3]。MP 方式時,位于地址00H~03FH向量表中為中斷和陷阱服務程序入口地址;MCBL方式時,位于809FC1H~809FFFH向量表中為各自中斷和陷阱服務程序的跳轉(zhuǎn)指令。MCBL方式是VC33所特有的,可將用戶程序代碼從主處理器(尤其是EPROM或者別的標準存儲系統(tǒng))引導加載到VC33的 SRAM區(qū)中并執(zhí)行它[3,4]。本系統(tǒng)利用MCBL方式,將程序代碼利用BOOT1_LOADER方式加載到VC33的內(nèi)部SRAM中而不是固化到外部高速EPROM,既實現(xiàn)了系統(tǒng)高速實時處理控制又降低了成本。為滿足運行程序與存儲數(shù)據(jù)的需要,我們擴展了外部存儲區(qū),包括2片64 K16bit SRAM組成64 K32bit片外存儲區(qū)以及128 K16bit的FLASH ROM。
2?數(shù)據(jù)緩存的設計和控制
在系統(tǒng)設計中,數(shù)據(jù)緩存的設計無疑是重要的,為滿足VC33高速處理能力,采用IDT公司FIFO高速緩存器IDT7203-15,利用寬度擴展為4kbit16的數(shù)據(jù)緩存器。對于發(fā)射及接收FIFO分別占用VC33的I/O地址FE0000H和FD0000H,輸入輸出數(shù)據(jù)利用VC33及ALTERA 公司的EPM7064LS84完成并-串-并轉(zhuǎn)換、數(shù)據(jù)緩存的讀、寫信號和復位信號[5,6]。
3.系統(tǒng)并行和串行接口
系統(tǒng)接收或發(fā)送TS 流時,要滿足一定的接口規(guī)范。接口共有3種:同步并行接口、同步串行接口和異步串行接口。在系統(tǒng)的設計中,為接收并行和串行DVB數(shù)據(jù),根據(jù)DVB接口規(guī)范,我們設計了同步傳輸188byte包的并行和串行接收數(shù)據(jù)兩種接口。在發(fā)射通路中,數(shù)據(jù)處理控制部分先將差分信號變?yōu)椴粴w零(NRZ)碼,經(jīng)過 VC33的處理后,完成數(shù)據(jù)的PCM30/32格式處理及4路E1分組,經(jīng)過E1接口的發(fā)射。接收系統(tǒng)設計與發(fā)射系統(tǒng)基本類似,此處略去。
4E1接口設計
T7688是具有4路發(fā)射和接收功能的E1接口芯片,主要特性有:具有接收、驅(qū)動、均衡、時鐘/數(shù)據(jù)恢復、抖動衰減功能;具有能提高靈敏度的片內(nèi)發(fā)射均衡器;可供選擇的發(fā)射或接收抖動衰減器;自動發(fā)射監(jiān)視系統(tǒng)[7]。
在實際電路設計中,我們根據(jù)微處理器接口特點采取了較為靈活的設計。根據(jù)系統(tǒng)設計要求,我們將T7688 的MPMODE和MPMUX管腳接地,T7688工作在模式1并且地址和數(shù)據(jù)總線非復用。在微處理器接口各控制寄存器的設置中,為允許每個信道響應警報并產(chǎn)生中斷,對寄存器2和3的各通道的信號損失警報屏蔽位無效;寄存器4的軟件復位被禁止,每個信道的發(fā)射驅(qū)動器的TTIP和TRING 在復位后有效;為利用接收通道的抖動衰減功能,設置T7688寄存器5工作在單路模式下,時鐘/數(shù)據(jù)恢復功能使能,在發(fā)射(接收)通道HDB3零替換編碼(解碼)使能;由于外圍電路采用數(shù)字傳輸變壓器T1010,初次級匝數(shù)比為1:1.36并使用75 Ω同軸電纜,所以寄存器6~9是設計方式選擇方式2,并將均衡器設置為101格式;寄存器10~15,在系統(tǒng)初始化時按要求置為零。
在設計中,我們還注意到:寄存器4 在初始化時必須第一個被初始化;由于T7688只有一個抖動衰減器,所以只能在發(fā)射或接收通道中使用,若同時選擇JAT和JAR,抖動衰減器將被禁止;從 T7688的讀寫時序可以看出有5個時鐘周期的延時,所以在VC33的初始化中必須對VC33的主總線初始化進行相應設置。?
四、系統(tǒng)的軟件實現(xiàn)
本系統(tǒng)為收發(fā)兩用系統(tǒng),整個系統(tǒng)必須在VC33的控制下,響應不同處理程序。
發(fā)射功能由系統(tǒng)控制處理電路VC33 的中斷0和中斷2程序完成,當前端數(shù)據(jù)緩存1達到半滿狀態(tài)時由硬件產(chǎn)生中斷2信號并響應中斷2程序,完成E1接口格式的幀同步頭、復幀同步頭、信令添加工作;為避免前端數(shù)據(jù)被讀空而出現(xiàn)數(shù)據(jù)紊亂的情況,在前端數(shù)據(jù)緩存2被讀空時產(chǎn)生中斷0信號,隨即系統(tǒng)立即響應中斷0程序(優(yōu)先級僅次于系統(tǒng)復位信號),完成添加特定格式的填充字工作,在第0或第16時隙時就調(diào)用相應的添加幀同步頭、復幀同步頭、信令的子程序,如此反復。有關發(fā)射系統(tǒng)中斷0和中斷2以及添加同步頭、信令等軟件流程略。
接收功能則由系統(tǒng)主程序完成,流程如圖5所示。系統(tǒng)首先執(zhí)行VC33 、T7688各狀態(tài)寄存器初始化,在系統(tǒng)硬件電路檢測到幀同步頭后,接收主程序必須在軟件上也保證檢測到四路E1接口的同一個幀同步頭,這樣在硬件和軟件雙重保證下,完成E1接口數(shù)據(jù)的接收并正確恢復DVB流數(shù)據(jù)。?
?
最后,我們根據(jù)VC33內(nèi)部結(jié)構(gòu),采用宏指令編程,添加幀同步頭等固定格式的子程序、根據(jù)數(shù)據(jù)量的大小執(zhí)行塊循環(huán)等方法;為提高程序的執(zhí)行速度,還在避免流水線沖突、減少判斷指令、解決數(shù)據(jù)處理速度瓶頸等方面進行了研究,完成軟件優(yōu)化編程,既減少了規(guī)模,又提高了處理效率[8,9]。?
五、結(jié)論與展望
數(shù)字視頻廣播發(fā)射/接收系統(tǒng)是數(shù)字視頻廣播系統(tǒng)重要組成部分,該系統(tǒng)能實時接收/發(fā)射0~8 Mbps的DVB流,充分證明設計思想的可行性。此外,為便于今后提高系統(tǒng)性能,我們在硬件電路中實際設計了8路E1接口,利用編程邏輯器件實現(xiàn)相應外圍數(shù)據(jù)轉(zhuǎn)換電路,擴展為0~16Mbps的發(fā)射/接收系統(tǒng)。?
參考文獻
[1]雷志剛,錢亞生?現(xiàn)代通信原理[M].北京:清華大學出版社,1992.
[2]TMS320VC3X User's Guide[Z]. Texas Instruments,1997.
[3]TMS320VC33 Digital Signal Processor[Z].2002?
[4]TMS320C3X,General Purpose Application User's Guide[Z]. Texas Instruments,1998.
[5]王念旭?DSP基礎與應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,2001.
[6]黃正謹,徐堅,章小麗.CPLD系統(tǒng)設計技術入門與應用[M].北京:電子工業(yè)出版社,2002?
[7]T7688 5.0V E1/CEPT Quad Line Transceiver Data sheet[Z]. Lucent Technologies Inc., December 1996.
[8]TMS320C3X Floating-Point DSP Assembly Language Tools Guide[Z].Texas Instruments,1994.
[9]TMS320C3X Floating-Point DSP Optimizating C Compiler User's Guide[Z].Texas Instruments,1994.
評論