車萌萌,葛海波,王 凱
(1.西安郵電大學,西安 710061;2.西安電子科技大學,西安 710126)
基于Zynq的戰(zhàn)術數(shù)據(jù)鏈端機設計
車萌萌1,葛海波1,王 凱2
(1.西安郵電大學,西安 710061;2.西安電子科技大學,西安 710126)
為了適應戰(zhàn)術數(shù)據(jù)鏈向小型化、單兵化的發(fā)展趨勢,提出了一種基于Zynq的高性能戰(zhàn)術數(shù)據(jù)鏈端機的設計方案。給出了設計流程和硬件設計原理圖。實現(xiàn)了端機的RS編譯碼、CCSK軟擴頻、CCSK解擴解調等子模塊及PS、PL之間的通信。在vivado IDE、SDK環(huán)境下選擇Zynq xc7z035 FPGA芯片進行系統(tǒng)級綜合、仿真和驗證。結果表明,與傳統(tǒng)方法相比,該方案簡化了端機的實現(xiàn)難度、提高了集成度、幀數(shù)據(jù)處理速度可達到ms級,硬件成品適合工作在高動態(tài)、多節(jié)點的場合。
戰(zhàn)術數(shù)據(jù)鏈,F(xiàn)PGA,RS編碼,軟擴頻
數(shù)據(jù)鏈作為現(xiàn)代信息化戰(zhàn)爭的神經系統(tǒng),從其登上軍事舞臺伊始,就引起了世界各國的高度關注。當今數(shù)據(jù)鏈系統(tǒng)面臨著高性能、小體積、低功耗、低成本四大挑戰(zhàn)。隨著信息化戰(zhàn)爭的發(fā)展,數(shù)據(jù)鏈在未來戰(zhàn)爭中的作用日益深遠,因此,對新型戰(zhàn)術數(shù)據(jù)鏈的研究也尤為重要[1-3]。
目前,多數(shù)戰(zhàn)術數(shù)據(jù)鏈端機是基于傳統(tǒng)FPGA、ARM+傳統(tǒng)FPGA、DSP+傳統(tǒng)FPGA實現(xiàn)數(shù)據(jù)鏈通信算法及接口芯片控制[4]。而Xilinx的最新平臺Zynq將處理器的軟件可編程能力與FPGA的硬件可編程能力完美結合,以低功耗、低成本、高集成度等優(yōu)勢構建了一個更好的硬件平臺,其外設接口豐富,包含以太網(wǎng)口、CAN 接口、DDR3、Flash、SPI、串口等,能夠滿足多數(shù)戰(zhàn)術數(shù)據(jù)鏈在不同場合的需求,為整個嵌入式行業(yè)和FPGA行業(yè)打開了新篇章。因此,本文基于Zynq提出了一種數(shù)據(jù)鏈端機系統(tǒng)的設計方案并進行了方案驗證。
Zynq系列是PS+PL的架構,PS子系統(tǒng)是嵌入式ARM,PL子系統(tǒng)是傳統(tǒng)意義上的FPGA[6],它具有異構多核的特點?;赯ynq的數(shù)據(jù)鏈端機采用數(shù)字信號處理方式,完成通訊信號的編碼、解碼、擴頻和解擴,圖1為其設計流程。該設計流程首先對各子功能模塊進行合理的任務劃分(哪些模塊使用C語言在PS中完成,哪些模塊使用邏輯語言在PL中完成),一個好的任務劃分可以充分發(fā)揮系統(tǒng)的性能;然后完成PS和PL之間的通信接口設計;最后,軟硬件聯(lián)合仿真與調試,如果性能、所占資源不滿足設計要求,需退到之前的步驟重新設計,直到滿足系統(tǒng)的性能指標。
該設計用一片Zynq系列FPGA芯片代替ARM+傳統(tǒng)FPGA架構或DSP+傳統(tǒng)FPGA架構的兩片芯片,減小了電路板的占用量,提高了數(shù)據(jù)鏈端機的硬件集成度;被劃分到PL和PS的部分可進行同時設計、協(xié)調工作,縮短數(shù)據(jù)鏈端機的研發(fā)周期;該數(shù)據(jù)鏈端機還有豐富的外設接口,可以滿足多數(shù)用戶不同接入方式的需求。
圖1 數(shù)據(jù)鏈端機的設計流程圖
發(fā)射端機包括RS編碼、軟擴頻等子模塊;接收端機包括解擴解調、RS譯碼等子模塊[7-9]。根據(jù)各子模塊的性能和資源占用量進行任務劃分。在PS中用C語言編程實現(xiàn)RS編碼、RS譯碼、軟擴頻;在PL中用硬件編程語言實現(xiàn)解擴解調。圖2為數(shù)據(jù)鏈端機的硬件設計原理圖。
圖2 數(shù)據(jù)鏈端機的硬件設計原理圖
根據(jù) RS 編碼原理[10-11]知信息多項式 M(x)、系統(tǒng)碼多項式C(x)、校驗位多項式r(x)有如下關系:
因此,在PS中,采用一個改進型的求多項式除法的算法解出 C(x),實現(xiàn)了 RS(255,223)編碼。如圖3所示,圖中的加法和乘法運算是立在Galosi域上的,不同于數(shù)值域,因此,設計了兩個域中運算法則之間的轉換。當兩個非零元素相乘時,只需將指數(shù)相加再對碼長N取摸,即:
由于域中的每個元素都可用二進制位表示,所以在加法運算中需建立指數(shù)形式和二進制形式之間的映射表。查表得到αi和βj對應的二進制矢量a和b,a⊕b就是伽羅華域加法的結果。
準備工作:第 1 步,根據(jù) RS(255,223)編碼的基本特征,將信源以每8 bits為一個符號劃分,并將信源寫成信息多項式的形式,即
第 2 步,在 MATLAB 中用 rsgengoly(255,223)命令得到其伽羅華域特征方程
第3步,令f(x)=0,求其所有的根,則為GF(28)域的所有元素,即
第4步,把域中的元素帶入生成多項式:
則 g0,g1,…,g32為 α18,α251,…,α11,1。求解 C(x)的過程是一個多次循環(huán)的過程。先將暫存器B0~B31的數(shù)據(jù)清零,以信息多項式的第1個系數(shù)作為圖中數(shù)據(jù)輸入,再與g0相乘,并將結果暫存到B0中,在下次循環(huán)之前,將上次B0到B31結果移位來參與到下一級運算。該過程依次循環(huán)k-1次后,B0~B31中的數(shù)據(jù)則為校驗多項式的所有系數(shù)。最后編碼的碼字格式為:
其中mi為第i個數(shù)據(jù)符號,rj為第 j個校驗符號。
圖3 求解C(x)的原理圖
這種在PS中用C語言實現(xiàn)RS編碼的方法,可以用多個循環(huán)語句代替邏輯編程中的多個狀態(tài)機,不需要大量的循環(huán)判斷邏輯,簡化了數(shù)據(jù)鏈端機的實現(xiàn)復雜度,減少了邏輯資源占用量,有利于后期算法改進和系列化的工程應用。
采用CCSK編碼(cyclic code shift keying)的軟擴頻,實質是一種(N,K)編碼,即用序列長度為N的偽碼序列,與K bits的數(shù)據(jù)編碼一一對應,是從信息空間向偽隨機編碼空間的映射。偽隨機碼空間的元素與信息空間的元素一一對應[12-13]。圖4是在PS中采用(64,5)CCSK編碼實現(xiàn)軟擴頻的原理圖。Gold碼發(fā)生器設置不同的初值,可得到不同的偽碼M0。將M0基碼并按偏移量t=2進行循環(huán)右移,生成映射表P,即
然后將r bits二進制的原始信息按每碼元長度為5 bits分組,可得到(r/5)個碼元;再將每個碼元與P進行映射,其映射過程如圖5所示;最后得到(rN/5)bits的二進制擴頻序列。這種在PS中實現(xiàn)軟擴頻的方法,用C語言編程能夠實時改變Gold碼的初值以產生多個基碼,進而形成多個映射表,增加了設計靈活性和可移植性,有利于數(shù)據(jù)鏈工作在多節(jié)點情況下。
圖4 軟擴頻原理圖
圖5 原始信息與映射表的對應過程
在PL中采用邏輯編程進行并行運算能夠很大程度上提高數(shù)據(jù)處速度。圖6為在PL中用循環(huán)相關檢測法的頻域分析法實現(xiàn)CCSK解擴解調[14-15]。其核心思想是:
其中R(k)為1個消息幀的FFT變換,G*(k)為本地Gold碼的FFT變換的共軛,y(k)則為最大相關峰的幅值。
若接收端機采用10倍碼速率的采樣率對回波信號進行A/D采樣,則每640 bits的消息幀承載了1個信息符號。對每個信息幀進行式(10)運算,其中FFT作的是512點運算。最后把得到每一個消息幀的最大相關峰的幅值yi與基碼自相關峰比較,兩相關峰的間距值即為該消息幀所承載的信息符號,從而恢復出原始信息。實現(xiàn)該方法,很大程度上提高了接收端機幀處理數(shù)據(jù)速度,確保了數(shù)據(jù)處理的實時性,有利于數(shù)據(jù)鏈工作在高動態(tài)情況下。
圖6 CCSK循環(huán)相關檢測法原理圖
在PS中實現(xiàn)RS譯碼主要由4部分構成:計算伴隨式,解關鍵方程(錯誤位置多項式Λ(x)和錯誤值多項式 Ω(x)),錢氏搜索和錯誤值修正[11,16,18],如圖7所示,其中的加、乘等算術運算是基于伽羅華域的,在RS編碼中已說明。
圖7 RS譯碼流程圖
采用嵌套的乘累加運算計算解擴解調后的二進制序列的伴隨式S(x),即:
其中n=255,α為伽羅華域中的元素。采用傳統(tǒng)歐幾里德算法解關鍵方程,對錯誤位置多項式Λ(x)和錯誤值多項式Ω(x),其中:
錢氏搜索可求得誤碼位置。將伽羅華域中的元素帶入Λ(x)=0,若等式成立,則在該位置出現(xiàn)誤碼,接收到的碼值和錯誤值相加的結果就是真值,錯誤值得到糾正,無錯誤的數(shù)值原樣輸出,譯碼結束。
RS譯碼過程比RS編碼復雜的多,僅關鍵方程的求解就比RS編碼需要更多的多項式乘、除運算。因此,這種在PS中用C語言實現(xiàn)RS譯碼的方法,更大程度上簡化了數(shù)據(jù)鏈端機的實現(xiàn)復雜度,減少了邏輯資源占用量,有利于后期算法的改進和系列化的工程應用。
在整個系統(tǒng)設計的過程中,影響結果正確性的主要因素還有PS和PL之間的通信。如圖2所示,采用AXI_GP總線進行數(shù)據(jù)交互[19]。AXI_GP的數(shù)據(jù)總線寬度為32位,吞吐率可達600 MB/s,保證了PL、PS之間的高速數(shù)據(jù)傳輸。AXI_GP由PS中的DMAC控制器管理數(shù)據(jù)的傳輸。DMAC中的DMA管理器來初始化DMA通道線程。當一個DMA通道線程執(zhí)行一個加載或者保存指令時,DMAC將指令添加到讀或寫隊列中。在AXI總線上發(fā)布命令時,DMAC使用這些隊列作為一個指令存儲緩沖區(qū)。在一個DMA搬運數(shù)據(jù)過程中,每個通道都設計了一個FIFO集,用于保存讀或者寫數(shù)據(jù)。但FIFO的深度不能超過128(64位)字MFIFO。在PS中,先調用XGpio_SetDataDirection()函數(shù)設置GPIO指定通道的I/0方向,再通過XGpio_DiscreteWrite()函數(shù)將數(shù)據(jù)寫入到設置好的通道中。該互聯(lián)方式只需在PS中設計即可,不占用PL中的任何邏輯資源,簡化了邏輯復雜度。
在Vivado IDE和SDK環(huán)境下選擇Zynq的xc7z035 FPGA芯片實現(xiàn)了數(shù)據(jù)鏈收發(fā)端機。為了方便方案的驗證,采用了自發(fā)自收的方式。
其驗證過程如下:以 0,1,…,222共 223數(shù)據(jù)作為發(fā)射端機原始數(shù)據(jù);選用編碼效率不小于70%、編碼增益不小于3 dB的(255,223)RS碼進行信道糾錯;以Gold碼為基碼,為了消除解擴時偽相關峰的干擾,對基碼采用偏移量為2循環(huán)移位,進行了(64,5)的CCSK擴頻編碼;然后進行MSK調制形成調制信號。在接收端機,先進行信號快速捕獲、偽碼的碼同步,之后采用頻域的循環(huán)相關檢測法進行CCSK解擴解調,最后RS譯碼,矯正錯誤碼,恢復出原始數(shù)據(jù)。
圖8 RS編碼結果圖
圖9 CCSK擴頻結果圖
圖10 CCSK擴頻碼與本地Gold碼相關峰
圖11 RS譯碼結果
圖8是RS編碼的結果,其中101~116為編碼后的32個以十進制顯示的校驗位。圖9是CCSK擴頻后的二進制序列以十進制形式看到的結果。圖10中Corr[31∶0]為解擴解調的結果,可以看到一個移位碼和本地Gold碼相關后的最大峰值,完成了對該碼字的解擴解調。為了驗證RS碼的糾錯能力,把CCSK解擴形成的碼字第3~18全改為1,共16個數(shù),也是其最大糾錯能力。圖11是RS譯碼結果圖,經譯碼已將碼字的第3~18共16個1糾正為原來的數(shù)據(jù)。以上結果與預期值是相符的,且端機系統(tǒng)只占用了25%左右的內存資源,功耗在3 W左右,幀數(shù)據(jù)處理速度在40 ms左右。
本文基于Zynq平臺提出并闡述了戰(zhàn)術數(shù)據(jù)鏈端機的設計方案,最后進行了方案驗證。結果表明,這種基于Zynq平臺的PS+PL協(xié)同工作的方案簡化了數(shù)據(jù)鏈端機的實現(xiàn)復雜度,提高了系統(tǒng)靈活性和可擴展性,降低了功耗,縮短了產品開發(fā)周期。由于設計集成度高,加上邏輯電路的高速數(shù)據(jù)處理和控制能力,系統(tǒng)的有效性和穩(wěn)定性也得到了保證,硬件成品適合工作在高動態(tài)、多節(jié)點的場合。
[1]付繼宗,侯磊,馮小琴,等.基于數(shù)據(jù)鏈的聯(lián)合作戰(zhàn)技術[J].火力與指揮控制,2014,38(4):12-15.
[2]李桂花.外軍無人機數(shù)據(jù)鏈的發(fā)展現(xiàn)狀與趨勢[J].電訊技術,2014,54(4):851-856.
[3]鐘瑜,陳穎,盧建川.新一代航空數(shù)據(jù)鏈端機的SCA架構設計[J].電訊技術,2012,50(4):447-451.
[4]宋家友,莫新康,牛強軍.JTIDS消息字還原模塊的FPGA設計[J].火力與指揮控制,2012,37(5):152-155.
[5]趙文俊,宋家友.JTIDS傳輸符號產生模塊的FPGA設計[J].電訊技術,2010,50(12):43-47.
[6]邢艷芳,張延冬.基于Zynq的OLED驅動設計[J].液晶與顯示,2014,29(02):224-228.
[7]劉翠海,王文清,劉中華.基于VC++的戰(zhàn)術數(shù)據(jù)鏈通信仿真系統(tǒng)設計與實現(xiàn) [J]. 電訊技術,2013,53(7):899-903.
[8]張宏欣,王永斌,劉宏波.衰落信道下JTIDS系統(tǒng)的誤碼性能研究及仿真[J]. 火力與指揮控制,2013,38(10):145-148.
[9]余格非,王振華,李穎,等.信道編碼在無人機數(shù)據(jù)鏈中的應用研究[J].重慶郵電大學學報,2014,26(6):845-849.
[10]向良軍,王梓斌,金國平,等.高速RS編譯碼器的設計及其 FPGA 實現(xiàn)[J].計算機工程與應用,2012,48(1):68-71.
[11]宋君,文磊,雷菁,等.RS碼的實際應用及編譯碼器設計實現(xiàn)[J].通信技術,2013,46(1):14-17.
[12]唐大宇.結合RS糾錯編碼和Walsh變換的軟擴頻技術[J].電訊技術,2012,52(6):943-947.
[13]牟青,魏平.CCSK信號的擴頻序列估計[J].電子科技大學學報,2011,40(4):501-504.
[14]黃海燕,張保龍,趙秀英.糾錯糾刪RS譯碼數(shù)據(jù)鏈系統(tǒng)性能研究[J].現(xiàn)代電子技術,2016,39(13):35-37.
[15]KAO C H,ROBERTSON C,KRAGH F,et al.Performance analysis and simulations of 32-ary cyclic code shift keying[J].International Journal of Communication Systems,2011,24(2):258-268.
[16]王鵬,涂友超,龔克.彈載數(shù)據(jù)鏈系統(tǒng)實時RS譯碼器設計[J].電訊技術,2015,55(5):65-70.
[17]SHEU T L,KUO Y H,CHOU Z T.A packet-interleaving scheme using RS code for burst errors in wireless sensor networks [J].Wireless Sensor Network,2015,7 (7):83-99.
[18]張?zhí)扈?歐幾里德算法的RS譯碼研究及FPGA仿真[J].武漢理工大學學報,2010,32(2):90-95.
[19]陸佳華,潘祖龍.嵌入式系統(tǒng)軟硬件協(xié)同設計實戰(zhàn)指南:基于 Xilinx ZYNQ[M].北京:機械工程出版社,2015:137-153.
Design of Tactical Data Link End Machine Based on Zynq
CHE Meng-meng1,GE Hai-bo1,WANG Kai2
(1.Xi’an University of Posts&Telecommunications,Xi’an 710061,China;2.Xidian University,Xi’an 710126,China)
In order to meet the development trend of the small,individual tactical data link,based on Zynq,a design of high-performance tactical data link terminals is proposed.Firstly,the total design flow and hardware design block diagram are given.The design of terminal mainly realizes the RS encoding and decoding,the CCSK soft spread spectrum,the CCSK dispreading and demodulating,and the communication between the Zynq's PL part and PS part.Finally,on the vivado IDE,SDK software platform,the Zynq series of FPGA xc7z035 chip is selected to accomplish system level integration,simulation and verification.The result shows that,compared with the traditional method,this design simplifies the realization of the data link system,improves the hardware integration,increases the processing speed of the frame data to the level of ms,and it makes the hardware product more suitable for working in high dynamic and multi-node occasions.
tactical data link,F(xiàn)PGA,RS coding,soft spreading
1002-0640(2017)10-0183-05
TN919.3;TN919.4
A
10.3969/j.issn.1002-0640.2017.10.038
2016-09-19
2016-10-09
陜西省自然科學基金資助項目(2111JM8083)
車萌萌(1986- ),女,內蒙古通遼人,碩士研究生。研究方向:電子與通信。