DSP28335捷联惯导通信模块设计探讨

时间:2022-06-24 10:30:03

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部队 海军工程大学导航工程教研室