999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DM642無線圖像傳輸的TS流傳輸新技術

2011-06-22 08:19:28左洪成李朝海
單片機與嵌入式系統應用 2011年12期

左洪成,李朝海

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

左洪成(碩士研究生),主要研究領域為實時信號處理;李朝海(高級工程師),主要研究領域為雷達通信、實時信號處理。

引 言

無線通信技術因其免去了使用實體接線,為生活帶來諸多便利,因此受到廣大消費者的青睞。其中短距離無線通信技術作為無線通信的一個發展趨勢,越來越受到人們的關注。數字圖像信息及其處理技術正在發揮著越來越重要的作用,在人們生活中的地位也將越來越高[1]。原來的民用設計普遍采用 ASⅠC方式,如STi5517、STi5518等,但由于禁運等原因無法達到工業級及以上的標準。本設計采用的DM642和FPGA靈活性高,升級優化方便,且達到了工業級等級以上。本文主要介紹TS流傳輸的新方式,實現信源板中TS流實時傳輸到信道板上。

1 簡 介

1.1 基于DVB-T無線視頻傳輸系統

無線視頻傳輸系統的硬件實現框圖如圖1所示。本系統硬件分為4個組成部分:信源編碼部分、信道編碼調制部分、射頻部分和接收機部分。

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

信道編碼部分通過FPGA(EP3C55F484)對數據進行DVB-T編碼和中頻調制,調制信號經過模擬上變頻完成射頻調制。

接收機部分通過接收射頻信號并對其進行模擬下變頻,提取出感興趣的中頻信號,利用信道解調器對其進行信道解碼。解碼后的信源數據流以TS流格式傳送給TMS320DM642處理器。處理器先進行TS解包,再對MPEG-2數據流解壓縮。根據系統不同設置,可以通過PCⅠ接口發送至PC端進行后端數據處理,或通過視頻編碼器將視頻信號還原為模擬電視信號。

圖1 硬件實現框圖

1.2 傳送流 (TS流)

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

1.3 數據在DM642接口的傳輸

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

圖2 GPIO需要模擬的SPI時序

如果利用任務或中斷的方式傳輸數據,因為數據量大,勢必增加CPU的負擔,這種負擔很有可能是CPU無法承受的。例如使用任務來傳輸,若數據為8MB/s,則這個任務占用CPU 80%的時間,這是本應該占據大部分時間的圖像壓縮算法無法忍受的,并且時??赡鼙煌蝗缙鋪淼闹袛啻驍喽鴣G失數據。若利用中斷來同步傳輸,而使CPU大部分時間在中斷中,亦是不現實的。這里采用DSP中的增強型的DMA模塊(EDMA),在CPU不參與的情況下完成數據傳輸,只有傳輸完成才進入中斷,如此則解放出CPU,以使算法占用它。

2 TS流傳輸實現

2.1 McBSP實現

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

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

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

接下來是ping-pong傳輸的程序實現。替ping-pong各自分配1個通道,于是一共有3個通道,對應3個參數RAM。ping通道的參數RAM與主通道的參數RAM完全一致,pong通道的參數RAM與主通道相比,只需將pong通道接收數據目的地址改為PongBuffer首地址。隨后調用EDMA_link三次,分別將主通道和ping通道連接,ping通道和pong通道相互連接。EDMA中斷設置與GPⅠO輸出任務一樣。

2.2 GPIO實現

TS流輸出任務采用1D到1D的傳輸模式。SUM=01,DUM=00,即源地址是188字節的Buffer,目的地址是GPⅠO[8:15]對應的寄存器,GP4的外部觸發EDMA傳輸,傳輸188字節產生1次EDMA中斷。隊列優先級設置為緊急,來保證時序。以EXTⅠNT5為EDMA觸發事件:

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

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

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

采用Link的ping-pong方式,利用兩個參數RAM反復轉載得到TS流的數據:在此采用的雙緩沖結構,即在DSP緩沖區內開辟兩塊緩沖用于并行處理FPGA通過McBSP傳過來的數據。當EDMA往PingBuffer里傳輸數據時,CPU即可處理PongBuffer里的數據。當工作完成后,彼此交換緩沖區,EDMA往PongBuffer里寫數據,CPU處理PingBuffer里的數據。為了實現雙緩沖結構,采用了EDMA提供的Link功能,如圖3所示,即將不同的EDMA傳輸參數RAM連接起來,組成一個傳輸鏈。在傳輸鏈中,一個傳輸的結束會導致自動從參數RAM中裝載下一個傳輸需要的事件參數。在具體程序中,只需將ping通道的參數RAM連接到pong通道,同時將pong通道的參數RAM連接到ping通道即可。

2.3 ping-pong操作的改進

