用FPGA實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)距離的高精度傳輸_第1頁
用FPGA實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)距離的高精度傳輸_第2頁
用FPGA實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)距離的高精度傳輸_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、    摘要:詳細(xì)闡述一種利用交錯編碼的思想,來改遠(yuǎn)距離通信質(zhì)量的新設(shè)計(jì)。設(shè)計(jì)由FPGA芯片實(shí)現(xiàn),能很方便加載到各種單片機(jī)有線或無線通信系統(tǒng)的收發(fā)接口中。通過對發(fā)、收信息的編、解碼處理,增強(qiáng)信息在傳輸過程的抗干擾能力,以達(dá)到遠(yuǎn)距離高精度傳輸目的。 關(guān)鍵詞:FPGA 遠(yuǎn)距傳輸 高精度 交錯 編碼 解碼1 意義簡單的多機(jī)間數(shù)據(jù)通信在我們的設(shè)計(jì)中很普遍,一般情況下數(shù)據(jù)傳輸距離很短,不會超過百十m,因此僅采用雙絞線加RS232或RS485標(biāo)準(zhǔn)就可以有效傳輸。但有時(shí)多機(jī)之間的距離也會很遠(yuǎn),如我們所設(shè)計(jì)的一個(gè)氣象項(xiàng)目,就要求子站遍布在基站1km范圍內(nèi)。因此在考慮成本

2、、不增加很多設(shè)備的前提下,有效防止噪聲干擾,保證子站與基站的數(shù)據(jù)高精確傳輸就很重要。圖1 方案框圖 通常多機(jī)短距通信中,可以在收發(fā)端加入奇校驗(yàn)、累加和校驗(yàn)等出錯就重發(fā)的防噪聲措施;但以上措施都只能檢錯,不能糾錯,也就是說傳輸過程中不能容錯。在遠(yuǎn)距離、干擾大、出錯概率非常高的情況下,單純的出錯就重發(fā)措施會失去工作效率和意義。因此,我們需要一種能容錯的數(shù)據(jù)傳輸方式,就要對數(shù)據(jù)編碼。因此,不同傳輸環(huán)境的噪聲性質(zhì)不相同,對應(yīng)的編碼方式也不一樣,所以我們設(shè)計(jì)編碼時(shí)強(qiáng)調(diào)更多位的糾錯冗余,以適合較多的環(huán)境,但相應(yīng)地就降低了傳輸速率。另外,出于通用性和簡易性的考慮,我們的設(shè)計(jì)應(yīng)可直接加載于原有的有線或無線通信

3、系統(tǒng)上,除數(shù)據(jù)連線外,不需對原有系統(tǒng)做任何改變。在此,我們采用了交錯編碼技術(shù)來增加數(shù)據(jù)傳輸過程的容錯能力。編解碼設(shè)備插入加載到通信系統(tǒng)原來的數(shù)據(jù)收發(fā)端口。因此,微處理器要發(fā)送的數(shù)據(jù)由原先的直接經(jīng)發(fā)送端(無線通信為調(diào)制器和發(fā)送器)發(fā)送,變?yōu)橄冉?jīng)編碼設(shè)備編碼,然后再經(jīng)原有的發(fā)送端發(fā)送;同理,接收端(無線通信為接收器和解調(diào)器)收到信息,經(jīng)解碼設(shè)備解碼出數(shù)據(jù),再傳送給微處理器。2 設(shè)計(jì)方案為適應(yīng)多種信道,要求我們的設(shè)計(jì)能同時(shí)糾隨機(jī)錯和突發(fā)錯,并且能有多位的糾錯冗余。因此,我們基于常用的卷積碼和循環(huán)碼特性,自定義一種簡單的線性分組碼作為糾錯編碼,以便我們刻意去提高糾錯的位數(shù)。同時(shí)我們采用交錯發(fā)送技術(shù)來提

4、高糾突發(fā)錯能力,并利用FPGA去實(shí)現(xiàn)該方案。(1)方案的應(yīng)用范圍我們所設(shè)計(jì)的方案用于遠(yuǎn)距離的多機(jī)通信。根據(jù)實(shí)際經(jīng)驗(yàn),本方案默認(rèn)微處理器收發(fā)的數(shù)據(jù)為8位并行數(shù)據(jù)+1位同步時(shí)鐘,因此提供8位數(shù)據(jù)線和1位同步線。對于串口,則可增加串行轉(zhuǎn)換的移位寄存器來轉(zhuǎn)化。圖3 解碼器仿真圖 (2)方案的實(shí)現(xiàn)方案的實(shí)現(xiàn)如圖1所示。在子站、基站的收發(fā)端口與微處理器之間分別加入相應(yīng)的編解碼設(shè)備,使得子站與基站間傳輸?shù)臄?shù)據(jù)先經(jīng)過編解碼再傳輸,以達(dá)到增強(qiáng)容錯的能力。用幀結(jié)構(gòu)實(shí)現(xiàn)碼字的交錯。遠(yuǎn)距離傳輸,收發(fā)端最好選用同步方式,但這不是本設(shè)計(jì)的內(nèi)容,不予以討論。圖4 編碼器仿真器 (3)基于精度,對數(shù)據(jù)的每一位單獨(dú)編碼實(shí)際應(yīng)用

