DSP28335捷聯慣導通信模塊設計探討

時間:2022-06-24 10:30:03

導語:DSP28335捷聯慣導通信模塊設計探討一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

DSP28335捷聯慣導通信模塊設計探討

摘要:慣性導航系統具有自主性好、隱蔽性好、抗干擾能力強等優勢,被廣泛應用于航空、航天以及武器系統等領域。捷聯慣導系統是一種與載體固連的數字化慣性導航系統,數字信號傳輸與通信是導航實現的前提和基礎。利用dsp28335硬件架構,設計了捷聯慣導系統串口通信模塊,可以實現捷聯慣導系統和DSP之間的高速串口通信。通過試驗驗證了數據通信的有效性和可靠性。

關鍵詞:捷聯慣導;串口通信;DSP

1引言

捷聯式慣性導航系統(StrapdownInertialNavigationSys-tem,SINS)將慣性器件直接固連在運載體上,慣性器件可以感應出運載體的加速度和姿態等信息,而且不受任何外部因素的影響,可以實現真正意義上的自主式導航[1-3]。捷聯慣導系統具有成本較低、體積更小、可靠性更高等優點,因此已成為慣性導航技術的重要發展方向之一。相對于傳統平臺式慣性導航系統,捷聯慣導數字化程度更高,因此數字信號的傳輸與通信是導航實現的前提和基礎。目前,捷聯慣導與上位機或導航解算計算機的通信主要采用串行通信。通信數據主要包含陀螺儀輸出的角速度數據和加速度計輸出的加速度數據等,用于后續導航解算和數據處理分析。為保證導航解算對于慣性器件數據更新率的要求,慣導串行通信通常具有數據量大、波特率高、更新率高等特點。在通用計算機上實現慣導高速串行通信相對簡單,文獻[4][5]介紹了在VC++開發平臺下,基于MSComm進行串口編程的方法。文獻[6][7]闡述了在VC++開發平臺下基于MOXA多串口卡的多串口實時通信的實現方法。但是在嵌入式計算機上,由于要兼顧成本和性能,需要對系統資源進行優化配置,對程序進行合理設計。本文基于低成本的DSP28335硬件架構,設計了捷聯慣導高速串行通信模塊,以較低的硬件成本,構建了慣性導航實現平臺。

2DSP28335及開發環境簡介

DSP(DigitalSignalProcesser)即數字信號處理器,是美國德州儀器公司(TexasInstruments,簡稱TI)研發生產的專用于數字信號處理的芯片,其強大的浮點型計算能力是目前市面上其他CPU無法比擬的,集成有專用數學計算指令集以及對內存優化能力使這款專用CPU在數字信號處理領域表現優異。由于是專用CPU,因此DSP只能用TI公司專用的軟件開發工具設計軟件,TI公司將這款軟件命名為CCS(CodeComposerStudio,CCS集成代碼開發環境)。DSP系統軟件開發工具CCS編輯、編譯、連接、軟件仿真以及硬件調試等功能于一體,操作簡單,擁有良好的人機交互界面,并支持C語言標準,編程簡單易于開發[8]。它不僅提供了配置、建立、調試、跟蹤和分析程序的工具,而且便于實時、嵌入式信號處理程序的編制和測試,能夠加速程序開發進程,提高設計工作效率。

3通信指標與程序流程

慣性導航設備陀螺儀和加速度計數據采用IEEE標準浮點型數據格式輸出,每個浮點型數占4個字節外加協議頭和協議尾以及自定義信息共62字節。由于慣性導航解算要求陀螺儀和加速度計數據更新率不低于100Hz,為保證信息的有效傳輸以及為后續導航解算預留硬件資源,設定通信波特率為1843200bit/s。串口接收數據以及發送數據都設置為中斷模式,利用中斷模式接收數據可以有效節省CPU資源,避免主程序實時查詢帶來不必要的浪費,當串口完整接收一個字節時將數據存儲在預先定義的串口接收緩存區中,緩存區至少能緩存3條最大協議內容的長度。這種設計方式能夠保證即使主程序不能及時處理串口數據也不會造成數據丟失的問題。主程序遍歷串口接收數據緩存區,如果協議緩存區字節數超過最大協議長度字節數62字節依然沒有收到協議頭或者協議尾,或者校驗失敗則丟棄這條協議,清除協議解析緩沖區。這種串口接收數據處理方式稱之為雙緩存區模式。這種處理方式可以很輕松處理高速數據通信問題而且不容易丟失數據。串口數據接收協議解析流程如圖1所示。

4串行通信實現

4.1初始化

DSP28335芯片初始化階段,主要對系統時鐘頻率、串行通信SCI模塊、芯片引腳、中斷向量等進行初始化設置,其主要代碼及其功能如下:InitSysCtrl();//設置系統時鐘頻率InitScic();//初始化串行通信SCI模塊InitGpio();//初始化GPIO引腳InitPieCtrl();//禁止PIE,清除PIEIER和PIEIFR寄存器InitPieVectTable();//加載中斷向量表EnableInterrupts();//中斷使能PieVectTable.SCITXINTC=&SCITXINTC_ISR;//初始化PIE中斷向量表PieVectTable.SCIRXINTC=&SCIRXINTC_ISR;//初始化PIE中斷向量表

4.2串口接收中斷服務程序

串口接收中斷服務程序主要將輸入緩沖區的數據讀入到存儲器中,同時將數據按照協議進行解析,將其轉換成計算機能處理的數據形式,便于后續進行慣性導航解算,其主要代碼及功能如下:

5結語

捷聯慣性導航系統在軍、民用領域都有重要應用,而嵌入式慣性導航解算計算機是捷聯慣導的重要組成部分。陀螺儀和加速度計等慣性器件與嵌入式計算機的通信是實現慣性導航的前提和基礎。為了兼顧慣性導航串行通信的高更新率、高波特率、大數據量等特性,以及嵌入式計算機成本等需求,本文基于DSP28335硬件架構設計了捷聯慣導通信模塊,從而實現了捷聯慣導高速、穩定、可靠的數據通信。

參考文獻:

[1]秦永元.慣性導航(第二版)[M].北京:科學出版社,2014.

[2]張天光,王秀萍,王麗霞.捷聯慣性導航技術[M].北京:國防工業出版社,2007.

[3]王巍.慣性技術研究現狀及發展趨勢[J].自動化學報,2013,39(6):723-729.

[4]李薇,耿淑琴.基于VC實現MSP430與PC之間的異步串行通信[J].微型機與應用,2012,31(5):23-25.

[5]周小剛,單斌,汪立新,等.基于PC104的嵌入式轉臺控制系統設計[J].自動化應用,2013(1):62-24.

[6]趙素娟.基于Moxa多串口卡的多串口通信的VC++實現[J].計算機與現代化,2011(8):117-123.

[7]李瑞先.VC++中基于Moxa多串口卡串行通信的實現[J].通信技術,2009,42(11):7l-72+192.

[8]邊倩,林智慧.用C語言實現DSP程序設計的研究[J].電子技術與軟件工程,2016(23):251-252.

作者:余暉冬 陳鑫 王書磊 單位:中國人民解放軍92145部隊 海軍工程大學導航工程教研室