通信協(xié)議轉(zhuǎn)換器系統(tǒng)的硬件設(shè)計(jì)如下圖2所示。STM32F407芯片提供多達(dá)6個(gè)USART異步串行端口,通過(guò)使用MAX485和MAX232電平轉(zhuǎn)換芯片,將其分解為2個(gè)RS422電平標(biāo)準(zhǔn)端口和4個(gè)RS232電平標(biāo)準(zhǔn)端口;采用LM2576、LM1805將隔離后的28 V直流電源變換為5 V和3.3 V作為系統(tǒng)的工作電源;使用B0303-1W配合HCPL263L光耦對(duì)輸出的RS422電平、RS232電平進(jìn)行隔離供電以及電平轉(zhuǎn)換;使用2片16 bit數(shù)模轉(zhuǎn)換芯片LTC1655分別輸出雷達(dá)高度、氣壓高度數(shù)據(jù)的高精度模擬量;使用74AHC1G125對(duì)PPS秒脈沖同步信號(hào)輸出,提高其帶負(fù)載驅(qū)動(dòng)能力。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 數(shù)據(jù)幀的解析
如前所述,通信協(xié)議轉(zhuǎn)換器的最主要的功能是實(shí)現(xiàn)遙測(cè)遙控?cái)?shù)據(jù)、位置姿態(tài)數(shù)據(jù)的解析,使設(shè)備之間通過(guò)RS422/RS232串口傳輸。為了正確、順利和實(shí)時(shí)地完成傳輸,不同的設(shè)備采用了不同定義的串口通信傳輸協(xié)議。多種傳輸協(xié)議都是基于幀傳輸?shù)姆绞?,將測(cè)控、位姿數(shù)據(jù)進(jìn)行分幀發(fā)送,并在傳輸過(guò)程中對(duì)單幀中的數(shù)據(jù)進(jìn)行和校驗(yàn)。數(shù)據(jù)幀的構(gòu)成如下圖3所示。
上行遙控幀數(shù)據(jù)主要包括控制航磁儀的工作狀態(tài),如是否磁補(bǔ)償飛行、是否開始記錄文件、是否進(jìn)入標(biāo)定模式等信息。下行遙測(cè)數(shù)據(jù)主要包括航磁儀的測(cè)量數(shù)據(jù),如磁場(chǎng)強(qiáng)度大小、經(jīng)緯度及方向、系統(tǒng)工作狀態(tài)等信息。在STM32F407微控制器程序的控制下,對(duì)不同USART端口接收到的信息內(nèi)容解析后進(jìn)行隊(duì)列排序,相互之間采用多線程結(jié)構(gòu)調(diào)用設(shè)計(jì),用以實(shí)現(xiàn)多任務(wù)的偽并行處理,完成了航磁儀測(cè)量數(shù)據(jù)傳輸協(xié)議和無(wú)人機(jī)鏈路傳輸協(xié)議的自動(dòng)轉(zhuǎn)換。通過(guò)實(shí)際的測(cè)試,系統(tǒng)誤碼率幾乎為零,自動(dòng)協(xié)議轉(zhuǎn)換時(shí)間遠(yuǎn)小于幀傳輸?shù)拈g隔時(shí)間,完全可以達(dá)到實(shí)時(shí)傳輸數(shù)據(jù)的要求。
3.2 GPS及高度數(shù)據(jù)的輸出