DSP和FPGA在圖像傳輸系統(tǒng)中的應(yīng)用和實(shí)現(xiàn)
摘 要:本文重點(diǎn)介紹基于DSP和FPGA、采用中頻數(shù)字化方法,以及QPSK擴(kuò)頻調(diào)制技術(shù)來實(shí)現(xiàn)圖像的無線傳輸。對擴(kuò)頻通信系統(tǒng)的同步問題提出了一種實(shí)現(xiàn)方法,并給出了部分實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞:圖像傳輸;擴(kuò)頻通信;同步;FPGA;DSP
視頻通信是目前計算機(jī)和通信領(lǐng)域的一個熱點(diǎn)。而無線擴(kuò)頻與有線相比,有其固有的優(yōu)越性,如聯(lián)網(wǎng)方便、費(fèi)用低廉等。所以開發(fā)無線擴(kuò)頻實(shí)時圖像傳輸系統(tǒng)有很高的實(shí)用價值。
系統(tǒng)設(shè)計
在短距離通信中,通??梢栽谑瞻l(fā)端加入奇偶校驗(yàn)、累加和校驗(yàn)等出錯重發(fā)的防噪聲措施。但以上措施都只能檢錯,不能糾錯,也就是說傳輸過程中不能容錯。在遠(yuǎn)距離、干擾大、出錯概率非常高的情況下,單純的出錯重發(fā)措施會失去工作效率和意義。因此,需要一種能容錯的數(shù)據(jù)傳輸方式,就要對數(shù)據(jù)編碼。采用擴(kuò)頻技術(shù),并選取具有優(yōu)良自相關(guān)特性和互相關(guān)特性的高速偽隨機(jī)碼對待傳信號帶寬進(jìn)行擴(kuò)展,可增強(qiáng)系統(tǒng)的抗干擾能力。在對圖像數(shù)據(jù)壓縮后,采用QPSK擴(kuò)頻調(diào)制技術(shù)。
系統(tǒng)的DSP由主控和基帶兩片DSP組成。主控DSP屬于系統(tǒng)的控制中心,用于完成控制系統(tǒng)接口總線的指令,將完成諸如自檢、信道預(yù)置、D/A和A/D變換、工作模式切換和AGC等。主控DSP還協(xié)同F(xiàn)PGA管理系統(tǒng)時鐘,完成與基帶DSP之間的任務(wù)協(xié)調(diào)和數(shù)據(jù)傳輸,管理系統(tǒng)總線和區(qū)分?jǐn)?shù)據(jù)、信息類別以及控制接口。基帶DSP主要完成圖像數(shù)據(jù)的壓縮編碼和數(shù)據(jù)的信源、信道編解碼、組拆幀等。當(dāng)進(jìn)行圖像數(shù)據(jù)的發(fā)送時,DSP控制數(shù)據(jù)輸入經(jīng)過隨機(jī)加擾、同比特擴(kuò)展、加編碼器尾比特、1/2卷積編碼和交織處理,再進(jìn)行信號流組幀、拆幀處理,同時加入控制信息進(jìn)行連續(xù)同步發(fā)送。當(dāng)進(jìn)行數(shù)據(jù)接收時,DSP的操作剛好相反,經(jīng)解擴(kuò)、解調(diào)和提取控制信息后,形成連續(xù)的圖像信號流,DSP完成去交織、Viterbi譯碼、去尾比特、多位判決和去擾處理,還原成圖像信號,再經(jīng)信源解碼和圖像數(shù)據(jù)的壓縮解碼。
系統(tǒng)的FPGA主要完成RS編碼和時鐘分頻。在發(fā)端基帶信號處理模塊中,DSP將一幀信息數(shù)據(jù)交給FPGA進(jìn)行RS編碼,編碼的結(jié)果為m+n(m、n均為特定系統(tǒng)所確定的常量,下同)個字節(jié),其中前m個字節(jié)為信息數(shù)據(jù),后n個字節(jié)為校驗(yàn)碼元。FPGA編碼結(jié)束后通知DSP進(jìn)行數(shù)據(jù)接收,DSP收到通知后接收編碼結(jié)果。在收端基帶信號處理模塊中,DSP將一個RS幀(m+n個字節(jié))的數(shù)據(jù)交給FPGA進(jìn)行RS解碼,F(xiàn)PGA解碼結(jié)束后產(chǎn)生m個字節(jié)的解碼結(jié)果,然后通知DSP接收解碼數(shù)據(jù),DSP接收到通知后進(jìn)行解碼結(jié)果的接收。
FPGA與DSP之間的通信
FPGA對數(shù)據(jù)進(jìn)行處理后,再將數(shù)據(jù)送入兩片DSP。在FPGA里面做一個FIFO,當(dāng)FIFO存至一定容量時,就向DSP發(fā)一個讀數(shù)中斷,DSP就可通過I/O口將數(shù)讀取,F(xiàn)IFO容量減小。然后,F(xiàn)PGA繼續(xù)往FIFO送待處理數(shù)據(jù),累計到一定容量,就再發(fā)中斷,以此循環(huán)。
用FIFO的好處在于處理起來較為簡單,但是也會出現(xiàn)DSP讀數(shù)速度與處理速度的和大于FPGA往FIFO填數(shù)速度的情況,或是DSP漏檢讀數(shù)中斷。這兩種情況都會導(dǎo)致FIFO被填滿而不再發(fā)中斷,DSP進(jìn)入死等待而不再工作。為了防止死等待狀態(tài)的出現(xiàn),以下兩條措施有必要在DSP編程中得以體現(xiàn):
1. 盡量加快DSP I/O口的讀取速度,以及一次中斷的處理速度,使其時間小于FPGA向FIFO輸入響應(yīng)數(shù)據(jù)的速度。在本系統(tǒng)的設(shè)計中,F(xiàn)IFO一次給DSP送4092個數(shù),F(xiàn)PGA向FIFO輸入4092個數(shù)耗時330ms,也就是說,DSP讀取這4092個數(shù)的時間加上對它們的處理時間不能超過330ms。在隨后的設(shè)計中優(yōu)化了DSP的很多指令及接口設(shè)計,使其一次中斷的響應(yīng)時間為100ms,大大提高了系統(tǒng)的性能。
2. 如果是其他原因,如板上的電氣干擾使得DSP漏檢中斷,則也有可能使FIFO堆滿,導(dǎo)致系統(tǒng)進(jìn)入死等待。對于這種情況,應(yīng)在DSP程序中加入判決算法,正常情況下,DSP應(yīng)該每隔330ms響應(yīng)一次中斷,但如果較長時間沒有中斷到來,DSP則必須發(fā)出響應(yīng)指令重啟FPGA,清空FIFO。
系統(tǒng)的同步問題與解決
由于本系統(tǒng)采用了直接序列擴(kuò)頻通信技術(shù),擴(kuò)頻系統(tǒng)的同步是成功通信的前提條件,如果沒有同步,也就無法解調(diào)出信碼,擴(kuò)頻系統(tǒng)的抗干擾優(yōu)勢也就無法發(fā)揮。由于收、發(fā)時鐘的不一致性,擴(kuò)頻序列的啟動時差,電波傳播時延等因素,接收端啟動的擴(kuò)頻序列與接收到的發(fā)送擴(kuò)頻序列開始總是不同步的。因此,收端必須采用一定的技術(shù)措施,迫使本地擴(kuò)頻序列與發(fā)端的擴(kuò)頻序列同步,這就是擴(kuò)頻碼的捕獲。在取得同步之后,噪聲及一些外來因素的干擾還會迫使已取得的同步出現(xiàn)失鎖現(xiàn)象。為此,還應(yīng)采取保持同步的技術(shù),這就是同步跟蹤。
對同步過程的處理,采用的依據(jù)是:連續(xù)5次最大相關(guān)值位置相等,則認(rèn)為實(shí)現(xiàn)了同步捕獲;如果相鄰10次最大相關(guān)值位置中有2次不等,則將進(jìn)行失步重捕判據(jù)。對碼同步的處理主要有3個方面:同步主流程、相位差檢測與后微調(diào)處理、多普勒頻移處理。
結(jié)語
在系統(tǒng)的初步調(diào)試過程中,曾遇到了以下幾個問題:
1. 調(diào)制端由于I、Q兩路不平衡,造成I、Q兩路相關(guān)峰輸出幅度差一個數(shù)量級,為后面數(shù)據(jù)判決基帶時鐘提取帶來問題。
2. 經(jīng)過幾次采樣分析,采樣結(jié)果不穩(wěn)定。
3. A/D采樣后的數(shù)據(jù)存在直流成分。
按照本文所述的同步處理思想,接收端經(jīng)同步處理后,獲得了較好的相關(guān)峰值。
本文基于DSP和FPGA,采用中頻數(shù)字化方法以及QPSK擴(kuò)頻調(diào)制技術(shù)實(shí)現(xiàn)了圖像的無線傳輸。這些設(shè)計思想和結(jié)果具有普遍性和通用性。