亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DM642無(wú)線圖像傳輸?shù)腡S流傳輸新技術(shù)

        2011-06-22 08:19:28左洪成李朝海
        關(guān)鍵詞:源地址字節(jié)寄存器

        左洪成,李朝海

        (電子科技大學(xué),成都611731)

        左洪成(碩士研究生),主要研究領(lǐng)域?yàn)閷?shí)時(shí)信號(hào)處理;李朝海(高級(jí)工程師),主要研究領(lǐng)域?yàn)槔走_(dá)通信、實(shí)時(shí)信號(hào)處理。

        引 言

        無(wú)線通信技術(shù)因其免去了使用實(shí)體接線,為生活帶來(lái)諸多便利,因此受到廣大消費(fèi)者的青睞。其中短距離無(wú)線通信技術(shù)作為無(wú)線通信的一個(gè)發(fā)展趨勢(shì),越來(lái)越受到人們的關(guān)注。數(shù)字圖像信息及其處理技術(shù)正在發(fā)揮著越來(lái)越重要的作用,在人們生活中的地位也將越來(lái)越高[1]。原來(lái)的民用設(shè)計(jì)普遍采用 ASⅠC方式,如STi5517、STi5518等,但由于禁運(yùn)等原因無(wú)法達(dá)到工業(yè)級(jí)及以上的標(biāo)準(zhǔn)。本設(shè)計(jì)采用的DM642和FPGA靈活性高,升級(jí)優(yōu)化方便,且達(dá)到了工業(yè)級(jí)等級(jí)以上。本文主要介紹TS流傳輸?shù)男路绞?,?shí)現(xiàn)信源板中TS流實(shí)時(shí)傳輸?shù)叫诺腊迳稀?/p>

        1 簡(jiǎn) 介

        1.1 基于DVB-T無(wú)線視頻傳輸系統(tǒng)

        無(wú)線視頻傳輸系統(tǒng)的硬件實(shí)現(xiàn)框圖如圖1所示。本系統(tǒng)硬件分為4個(gè)組成部分:信源編碼部分、信道編碼調(diào)制部分、射頻部分和接收機(jī)部分。

        攝像頭采集視頻信號(hào),并輸出PAL制的模擬電視信號(hào)。視頻解碼器將AV視頻信號(hào)數(shù)字化和解碼,轉(zhuǎn)化為YUV(4:2:2)格式輸出。TMS320DM642將原始視頻以MPEG-2格式進(jìn)行編碼,并且將編碼數(shù)據(jù)封裝為T(mén)S數(shù)據(jù)流。TS數(shù)據(jù)流以SPⅠ并行數(shù)據(jù)格式傳遞給信道解碼部分。

        信道編碼部分通過(guò)FPGA(EP3C55F484)對(duì)數(shù)據(jù)進(jìn)行DVB-T編碼和中頻調(diào)制,調(diào)制信號(hào)經(jīng)過(guò)模擬上變頻完成射頻調(diào)制。

        接收機(jī)部分通過(guò)接收射頻信號(hào)并對(duì)其進(jìn)行模擬下變頻,提取出感興趣的中頻信號(hào),利用信道解調(diào)器對(duì)其進(jìn)行信道解碼。解碼后的信源數(shù)據(jù)流以TS流格式傳送給TMS320DM642處理器。處理器先進(jìn)行TS解包,再對(duì)MPEG-2數(shù)據(jù)流解壓縮。根據(jù)系統(tǒng)不同設(shè)置,可以通過(guò)PCⅠ接口發(fā)送至PC端進(jìn)行后端數(shù)據(jù)處理,或通過(guò)視頻編碼器將視頻信號(hào)還原為模擬電視信號(hào)。

        圖1 硬件實(shí)現(xiàn)框圖

        1.2 傳送流 (TS流)

        TS流是由打包的視頻、音頻基本碼流再經(jīng)過(guò)打包形成的復(fù)合碼流,每包長(zhǎng)度為188字節(jié),或由PS流分段截取,適用于誤碼較大的應(yīng)用環(huán)境。傳送流的系統(tǒng)層可分作兩個(gè)子層:一個(gè)是相應(yīng)于特定數(shù)據(jù)流操作 (PES分組層,可變長(zhǎng)度),該層是為編解碼的控制而定義的邏輯結(jié)構(gòu),PES頭包括流的性質(zhì)、版權(quán)說(shuō)明 (該節(jié)目是原始節(jié)目還是復(fù)制節(jié)目)、加入時(shí)間標(biāo)簽PTS和DTS、說(shuō)明DSM的特殊模式等;另一個(gè)是相應(yīng)于多路復(fù)用操作 (TS分組層,188字節(jié)固定長(zhǎng)度結(jié)構(gòu) ),該層是針對(duì)交換和互操作而定義的,在TS頭中加入同步、說(shuō)明有無(wú)差錯(cuò)、有無(wú)加擾,加入連續(xù)計(jì)數(shù)和不連續(xù)性指示 (因?yàn)楣?jié)目流的包相互交叉),加入節(jié)目參考時(shí)鐘PCR以及包識(shí)別PⅠD等。兩個(gè)子層間的復(fù)用關(guān)系是將PES結(jié)構(gòu)切割成一個(gè)個(gè)小包,作為T(mén)S包的凈荷嵌入到TS流結(jié)構(gòu)中而建立起來(lái)的,這種結(jié)構(gòu)可以很方便地實(shí)現(xiàn)直接從傳送流中解出原始音視頻數(shù)據(jù),也可從一個(gè)或多個(gè)傳送流中抽取想要的基本流來(lái)進(jìn)行解碼,或構(gòu)造新的傳送流再次傳輸,還可以依據(jù)通信信道的質(zhì)量在TS流與PS流間作切換[2]。

        1.3 數(shù)據(jù)在DM642接口的傳輸

        Ⅰ2C總線傳輸為140kb/s,速度慢,接口簡(jiǎn)單,適合于各種芯片參數(shù)的配置或EEPROM訪問(wèn)等數(shù)據(jù)量小的通信。視頻口傳輸為27M×20b/s,數(shù)據(jù)較快,接口復(fù)雜,功能單一,一般只用于DSP與視頻編/解碼器之間的視頻數(shù)據(jù)傳輸。網(wǎng)口傳輸為10M/100M,通信協(xié)議復(fù)雜,若用FPGA實(shí)現(xiàn),則接口也復(fù)雜,適合于DSP與PC機(jī)間的數(shù)據(jù)傳輸[2-7]。McBSP傳輸為40Mb/s,如果用 FPGA 實(shí)現(xiàn)接口較為簡(jiǎn)單,適合于DSP與FPGA低速數(shù)據(jù)傳輸。GPⅠO傳輸為10M×n,n是GPⅠO的引腳數(shù)目,接口極其簡(jiǎn)單,傳輸速度較快[4]。如DM6437共有111個(gè)GPⅠO引腳,若用3個(gè)32位的GPⅠO則可達(dá)到960Mb/s。即使用1個(gè)32位的GPⅠO bank也可以達(dá)到320Mb/s,能夠滿足一般的數(shù)據(jù)傳輸需求。DM642有16個(gè)GPⅠO口,速度也可達(dá)到160Mb/s,滿足設(shè)計(jì)要求。圖2即是GPⅠO方式傳輸TS流需要的時(shí)序。

        圖2 GPIO需要模擬的SPI時(shí)序

        如果利用任務(wù)或中斷的方式傳輸數(shù)據(jù),因?yàn)閿?shù)據(jù)量大,勢(shì)必增加CPU的負(fù)擔(dān),這種負(fù)擔(dān)很有可能是CPU無(wú)法承受的。例如使用任務(wù)來(lái)傳輸,若數(shù)據(jù)為8MB/s,則這個(gè)任務(wù)占用CPU 80%的時(shí)間,這是本應(yīng)該占據(jù)大部分時(shí)間的圖像壓縮算法無(wú)法忍受的,并且時(shí)??赡鼙煌蝗缙鋪?lái)的中斷打斷而丟失數(shù)據(jù)。若利用中斷來(lái)同步傳輸,而使CPU大部分時(shí)間在中斷中,亦是不現(xiàn)實(shí)的。這里采用DSP中的增強(qiáng)型的DMA模塊(EDMA),在CPU不參與的情況下完成數(shù)據(jù)傳輸,只有傳輸完成才進(jìn)入中斷,如此則解放出CPU,以使算法占用它。

        2 TS流傳輸實(shí)現(xiàn)

        2.1 McBSP實(shí)現(xiàn)

        McBSP由數(shù)據(jù)通道和控制通道組成,可以與外部設(shè)備連接,進(jìn)行數(shù)據(jù)通信。數(shù)據(jù)的接收與發(fā)送分別工作于不同的引腳上,因此數(shù)據(jù)通信是全雙工的。其他的4個(gè)引腳用于傳輸控制信號(hào)(時(shí)鐘和同步信號(hào))。

        這里采用EDMA進(jìn)行McBSP與存儲(chǔ)器緩沖區(qū)之間的數(shù)據(jù)搬運(yùn)。EDMA控制器讀取從外部設(shè)備接收到并保存在DRR(數(shù)據(jù)接收寄存器)的數(shù)據(jù),或者將需要向外部設(shè)備發(fā)送的數(shù)據(jù)寫(xiě)入DXR(數(shù)據(jù)發(fā)送寄存器)。被寫(xiě)入DXR的數(shù)據(jù)經(jīng)過(guò)XSR被移出到DX腳上。同理,接收的數(shù)據(jù)先被移入RSR,然后被拷貝到RBR,最后再被拷貝到DRR,這時(shí)就允許被EDMA訪問(wèn)了。McBSP中內(nèi)部數(shù)據(jù)的移出和外部數(shù)據(jù)的移入可以同時(shí)發(fā)生,即可以進(jìn)行全雙工的數(shù)據(jù)通信[6]。

        以EDMA接收數(shù)據(jù)的配置為例,配置參數(shù)RAM。EDMA通道接收數(shù)據(jù)源地址為McBSP0的DRR寄存器,地址計(jì)數(shù)模式為不變模式。設(shè)置EDMA通道接收數(shù)據(jù)目的地址為DSP片內(nèi)存儲(chǔ)區(qū)PingBuffer首地址,確保第一次傳輸數(shù)據(jù)是到PingBuffer,地址計(jì)數(shù)模式同樣為遞增模式。配置源地址計(jì)數(shù)索引值,由于源地址為McBSP0的DRR寄存器,固定不變;配置目的地址計(jì)數(shù)索引值,由于接收數(shù)據(jù)為32位,所以srcBidx=srcCidx=4,這是因?yàn)镈SP內(nèi)的最小計(jì)數(shù)單元為1個(gè)字節(jié),8bits;配置剩余的參數(shù)RAM傳輸參數(shù),包括設(shè)置ACNT=4,BCNT=2 048,CCNT=1,采用一維傳輸 A-SYNC[3]。

        接下來(lái)是ping-pong傳輸?shù)某绦驅(qū)崿F(xiàn)。替ping-pong各自分配1個(gè)通道,于是一共有3個(gè)通道,對(duì)應(yīng)3個(gè)參數(shù)RAM。ping通道的參數(shù)RAM與主通道的參數(shù)RAM完全一致,pong通道的參數(shù)RAM與主通道相比,只需將pong通道接收數(shù)據(jù)目的地址改為PongBuffer首地址。隨后調(diào)用EDMA_link三次,分別將主通道和ping通道連接,ping通道和pong通道相互連接。EDMA中斷設(shè)置與GPⅠO輸出任務(wù)一樣。

        2.2 GPIO實(shí)現(xiàn)

        TS流輸出任務(wù)采用1D到1D的傳輸模式。SUM=01,DUM=00,即源地址是188字節(jié)的Buffer,目的地址是GPⅠO[8:15]對(duì)應(yīng)的寄存器,GP4的外部觸發(fā)EDMA傳輸,傳輸188字節(jié)產(chǎn)生1次EDMA中斷。隊(duì)列優(yōu)先級(jí)設(shè)置為緊急,來(lái)保證時(shí)序。以EXTⅠNT5為EDMA觸發(fā)事件:

        pong的參數(shù)RAM設(shè)置類似,只要將源地址改為pong,并將重載的參數(shù)RAM地址改為edmacfg_pong即可。

        DM642中,EDMA的64個(gè)通道只產(chǎn)生一種中斷。當(dāng)一個(gè)通道傳輸完成后,ⅠPR(Ⅰnterrupt Pending Register)寄存器里的相應(yīng)位會(huì)被置1,EDMA中斷處理器通過(guò)查詢ⅠPR寄存器,確定是哪個(gè)通道完成了傳輸,并調(diào)用相應(yīng)的中斷服務(wù)程序[6],即tccCb(回調(diào)函數(shù),即通道傳輸完成后所調(diào)用的中斷服務(wù)程序)。tccCb=edma_isr,該函數(shù)的作用是當(dāng)一個(gè)接收Buffer被填滿時(shí),在通道傳輸完成后發(fā)送一個(gè)旗語(yǔ)信號(hào)給信號(hào)處理程序,通知其對(duì)收到的數(shù)據(jù)進(jìn)行處理。參數(shù)RAM OPT中TCⅠNTEN位置1,以使能EDMA中斷。隨后,利用DSP/BⅠOS將EDMA中斷源和DSP的可屏蔽中斷5連接起來(lái)。編寫(xiě)相應(yīng)通道的EDMA中斷程序,傳輸完一個(gè)TS包后,檢查是否1幀圖像的TS流傳完,用以生成數(shù)據(jù)有效信號(hào)(Dvalid),通知接收方哪些是有用數(shù)據(jù)。由于選用了DM642的可屏蔽中斷5,還需使能ⅠER寄存器里的對(duì)應(yīng)位。

        TS流輸入則只需要將SUM=00,DUM=01,目的地址和源地址交換,再將EDMA中斷程序中目的地址變更到188字節(jié)后的地址。采用GP4作EDMA同步事件(即SPⅠ時(shí)鐘),GPⅠO[8:15]作數(shù)據(jù)輸入,GP7作同步,采用 GP6作外部中斷,用作數(shù)據(jù)有效線。在外部中斷中重載,在傳輸完成中斷中改變目的地址。如此則可順利接收到TS流。

        采用Link的ping-pong方式,利用兩個(gè)參數(shù)RAM反復(fù)轉(zhuǎn)載得到TS流的數(shù)據(jù):在此采用的雙緩沖結(jié)構(gòu),即在DSP緩沖區(qū)內(nèi)開(kāi)辟兩塊緩沖用于并行處理FPGA通過(guò)McBSP傳過(guò)來(lái)的數(shù)據(jù)。當(dāng)EDMA往PingBuffer里傳輸數(shù)據(jù)時(shí),CPU即可處理PongBuffer里的數(shù)據(jù)。當(dāng)工作完成后,彼此交換緩沖區(qū),EDMA往PongBuffer里寫(xiě)數(shù)據(jù),CPU處理PingBuffer里的數(shù)據(jù)。為了實(shí)現(xiàn)雙緩沖結(jié)構(gòu),采用了EDMA提供的Link功能,如圖3所示,即將不同的EDMA傳輸參數(shù)RAM連接起來(lái),組成一個(gè)傳輸鏈。在傳輸鏈中,一個(gè)傳輸?shù)慕Y(jié)束會(huì)導(dǎo)致自動(dòng)從參數(shù)RAM中裝載下一個(gè)傳輸需要的事件參數(shù)。在具體程序中,只需將ping通道的參數(shù)RAM連接到pong通道,同時(shí)將pong通道的參數(shù)RAM連接到ping通道即可。

        2.3 ping-pong操作的改進(jìn)

        由于原來(lái)程序McBSP通過(guò)EDMA傳輸?shù)絧ing或pong中,在EDMA傳輸完成中斷的過(guò)程中還需要復(fù)制數(shù)據(jù)(memcpy)到公共緩沖區(qū)。復(fù)制數(shù)據(jù)是一個(gè)很費(fèi)時(shí)的過(guò)程,但程序不宜停留在中斷的時(shí)間過(guò)長(zhǎng),故而希望EDMA能直接傳到公共緩沖區(qū)中。

        圖3 Link的ping-pong方式

        如圖4所示,在建立 McBSP和EDMA通信時(shí),將ping目的地址改變成公共緩沖池的首地址,將pong目的地址變?yōu)榫彌_池下一個(gè)緩沖區(qū)的首地址。再在EDMA傳輸完成中斷的過(guò)程中改變上一次用的PaRAM的目的地址,即ping完成,則中斷改變ping的目的地址。這樣對(duì)原程序改變較小,并且占用的參數(shù)RAM也較少。但要求ping,pong通道必須處在同一優(yōu)先級(jí)隊(duì)列中。當(dāng)重新轉(zhuǎn)載其中一個(gè)時(shí),才不會(huì)影響另一個(gè)通道。

        圖4 改進(jìn)乒乓操作

        3 測(cè)試結(jié)果

        圖5是用連續(xù)自增的數(shù)在32Mb/s的速度下以McBSP方式在FPGA的SignalTap ⅠⅠ中看到的時(shí)序。

        圖6是時(shí)鐘為9MHz時(shí)TS輸出任務(wù)在FPGA的SignalTap ⅠⅠ中看到的TS流時(shí)序。實(shí)測(cè)中,輸入任務(wù)在接收板DSP接收到TS流數(shù)據(jù),數(shù)據(jù)率為9MB/s,數(shù)據(jù)有效(Dvalid)上升沿來(lái)時(shí),得同步頭0x47。

        TS流在SDRAM存放的基地址為0x804DBC88,前4個(gè)字節(jié)(即0x47 0x40 0x45 0x10)是TS包的包頭,從包頭的定義規(guī)范可以看到,第1個(gè)字節(jié)0x47為T(mén)S包的同步字節(jié);第2個(gè)字節(jié)0x40說(shuō)明這個(gè)TS包包含1個(gè)PES包的包頭,它傳輸?shù)膬?yōu)先級(jí)為0級(jí),在這個(gè)包中不存在傳輸錯(cuò)誤;第2個(gè)字節(jié)和第3個(gè)字節(jié)表明這個(gè)TS包的PⅠD是0x45,是這個(gè)設(shè)計(jì)中的視頻包的PⅠD;第4個(gè)字節(jié)說(shuō)明在這個(gè)TS包中僅有有效載荷,沒(méi)有自適應(yīng)區(qū)。188字節(jié)后再次出現(xiàn)同步字節(jié)0x47,0x00表示不是第1個(gè)TS包,PⅠD也是0x45。再過(guò)188個(gè)字節(jié)還是同步字節(jié)0x47??梢?jiàn),TS流的輸入輸出任務(wù)都較好地實(shí)現(xiàn)了它們的功能。

        圖5 接收測(cè)試時(shí)序

        圖6 接收TS流時(shí)序

        結(jié) 語(yǔ)

        本文介紹了一種基于DM642和EP3C55F484的無(wú)線視頻傳輸系統(tǒng)的實(shí)現(xiàn)方式,并就TS流傳輸進(jìn)行了討論。測(cè)試結(jié)果證明,項(xiàng)目中提出的McBSP和GPⅠO結(jié)合EDMA方式都成功實(shí)現(xiàn)了TS流的輸入和輸出傳輸,GPⅠO方式速度較快,信道中直接采用GPⅠO的方式要比模擬McBSP接口簡(jiǎn)單得多,并用改進(jìn)的乒乓方式提高程序運(yùn)行效率。

        編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。

        [1]何正軍.基于DM642和CDMA的無(wú)線遠(yuǎn)程監(jiān)控系統(tǒng)[D].杭州:浙江大學(xué),2006.

        [2]盧國(guó)勛.基于DM642的 MPEG-2TS流處理技術(shù)研究[D].上海交通大學(xué),2006.

        [3]屈姍姍,夏威.基于TMS320DM6437的McBSP與EDMA實(shí)現(xiàn)串口通信[J].電子設(shè)計(jì)工程,2010(12).

        [4]TⅠ.TMS320C6000DSP Enhanced Direct Memory Access(EDMA)Controller Reference Guide,2003.

        [5]宋宇,余育,王濱.基于DM642平臺(tái)的x.264編碼器EDMA技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息通信,2009(1).

        [6]張永光,張曉蕾,徐健健.DM642圖像數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)和優(yōu)化[J].科學(xué)技術(shù)與工程,2007(9).

        [7]TⅠ.基于DM642的 MPEG-2傳輸流解復(fù)用再?gòu)?fù)用系統(tǒng)設(shè)計(jì),2006.

        猜你喜歡
        源地址字節(jié)寄存器
        國(guó)內(nèi)互聯(lián)網(wǎng)真實(shí)源地址驗(yàn)證研究進(jìn)展①
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
        簡(jiǎn)談MC7字節(jié)碼
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        實(shí)現(xiàn)RSF機(jī)制的分布式域間源地址驗(yàn)證
        網(wǎng)絡(luò)安全策略中防火墻技術(shù)的應(yīng)用
        天融信防火墻的雙線路路由和VPN設(shè)置
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        人妻中文字幕在线一二区| 国产精品jizz视频| 国产主播一区二区三区在线观看| 无码国产精品第100页| 中文字幕一区二区三区在线视频| 久久影院最新国产精品| 亚洲av久播在线一区二区| 三级全黄的视频在线观看| 人妻少妇精品视频一区二区三区| 国产三级黄色在线观看| 女同视频网站一区二区| 成年人干逼视频水好多| 亚洲精品蜜夜内射| 国产成人精品999在线观看| 91久久福利国产成人精品| 亚洲天堂免费成人av| 91国产精品自拍在线观看| 亚洲综合av永久无码精品一区二区| 国产精品三级在线观看无码| 97SE亚洲国产综合自在线不卡 | 国产精品国产三级国av在线观看| 成人做爰黄片视频蘑菇视频| 狠狠摸狠狠澡| 18禁裸男晨勃露j毛免费观看 | 日韩人妻中文无码一区二区| 国产精品成人观看视频| 啪啪视频一区二区三区入囗| 亚洲av色香蕉第一区二区三区| 亚洲欧洲日产国码无码| 亚洲一区二区三区最新视频| 色综合久久中文综合网亚洲| 国自产精品手机在线观看视频| 欧美在线三级艳情网站| av中文字幕在线资源网| 给我看免费播放的视频在线观看| 人妻丰满熟妇无码区免费| 亚洲av久久无码精品九九| 久久婷婷免费综合色啪| 中文字幕精品一区二区的区别| 国产精品久久久久久一区二区三区| 久久久久国产精品免费免费搜索|