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