当前位置:无忧公文网 >范文大全 > 征文 > 空空导弹数字舵机软件串行加载系统设计

空空导弹数字舵机软件串行加载系统设计

时间:2022-03-24 09:24:24 浏览次数:

摘 要:在数字舵机软件修改时,为了避免空空导弹产品反复拆装,保证导弹的可靠性,设计了一套利用产品串行通信接口加载程序的串行加载系统。针对控制芯片TMS320LF2407,利用芯片自带的ROM,采用串行异步通信方式实现软件串行加载。实际应用表明,该系统可以方便、快捷地进行舵机软件加载,避免了反复拆装产品,提高了生产效率。

关键词:空空导弹;数字舵机;软件加载;串行加载;串行异步通信

中图分类号:TP311.52 文献标识码:A 文章编号:1673-5048(2013)04-0058-03

DesignofSoftwareSerialLoadingSystemforAirtoAir MissileDigitalControlActuator

LIUPeng,ZHUPeihong,TAOXiaoliang

(ChinaAirborneMissileAcademy,Luoyang471009,China)

Abstract:Duringmodifyingsoftwareofairtoairmissiledigitalcontrolactuator,aserialloadingsystemusingserialcommunicationinterfaceloadingprogramisdesignedtoavoiddisassemblingproduction repeatedly.SoftwareserialloadingrealizesviaserialasynchronouscommunicationwithROMof TMS320LF2407chipself.Practicalapplicationsprovethatthesystemcanloadsoftexpedientlyandfast,andcanavoiddisassemblingproductionandimproveproducingefficiency.

Keywords:airtoairmissile;digitalcontrolactuator;softwareloading;serialloading;serialasynchronouscommunication

0 引 言

随着数字处理芯片的快速发展,利用数字电路控制的舵机表现出比模拟电路控制的舵机更大的优势,如参数调试方便、器件参数漂移小、可以采用更加复杂的控制算法等。数字电路控制的舵机通过软件算法实现舵机控制,在软件状态稳定后,通过仿真器烧写到产品中。但当舵机与其他舱段组合成一个完整的产品时,如果软件参数需要修改,需要将产品拆开进行烧写,费时而且反复拆装也降低了产品的可靠性。如果能够利用产品的串行通信接口进行程序加载,就可以避免上述情况发生。

为此,本文设计了一套串行加载系统,通过该系统可以利用产品的串行通信接口方便地进行程序和参数的加载,免除了产品的反复拆装,提高了生产效率。

1 串行加载实现原理

本文设计的舵机控制器采用的芯片为TMS320LF2407,该芯片是TI公司用于数字电机控制和嵌入式应用的新一代16位、定点、低功耗DSP,芯片自带32K字节Flash。

另外一种方式是利用芯片内部自带的引导加载代码进行程序加载。TMS320LF2407自带的ROM具有引导加载代码,并为用户提供了两种选择:异步方式和同步方式。异步方式是通过串行通信接口SCI实现,同步方式通过串行外设接口SPI实现。这两种方式均可以将程序代码加载到用户指定的位置。与传统的加载方式相比,这种方式有两个优点:

(1)不必编写内嵌程序,加载方式简单可靠。

(2)控制器不必保留JTAG接口,电路布线简单且有利于代码保密。

所以本文采用该种方式进行舵机软件加载系统设计。

舵机控制器通过一个异步串行通信接口与其他舱段通信,所以采用异步方式实现程序加载。这里通信协议采用RS422方式,该协议与RS232协议相比具有抗干扰能力强、传输速率快等优点。接口转换芯片采用MAX3160,该芯片在3~5.5V之间均可以正常工作,接口电路如图1所示。

(3)异步或同步选择。引导加载代码根据SPISIMO引脚状态选择输入程序的来源,引导加载代码被激活后,会对该引脚进行扫描。如果SPISIMO引脚拉低,则启用SCI传输;如果SPISIMO引脚拉高,则启用SPI传输。这里将SPISIMO引脚拉低,启用SCI传输。

(4)建立通信连接。主机与TMS320LF2407的波特率必须设定为38400bps,然后,主机向TMS320LF2407发送探测字符0x0D,TMS320LF2407在串行端口进行连续侦听,对侦听到的每一个字符与0x0D对比,如果超过三个字符不匹配,则TMS320LF2407尝试新的波特率。如果波特率正确且侦听到的字符是0x0D,则TMS320LF2407将尝试连续接收9个0x0D字符,如果连续接收的9个字符均为0x0D,则目标机将返回0xAA,表示通信握手正常。通信格式是8位字符,1个停止位,无校验位。通信握手正常后,就可以进行加载算法及可执行代码传输了。

TMS320LF2407的加载算法可以从TI公司网站下载,不同型号芯片的加载算法不同,TMS320LF2407的加载算法数据包名称为sprc144.zip。

加载算法包括核心算法、清除算法和编程算法等。

在传输其他加载算法之前,必须首先传输核心算法,传输格式如图2所示。

核心算法传输成功后,开始传输其他加载算法,传输顺序为:clear(清除)算法、erase(擦除)算法、pgm(编程)算法。

注意,编程算法被传输到片内后,并不立即执行,而是将用户编写的实际代码传输到数据区,一旦数据区有可用的代码执行,则立刻调用编程算法,根据代码的目标地址、长度,将代码写入Flash。如果还有其他数据,则按照同样的方法执行。代码烧写完毕后,核心算法给主机发送字符0,当主机收到字符0,表明程序烧写成功,向TMS320LF2407发送两个字符0,结束代码烧写。

软件在VisualStudio2005环境下采用C++语言编写。

部分代码如下:

OpenComConfig(port,"",38400,0,8,1,512,-1);//设置通信格式

for(j=0;j<9;j++)

{

SCIA_Send[0]=0x0d;

ComWrt(port,SCIA_Send,1);

}

rec[0]=ComRdByte(4);

程序编写完成后,经过调试,工作正常,能够可靠地进行代码加载。

参考文献:

[1]刘和平,严利平,张学锋,等.TMS320LF240xDSP结构、原理及应用[M].北京:北京航空航天大学出版社,2002.

[2]褚荣,刘振.用单片机实现DSP在线调试的一种方法[J].单片机与嵌入式系统应用,2005(5):16-17.

[3]茅飞.TMS320F240片内FLASH串行口编程[J].电子产品世界,2002(Z1).

[4]曾昭健,毛韬,朱善安,等.串行引导加载技术在DSP网络实验系统中的应用[J].机电工程,2007,24(8):17-19.

[5]TexasInstruments.TMS320LF/LC240xADSPControllers ReferenceGuide:SystemandPeripherals[M].TexasInstruments,2006.

推荐访问: 空空导弹 舵机 加载 数字 设计