由于原來程序McBSP通過EDMA傳輸到ping或pong中,在EDMA傳輸完成中斷的過程中還需要復制數據(memcpy)到公共緩沖區。復制數據是一個很費時的過程,但程序不宜停留在中斷的時間過長,故而希望EDMA能直接傳到公共緩沖區中。

圖3 Link的ping-pong方式

如圖4所示,在建立 McBSP和EDMA通信時,將ping目的地址改變成公共緩沖池的首地址,將pong目的地址變為緩沖池下一個緩沖區的首地址。再在EDMA傳輸完成中斷的過程中改變上一次用的PaRAM的目的地址,即ping完成,則中斷改變ping的目的地址。這樣對原程序改變較小,并且占用的參數RAM也較少。但要求ping,pong通道必須處在同一優先級隊列中。當重新轉載其中一個時,才不會影響另一個通道。

圖4 改進乒乓操作

3 測試結果

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

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

TS流在SDRAM存放的基地址為0x804DBC88,前4個字節(即0x47 0x40 0x45 0x10)是TS包的包頭,從包頭的定義規范可以看到,第1個字節0x47為TS包的同步字節;第2個字節0x40說明這個TS包包含1個PES包的包頭,它傳輸的優先級為0級,在這個包中不存在傳輸錯誤;第2個字節和第3個字節表明這個TS包的PⅠD是0x45,是這個設計中的視頻包的PⅠD;第4個字節說明在這個TS包中僅有有效載荷,沒有自適應區。188字節后再次出現同步字節0x47,0x00表示不是第1個TS包,PⅠD也是0x45。再過188個字節還是同步字節0x47??梢?,TS流的輸入輸出任務都較好地實現了它們的功能。

圖5 接收測試時序

圖6 接收TS流時序

結 語

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

編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。

[1]何正軍.基于DM642和CDMA的無線遠程監控系統[D].杭州:浙江大學,2006.

[2]盧國勛.基于DM642的 MPEG-2TS流處理技術研究[D].上海交通大學,2006.

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

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

[5]宋宇,余育,王濱.基于DM642平臺的x.264編碼器EDMA技術的設計與實現[J].信息通信,2009(1).

[6]張永光,張曉蕾,徐健健.DM642圖像數據傳輸的實現和優化[J].科學技術與工程,2007(9).

[7]TⅠ.基于DM642的 MPEG-2傳輸流解復用再復用系統設計,2006.

主站蜘蛛池模板: 天天躁狠狠躁| 欧美日在线观看| 色悠久久久久久久综合网伊人| 91精品情国产情侣高潮对白蜜| 精品国产成人av免费| 亚洲动漫h| 国产尤物jk自慰制服喷水| 毛片免费视频| 亚洲天堂2014| 熟女视频91| 日本成人福利视频| 一级片一区| 亚洲欧美自拍视频| 婷婷伊人久久| 国产精品3p视频| 麻豆精品在线视频| 国产激情无码一区二区APP| 国产精品污视频| 99热这里都是国产精品| 白丝美女办公室高潮喷水视频| 综合网久久| 中文字幕亚洲精品2页| 99re视频在线| 久久综合国产乱子免费| 国产精品尹人在线观看| jijzzizz老师出水喷水喷出| 91网址在线播放| 欧美激情第一欧美在线| 亚洲国产精品无码AV| 国产香蕉在线视频| 国产视频大全| 欧美伦理一区| 亚洲综合久久一本伊一区| 久久黄色毛片| 一本大道香蕉久中文在线播放| 四虎永久免费地址| 久久永久视频| 国产黄网永久免费| 国产亚洲欧美在线人成aaaa| 欧美区一区| 国产自在线播放| 色哟哟国产成人精品| 在线亚洲小视频| 欧洲极品无码一区二区三区| 亚洲首页国产精品丝袜| A级毛片无码久久精品免费| 91精品日韩人妻无码久久| 18禁黄无遮挡免费动漫网站| 国产黄色视频综合| 无码专区第一页| 97se亚洲综合| 99re在线免费视频| 高清无码手机在线观看| 國產尤物AV尤物在線觀看| 亚洲第一成年网| 就去色综合| 久久久久久午夜精品| 亚洲国产成人超福利久久精品| www.精品国产| 国内a级毛片| 专干老肥熟女视频网站| 免费无码AV片在线观看国产| 国产精欧美一区二区三区| 麻豆国产精品一二三在线观看| 99re66精品视频在线观看| 亚洲欧美另类日本| 亚洲国产精品日韩av专区| 欧美日韩一区二区三区在线视频| 精品国产美女福到在线不卡f| 97se亚洲综合在线| 114级毛片免费观看| 国产欧美在线观看一区| 日韩午夜福利在线观看| 91精品专区国产盗摄| 国产精品女主播| 欧美在线视频a| 国产产在线精品亚洲aavv| 国产色婷婷| 国内a级毛片| 日日拍夜夜操| 99在线观看免费视频| 国产靠逼视频|