5、中,對數(shù)據(jù)精確的定義并非數(shù)據(jù)的完全重合,而是要求某一個(gè)精度。完全重合只對用做標(biāo)志的數(shù)據(jù)有意義,對單純計(jì)算用的數(shù)據(jù)并沒有必要。基于精度要求,顯然一個(gè)數(shù)據(jù)信息的高位對精度影響遠(yuǎn)比低位大(如:FFH,當(dāng)最高位出錯變?yōu)?FH時(shí),精度變化最大,而最低位出錯變?yōu)镕EH時(shí),精度變化最小)。因此,我們并沒有對8位數(shù)據(jù)信息進(jìn)行整體編碼,而是逐位分開進(jìn)行編碼:高數(shù)據(jù)位,采用更長的編碼,以保證更高的正確率;低數(shù)據(jù)位,則可采用較短的編碼,兼顧效率和設(shè)備容量。具體編碼如表1所列。表18位數(shù)據(jù)最低位(3,1)碼0對應(yīng)010,1對應(yīng)101,漢明距3,糾1錯8位數(shù)據(jù)第二位(3,1)碼0對應(yīng)010,1對應(yīng)101,漢明距3,糾1

6、錯8位數(shù)據(jù)第三位(5,1)碼0對應(yīng)01010,1對應(yīng)10101,漢明距5,糾2錯8位數(shù)據(jù)第四位(5,1)碼0對應(yīng)01010,1對應(yīng)10101,漢明距5,糾2錯8位數(shù)據(jù)第五位(7,1)碼0對應(yīng)0101010,1對應(yīng)1010101,漢明距7,糾3錯8位數(shù)據(jù)第六位(7,1)碼0對應(yīng)0101010,1對應(yīng)1010101,漢明距7,糾3錯8位數(shù)據(jù)第七位(9,1)碼0對應(yīng)010101010,1對應(yīng)101010101,漢明距9,糾4錯8位數(shù)據(jù)最高位(9,1)碼0對應(yīng)010101010,1對應(yīng)101010101,漢明距9,糾4錯表2第1位第2位第3位第4位第5位第6位第7位最高位001001001010010

7、10010101001010100101010100101010101101101101011010110101011010101101010101101010101對8個(gè)位遠(yuǎn)逐位編碼,8個(gè)生成矩陣為1維矢量。因此用FPGA實(shí)現(xiàn)編碼時(shí),采用查表法更方便,如表2所列。之所以選用010等作為碼字,是因?yàn)?1相間在組合為幀發(fā)送時(shí),可以減少連0或連1的出現(xiàn)概率。(4)幀結(jié)構(gòu)實(shí)現(xiàn)交錯發(fā)送技術(shù)為糾突發(fā)錯,碼字要按交錯格式發(fā)送。因此,用幀實(shí)現(xiàn)碼字的交錯,數(shù)據(jù)發(fā)端按幀發(fā)送,數(shù)據(jù)收端按幀解碼。8個(gè)碼字共48位(6字節(jié)),加幀頭2字節(jié),所以,幀為8字節(jié)。為說明幀結(jié)構(gòu),暫以字母表示碼字各位:碼字0:a2a1a0;

8、碼字3:d4d3d2ed1d0;碼字1:b2b1b0; 碼字4:e6e5e4e3e2e1e0;碼字2:c4c3c2c1c0; 碼字5:f6f5f4f3f2f1f0;碼字6:g8g7g6g5g4g3g2g1g0;碼字7:h8h7h6h5h4h3h2h1h0;幀結(jié)構(gòu)如表3所列。圖5 糾突發(fā)錯仿真圖 利用幀頭1和幀頭2的重合特點(diǎn)來檢測幀頭,因?yàn)榇a字交錯發(fā)送時(shí)相鄰兩字節(jié)對應(yīng)位基本01相間的。由表3可得,第3字節(jié)到第8字節(jié),相鄰字節(jié)至少有6位不相同。因此可借用漢明距的糾錯思想,認(rèn)為幀頭1和2不重合的位在2位以內(nèi),則表示正確收到幀頭。表3幀頭111010100幀頭211010100第3字節(jié)a0c0e0f6

