DSP28335捷聯(lián)慣導通信模塊設(shè)計探討

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

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

DSP28335捷聯(lián)慣導通信模塊設(shè)計探討

摘要:慣性導航系統(tǒng)具有自主性好、隱蔽性好、抗干擾能力強等優(yōu)勢,被廣泛應(yīng)用于航空、航天以及武器系統(tǒng)等領(lǐng)域。捷聯(lián)慣導系統(tǒng)是一種與載體固連的數(shù)字化慣性導航系統(tǒng),數(shù)字信號傳輸與通信是導航實現(xiàn)的前提和基礎(chǔ)。利用dsp28335硬件架構(gòu),設(shè)計了捷聯(lián)慣導系統(tǒng)串口通信模塊,可以實現(xiàn)捷聯(lián)慣導系統(tǒng)和DSP之間的高速串口通信。通過試驗驗證了數(shù)據(jù)通信的有效性和可靠性。

關(guān)鍵詞:捷聯(lián)慣導;串口通信;DSP

1引言

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

2DSP28335及開發(fā)環(huán)境簡介

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

3通信指標與程序流程

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

4串行通信實現(xiàn)

4.1初始化

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

4.2串口接收中斷服務(wù)程序

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

5結(jié)語

捷聯(lián)慣性導航系統(tǒng)在軍、民用領(lǐng)域都有重要應(yīng)用,而嵌入式慣性導航解算計算機是捷聯(lián)慣導的重要組成部分。陀螺儀和加速度計等慣性器件與嵌入式計算機的通信是實現(xiàn)慣性導航的前提和基礎(chǔ)。為了兼顧慣性導航串行通信的高更新率、高波特率、大數(shù)據(jù)量等特性,以及嵌入式計算機成本等需求,本文基于DSP28335硬件架構(gòu)設(shè)計了捷聯(lián)慣導通信模塊,從而實現(xiàn)了捷聯(lián)慣導高速、穩(wěn)定、可靠的數(shù)據(jù)通信。

參考文獻:

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

[2]張?zhí)旃?王秀萍,王麗霞.捷聯(lián)慣性導航技術(shù)[M].北京:國防工業(yè)出版社,2007.

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

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

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

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

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

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

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