RS編碼器在智能探測車通信模塊中的運(yùn)用
摘要:文中基于RS編解碼原理提出了一種可運(yùn)用于無線遙控智能探測車的RS編碼器,并使用Altera公司的FLEX系列芯片MAX EPF10K10LC84-4設(shè)計實(shí)現(xiàn)了基于FPGA的RS編碼器模塊,完成了智能探測車通信模塊中的信號編碼功能。該編解碼器已經(jīng)成功應(yīng)用于無線遙控智能探測車上,結(jié)果可以滿足要求,并取得了令人滿意的效果。
關(guān)鍵詞:探測車;遠(yuǎn)程控制;數(shù)據(jù)采集;RS編碼器;FPGA
0 引言
可控性探測車產(chǎn)品是一種綜合電氣、通信和機(jī)械技術(shù)的綜合性產(chǎn)品,它主要是通過自身的傳感器對其所在環(huán)境的數(shù)據(jù)進(jìn)行采集處理,從而實(shí)現(xiàn)對目標(biāo)環(huán)境或?qū)ο蟮目睖y任務(wù)。因此可廣泛應(yīng)用于航空領(lǐng)域、軍事領(lǐng)域和科研領(lǐng)域,具有較高的實(shí)用和商業(yè)價值。由于智能探測車實(shí)現(xiàn)的是遠(yuǎn)程通信和控制,在與控制中心通信的過程中,其信息的完整性和安全性就成了重點(diǎn)考慮的問題,因此,如何設(shè)計出一個即結(jié)構(gòu)簡單又具有高可靠性的編解碼器就成了智能探測車設(shè)計中的關(guān)鍵環(huán)節(jié)。RS糾錯碼機(jī)制具有優(yōu)良的糾錯能力,并且算法簡單易于實(shí)現(xiàn),已經(jīng)越來越多應(yīng)用于現(xiàn)代數(shù)字通信網(wǎng)絡(luò),因此也為智能探測車的進(jìn)一步發(fā)展提供了可能性。
1 智能探測車通信系統(tǒng)模塊設(shè)計
智能探測車的通信模塊與探測車行駛驅(qū)動控制模塊完全兼容,并負(fù)責(zé)探測車和控制中心的無線通信功能。其總體系統(tǒng)結(jié)構(gòu)如圖1所示,其中的無線傳輸部件即為無線通信模塊。
2 RS編解碼算法
RS碼的全稱為Reed-Solomon碼,1960年由Irving Reed和Gus Solomon應(yīng)用MS多項式構(gòu)造出來。是一類對突發(fā)錯誤和隨即錯誤具有較強(qiáng)糾錯能力的多進(jìn)制BCH碼,到目前為止已經(jīng)成為最有效、應(yīng)用范圍也最廣的差錯控制編碼方式之一,可廣泛應(yīng)用于數(shù)據(jù)通信如數(shù)字電視,車載通信,衛(wèi)星通信等的差錯控制中。
RS碼屬于循環(huán)碼的一種,常用(n,k)表示;其中:n為碼字長度,k為信息長度,糾錯能力是t,校驗位為n-k=2t。這里的碼字均在有限域GF(2m)上,可以理解為在這個域上的單個碼元由mbit組成,因此,連續(xù)m bit的錯誤僅相當(dāng)于該碼單位碼元的錯誤,這樣就可以大幅度提高抗突發(fā)錯誤的能力。
2.1 RS編碼原理
RS編碼原理可分為頻域編碼和時域編碼兩種,編碼器實(shí)現(xiàn)結(jié)構(gòu)也可分為N-K級編碼器和K級編碼器兩種,電路結(jié)構(gòu)可分為基于多項式g(x)的乘法電路和基于多項式g(x)的除法電路。
在基于乘法電路的RS編碼器中,假設(shè)輸入的信息序列可表示為信息多項式:,m∈GF(2m),碼字多項式為C(x),由編碼理論可得到:C(x)=m(x)g(x),其中生成多項式,α為有限域GF(2m)的本原元素。也就是說RS碼的每個碼字都是生成多項式g(x)的倍式。g(x)的度數(shù)為n-k,校驗位為n-k=2t。用這種方法的編碼器輸出的是非系統(tǒng)碼,在實(shí)際應(yīng)用中,系統(tǒng)碼的編碼效率較高,因此,可以采用基于多項式除法電路的編碼器,即C(x)m=(x),其中余式為校驗多項式,其系數(shù)就是校驗位。將此余式加上信息多項式m(x)就組成了碼字多項式C(x)。
2.2 RS譯碼原理
RS碼的譯碼方法和編碼方法類似,也分時域譯碼和頻域譯碼兩種。時域譯碼是把碼字看作是時間軸上的信號序列,利用碼的代數(shù)結(jié)構(gòu)譯碼。時域譯碼算通常可分為以下三個步驟:第一步是從接收到的碼組R(x)計算出伴隨式S;第二步求解關(guān)鍵方程,由伴隨式計算錯誤位置,從而找出錯誤樣值E(x);第三步是錯誤校正,得到發(fā)送的碼字序列C(x)=R(x)-E(x)。
從而求出錯誤值Yi完成譯碼。其原理圖如圖2所示。
3 RS編碼器電路實(shí)現(xiàn)及仿真結(jié)果
本設(shè)計采用時域編碼方式下的16級RS(204,188)編碼器,電路結(jié)構(gòu)采用g(x)除法電路?;敬a長n=204,信息位k=188,校驗位n-k=204-188=16,糾錯能力,RS碼本原多項式,生成如下多項式:
RS(204,188)編碼電路與其它的線性分組碼的編碼電路一樣,其編碼器可以看作是一個多項式除法器,編碼電路的主要部分是一組線性移位反饋寄存器,是16級的編碼器。D16寄存器的值和當(dāng)前輸入的信息碼元異或得到反饋寄存器的值。編碼開始,首先將各寄存器清零,開關(guān)置于Code input位上,188個信息碼元依次進(jìn)入除法電路,并依次輸出。待所有信息碼元進(jìn)入電路,將開關(guān)置于Code output位上,校驗碼按時鐘節(jié)拍載入寄存器并依次輸出,當(dāng)所有校驗位輸出完畢,編碼結(jié)束。相關(guān)的編碼器電路如圖3所示。
Verilog-HDL是一種硬件描述語言,采用Verilog語言進(jìn)行設(shè)計輸入,設(shè)計修改比較方便。所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,并快速燒錄至FPGA上進(jìn)行測試,因此可提供集成系統(tǒng)于單個可編程邏輯器件中的性能,是現(xiàn)代IC設(shè)計驗證的主流技術(shù)。本設(shè)計中采用的就是OuartusⅡ設(shè)計環(huán)境下Altera公司的FLEX系列FPGA開發(fā)芯片MAX EPF10K10LC84-4,該芯片是一種復(fù)雜可編程邏輯器件,IC管腳參閱原理圖,是84pinPLCC封裝。另外還有其它類型的管腳和封裝,選擇性強(qiáng)。該IC具有以下主要性能:
1)高密度:提供10000~250000個可用門,6144~40960位內(nèi)部RAM;
2)低功耗:多數(shù)器件在靜態(tài)模式下電流小于0.5 mA,在2.5 V、3.3 V或5.0V下工作;
3)高速度:時鐘鎖定和時鐘自舉選項分別用于減少時鐘延時/過沖和時鐘倍頻;
4)靈活的互連方式:快速、互連延時可預(yù)測的快速通道(Fast Track)連續(xù)式布線結(jié)構(gòu);
5)強(qiáng)大的引腳功能:每個引腳都有一個獨(dú)立的三態(tài)輸出使能控制及漏極開路配置選項及可編程輸出壓擺率控制;
6)多種配置方式:內(nèi)置JTAG邊界掃描測試電路,可通過外部EPROM、智能控制或JTAG接口實(shí)現(xiàn)在電路重構(gòu)(ICR);
7)多種封裝形式:引腳范圍為84~600,封裝形式有TQFP、PQFP、BGA和PLCC等,同一封裝的FLEX 10K系列器件的引腳相兼容。
將所設(shè)計的電路實(shí)現(xiàn)燒錄在該芯片中,進(jìn)行仿真則可得到圖4的仿真結(jié)果輸出,從仿真結(jié)果圖中可以看出,第230個數(shù)據(jù)188即為g15,52,103,31,104,126,187,237,17,56,183,49,100,81,44,79分別為g14~g0,該仿真輸出結(jié)果與前面g (x)中的系數(shù)相符。
4 結(jié)束語
RS碼是一種功能強(qiáng)大且應(yīng)用范圍廣泛的糾錯碼,尤其是在應(yīng)對突發(fā)錯誤方面具有更為明顯的優(yōu)勢,文中通過分析和設(shè)計出的RS(204,188)編解碼器已經(jīng)成功應(yīng)用于試驗用無線遙控智能探測車上,其結(jié)果令人滿意。