一种基于CAN总线的火力分配系统

2010-01-20 06:38史宇辉周军宏
火炮发射与控制学报 2010年4期
关键词:寄存器火炮火力

姚 军,邵 婷,史宇辉,周军宏

(1.海军驻西安地区军事代表室,陕西西安 710043;2.西北机电工程研究所,陕西咸阳 712099)

一种基于CAN总线的火力分配系统

姚 军1,邵 婷2,史宇辉2,周军宏2

(1.海军驻西安地区军事代表室,陕西西安 710043;2.西北机电工程研究所,陕西咸阳 712099)

火力分配系统可实现瞄具带4门火炮的功能,是某武器系统的重要组成部分,由瞄具数采板、主控电路板、显控电路和继电器板等功能模块组成。为使系统具有良好的实时性和抗干扰能力,以TMS320F2812单片机为核心,扩展具有SPI接口的独立CAN控制器,采用双CAN总线网络将各模块及火炮连接起来,实现双CAN总线数据通信、数据采集和数据转换等功能,通过继电器的逻辑判断,完成火力分配。实践证明,该系统运行稳定,数据传输完整,满足实际应用的要求。

通信技术;双CAN总线;TMS320F2812;MCP2515;火力分配系统

在某武器系统的火力分配系统中,要实现多个瞄具带多门火炮的任务,其应用环境非常恶劣,要求系统有良好的实时性和可靠性。为此,笔者提出了基于CAN总线的分布式火力分配系统,即按照系统功能模块将硬件模块化,采用分布式总线型拓扑结构,通过双CAN总线网络将各模块连接起来,实现双CAN总线数据通信、数据采集、数据转换等功能,降低了系统功耗,提高了系统工作效率和可靠性,并使系统具有较好的可维修性和扩展性。

1 火力分配系统工作原理

根据要实现的任务,本系统采用分布式总线型拓扑结构,其特点在于可通过单片机能力的均匀分布使系统具有较好的冗余能力,更快的处理速度,模块化的体系结构,并且简化编程难度[1]。

1.1 系统通信网络方案选择

对火力分配系统而言,通信网络架构及其实现是其重要组成部分之一。它可以把系统的各个模块有机地联系起来。由于本系统运行环境恶劣,也就要求通信网络有良好的可靠性。

从总线速度、通信方式、系统软硬件开销及总线或协议的复杂性考虑,现行应用广泛的RS232C总线是针对相对慢数据速率(20 kbs以下)和短距离进行单端数据传输制定的,对长距离传输不可靠;RS485总线网络技术成熟,但RS485总线毕竟只存在一个简单的没有硬件通信协议的物理层,其通信协议完全依赖软件的支持,这就增加了系统通信软件的负担,且在几乎没有可靠的总线竞争仲裁与帧重发机制的情况下,数据的丢失率正比于总线数据的流通量;而CAN总线协议能实现一点对多点的通信,采用CAN总线作为模块间的通信线路,数据传输速度快、可靠性高,且由于是串行总线结构,扩展系统增加节点单元十分方便[1]。

本系统中按照功能划分为瞄具数采板、主控电路、显控信息和火力分配电路4部分。其中,瞄具数采板只需与主控电路通信,无需与多门火炮通信,通信连接在箱体内部,线路较短且为一点对多点的通信模式,可在RS485总线和CAN总线间选择,但考虑系统的兼容性、可扩展性和总线传输速率,选择CAN总线作为火力分配箱内部的通信网络;主控电路除需要与箱体内部通信外,还需和多门火炮通信,此两者间的通信连接在舱外,且传输距离远,运行环境恶劣,对数据传输的可靠性要求高,基于 CAN总线的优越性,选择其为通信网络[2]。由此,选择双CAN总线通信网络构成系统体系结构,较单CAN总线构成的系统而言,只需较小的软硬件开销,即可使系统结构层次更清晰,并有较高的抗干扰能力,提高了系统稳定性和系统的工作效率。

1.2 火力分配系统工作原理

