利用FPGA實現(xiàn)無線分布式采集系統(tǒng)設(shè)計-技術(shù)方案_第1頁
利用FPGA實現(xiàn)無線分布式采集系統(tǒng)設(shè)計-技術(shù)方案_第2頁
利用FPGA實現(xiàn)無線分布式采集系統(tǒng)設(shè)計-技術(shù)方案_第3頁
利用FPGA實現(xiàn)無線分布式采集系統(tǒng)設(shè)計-技術(shù)方案_第4頁
利用FPGA實現(xiàn)無線分布式采集系統(tǒng)設(shè)計-技術(shù)方案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯利用FPGA實現(xiàn)無線分布式采集系統(tǒng)設(shè)計-技術(shù)方案1引言

近些年來,隨著電子技術(shù)的發(fā)展,無線通信技術(shù)、計算機(jī)網(wǎng)絡(luò)的發(fā)展,分布式無線數(shù)據(jù)采集網(wǎng)絡(luò)技術(shù)開始興起,并迅速的應(yīng)用到各個領(lǐng)域。在一些地形復(fù)雜,不適合人類出現(xiàn)的區(qū)域需要進(jìn)行數(shù)據(jù)采集的情況下,都可以適當(dāng)?shù)倪x擇無線分布式采集來進(jìn)行。現(xiàn)有的無線分布式采集系統(tǒng)中,往往使用單片機(jī)、DSP等作為系統(tǒng)的主控控制單元。但是由于其自身工作特點,往往對于的定時控制以及并行處理能力上比FPGA弱。隨著FPGA等可編程邏輯器件的發(fā)展,為無線數(shù)據(jù)可靠傳輸提供了很好的實現(xiàn)平臺。采用FPGA作為時序控制和信號處理的處理器,將使系統(tǒng)電路設(shè)計更加簡潔、可靠、靈活,可有效的縮短開發(fā)周期,并降低開發(fā)成本。

為此,基于CycloneIV+STM32設(shè)計了一種新型的無線分布式采集系統(tǒng),實現(xiàn)了數(shù)據(jù)的高可靠和同步傳輸。設(shè)計主要由3大部分組成:編碼器、譯碼器、無線收發(fā)電臺。在對編碼器、譯碼器同步校準(zhǔn)后,對待發(fā)送數(shù)據(jù)進(jìn)行卷積編碼,并轉(zhuǎn)換為串行數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)后,在串行數(shù)據(jù)幀頭加入Barker碼來實現(xiàn)幀的同步,并使用2條互為備份的數(shù)據(jù)傳送通道同時發(fā)送數(shù)據(jù)。在數(shù)據(jù)接收端檢測到barker碼后,本地對互為備份的雙通道數(shù)據(jù)進(jìn)行viterbi譯碼(本文設(shè)計的viterbi譯碼器采用并行結(jié)構(gòu),大大的降低譯碼時間)。譯碼結(jié)束后,本地對雙通道數(shù)據(jù)進(jìn)行循環(huán)冗余校驗,并做出判選,執(zhí)行相應(yīng)指令。并在規(guī)定時間給出相應(yīng)反饋信號。設(shè)計的無線采集系統(tǒng),即使某一數(shù)據(jù)通道出現(xiàn)少量錯碼,系統(tǒng)仍能有效的恢復(fù)出數(shù)據(jù),并進(jìn)行可靠的數(shù)據(jù)傳輸。系統(tǒng)添加了監(jiān)控模塊,實時備份上傳的數(shù)據(jù)并監(jiān)控,如發(fā)現(xiàn)不能正常上傳,則啟用備用模塊保證整個系統(tǒng)正常工作。系統(tǒng)不僅能實現(xiàn)數(shù)據(jù)的高可靠和同步傳輸,而且具有很好的適用性,可廣泛應(yīng)用工業(yè)中。

2無線分布式采集系統(tǒng)簡介

2.1系統(tǒng)硬件簡介

無線分布式采集系統(tǒng)包括編碼器、譯碼器(編碼器、譯碼器硬件完全相同,只是配置邏輯不同,可配置為編碼器、譯碼器、中繼站)和無線通信電臺。如圖1所示,這是一個簡單的一對一式分布式系統(tǒng)。

圖1無線分布式采集系統(tǒng)結(jié)構(gòu)

編碼器作為上位機(jī)與譯碼器之間的橋梁,通過USB/RS485通道進(jìn)行發(fā)送、接收命令和數(shù)據(jù)。譯碼器接收編碼器發(fā)來的命令進(jìn)行配置和采集,并將數(shù)據(jù)存儲至DDR2中。譯碼器收到上傳命令后,上傳數(shù)據(jù)至編碼器。

