系統(tǒng)設(shè)計
在短距離通信中,通??梢栽谑瞻l(fā)端加入奇偶校驗,、累加和校驗等出錯重發(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é)同FPGA管理系統(tǒng)時鐘,,完成與基帶DSP之間的任務(wù)協(xié)調(diào)和數(shù)據(jù)傳輸,,管理系統(tǒng)總線和區(qū)分?jǐn)?shù)據(jù)、信息類別以及控制接口,?;鶐SP主要完成圖像數(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é)為校驗碼元,。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)為實現(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ù)實現(xiàn)了圖像的無線傳輸,。這些設(shè)計思想和結(jié)果具有普遍性和通用性,。