火力分配系统原理如图1所示,瞄具数据采集板和主控电路均采用TI公司的TMS320F2812作为主处理器,继电器板是逻辑判断,为保证线路的可靠性,采用继电器搭建而成。

瞄具数据采集板主要完成多路瞄具位置信号和速度信号的采集,并将数据按CAN协议格式打包通过CAN总线1发给主控电路,主控电路对数据进行处理后,根据火炮需要通过CAN总线2发至各火炮控制台。主控电路还要根据各瞄具和各火炮的状态及信息,给出显控信息,由枪炮长根据显控信息给出火力分配命令,进而通过主控电路和火力分配电路共同给出击发信号,从而实现瞄具带炮的功能。

2 系统硬件电路实现

2.1 瞄具数据采集板硬件实现

瞄具数据采板原理框图如图2所示,其中,位置信号的采集通过自整角机数字转换器完成,由于要同时采集多路位置信号,且每路信号由粗精通道组成,就需要将多路转换器同时连接到MPU上,当MPU需要读数时,将禁读信号拉低后,把使能信号()作为地址信号,通过译码器从数据线上读取位置数据;速度信号的采集通过板上自带的12位AD采集后用软件校正后即可达到精度要求;CAN总线通信直接用MCU上自带的CAN控制器外接CAN收发器即可。

2.2 主控电路CAN总线电路实现

本文采用TI公司生产的TMS320F2812单片机[3]作为主控电路的控制芯片,由上文可知主控电路需两路CAN总线,而该芯片只有一路CAN控制器[3],则需外扩一路CAN控制器以满足要求。片上外设的CAN控制器只需外接一个CAN收发器即可作为1路CAN总线使用。由于MCP2515是带SPI接口的独立CAN控制器[4],与MCU的接口简单,且MCU的片上外设中有一路SPI口[3],所以选择MCP2515为外扩的CAN控制器。图3为主控电路的双 CAN 口电路图。其中,MCP2515CAN控制器通过3线方式 SPI口与TMS320F2812单片机连接[4],片选信号CS需连接到TMS320F2812的普通IO口上;MCP2515的OSC1和OSC2引脚外接8M晶振匹配22p电容构成振荡电路为其提供工作时钟;RX0BF接XINT1,以中断方式接收并处理数据[5,7];由于MCP2515有硬件复位和SPI命令复位两种复位方式[4],且效果一样,本文选择SPI软件复位,以减少硬件开销;通过MCP2515的TXCAN和RXCAN,CAN控制器与CAN收发器相连;为增加CAN通信的可靠性,在CAN收发器CTM8251的CANH和CANL之间加入120欧终端匹配电阻以抑制收发信号反射,减小共模干扰[6-7]。

3 系统软件的实现

本系统主要任务是完成多个瞄具的信息采集,将相关信息通过主控电路分别传递给多门火炮,同时各门炮的状态和指令也通过主控电路显示在显控面板上,主控电路同时要接收枪炮长的火力分配指令,并根据显控信息和火力分配指令通过继电器板给出瞄具击发信号,实现瞄具带炮功能。系统软件包括瞄具数采板的软件设计和主控电路的软件设计。

3.1 瞄具数采板软件实现

瞄具数采板的软件设计主要包括四大部分,TMS320F2812的初始化、瞄具位置信号的采集、瞄具速度信号的采集和数据的发送。

单片机的初始化主要包括系统时钟和IO口的初始化、A/D转换初始化、SDC转换的存储单元的分配和CAN控制器的初始化。此数采板用片上CAN控制器即可。CAN控制器的初始化是在初始化模式下通过写入相应寄存器来确定CAN控制器的波特率、发送通道、接收通道、标识符码和标识符屏蔽码等相关信息[2],完成后重新设置工作模式,进入正常工作模式,进行数据传输。

初始化过程完成后,单片机开启定时器,每隔2ms调用A/D转换子程序和SDC位置采集子程序,采集完成后,将数据存储到相关存储区中,并定时调用发送数据子程序给主控电路发送数据。其中主流程图如图4所示,定时器中断子程序流程图如图5所示。

