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