一種無線視頻傳輸?shù)脑O(shè)計和實現(xiàn)
出處:現(xiàn)代電子技術(shù) 發(fā)布于:2011-09-05 14:34:57
無線通信技術(shù)和視頻壓縮技術(shù)的迅速發(fā)展,使得無線視頻傳輸成為人們研究的熱點。無線視頻傳輸具有數(shù)據(jù)量大,實時性要求高,無線信道資源有限的特點。無線視頻傳輸就是指不用布線(線纜)利用無線電波來傳輸視頻、聲音、數(shù)據(jù)等信號的監(jiān)控系統(tǒng)。無線圖像傳輸即視頻實時傳輸主要有兩個概念,一是移動中傳輸,即移動通信,二是寬帶傳輸,即寬帶通信。新一代的視頻壓縮標(biāo)準(zhǔn)H.264結(jié)合專用視頻DSF芯片可以滿足信源編碼的要求。而處理數(shù)據(jù)量大,速度快,運算結(jié)構(gòu)相對簡單的FPGA適用于信道編碼?;谝陨峡紤],設(shè)計了一個無線視頻傳輸系統(tǒng),并以發(fā)射端ADSP-BF537作為控制器,配置FPGA和進行數(shù)據(jù)通信。
1 總體結(jié)構(gòu)實現(xiàn)方案
系統(tǒng)硬件的實現(xiàn)方案如下:
發(fā)送端由攝像機、專用視頻編碼芯片、控制模塊、基帶模塊、射頻模塊(RF)等部分組成。接收端由射頻接收模塊、控制模塊、基站模塊、專用視頻解碼芯片等部分組成。系統(tǒng)結(jié)構(gòu)如圖1所示。