3.2 主控电路软件实现

主控电路软件设计主要包括四大部分,MCU和MCP2515的初始化[5,7]、瞄具信息的数据接收、与火炮间的信息传递和数据的显控。

单片机首先完成对系统时钟、片上CAN控制器、IO口和SPI口的初始化;而对扩展的CAN控制器MCP2515的初始化是通过TMS320F2812向控制段中的寄存器写入控制字来完成的,主要是对配置寄存器、屏蔽滤波寄存器、中断寄存器和控制寄存器等进行设置[5-7]。需要注意的是,MCP2515只有在配置模式下才可以对控制参数进行配置[4]。

当配置 MCP2515到正常模式后,只要用TMS320F2812通过SPI接口将待发送的数据写入MCP2515的发送缓存器,然后再调用RTS(发送请求)命令即可将数据发送到CAN总线上。此后,在接收缓存收到数据,RX0BF引脚将产生中断以通知单片机,单片机响应中断后将读取数据[5-7]。

主控电路的初始化完成后,程序进入等待中断状态。在CAN总线1的接收中断中接收瞄具数采板发送来的数据;在CAN总线2的接收中断中接收到火炮要求发送数据的请求后,调用CAN总线2的发送子程序,如果接收到的是火炮状态信息,则调用数据显示子程序,并将状态信息通过IO口给继电器板。同时继电器板要接收从主控面板发送的火力分配指令,并通过逻辑判断最终给出击发信号。其外部中断子程序和CAN中断子程序流程图分别如图6和图7所示。

3.3 独立CAN控制器的调试注意事项

调试过程中主要遇到以下几个问题,分别阐述如下:

MCP2515在进行任何操作时,CS引脚都必须保持低电平[3],CS信号有个从高变低,保持一段时间再从低变高的过程,在整个过程中高电平要保持一定时间宽度,否则程序会出现加断点运行正常,去掉断点MCP2515的寄存器读写丢数或者读写不了的情况。

当MCP2515与 TMS320F2812通过SPI口进行通信时,单片机处于主工作模式,CAN控制器处于从工作模式。TMS320F2812的SPI接口为16位寄存器,发送数据时要求数据左对齐,接收数据时要求数据右对齐[2],而MCP2515内部寄存器的地址和内容均为8位,当两者工作于SIMO(从入主出)模式时,要求 DSP发送的内容为高8位有效,比如T xB1CTRL寄存器地址原本是0x31h,在DSP发送时要左移8位写成0x3100h;工作于SOMI(从出主入)模式时,DSP接收的内容为低8位有效。

位时间的计算[4],此为正常通信的关键。本文外接晶振为8M欲实现500 kHz的CAN波特率,则TOSC=125 ns,选择BRP<5:0>=00h,则TQ=2×(0+1)×125=250 ns,欲达到500 kHz即周期为2 000 ns,位时间为2 000/250=8TQ。同步段=1TQ,跳转宽度SJW=1TQ,传播段取2TQ,要使采样点发生在位时间60%到70%处,则相位缓冲段PS1=位时间×70%-同步段-传播段=5TQ-1TQ-2TQ=2TQ,则相位缓冲段PS2=位时间-同步段-传播段-相位缓冲段PS1=3TQ。对时间段的编程设定是满足要求的,位定时配置寄存器的设置为 CNF1为 0x00h、CNF2为0x89h,CNF3为0x42h。

4 结束语

本文讨论了基于CAN总线的火力分配系统的设计方案,介绍了系统工作原理,给出软件设计流程,重点给出了CAN总线通信系统的设计,并结合实际调试给出了调试注意事项。实践表明,该设计有很好的可靠性、实时性和可维护性,能够适应应用环境的需要。若要将其扩展为多CAN总线系统,只需在主控制器的SPI口上多挂几个带SPI口的CAN总线控制器即可。

References)

[1]杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用[M].北京:电子工业出版社,2007.

