<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用FPGA實(shí)現無(wú)線(xiàn)分布式采集系統設計

利用FPGA實(shí)現無(wú)線(xiàn)分布式采集系統設計

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/348678.htm

1引言

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

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

2無(wú)線(xiàn)分布式采集系統簡(jiǎn)介

2.1系統硬件簡(jiǎn)介

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



圖1無(wú)線(xiàn)分布式采集系統結構


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

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



圖2系統框架


2.2系統數據流程

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

2.3系統組幀格式

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



圖3編碼器、譯碼器間數據幀格式


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



圖4無(wú)線(xiàn)數據傳輸

3無(wú)線(xiàn)分布式采集系統數據傳輸的實(shí)現

3.1可靠性

待發(fā)數據經(jīng),互為備份的雙通道發(fā)送,譯碼,冗余校驗,數據判選,系統能夠很好的進(jìn)行無(wú)線(xiàn)收發(fā)。

3.1.1卷積編碼

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




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


3.1.2 譯碼

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

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

3.1.3數據判選

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



圖6數據的選擇

3.2同步的實(shí)現

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

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

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


當2組同步幀都滿(mǎn)足時(shí),幀同步建立,接收端保存接下來(lái)的數據。無(wú)線(xiàn)通信電臺與FPGA以rs485連接,如圖7所示,FPGA檢測X是否為“0”,當檢測到“0”,不接收端對接下來(lái)的數據X與本地巴克碼對應位進(jìn)行位異或運算。當檢測1 byte barker碼,錯1位以?xún)葧r(shí),發(fā)出一value脈沖。當檢測到2個(gè)value脈沖時(shí),說(shuō)明同步已建立,接收端開(kāi)始存儲接下來(lái)的數據。



圖7 barler碼識別


4系統監控模塊的實(shí)現

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



圖8 STM32與FPGA連接


STM32與FPGA同時(shí)接收命令,在解析完命令后,FPGA應在規定的時(shí)間內發(fā)送數據,FH認組幀完成時(shí),發(fā)出INT信號至黜2申請中斷。如果STM32在規定時(shí)間內沒(méi)有接收到FPGA發(fā)來(lái)的INT信號,將開(kāi)始計時(shí),計時(shí)時(shí)間內未能接收INT信號,STM32將停止FPGA供電電源工作,由STM32代替FPGA工作,保證整個(gè)系統能穩定進(jìn)行。

5系統測試

編碼器實(shí)物如圖9所示。測試時(shí)搭建一對編碼、譯碼器,采用12 V的直流電源供電。待發(fā)數據為208 bits,即208b00000000_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顯示了測試中利用SignalTap II截取經(jīng)卷積編碼后輸出的部分信號波形。其中z為串行輸人數據,yt為卷積編碼后輸出的數據。數據經(jīng)無(wú)線(xiàn)發(fā)送后,經(jīng)Viterbi譯碼,仿真圖形如圖11所示,編碼器發(fā)送的數據為208 bit S,data_out為譯碼輸出的部分數據,譯碼數據與發(fā)送端的高低位順序相反。由于數據經(jīng)發(fā)送后,高低位互換,圖上只截取了經(jīng)Viterbi譯碼后的高27位的譯碼結果。經(jīng)多次測試,數據傳輸正常,在少量不連續的錯碼情況下,系統能夠自動(dòng)糾正。



圖9編碼器實(shí)物

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

圖ll Viterbi譯碼輸出

6結論

在無(wú)線(xiàn)分布式采集系統設計中,采用了基于卷積編碼、Viterbi譯碼的編碼和互為備份的雙通道傳輸方案,利用了FPGA內豐富的邏輯資源以及存儲資源,實(shí)現了數據的遠距離同步可靠傳輸。加入備份數據通道后,通過(guò)FPGA內部邏輯控制,在硬件上實(shí)現了對兩路數據的實(shí)時(shí)校驗及自動(dòng)判選,提高了系統的穩定性和可靠性。相比于“備份-重傳”等機制,該方法實(shí)現簡(jiǎn)單、實(shí)時(shí)性好,即使某一通道不能正常工作,系統仍能正常進(jìn)行。該無(wú)線(xiàn)分布采集系統,滿(mǎn)足了現在同步觸發(fā)和數據量不大情況下的傳輸。本文提出的互為備份的雙通道編解碼、數據冗余傳輸機制,亦可應用相關(guān)無(wú)線(xiàn)傳輸領(lǐng)域,以提高遠距離數據傳輸的可靠性和穩定性。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>