<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的DVB流發(fā)射/接收系統(tǒng)

          基于DSP的DVB流發(fā)射/接收系統(tǒng)

          作者: 時(shí)間:2007-06-12 來源:網(wǎng)絡(luò) 收藏
          摘 要:研究了數(shù)字視頻廣播流的/技術(shù)實(shí)現(xiàn)了0~8 Mbps的流的,誤碼率低于10-7,詳細(xì)介紹了/數(shù)據(jù)處理原理,探討了相關(guān)系統(tǒng)硬件設(shè)計(jì)和軟件實(shí)現(xiàn)問題。
          關(guān)鍵詞:數(shù)字視頻廣播流;發(fā)射/接收系統(tǒng);數(shù)據(jù)處理;;設(shè)計(jì)

          一、序言
            
          隨著數(shù)字視頻廣播()技術(shù)的發(fā)展,國(guó)內(nèi)開展了相關(guān)研究,其中真正研制數(shù)字視頻廣播流發(fā)射和接收系統(tǒng)的卻很少。為滿足系統(tǒng)發(fā)射和接收的需要,技術(shù)研制了可以進(jìn)行0~8 Mbps的數(shù)字視頻廣播流(DVBS)發(fā)射/接收系統(tǒng),誤碼率低于10-7。?

          二、系統(tǒng)框圖及流程
            為滿足0~8 Mbps的數(shù)據(jù)處理能力,采用美國(guó)TI公司最新DSP處理芯片TMS320VC33-120(以下簡(jiǎn)稱VC33)為系統(tǒng)控制及數(shù)據(jù)處理器,美國(guó) Lucent公司E1/T1收發(fā)兩用芯片T7688作為發(fā)射/接收系統(tǒng)E1數(shù)據(jù)接口。E1接口即時(shí)分復(fù)用TDM方式PCM30/32傳輸,對(duì)系統(tǒng)發(fā)送端的時(shí)鐘同步有較高要求??[1]。系統(tǒng)在硬件和軟件共同控制下,將輸入數(shù)據(jù)流分割為4個(gè)標(biāo)準(zhǔn)的E1接口數(shù)據(jù)。系統(tǒng)總體框圖如圖1所示。

          1DVBS發(fā)射系統(tǒng)框圖及流程

            
          首先介紹DVBS發(fā)射系統(tǒng)數(shù)據(jù)流形成過程,如圖2所示。發(fā)射系統(tǒng)接口電路中,為形成標(biāo)準(zhǔn)DVBS,系統(tǒng)將接口電路中接收到的6 Mbps視頻流、384 kbps音頻流、每188字節(jié)包含4字節(jié)的TS包頭以及用戶數(shù)據(jù)復(fù)合成傳送流TS。系統(tǒng)在傳輸中每隔40 ms還插入一個(gè)程序參考時(shí)鐘PCR,相應(yīng)TS包頭將增加8個(gè)字節(jié),插入PCR后系統(tǒng)速率增加為
            

            在實(shí)際中,PES分組包頭將會(huì)對(duì)視頻和音頻數(shù)據(jù)增加約1%,當(dāng)數(shù)據(jù)送入系統(tǒng)信道之前,數(shù)據(jù)還需經(jīng)過擾碼及糾錯(cuò)編碼,被分成4路分別送入4個(gè)E1接口電路。在圖2中,糾錯(cuò)編碼選用BCH(511,493)碼,經(jīng)過模2運(yùn)算可實(shí)現(xiàn)糾正2個(gè)誤碼。由于糾錯(cuò)編碼的加入,最后數(shù)據(jù)率增加為
           

            系統(tǒng)在VC33 的控制下將數(shù)據(jù)等分為4, 每路TDM輸出的信號(hào)為1.662 Mbps,隨后數(shù)據(jù)在E1接口電路中經(jīng)加入幀同步頭,聯(lián)絡(luò)信號(hào)及特定的填充字比特后形成標(biāo)準(zhǔ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格式劃分幀時(shí)隙、組幀、添加幀同步頭、復(fù)幀同步頭、添加信令等,寫入發(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自動(dòng)添加特定格式的添加字(在接收通道中必須將添加字檢測(cè)并剔除)方法處理。DVBS發(fā)射系統(tǒng)工作原理框圖如圖3所示,DVBS發(fā)射系統(tǒng)實(shí)現(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)。當(dāng)緩存1處于半滿狀態(tài)后,分別通過硬件電路及軟件檢測(cè)同步并執(zhí)行接收主程序,完成去幀同步頭、復(fù)幀同步頭、信令及添加的特定比特的填充字工作,還原出并行DVB數(shù)據(jù)并送至緩存2(數(shù)據(jù)經(jīng)過16位并行―1路串行轉(zhuǎn)換電路,經(jīng)發(fā)驅(qū)動(dòng)電路完成串行異步DVB流的合成),完成并行DVB數(shù)據(jù)的接收。?

          三、系統(tǒng)硬件實(shí)現(xiàn)
          1?DSP工作方式的選擇
            VC33-120是C3X系列最新產(chǎn)品,指令周期為17 ns,具有32位浮點(diǎn)或24位整數(shù)精度,與其它C3X的DSP不同,其片載存取區(qū)容量明顯得到增加,有34 kbit32存儲(chǔ)區(qū),24 bit地址線可以訪問16 M存儲(chǔ)空間,功耗更小,集成了較大的片內(nèi)存儲(chǔ)區(qū),性價(jià)比高,完全可以滿足系統(tǒng)數(shù)據(jù)處理及控制要求[2~4]。

            VC33有MCBL(Microcomputer Boot Loader)和MP(Microprocessor)2種工作方式[3]。MP 方式時(shí),位于地址00H~03FH向量表中為中斷和陷阱服務(wù)程序入口地址;MCBL方式時(shí),位于809FC1H~809FFFH向量表中為各自中斷和陷阱服務(wù)程序的跳轉(zhuǎn)指令。MCBL方式是VC33所特有的,可將用戶程序代碼從主處理器(尤其是EPROM或者別的標(biāo)準(zhǔn)存儲(chǔ)系統(tǒng))引導(dǎo)加載到VC33的 SRAM區(qū)中并執(zhí)行它[3,4]。本系統(tǒng)利用MCBL方式,將程序代碼利用BOOT1_LOADER方式加載到VC33的內(nèi)部SRAM中而不是固化到外部高速EPROM,既實(shí)現(xiàn)了系統(tǒng)高速實(shí)時(shí)處理控制又降低了成本。為滿足運(yùn)行程序與存儲(chǔ)數(shù)據(jù)的需要,我們擴(kuò)展了外部存儲(chǔ)區(qū),包括2片64 K16bit SRAM組成64 K32bit片外存儲(chǔ)區(qū)以及128 K16bit的FLASH ROM。

          2?數(shù)據(jù)緩存的設(shè)計(jì)和控制

            
          在系統(tǒng)設(shè)計(jì)中,數(shù)據(jù)緩存的設(shè)計(jì)無疑是重要的,為滿足VC33高速處理能力,采用IDT公司FIFO高速緩存器IDT7203-15,利用寬度擴(kuò)展為4kbit16的數(shù)據(jù)緩存器。對(duì)于發(fā)射及接收FIFO分別占用VC33的I/O地址FE0000H和FD0000H,輸入輸出數(shù)據(jù)利用VC33及ALTERA 公司的EPM7064LS84完成并-串-并轉(zhuǎn)換、數(shù)據(jù)緩存的讀、寫信號(hào)和復(fù)位信號(hào)[5,6]。

          3.系統(tǒng)并行和串行接口

            
          系統(tǒng)接收或發(fā)送TS 流時(shí),要滿足一定的接口規(guī)范。接口共有3種:同步并行接口、同步串行接口和異步串行接口。在系統(tǒng)的設(shè)計(jì)中,為接收并行和串行DVB數(shù)據(jù),根據(jù)DVB接口規(guī)范,我們?cè)O(shè)計(jì)了同步傳輸188byte包的并行和串行接收數(shù)據(jù)兩種接口。在發(fā)射通路中,數(shù)據(jù)處理控制部分先將差分信號(hào)變?yōu)椴粴w零(NRZ)碼,經(jīng)過 VC33的處理后,完成數(shù)據(jù)的PCM30/32格式處理及4路E1分組,經(jīng)過E1接口的發(fā)射。接收系統(tǒng)設(shè)計(jì)與發(fā)射系統(tǒng)基本類似,此處略去。

          4E1接口設(shè)計(jì)

            T7688是具有4路發(fā)射和接收功能的E1接口芯片,主要特性有:具有接收、驅(qū)動(dòng)、均衡、時(shí)鐘/數(shù)據(jù)恢復(fù)、抖動(dòng)衰減功能;具有能提高靈敏度的片內(nèi)發(fā)射均衡器;可供選擇的發(fā)射或接收抖動(dòng)衰減器;自動(dòng)發(fā)射監(jiān)視系統(tǒng)[7]。

            
          在實(shí)際電路設(shè)計(jì)中,我們根據(jù)微處理器接口特點(diǎn)采取了較為靈活的設(shè)計(jì)。根據(jù)系統(tǒng)設(shè)計(jì)要求,我們將T7688 的MPMODE和MPMUX管腳接地,T7688工作在模式1并且地址和數(shù)據(jù)總線非復(fù)用。在微處理器接口各控制寄存器的設(shè)置中,為允許每個(gè)信道響應(yīng)警報(bào)并產(chǎn)生中斷,對(duì)寄存器2和3的各通道的信號(hào)損失警報(bào)屏蔽位無效;寄存器4的軟件復(fù)位被禁止,每個(gè)信道的發(fā)射驅(qū)動(dòng)器的TTIP和TRING 在復(fù)位后有效;為利用接收通道的抖動(dòng)衰減功能,設(shè)置T7688寄存器5工作在單路模式下,時(shí)鐘/數(shù)據(jù)恢復(fù)功能使能,在發(fā)射(接收)通道HDB3零替換編碼(解碼)使能;由于外圍電路采用數(shù)字傳輸變壓器T1010,初次級(jí)匝數(shù)比為1:1.36并使用75 Ω同軸電纜,所以寄存器6~9是設(shè)計(jì)方式選擇方式2,并將均衡器設(shè)置為101格式;寄存器10~15,在系統(tǒng)初始化時(shí)按要求置為零。

            在設(shè)計(jì)中,我們還注意到:寄存器4 在初始化時(shí)必須第一個(gè)被初始化;由于T7688只有一個(gè)抖動(dòng)衰減器,所以只能在發(fā)射或接收通道中使用,若同時(shí)選擇JAT和JAR,抖動(dòng)衰減器將被禁止;從 T7688的讀寫時(shí)序可以看出有5個(gè)時(shí)鐘周期的延時(shí),所以在VC33的初始化中必須對(duì)VC33的主總線初始化進(jìn)行相應(yīng)設(shè)置。?

          四、系統(tǒng)的軟件實(shí)現(xiàn)
            本系統(tǒng)為收發(fā)兩用系統(tǒng),整個(gè)系統(tǒng)必須在VC33的控制下,響應(yīng)不同處理程序。

            發(fā)射功能由系統(tǒng)控制處理電路VC33 的中斷0和中斷2程序完成,當(dāng)前端數(shù)據(jù)緩存1達(dá)到半滿狀態(tài)時(shí)由硬件產(chǎn)生中斷2信號(hào)并響應(yīng)中斷2程序,完成E1接口格式的幀同步頭、復(fù)幀同步頭、信令添加工作;為避免前端數(shù)據(jù)被讀空而出現(xiàn)數(shù)據(jù)紊亂的情況,在前端數(shù)據(jù)緩存2被讀空時(shí)產(chǎn)生中斷0信號(hào),隨即系統(tǒng)立即響應(yīng)中斷0程序(優(yōu)先級(jí)僅次于系統(tǒng)復(fù)位信號(hào)),完成添加特定格式的填充字工作,在第0或第16時(shí)隙時(shí)就調(diào)用相應(yīng)的添加幀同步頭、復(fù)幀同步頭、信令的子程序,如此反復(fù)。有關(guān)發(fā)射系統(tǒng)中斷0和中斷2以及添加同步頭、信令等軟件流程略。

            接收功能則由系統(tǒng)主程序完成,流程如圖5所示。系統(tǒng)首先執(zhí)行VC33 、T7688各狀態(tài)寄存器初始化,在系統(tǒng)硬件電路檢測(cè)到幀同步頭后,接收主程序必須在軟件上也保證檢測(cè)到四路E1接口的同一個(gè)幀同步頭,這樣在硬件和軟件雙重保證下,完成E1接口數(shù)據(jù)的接收并正確恢復(fù)DVB流數(shù)據(jù)。?


           ?

            最后,我們根據(jù)VC33內(nèi)部結(jié)構(gòu),采用宏指令編程,添加幀同步頭等固定格式的子程序、根據(jù)數(shù)據(jù)量的大小執(zhí)行塊循環(huán)等方法;為提高程序的執(zhí)行速度,還在避免流水線沖突、減少判斷指令、解決數(shù)據(jù)處理速度瓶頸等方面進(jìn)行了研究,完成軟件優(yōu)化編程,既減少了規(guī)模,又提高了處理效率[8,9]。?

          五、結(jié)論與展望
            數(shù)字視頻廣播發(fā)射/接收系統(tǒng)是數(shù)字視頻廣播系統(tǒng)重要組成部分,該系統(tǒng)能實(shí)時(shí)接收/發(fā)射0~8 Mbps的DVB流,充分證明設(shè)計(jì)思想的可行性。此外,為便于今后提高系統(tǒng)性能,我們?cè)谟布娐分袑?shí)際設(shè)計(jì)了8路E1接口,利用編程邏輯器件實(shí)現(xiàn)相應(yīng)外圍數(shù)據(jù)轉(zhuǎn)換電路,擴(kuò)展為0~16Mbps的發(fā)射/接收系統(tǒng)。?

          參考文獻(xiàn)

          [1]雷志剛,錢亞生?現(xiàn)代通信原理[M].北京:清華大學(xué)出版社,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基礎(chǔ)與應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2001.
          [6]黃正謹(jǐn),徐堅(jiān),章小麗.CPLD系統(tǒng)設(shè)計(jì)技術(shù)入門與應(yī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.



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();