9、f0g0g6h0第4字節(jié)a1c1e2d0f1g1g7h1第5字節(jié)a2c2e2d1f2g2g8h2第6字節(jié)b0c3e3d2f3g3h6h3第7字節(jié)b1c4e4d3f4g4h7h4第8字節(jié)b2e6e5d4f5g5h8h53 FPGA實(shí)現(xiàn)設(shè)計(jì)(1)單工條件下的實(shí)現(xiàn)用兩塊FPGA分別實(shí)現(xiàn)編碼器和解碼器。按前面的編解碼原理,編碼器接收子站8位信息和1位同步,輸出8字節(jié)×8位幀結(jié)構(gòu)編碼作遠(yuǎn)程傳輸,解碼器收到幀結(jié)構(gòu)編碼,輸出8位信息和1位同步給基站。(在實(shí)際應(yīng)用中,子基站兩MPU還要加入通常的累加和檢錯或偶校驗(yàn)檢錯。因不屬編解碼內(nèi)容,不作討論。)單工電路原理如圖2。為檢驗(yàn)電路設(shè)計(jì),假設(shè)輸入信號為1

10、1001010,編碼輸出的幀結(jié)構(gòu)為表4。表4幀頭111010100=D4幀頭211010100=D4第3字節(jié)00000111=07第4字節(jié)11111000=FB第5字節(jié)00000111=07第6字節(jié)11111010=FA第7字節(jié)00000101=05第8字節(jié)10111010=BA編碼器仿真圖如圖3。同步信號clk_in上升沿到來時(shí),編碼器讀入數(shù)據(jù)信息11001010,并按內(nèi)部的波特率clk;在下降沿產(chǎn)生正確的幀格式編碼輸出(D4、D4、07、FB、07、FA、05、BA)。 解碼器的仿真圖如圖4所示。當(dāng)解碼器判斷收到幀頭(兩個(gè)D4),則將同步信號clk_out置高,再按內(nèi)部波特率clk在上升沿

11、收6字節(jié)的幀結(jié)構(gòu)碼字,在同步信號的下降沿輸出譯碼(11001010)。糾突發(fā)錯仿真圖如圖5所示。當(dāng)傳輸過程出現(xiàn)突發(fā)錯時(shí),第5字節(jié)改為FF,第7字節(jié)改為00,譯碼器給出信息11001010。糾突發(fā)錯仿真圖如圖5所示。當(dāng)傳輸過程出現(xiàn)突發(fā)錯時(shí),第5字節(jié)改為FF,第7字節(jié)改為00,譯碼器給出信息11001010。因?yàn)樾畔⒆畹臀坏木幋a能糾1位錯,最高位能糾4位錯,所以,當(dāng)?shù)?5字節(jié)、第68字節(jié)分別出現(xiàn)一個(gè)8位的突發(fā)錯,譯碼器均能完全糾正。出現(xiàn)多個(gè)突發(fā)錯時(shí),相應(yīng)的信息低位將出錯,但信息高位因具有更多位的糾錯能力而仍能保持準(zhǔn)確性。我們設(shè)計(jì)的目標(biāo)也正是盡可能保證高位的正確,以保證精度。 (2)基于單工的雙工通

12、信此時(shí)一片F(xiàn)PGA內(nèi)集成了編碼器和解碼器,與MPU相連的數(shù)據(jù)通信接口仍為8位數(shù)據(jù)線,由MPU發(fā)W/R寫讀信號來控制編解碼,因此同一時(shí)間只能單向傳送數(shù)據(jù),編解碼不能同時(shí)進(jìn)行。準(zhǔn)確地說,為半雙工通信。(要改為全雙工,須將MPU的數(shù)據(jù)線接口翻倍,非常占資源。)雙工電路原理如圖6所示。雙工編、解碼器的內(nèi)部電路如圖7所示。(編碼器,解碼器與單工的相同。)實(shí)際上,我們對編碼器和解碼器的輸出分別加了一個(gè)傳輸門(transfer_X器件)。該傳輸門由W/R信號控制,一旦傳輸門關(guān)閉,則將傳輸門的輸出置于高阻態(tài)("Z"),因此,編解碼器的輸入輸出不會相互干擾,從而能在同一數(shù)據(jù)線上進(jìn)行半雙工傳輸。MPU向FPGA寫信息,F(xiàn)PGA編碼輸出。W/R=0,信息為11001010。MPU讀FPGA的信息,F(xiàn)PGA收幀結(jié)構(gòu)并解碼。W/R=1,解碼得11001010。4 總結(jié)我們的設(shè)計(jì)目的主要在于增加數(shù)據(jù)的容錯能力。FPGA設(shè)備加載于MPU的數(shù)據(jù)接口與數(shù)據(jù)通信芯片接口之間,數(shù)據(jù)仍按原系統(tǒng)的發(fā)送方式遠(yuǎn)距離傳輸,如圖8所示。因此原有的通信設(shè)備不必作改動,就能很方便地加載我們的設(shè)計(jì)。同時(shí)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論