編碼器/譯碼器硬件系統(tǒng)框圖如圖2所示。本系統(tǒng)主控單元由FPGA完成。FPGA選用Altera公司的EP4CGX30F407,邏輯單元為29440個,80個18×18乘法器,多達(dá)290個用戶自定義IO。STM32作為監(jiān)控和備用單元組成系統(tǒng)的基本架構(gòu),STM32F407ZG系列是基于高性能的ARMCortexTM-M4F的32位RISC內(nèi)核,工作頻率高達(dá)168MHz,該STM32F407ZG系列采用高速嵌入式存儲器(多達(dá)1MB閃存,高達(dá)192KB的SRAM),擁有3個12位ADC,2個DAC,1個低功耗RTC,12個通用16位定時器,2個通用32位定時器。人機(jī)交互部分由16X2液晶顯示字符模塊和4個按鍵組成,其主要功能是通過按鍵對基站編號設(shè)置并顯示在LCD上。無線模塊選用WSN-03系列無線模塊作為收發(fā)平臺,工作電壓為5V,傳輸速率和工作頻段等都可配置。目前傳輸速率為115200bps,工作頻為433MHz可調(diào)。無線模塊與FPGA主要以RXD/A,TXD/B,NRST(復(fù)位控制),SET(設(shè)置模塊參數(shù)),SLP(休眠控制)信號線連接。GPS模塊選用VKl6U6進(jìn)行定位,與FPGA以UART接口連接,波特率定位9600bps。ADC選用基于△-Σ技術(shù)的32bits高精度低功耗模數(shù)轉(zhuǎn)換芯片ADSl282,采樣信號電平范圍:差分輸人一2.5~+2.5V。單個譯碼器有6個采集通道,以2k采樣率,采樣時常16S來計算,單個譯碼器純數(shù)據(jù)量為6×2k×16×24-6144Kbits.考慮到編碼器,采樣,8個基站的數(shù)據(jù)經(jīng)編碼后數(shù)據(jù)總量為98304Kbits,所以編碼器和譯碼器需增加l片MicronTechnology公司的MT47H256M8HG-37EIT(256Meg×8)作為緩存空間。由于DDR2SDRAM需要特定的控制讀寫時序,系統(tǒng)直接采用QuartusII自帶的“DDR2SDRAMHigh-PerformanceController”IPCORE。USB部分由2個通道組成,一個是由FPGA、CY7C68013和USB接口組成;另一個由STM32(自帶USB驅(qū)動)和USB接口組成。同時本設(shè)計中還添加了RS485串口,使整個系統(tǒng)與上位機(jī)能保持實時通信,為系統(tǒng)的遠(yuǎn)程控制提供了可能,并能保持系統(tǒng)更新。

圖2系統(tǒng)框架

2.2系統(tǒng)數(shù)據(jù)流程

系統(tǒng)的數(shù)據(jù)流程為:同步校準(zhǔn)譯碼器,設(shè)置各個譯碼器接收命令后的延時-編碼器配置采集參數(shù)、命令-譯碼器采集數(shù)據(jù)保存至DDR2中一各譯碼器分時接收數(shù)據(jù)上傳命令并上傳數(shù)據(jù)-編碼器將數(shù)據(jù)匯總保存至DDR2-數(shù)據(jù)收集齊后通過USB/RS485上傳至上位機(jī)。譯碼器節(jié)點配合計算機(jī)對各個點的數(shù)據(jù)進(jìn)行輪詢采集,它包含了無線傳輸模塊和與計算機(jī)通信的USB接口。STM32將組幀后的數(shù)據(jù)備份并實時監(jiān)控FPGA,如在規(guī)定時間或未能按指令進(jìn)行工作,STM32將替代FPGA并使FPGA進(jìn)入斷電狀態(tài)。

2.3系統(tǒng)組幀格式

編碼器與譯碼器之間是一對多的關(guān)系,譯碼器分時上傳數(shù)據(jù),譯碼器有2個通道,譯碼器有的配置編號。數(shù)據(jù)幀的格式如圖3所示。數(shù)據(jù)幀中除20字節(jié)有效數(shù)據(jù)之外,還包括組號、目的編號等。

圖3編碼器、譯碼器間數(shù)據(jù)幀格式