視頻編碼部分使用基于DM642的H.264視頻編碼器。該芯片通過網(wǎng)口傳輸數(shù)據(jù),輸出的視頻流是H.264格式,輸出圖像的分辨率范圍為176×144~702×576,而且可以根據(jù)具體需要修改碼流和幀率。
控制模塊其主要作用是完成FPGA的配置、接口控制、通信鏈路的建立(視頻流數(shù)據(jù)的傳輸)。
FPGA完成整個基帶信號處理,包括信道編碼、OFDM調(diào)制、濾波等。
射頻模塊由發(fā)射單元、接收單元、頻率合成單元、外置15 W功放等四部分組成,采用差分I,Q信號調(diào)制、解調(diào),雙向傳輸。發(fā)射單元將I,Q差分輸入經(jīng)調(diào)制芯片調(diào)制成340 MHz的射頻信號,經(jīng)功率控制、功放、隔離器送往環(huán)行器、天線;通過收發(fā)電平控制進行發(fā)送和接收的切換;接收單元對接收信號進行濾波、低噪聲放大器后送I,Q解調(diào)芯片解調(diào)出差分的I,Q信號,并進行RSSI檢測和AGC控制。工作模式采用半雙工模式;頻率合成單元為發(fā)射單元提供340 MHz本振信號,為接收單元提供680 MHz本振信號。
2 控制模塊中DSP與FPGA數(shù)據(jù)通信
數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運而生并得到迅速的發(fā)展。數(shù)字信號處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實信號的方法,這些信號由數(shù)字序列表示。在過去的二十多年時間里,數(shù)字信號處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強的實力。
FPGA即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。
由于FPGA基于SRAM工藝,上電后數(shù)據(jù)會丟失。一般FPGA除了采用邊界掃描方式JTAG外,更多采用與FPGA相對應(yīng)PROM芯片靜態(tài)配置,這種配置方式由于PROM容量小,價格昂貴,易于燒壞等缺點,在產(chǎn)品化之前一般不予采用,更可取的方法是采用控制器動態(tài)配置FPGA,比如單片機、DSP。同時,視頻服務(wù)器通過網(wǎng)口發(fā)送視頻數(shù)據(jù),需要一個控制部分前向網(wǎng)口接收視頻服務(wù)器的數(shù)據(jù),后向配置FPGA,發(fā)送視頻數(shù)據(jù)?;谝陨峡紤],整個系統(tǒng)中控制部分均由ADI公司的Blackfin系列DSP BF537完成,DSPBF537通過接口與視頻服務(wù)器和FPGA通信。
2.1 硬件平臺
ADSP與另外一個著名的德州儀器(TI: Texas Instrument)生產(chǎn)的芯片特點相比較,具有浮點運算強,SIMD(單指令多數(shù)據(jù))編程的優(yōu)勢, 比較新的Blackfin系列比同別TI產(chǎn)品功耗低。缺點是ADSP不如TI的C語言編譯優(yōu)化好。TI已經(jīng)普及了C語言的編程,而AD芯片的性能發(fā)揮比較依賴程序員的編程水平。ADSP的Linkport數(shù)據(jù)傳輸能力強是一大特色,但是使用起來不夠穩(wěn)定,調(diào)試難度大。Blackfin處理器集成了一個由ADI公司和Intel公司聯(lián)合開發(fā)的基于MSA(Micro Signal Architecture)的16/32位嵌入式處理器,支持32位RISC指令集,采用10級流水線,集成了兩個16位乘法加速器,內(nèi)核主頻可以達到600 MHz。ADSF-BF537總線有一個以DMA控制器為中心的高速自主數(shù)據(jù)通道。DMA總線可以在存儲器之間、存儲器和外部接口之間快速地傳遞數(shù)據(jù),并且可以和內(nèi)核并行操作。ADSP的集成開發(fā)環(huán)境Visual DSP++中嵌入了實時操作系統(tǒng)內(nèi)核VDK,適合多任務(wù)多線程的嵌入式操作。
2.2 硬件系統(tǒng)架構(gòu)
DSP與視頻服務(wù)器采用輕量級TCP/IP(LwIP)交互數(shù)據(jù),這里不過多介紹。主要介紹DSP與FPGA連接。由于FPGA基于SRAM工藝,掉電后數(shù)據(jù)會丟失。采用的方法是將作用于FPGA的通信基帶算法文件存儲在DSP的FLASH中。一般調(diào)試時,DSP及FPGA都需要從PC機通過JTAG口進行程序的。但當(dāng)系統(tǒng)程序已經(jīng)調(diào)試完畢,當(dāng)需要到戶外進行測試或作為產(chǎn)品使用時,針對系統(tǒng)調(diào)試的方便性,采用DSP自啟動及配置FPGA部分。
本設(shè)計中采用的DSP上電從16位FLASH啟動,啟動程序采用Analog公司提供的燒寫啟動FLASH的程序。次上電時,利用JTAG,結(jié)合ADSP自帶工具“FLASH Programmer”將寫好的DSP程序燒入FLASH中。并且將FPGA的配置文件(.bit格式)讀到緩存,通過DSP燒寫到FLASH的Bankl和Bank2中,把Bank0用來做DSP自啟動。斷電復(fù)位后,啟動過程如下:
(1)BF537從FLASH引導(dǎo)啟動,完成DSP板級初始化。
(2)FPGA的配置文件動態(tài)加載到FPGA中。
(3)用DSP的GPIO端口對FPGA的時鐘和數(shù)據(jù)配置專用引腳進行模擬時序,即完成對FPGA的動態(tài)配置。
在啟動過程完成后,DSP與視頻服務(wù)器進行Sock-et連接,接收壓縮的視頻碼流,并送到FPGA進行基帶部分的處理。DSP與FPGA的接口部分如圖2所示。

圖2中DSP通過自身的外部總線與FPGA相連,F(xiàn)PGA內(nèi)部實現(xiàn)了兩個2 KB的異步存儲器SRAM0,SRAM1,對存儲器的訪問滿足DSP外部總線的時序要求。圖2中接口連線含義如表1所示。

