DM642無線圖像傳輸?shù)腡S流傳輸新技術(shù)
摘要:介紹一種基于M642的視頻無線傳輸系統(tǒng),在此基礎(chǔ)上重點(diǎn)探討了關(guān)于TS流傳輸的問題,提出了使用McBSP和GPIO方式分別實(shí)現(xiàn)TS流傳輸,并給出了一種改進(jìn)的乒乓方式。實(shí)驗(yàn)結(jié)果證明,采用McBSP和GPIO都可以解決TS流傳輸問題,但在速度和實(shí)現(xiàn)難度方面采用GPIO表現(xiàn)更好,改進(jìn)型的乒乓結(jié)構(gòu)也在一定程度上提高了程序的效率。
關(guān)鍵詞:TS流傳輸;DM642;視頻無線傳輸系統(tǒng);EDMA;McBSP;GPIO
引言
無線通信技術(shù)因其免去了使用實(shí)體接線,為生活帶來諸多便利,因此受到廣大消費(fèi)者的青睞。其中短距離無線通信技術(shù)作為無線通信的一個(gè)發(fā)展趨勢(shì),越來越受到人們的關(guān)注。數(shù)字圖像信息及其處理技術(shù)正在發(fā)揮著越來越重要的作用,在人們生活中的地位也將越來越高。原來的民用設(shè)計(jì)普遍采用ASIC方式,如STi5517、STi5518等,但由于禁運(yùn)等原因無法達(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ù)叫诺腊迳稀?br />
1 簡(jiǎn)介
1.1 基于DVB-T無線視頻傳輸系統(tǒng)
無線視頻傳輸系統(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)格式輸出。TMS320DM 642將原始視頻以MPEG-2格式進(jìn)行編碼,并且將編碼數(shù)據(jù)封裝為TS數(shù)據(jù)流。TS數(shù)據(jù)流以SPI并行數(shù)據(jù)格式傳遞給信道解碼部分。
信道編碼部分通過FPGA(EP3C55F484)對(duì)數(shù)據(jù)進(jìn)行DVB-T編碼和中頻調(diào)制,調(diào)制信號(hào)經(jīng)過模擬上變頻完成射頻調(diào)制。
接收機(jī)部分通過接收射頻信號(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è)置,可以通過PCI接口發(fā)送至PC端進(jìn)行后端數(shù)據(jù)處理,或通過視頻編碼器將視頻信號(hào)還原為模擬電視信號(hào)。
1.2 傳送流(TS流)
TS流是由打包的視頻、音頻基本碼流再經(jīng)過打包形成的復(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)說明(該節(jié)目是原始節(jié)目還是復(fù)制節(jié)目)、加入時(shí)間標(biāo)簽PTS和DTS、說明DSM的特殊模式等;另一個(gè)是相應(yīng)于多路復(fù)用操作(TS分組層,188字節(jié)固定長(zhǎng)度結(jié)構(gòu)),該層是針對(duì)交換和互操作而定義的,在TS頭中加入同步、說明有無差錯(cuò)、有無加擾,加入連續(xù)計(jì)數(shù)和不連續(xù)性指示(因?yàn)楣?jié)目流的包相互交叉),加入節(jié)目參考時(shí)鐘PCR以及包識(shí)別PID等。兩個(gè)子層間的復(fù)用關(guān)系是將PES結(jié)構(gòu)切割成一個(gè)個(gè)小包,作為TS包的凈荷嵌入到TS流結(jié)構(gòu)中而建立起來的,這種結(jié)構(gòu)可以很方便地實(shí)現(xiàn)直接從傳送流中解出原始音視頻數(shù)據(jù),也可從一個(gè)或多個(gè)傳送流中抽取想要的基本流來進(jìn)行解碼,或構(gòu)造新的傳送流再次傳輸,還可以依據(jù)通信信道的質(zhì)量在TS流與PS流間作切換。
1.3 數(shù)據(jù)在DM642接口的傳輸
I2C總線傳輸為140kb/s,速度慢,接口簡(jiǎn)單,適合于各種芯片參數(shù)的配置或EEPROM訪問等數(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ù)傳輸。McBSP傳輸為40 Mb/s,如果用FPGA實(shí)現(xiàn)接口較為簡(jiǎn)單,適合于DSP與FPGA低速數(shù)據(jù)傳輸。GPIO傳輸為10M×n,n是GPIO的引腳數(shù)目,接口極其簡(jiǎn)單,傳輸速度較快。如DM6437共有111個(gè)GPIO引腳,若用3個(gè)32位的GPIO則可達(dá)到960 Mb/s。即使用1個(gè)32位的GPIO bank也可以達(dá)到320 Mb/s,能夠滿足一般的數(shù)據(jù)傳輸需求。DM642有16個(gè)GPIO口,速度也可達(dá)到160 Mb/s,滿足設(shè)計(jì)要求。圖2即是GPIO方式傳輸TS流需要的時(shí)序。
如果利用任務(wù)或中斷的方式傳輸數(shù)據(jù),因?yàn)閿?shù)據(jù)量大,勢(shì)必增加CPU的負(fù)擔(dān),這種負(fù)擔(dān)很有可能是CPU無法承受的。例如使用任務(wù)來傳輸,若數(shù)據(jù)為8 MB/s,則這個(gè)任務(wù)占用CPU 80%的時(shí)間,這是本應(yīng)該占據(jù)大部分時(shí)問的圖像壓縮算法無法忍受的,并且時(shí)??赡鼙煌蝗缙鋪淼闹袛啻驍喽鴣G失數(shù)據(jù)。若利用中斷來同步傳輸,而使CPU大部分時(shí)間在中斷中,亦是不現(xiàn)實(shí)的。這里采用DSP中的增強(qiáng)型的DMA模塊(EDMA),在CPU不參與的情況下完成數(shù)據(jù)傳輸,只有傳輸完成才進(jìn)入中斷,如此則解放出CPU,以使算法占用它。
pid控制相關(guān)文章:pid控制原理
評(píng)論