高詩堯 李杰 胡陳君 許廷金 敬正堯



摘要:針對目前彈載測控系統調試過程中經常更改諸元、數據回讀效率低的問題,設計一款集成于測控系統內部的無線交互裝置。在集成便捷式諸元裝訂、快速安全的數據讀取、擦除等功能于一體的同時減小裝置體積,降低功耗,以實現嵌入式無線交互設計。經專有上位機測試,在不影響測控系統正常工作的情況下,于炮筒外進行無線數據操作,回讀速度平均1.675Mb/s,且可在10s內成功裝訂諸元,能夠在交互過程中保證數據的完整性、保密性和傳輸的高效性,同時滿足低功耗、小體積、高集成的硬件要求,可實現彈載測控系統與上位機的便捷無線操作。
關鍵詞:無線交互;數據回讀;便捷諸元裝訂;彈載測控系統
中圖分類號:U666.12 文獻標志碼:A 文章編號:1674-5124(2019)10-0084-06
收稿日期:2019-01-08;收到修改稿日期:2019-02-25
基金項目:國家自然科學基金(51575500)
作者簡介:高詩堯(1995-),女,四川綿陽市人,碩士研究生,專業方向為儀器科學與技術。
通信作者:李杰(1976-),男,山西嵐縣人,教授,博士生導師,研究方向為微系統集成理論及技術、組合導航等。
0 引言
彈載測控系統是指在將測量系統、制導系統集成于彈內部,在彈飛行過程中對飛行軌跡、敵我相對位置進行測量并通過實時自主的計算對彈的飛行軌跡進行修正補償的測試控制系統。在彈載測控系統的日常調試過程中常常需要與外界進行頻繁交互以補償測控系統誤差、提高射擊精度,驗證系統性能。
然而,隨著導彈結構日益復雜化、精密化,其安裝與拆解也變得復雜困難。伴隨出現的問題有:1)目前彈載測控系統的數據回讀存在效率低、工作量大的問題;2)如何在導彈發射桶外就能對其發射參數進行快速裝訂。因此,設計一種方便快捷的無線交互方式對彈載測控系統的調試極為重要。
傳統基于FPGA和DSP的彈載測控系統在進行數據讀取或諸元裝訂時依舊采用引出線纜,接上獨立的交互系統后再連接終端進行數據處理。這種數據處理方式不僅會降低系統可靠性,同時傳統的諸元裝訂,需要多次更改FPGA\DSP程序,存在著工作量大、誤刪代碼的可能性大等弊端。故而現有的交互方式已難以適應越發精密的彈丸。本文基于彈載測控系統,在傳統數據回讀系統的基礎上提出嵌入式便捷無線交互方式,在盡可能不增加系統體積的情況下用無線接口代替線纜連接,極大減少了系統調試過程中的工作量,縮短了調試時間,提高了系統交互效率。
1 方案總體設計
此次設計的無線交互模塊是基于彈載測控系統的,主要工作為在不影響主系統測量與控制工作的前提下盡可能減小體積,增加穩定性,輔助彈載系統與上位機進行便捷的通信,完成數據處理或諸元裝訂的交互使命。
同時考慮到無線傳輸存在以下問題[1]:1)無線傳輸會隨著傳輸距離的增大出現信號衰減,由于電磁干擾等原因導致誤碼甚至信號丟失;2)無線傳輸為明文開放式傳輸,無法阻止盜竊者竊取。
故而放棄長距離,采用短距離、高效率的藍牙5.0傳輸,以減少距離增加時外界對信號的一系列影響。且目前,藍牙標準已定義了一系列安全機制,每個藍牙設備可配置密鑰管理、認證,從而為短距離無線通信提供基本保護。此外,藍牙通信采用跳頻通信,本身也是一種防止竊聽的有效而安全的防護手段[2]。在此基礎上,軟件設計時在FPGA里進行一系列編碼加密,即可大大提高系統無線交互過程中的數據安全性。
2 硬件設計
彈載測控系統由電源管理模塊、信號處理模塊、測量與定位模塊、主控模塊、Flash存儲模塊、DSP解算模塊、無線交互模塊構成,如圖1所示。
該系統的無線交互設計在硬件上,主要與4個模塊密切相關:電源管理模塊、以FPGA為核心的主控模塊、Flash存儲模塊和無線傳輸模塊。此硬件設計簡單、可靠,具有低成本、低功耗、小體積等一系列優點。
2.1 電源管理模塊
電源管理模塊為其他模塊供電,保證其他模塊正常工作的部分。測控系統采用7.4V電池供電,而FPGA內核供電電壓為12V,IO口供電需3.3V,配置芯片XC6SLX9與晶振也為3.3V供電,故而采用線性穩壓器TPS73HD301PWP轉出1.2V和3.3V,分別給主控模塊供電,供電原理圖如圖2(a)所示;以Bluetooth為核心的無線交互模塊工作電壓為1.8~3.6V,取3.3V供電。由于涉及射頻信號,為防止其與主控模塊相互影響,故用LM317A對其進行隔離供電,原理圖如圖2(b)所示。
2.2 以FPGA為核心的主控模塊
作為主控芯片,整個系統的控制,數據的傳輸、緩存、讀取以及與上位機的交互等都需要由FPGA來控制[3]。故所選FPGA芯片應具備低功耗、小體積、高集成度的特點。此系統選用XILINXSpartan-Ⅵ系列的XC6SLX9芯片,此芯片尺寸為20mm×20mm×1.45mm,具有9152個邏輯單元,11440個寄存器,576Kb的塊RAM(Block RAM),最大可提供200個IO口,可完全滿足系統要求,且功率低、體積小,是目前性價比較高的一款FPGA芯片。
配置模式選用As(主動串行)模式,FPGA每次上電后通過向配置器件EPOS主動發出讀數命令,后將EPOS中的數據讀入,從而實現對FPGA的編程。此模式有利于對FPGA的調試與整改,具有很強靈活性,大大縮短了FPGA的設計周期[4]。
2.3 Flash存儲模塊
Flash芯片選用K9G8G08UOE,其存儲模塊原理見圖3,擁有1GBX8位的內存,由524288行(頁)和2112×8列組成,屬于NAND結構的Flash,數據不僅掉電后不會丟失,且10年內都不會丟失,可實現100000次的寫嚓出操作[5-6]。寫入、讀取操作均是基于頁的基礎上完成的,而擦除操作則基于塊的基礎上執行。該芯片由8個分開的可擦除的128MB的區組成,故而逐字的擦除操作是難以實施的[7]。因此,將存儲器分為6個塊,大小分別為:4,30,30,320,320,320MB。第1塊用于存儲射擊諸元,第2塊與第3塊用于防止出現重復上電出現覆蓋數據的情況,最后3塊則用于數據存儲。
2.4 無線傳輸模塊
上位機通過藍牙無線傳輸的方式與彈載測控系統進行信息交換,從而執行諸元裝訂、數據處理等交互行為。藍牙是一種成本低、功耗低、傳輸速率高的短距離通信技術。而藍牙5.0相較于以前的藍牙4.2版本,在低功耗模式不變的情況下,不僅傳輸速率從1Mb/s提升到了2Mb/s,且傳輸距離也增至原來的4倍,理論傳輸距離長達300m[8]。該測試系統采用的藍牙模塊是由TI公司的SimpleLinkBluetooth芯片CC2640R2FRHB及必要的外圍元器件構成,原理圖如圖4所示。該芯片尺寸為5.00mm×5.00mm,VQFN32封裝,15個GPIO,具有4dBm的最大發送功率和超低功耗,支持藍牙4.2和5.0,傳輸速率可達2Mb/s(測試距離為30m少量建筑區),完全滿足系統要求,且在很長一段時間里不需要對其硬件進行更改。
3 軟件設計
測試系統通過藍牙模塊接收上位機命令(以下命令字均以十六進制編寫)并由FPGA判讀命令,完成對應操作,工作流程如圖5所示,主要包括:諸元裝訂、數據回讀、測控階段與交互階段的程序跳轉、數據編幀加密以及藍牙模塊的配置。
3.1 諸元裝訂
所謂諸元,即導彈射擊諸元,是指射擊前必須裝載到測控程序中的各種基準參數。制導系統依賴這些參數去準確擊中目標。其中一些諸元是時常需要進行修正或人為設定的,例如:魚雷的初始位置、射角、航速等;導彈的敵我相對位置等;發射時的當地加速度等。諸元裝訂與裝訂復位的命令字格式均為:&xx&7A&xx&xx(四字節的十六進制數據)。
FPGA收到諸元裝訂命令后,會先對Flash中已有諸元進行覆蓋性擦除,隨后發出應答指令(&xx&7A&xx&xx)。當上位機接收到此指令,即可以開始諸元裝訂。
用戶按照提示依次輸入參數,并點擊確定進行發送。上位機把用戶輸入的數據取7位有效數字,后轉換為四字節的單精度浮點型數據并編幀,通過藍牙串口無線傳輸給測控系統。
參數下掣渝格式為:&xx&7A&xx&xx&參數1 &xx&參數2&xx&參數3&xx。
FPGA提取其中參數,并連同生成的幀計數放入Flash第一區預先設定的地址中,進行永久性保存。而后回復:&AB&7A&66&6A,表示裝訂成功。如若中途出現問題則回復&AB&7A&88&8A,表示裝訂失敗。此時可通過裝訂復位命令進行裝訂復位,而后從新裝訂。
當系統處于測控階段時,DSP將Flash第一區中對應地址中的參數讀出,賦給對應信號即可成功調用參數。
3.2 數據回讀
由上位機通過既定的通信協議發出讀數、擦除或復位的命令,約定的命令字為[9]:1)讀數命令:&25&5E&77&A6;2)擦除命令:&25&5E&44&A3;3)復位命令:&25&5E&66&A5。
FPGA收到命令字后轉為二進制識別并判斷,后停止當前任務,執行相應操作。具體包括:讀取數據并存入緩存單元;數據擦除;對數操作復位。
1)讀取數據并存入緩存單元
Flash中的數據是逐頁讀取的,在翻頁時要重新寫人地址和控制字[10],再加上藍牙傳輸很難與讀取做到完全同步,故而為了在回讀過程中不出現數據遺漏,需將Flash中數據讀出后緩存到內置BlockRAM的1# FIFO中,再執行后續操作。
FIFO是一種常用于解決模塊間數據傳遞不同步問題的數據緩存器。一般FIF0主要包括4個部分:寫地址模塊、讀地址模塊、數據存儲模塊和空/滿標志位產生模塊[11]。主要工作流程為:開始時,讀/寫指針均指向首地址,每進行一次讀寫操作,相應的地址計數就加一,對應地址指針指向下一個位置,當地址移動到最后位置時又會回到初始位置重新開始。在非空非滿狀態下此過程會一直持續下去。但當FIFO出現空或將空狀態時,將不進行數據讀出,當出現滿或將滿狀態時,將不再進行寫人操作。
2)數據擦除
數據擦除,即將Flash中數據存放地址里全部寫1。當FPGA收到擦除命令時,會對Flash從第二區開始的所有數據位進行寫1操作,并在結束時返回擦除成功的信息給上位機。
3)對數操作復位
當FPGA收到復位命令時會停止當前操作,并自動復位,此操作只在數據回讀時有效。
上述對數據的3種操作均跳過Flash中存放諸元的第一區,從Flash的第二區開始。
3.3 測控與交互的階段轉換
測控與交互的階段轉換流程如圖6所示。彈載測控系統默認上電后處于測控階段:藍牙模塊處于未連接主機、低功耗狀態,LINK引腳(連接狀態指示)輸出高電平,LPOUT引腳(功耗指示)輸出高電平;當需要與上位機進行交互時,先建立藍牙連接,配對成功后LINK輸出低電平,而后開始判斷過載是否≤29,滿足則退出測控階段,否則取消配對。緊接著判斷是否收到指令“AT”,收到則進入交互階段完成與上位機之間的交互行為;未收到則待命,系統處于退出測控的階段。整個階段轉換以及交互階段都可通過系統下電來結束。
3.4 數據編幀加密
該系統編幀加密部分程序參照無線傳輸中典型的DES、AES、RSA等算法進行非標加密。該系統加密方法主要采用移位、異或和同或相互結合,通過將8位數據位進行左移或右移,與固定數同或、異或來實現對數據的加密。
如圖7所示,從1# FIFO中讀取出數據并進行加密處理,處理后生成對應標志字,再一同存入2#FIFO中,通過TTL電平存入藍牙芯片內置緩沖,最后通過無線串口送給上位機。在加密程序中需提前寫人兩個四位二進制數A與B,而后按照寫定的運算順序輪流執行①、②、③運算,由于每種運算方式都不復雜,故而穩定性高。
與單一的運算方式相比,這種加密運算勝在運算方式可以設置多種,而FPGA并行的執行方式可在輪流讀人數據的過程中大大節省運算時間,且由于加密方式的多樣性,被破解的可能性低。
3.5 藍牙模塊的配置
藍牙模塊可先在模塊未連接的狀態下通過串口調試助手,由AT指令預先設置其基本參數,具體設置見表1。模塊保存參數后,再次上電可保持使用這些參數。通過上述設置,藍牙模塊在系統上電時直接進入低功耗模式,通過多次測試,3.3V供電時低功耗模式下的平均工作電流僅為29μA。直到配對成功后通過數據收發會自動退出低功耗模式,并將上位機命令通過TTL電平傳給FPGA,實現FPGA與上位機端的無線交互。
4 系統測試與結果分析
本系統使用VB編寫的上位機進行數據處理和諸元裝訂上位機界面分別如圖8、圖9所示。通過對比專有上位機的回讀數據和有線數據傳輸回讀到的數據,可對該系統的無線交互性能進行驗證性測試,同時與原有回讀系統進行了對比試驗。
4.1 諸元裝訂測試
先通過基于USB2.0的有線數據回讀系統,將Flash中第一區數據進行回讀,可看出:第一區存放著該系統的射擊諸元,諸元裝訂后,再次回讀第一區數據,發現原參數已被新的參數覆蓋,且為從上位機輸入的參數的對應單精度浮點型數據,裝訂輸入如圖9所示,測試結果見圖10。
多次測試后,統計得出操作時長均為10s以內,故而可證得該系統配合上位機可快速準確地進行射擊諸元裝訂。
4.2 數據回讀測試
數據回讀過程中,上位機在接收到數據后會識別每幀數據的標志字,確定對應解碼方式,再還原數據。經測試:所得數據無“OxFF”,即傳輸過程中沒有掉電情況,且通過Matlab提取幀計數進行畫圖,發現所得數據結果沒有出現丟幀亂幀的情況,證明該系統具有良好的讀取穩定性和數據完整性。
4.3 對比試驗
經對比發現,本系統在讀取120.67Mb的數據時用時72s,平均回讀速度約為1.675Mb/s,而使用老式的基于FT245BL的有線回讀系統的平均回讀速率為0.915Mb/s[10],故而該無線式交互設計可滿足數據回讀速度要求。
5 結束語
本文從總體、硬件、軟件3部分詳細介紹了基于彈載測控系統的嵌入式無線交互設計,并結合上位機完成了相關的性能測試與實驗驗證。結果證明該設計具有良好的工作穩定性,且一定程度的提高了回讀速率;同時,融合諸元裝訂功能,可大大減少調試測控系統時繁雜的工作量,提高調試效率。比有線式數據回讀系統更能適應軍事發展需要。且隨著FPGA和無線傳輸芯片的更新換代,其傳輸效率、傳輸距離還可進一步提高,甚至功能上還可進一步強化。
參考文獻
[1]谷曉波.無線通信網絡的安全問題及對策[J].農家參謀,2017(22):261.
[2]商雨.對藍牙技術中的加密算法的進一步探討[J].科技資訊,2009(6):2.
[3]吳峰,王向軍,湯其劍.基于數字調節方法.MEMS陀螺零位補償技術研究[J].傳感技術學報,2012,25(12):1717-1721.
[4]郝曉明,李杰,黃玉崗.基于ADS8568的八路數據采集系統設計[J].傳感技術學報,2016,29(1):154-158.
[5]胡陳君.彈載小型抗高過載微慣性測量系統設計[D].太原:中北大學,2015.
[6]廉佳琦,羅豐,吳順君.基于USB2.0高速大容量固態存儲系統的設計與實現[J].現代電子技術,2007(6):38-40,43.
[7]THOMAS L F,DAVID B.Fundamentals of AnalogCircuits[M].2nd ed.Prentice Hall Inc,2002.
[8]何超.基于藍牙5.0的多協議Beacon系統設計[D].成都:電子科技大學,2018.
[9]柯艷,李杰,孔祥雷,等.基于USB 2.0的多路數據采集系統上位機軟件設計[J].測試技術學報,2010,24(4):351-356.
[10]郝曉明,李杰,胡陳君,等.基于FPGA的彈載數據回讀系統設計[J].傳感技術學報,2015,28(7):1023-1027
[11]張玉平,葉圣江.基于FPGA的虛擬FIFO改進設計[J].沈陽工業大學學報,2016,38(3):298-303.
(編輯:商丹丹)