對DSP而言,DSP通過外部總線連接到SRAM0和SRAM1,這就相當(dāng)于外擴了兩個外部RAM,DSP可以自由地訪問它們。圖2中的SRAM0,SRAM1分別用于DSP發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。SRAM0和SRAM1本身是雙口RAM,可以供DSP和FPGA訪問,就是通過這種共享存儲器的方式完成數(shù)據(jù)交互。
2.3 軟件系統(tǒng)結(jié)構(gòu)
相關(guān)程序是用含有VDK(Visual DSP Kernel)的DSP軟件開發(fā)工具Visual DSP開發(fā)的。VDK是一種帶有API函數(shù)庫的實時操作系統(tǒng)內(nèi)核,它具有任務(wù)調(diào)度和任務(wù)管理功能,一共支持32個任務(wù)。VDK是整個軟件的基礎(chǔ),所有其他的程序都運行在該Kernel上。程序流程圖如圖3所示。

上電或復(fù)位后,DSP自啟動后VDK啟動線程lwip_sysboot_threadtype開始運行。在線程lwip_sysboot_threadtype中進行板級初始化和Lwip協(xié)議棧和網(wǎng)口初始化,其中板級初始化包括FPGA初始化,EBIU初始化,MDMA初始化,F(xiàn)LAG初始化。接下來創(chuàng)建下面幾個線程:
(1)數(shù)據(jù)傳輸:視頻數(shù)據(jù)傳輸。用于從編碼器獲取編碼后的視頻數(shù)據(jù)流,并存儲到緩沖區(qū)中。
(2)FPGA中斷:視頻數(shù)據(jù)發(fā)送中斷;MDMA中斷。
DSP首先通過Socket與視頻服務(wù)器連接,從視頻服務(wù)器獲取視頻數(shù)據(jù),并將數(shù)據(jù)緩存后按照特定的格式打包,等待FPGA觸發(fā)視頻數(shù)據(jù)發(fā)送中斷。中斷觸發(fā)后,DSP啟動MDMA將一幀大小的數(shù)據(jù)發(fā)送給FPGA發(fā)送緩沖區(qū)。當(dāng)MDMA操作完成后,觸發(fā)MDMA中斷,將幀頭寫入FPGA發(fā)送緩沖區(qū)的頭兩個字節(jié)。FPGA將接收的數(shù)據(jù)進行基帶算法處理后再將數(shù)據(jù)發(fā)送給射頻部分,之后FPGA再觸發(fā)視頻數(shù)據(jù)發(fā)送中斷,告訴DSP可以下一幀的發(fā)送,于是又啟動MDMA,如此循環(huán)。
3 實驗結(jié)果和分析
對系統(tǒng)在不同的信噪比的環(huán)境中傳輸?shù)恼`碼率進行了測試。測試方法如下:將發(fā)射機的輸出端口通過數(shù)據(jù)排線與邏輯分析儀相連,邏輯分析儀將采集到的一幀發(fā)射信號送到PC中用Matlab軟件對其加上噪聲,得到信噪比固定的信號。將這個信號導(dǎo)人信號源中進行不間斷循環(huán)發(fā)送給接收端的輸入端口。接收機接收信號進行解調(diào)并將解調(diào)出的數(shù)據(jù)傳給PC以統(tǒng)計誤碼率。測試結(jié)果如表2所示。

4 結(jié) 語
隨著實驗環(huán)節(jié)在BF537產(chǎn)品開發(fā)過程中所占時間和開銷的迅速增加,Altera和Xilinx在其大容量FPGA芯片產(chǎn)品中,都集成了特定類型的CPU作為系統(tǒng)處理器,但它們都受到特定FPGA器件的限制。因此利用ADSP內(nèi)嵌的強大Blackfin處理器和豐富的DSP外設(shè),可以有效地提高驗證的效率和功能的完整性。本文的總線接口模塊的設(shè)計對具有不同讀寫時序的驗證板的正常工作起著重要的作用,BF537原型的搭建必然要求本模塊能真實反映實際AHB總線的動作,這樣對于保證各個功能模塊的完整性和實時工作將起很大的作用。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38