為了改進(jìn)接收信號質(zhì)量,本系統(tǒng)引入信道編碼的方法來改善信道質(zhì)量。具體如圖4所示。發(fā)送端對數(shù)據(jù)進(jìn)行組幀、并串轉(zhuǎn)換、卷積編碼、加入同步幀信息后,把數(shù)據(jù)發(fā)送至無線通信電臺進(jìn)行調(diào)制。接收端的無線通信電臺對信號進(jìn)行解調(diào)后發(fā)送數(shù)據(jù)至接收端的FPGA.接收端的FPGA檢測到幀同步信息后對接下來的數(shù)據(jù)保存,并進(jìn)行Viterbi譯碼。FPGA對雙通道的數(shù)據(jù)進(jìn)行冗余校驗,并選擇正確的數(shù)據(jù)執(zhí)行相關(guān)操作。

圖4無線數(shù)據(jù)傳輸

3無線分布式采集系統(tǒng)數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

3.1可靠性

待發(fā)數(shù)據(jù)經(jīng)卷積編碼,互為備份的雙通道發(fā)送,Viterbi譯碼,冗余校驗,數(shù)據(jù)判選,系統(tǒng)能夠很好的進(jìn)行無線收發(fā)。

3.1.1卷積編碼

數(shù)據(jù)組幀完成后,由低位至高位進(jìn)行并串轉(zhuǎn)換,進(jìn)行卷積編碼。卷積編碼是一種糾錯信道編碼,是由連續(xù)的輸入信息序列經(jīng)編碼后得到連續(xù)輸出的編碼序列口。以(n,k,m)來描述卷積碼,k為每次輸入到卷積編碼器的bit數(shù),行為每k元組碼字對應(yīng)的卷積碼輸出n元組碼字,m為編碼儲存度。卷積編碼生成的n元組元不僅與當(dāng)前輸入有關(guān)系,還與前面m一1個輸入的k元組有關(guān)系。本系統(tǒng)采用(2,1,4)卷積編碼器,如圖5所示。圖中“+”代表異或。每bit經(jīng)編碼后都有2bit輸出(C1,C2)。

圖5(2,1,4)卷積編碼器

3.1.2Viterbi譯碼

接收端有2個接收通道,互不干擾。接收端對2個通道同時譯碼。譯碼采用Viterbi譯碼。Viterbi譯碼算法是一種卷積碼的解碼算法。Viterbi譯碼根據(jù)似然算法規(guī)則,能達(dá)到譯碼,特別適合向前糾錯。以本設(shè)計為例,根據(jù)圖5,編碼器4個延時狀態(tài)(0,1)組成整個編碼器的16個狀態(tài)(D4D3D2D1),每個狀態(tài)在編碼器輸入1或0時,跳轉(zhuǎn)到另一個狀態(tài)。并且輸出也隨之改變。譯碼就是編碼的逆過程。算法規(guī)定任意t時刻收到的數(shù)據(jù)都要進(jìn)行32次路徑值計算、16次比較,比較后每個狀態(tài)只保存一個路徑值,為接下來計算減少了一半的運算量。反復(fù)208次,從16條幸存路徑中選出一條路徑值的,反推出這條路徑,得出相應(yīng)的譯碼輸出。考慮到每次譯碼后,譯碼器都能回到初始狀態(tài),所以源數(shù)據(jù)加了8bit的“0”。本設(shè)計采用并行處理結(jié)構(gòu),經(jīng)214個周期還原出源碼。

在設(shè)計FPGA邏輯時,基本采用多條并行的流水線技術(shù),譯碼部分包含4個子模塊:加比選模塊、回溯模塊、存儲模塊和時鐘控制模塊。路徑值的計算和比較在3個時鐘周期內(nèi)完成,4個模塊同時運行,大大的降低了譯碼時間。另外,為了提高FPGA效率,系統(tǒng)加入采樣觸發(fā)信號,保證系邏輯能夠穩(wěn)定運行。

3.1.3數(shù)據(jù)判選

經(jīng)譯碼后,接收端已接收到2組互為備份的數(shù)據(jù)。經(jīng)實踐證明,簡單的并聯(lián)冗余能大大的提高系統(tǒng)的可靠性。具體選擇流程如圖6所示。2路數(shù)據(jù)經(jīng)Viterbi譯碼后,開始接收一幀數(shù)據(jù),并寫入RAM中,同時計算CRC校驗、幀完整性檢測、ID是否符合本地。上述檢測都沒問題時,對2路幸存路徑的度量值進(jìn)行比較,選擇值小的通道作為終數(shù)據(jù)。

圖6數(shù)據(jù)的選擇

3.2同步的實現(xiàn)

為了保證編碼器和譯碼器之間能嚴(yán)格實現(xiàn)同步,數(shù)據(jù)幀需要加入同步幀。實現(xiàn)幀同步的方法通常有2種:起止同步法和集中式插入同步法。起止式同步比較簡單,一般在數(shù)據(jù)碼元的開始和結(jié)束位置加入特定的起始和停止脈沖來表示數(shù)據(jù)幀的開始和結(jié)束。集中插入式同步法中插人的同步碼要求在接收端進(jìn)行同步識別時出現(xiàn)偽同步的概率盡可能低,并且要求該碼具有尖銳的自相關(guān)特性以便識別。7位巴克碼作為幀同步碼,其局部自相關(guān)函數(shù)為:

