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

時(shí)間:2022-06-24 10:30:03

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

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

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

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

1引言

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

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

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

3通信指標(biāo)與程序流程

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

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

4.1初始化

DSP28335芯片初始化階段,主要對(duì)系統(tǒng)時(shí)鐘頻率、串行通信SCI模塊、芯片引腳、中斷向量等進(jìn)行初始化設(shè)置,其主要代碼及其功能如下:InitSysCtrl();//設(shè)置系統(tǒng)時(shí)鐘頻率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ù)讀入到存儲(chǔ)器中,同時(shí)將數(shù)據(jù)按照協(xié)議進(jìn)行解析,將其轉(zhuǎn)換成計(jì)算機(jī)能處理的數(shù)據(jù)形式,便于后續(xù)進(jìn)行慣性導(dǎo)航解算,其主要代碼及功能如下:

5結(jié)語

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

參考文獻(xiàn):

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

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

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

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

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

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

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

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

作者:余暉冬 陳鑫 王書磊 單位:中國人民解放軍92145部隊(duì) 海軍工程大學(xué)導(dǎo)航工程教研室