DU Shang-feng,CAO Xiao-zhong,XU jin.The technology and applications of CAN Bus test and control[M].Beijing:Publishing House ofElectronics Industry,2007.(in Chinese)

[2]裴益轩,霍勇谋.CAN总线技术在高炮武器系统中的应用研究[J].火炮发射与控制学报,2003(2):26-28.

PEI Yi-xuan,HUO Yong-mou.Study on implement of CAN bus technique in antiaircraft gun weapon systems[J].Journal of Gun Launch&Control,2003(2):26-28.(in Chinese)

[3] Texas Instruments Incorporated.TMS320C28X系列DSP的CPU与外设[M].北京:清华大学出版社,2004.

Texas Instruments Incorporated.TMS320C28X DSP CPU and Peripherals[M].Beijing:Tsinghai University Press,2004.(in Chinese)

[4] Microchip Technology Inc.MCP2515 data sheet[M/OL].[2010-03-07].http://ww1.microchip.com/downloads/cn/DeviceDoc/21801D_CN.pdf.(in Chinese)

[5]叶小岭,杨大红,周金兰.基于CAN总线的自动气象观测系统设计[J].自动化与仪表,2009(9):19-21.

YE Xiao-ling,YANG Da-hong,ZHOU Jin-lan.Design of automatic meteorological observing system based on CAN[J].Automation and Instrumentation,2009(9):19-21.(in Chinese)

[6]陈占峰,毛保全,邵毅,等.CAN总线在遥控武器站数据传输中的应用[J].火炮发射与控制学报,2008(3):41-44.

CHEN Zhan-feng,MAO Bao-quan,SHAO Yi,et al.Application of CAN bus in data transmission of remote control weapon station[J].Journal of Gun Launch&Control,2003(3):41-44.(in Chinese)

[7]柯江民,孙淑霞 ,曹屹东.MCP2515及CAN通信驱动设计[J].铁路计算机应用,2008(12):43-45.

KE Jiang-min,SUN Shu-xia,CAO Yi-dong.Design of MCP2515 and CAN communication driving[J].Railway Computer Application,2008(12):43-45.(in Chinese)

A Firepower Distribution System Based on CAN Bus

YAO Jun1,SHAO Ting2,SHI Yu-hui2,ZHOU Jun-hong2

(1.Naval Military Agency in Xi'an Area,Xi'an 710043,Shaanxi,Chain;
2.Northwest Institute of Mechanical&Electrical Engineering,Xianyang 712099,Shaanxi,China)

T he firepower distribution system can implement the function that the aiming sights control 4 guns.The firepower distribution system is an important constituent part of some weapon system,it consists of functional modules,such as aiming sight data collection board,main control board,display control board and relay board and so on.In order to improve real-time performance and anti-jamming performance of the system,taking TMS320F2812 MCU as core,the stand-alone CAN controller MCP2515 equipped with SPI interface was developed.Double CAN bus data network was used to combine each module with guns to realize some functions,such as double CAN bus data communication,data acquisition and data conversion and so on.By means of logic judgment of relay,the firepower distribution was performed.The results proved that the operation of system is stable and reliable,its data conversion is complete,and it can meet the requirements of actual application.

communication;double CAN bus;TMS320F2812;MCP2515;firepower distribution system

TJ303+.9

A

1673-6524(2010)04-0055-05

2010-07-05;

2010-10-10

姚军 (1979―),男,工程师,主要从事舰炮武器系统研究。E-mail:zpfst@163.com

猜你喜欢
寄存器火炮火力
火力全开
火力全开! 广州上半年20条村改造,投入超800亿!
火炮也减肥
Lite寄存器模型的设计与实现
二进制翻译中动静结合的寄存器分配优化方法
火力全开!飞劲轮胎D1 GP青岛站再创佳绩
移位寄存器及算术运算应用
《火力与指挥控制》投稿须知
乌拉尔车辆厂将建立一条自动化生产线
Lx5280模拟器移植设计及实施