由上公式計算可知,7位巴克碼的自相關(guān)函數(shù)在j一0時出現(xiàn)尖銳的單峰特性。設(shè)計中采用2組同步幀頭作為同步碼,同步幀頭由7位巴克碼和1bit的0組成。

到現(xiàn)在為止,待發(fā)數(shù)據(jù)bit數(shù)為:208×2+8×2-432bits。經(jīng)調(diào)制解調(diào)后,接收端檢測幀同步信息,同步信息為2組11100100組成。每組同步信息高7位與7位巴克碼相比,允許出錯位數(shù)在1位以內(nèi)。設(shè)P為碼元錯誤概率,行為同步碼組的碼元數(shù),m為判決其允許碼組中的錯誤碼元數(shù),在本系統(tǒng)中行n=7,m=1。在P=0.01時,單一barker碼的漏同步概率為:

當(dāng)2組同步幀都滿足時,幀同步建立,接收端保存接下來的數(shù)據(jù)。無線通信電臺與FPGA以rs485連接,如圖7所示,F(xiàn)PGA檢測X是否為“0”,當(dāng)檢測到“0”,不接收端對接下來的數(shù)據(jù)X與本地巴克碼對應(yīng)位進(jìn)行位異或運算。當(dāng)檢測1bytebarker碼,錯1位以內(nèi)時,發(fā)出一value脈沖。當(dāng)檢測到2個value脈沖時,說明同步已建立,接收端開始存儲接下來的數(shù)據(jù)。

圖7barler碼識別

4系統(tǒng)監(jiān)控模塊的實現(xiàn)

STM32與FPGA連接如圖8所示,由于ARM與FPGA的相互通信直接影響著控制器的性能,所以該并行總線的設(shè)計就成為一個非常關(guān)鍵的問題。該總線可以包括芯片的地址總線(ADDR[021])、數(shù)據(jù)總線(DB[015])、控制總線、復(fù)位信號(nRST)以及中斷信號線(INT),其中控制總線包括使能信號(nOE)、片選信號(nCS)、讀信號(nRD)、寫信號(nWE),這樣做的好處是,將FPGA芯片存儲器化,即STM32可通過對特定地址的訪問來控制FPGA工作,并且可通過共同的復(fù)位信號將STM32與FPGA芯片同時復(fù)位,盡量避免總線競爭和冒險現(xiàn)象的出現(xiàn)。

圖8STM32與FPGA連接

STM32與FPGA同時接收命令,在解析完命令后,F(xiàn)PGA應(yīng)在規(guī)定的時間內(nèi)發(fā)送數(shù)據(jù),F(xiàn)H認(rèn)組幀完成時,發(fā)出INT信號至黜2申請中斷。如果STM32在規(guī)定時間內(nèi)沒有接收到FPGA發(fā)來的INT信號,將開始計時,計時時間內(nèi)未能接收INT信號,STM32將停止FPGA供電電源工作,由STM32代替FPGA工作,保證整個系統(tǒng)能穩(wěn)定進(jìn)行。

5系統(tǒng)測試

編碼器實物如圖9所示。測試時搭建一對編碼、譯碼器,采用12V的直流電源供電。待發(fā)數(shù)據(jù)為208bits,即208'b00000000_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100111_00111111;圖10顯示了測試中利用SignalTapII截取經(jīng)卷積編碼后輸出的部分信號波形。其中z為串行輸人數(shù)據(jù),yt為卷積編碼后輸出的數(shù)據(jù)。數(shù)據(jù)經(jīng)無線發(fā)送后,經(jīng)Viterbi譯碼,仿真圖形如圖11所示,編碼器發(fā)送的數(shù)據(jù)為208bitS,data_out為譯碼輸出的部分?jǐn)?shù)據(jù),譯碼數(shù)據(jù)與發(fā)送端的高低位順序相反。由于數(shù)據(jù)經(jīng)發(fā)送后,高低位互換,圖上只截取了經(jīng)Viterbi譯碼后的高27位的譯碼結(jié)果。經(jīng)多次測試,數(shù)據(jù)傳輸正常,在少量不連續(xù)的錯碼情況下,系統(tǒng)能夠自動糾正。

圖9編碼器實物

圖l0(2,1,4)編碼器輸出

圖llViterbi譯碼輸出

6結(jié)論

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論