基于CAN总线的模拟射击训练系统设计
扫描二维码
随时随地手机看文章
1 引 言
在军队的训练项目中CONTROL ENGINEERING China版权所有,野战的射击姿势训练是一个重要的部分。要求学员对在复杂环境中突然出现的目标,能够根据距离远近和目标大小等特点迅速作出判断
为此,本文设计了基于红外接收管和激光发射器的激光靶模拟训练系统。在这个系统中,以靶面上安装红外光敏接收元件的光电靶代替传统的靶子,将红外激发射光器安装在步枪头部,激光发射开关安装在枪机上,扳动枪机则发射一次激光脉冲代替子弹,此激光脉冲击中光电靶时将被靶上由单片机构成的检测器检测到,单片机计算出击中的行列坐标,通过CAN现场总线发送到监控计算机,在计算机上显示打靶成绩,并对训练结果进行统计和管理,从而构成了完整的模拟射击训练系统。
2 系统功能与硬件设计
激光模拟训练系统主要由监控计算机或笔记本电脑、通讯模块和光电靶3大部分构成,其中计算机放置在训练场地起点
计算机为主控制单元,监测着100m范围内的射击情况
通讯模块负责帮助计算机进行CAN总线的通讯。
光电靶由通讯板和检测板2大部分组成。由于实际训练中要求目标的大小和形状都有不同,就使得靶子的形状不一致,因此设计了几种标准形状的检测板,根据每个光电靶子外形的不同进行拼装,以满足训练的需要www.cechina.cn,最大的一块光电靶需要由4块形状不同的检测板组成。
检测板结构示意图如图2所示,检测板上正面每隔2cm放置一个光电二极管,若光电二极管被击中则导通,单片机检测到被击中点坐标后控制工程网版权所有,通过485串行总线发送到通讯板,由通讯板负责统一将整个光电靶的击中信息和工作情况传送给通讯模块。
每块个光电靶都由多个检测板构成,为了提高系统效率,加入一块通讯板,负责整理本光电靶信息,统一与上位机进行数据交换。通讯板主要就是统计并计算本靶的打中点坐标送到上位机,接受上位机的消息后传给检测板,使得同一靶子中多块检测板同步动作;其次还有故障检测的功能。通讯板与检测板之间要求通讯即时、可靠,用485串行总线进行工作。这样的结构使单个光电靶工作相对独立,方便以后系统节点的扩展。通讯板的结构示意图如图3所示。
3 系统的软件设计
3.1 CAN总线的通讯设计
3.1.1 CAN 总线简介
控制器局部网(CAN——Controller Area Network)是一种现场总线,它是一种有效支持分布式控制或实时控制的串行通信网络。它以半双工的方式工作,同一时间内只能有一个节点发送信息,多个节点接受信息,可以实现全分布式多机系统,提高数据在网络中传输的可靠性。在各种现场总线中,它以其结构简单、应用灵活方便而在工业控制和车辆中得到广泛应用。
CAN总线的信息存取采用广播式的存取工作方式,信息可以在任何时候由任何节点发送到空闲的总线上,每个节点的CAN总线借口必须接受总线上出现的所有信息,因此各接点都设置由一个接收寄存器,接收寄存器首先将信息接收,然后根据接收信息的标示符决定是否读取信息包中的数据,即判定是否使用这一信息。CAN总线协议的一个最大特点就是废除了传统的地址编码,代之以对通信数据块进行编码。CAN总线面向数据而不是面向节点,采用这种方法的优点是可使网络内的节点个数在理论上不受限制,假如和减少设备不影响系统的工作。因此,基于CAN总线的射击模拟训练系统可以根据实际要求增加或减少光电靶的数量。
CAN总线每帧收发数据的长度最多为8个字节,因而不存在占用总线时间过长的问题,可以保证通信的实时性,通信速率最高可达1Mb/s(通信距离40m时),通信距离最远可达10km(传输速率为5kb/s).通信介质可以是双绞线、同轴电缆或光导纤维。
3.1.2 CAN总线通讯的实现
在本系统中,采用PHILIPS公司的SJA1000芯片,通过对SJA1000的位定时寄存器进行设置来实现不同通信波特率的要求,CAN总线的通信拨特率与通信距离有密切的关系,距离越短,允许的波特率越高,反之亦然。系统采用多主方式工作,其任意节点任意时刻都可向总线发送信息,各节点通过ACR、AMR进行报文滤波。
监控计算机可以对各光电靶进行以下2种操作:查询光电靶工作是否正常;回信确认已经收到光电靶的检测数据。监控计算机每隔固定时间就进行一次查询光电靶工作是否正常的操作,确保光电靶在线并且工作正常。当监控计算机收到光电靶的击中信息后,向光电靶回信确认已经收到检测数据,然后光电靶的通信板删除击中点坐标控制工程网版权所有,避免通信过程中数据丢失的情况,确保通信的可靠性。
光电靶需要向监控计算机发送以下3种内容的数据:本靶的板子工作均正常且未被击中;打中信号与击中点横纵坐标;出错信号和出错板的板号。程序流程图如图4所示。
在CAN的技术规范中,规定了CAN在数据链路层和物理层上的标准,用户在设计通信软件时,必须线根据需求设计合适的CAN总线通信协议,才能完成准确可靠的传输。在本系统中,根据需要制订通讯协议如下:
addr+cmnd+data…+data+chkxor;
其中:addr——发送方的地址编码;
cmnd——命令码;
data——数据;
chkxor——异或校验码;
在本系统中,数据区只有发送方地址编码,没有接收方地址编码,这是由本系统的特点决定的。各光电靶只需要与监控计算机通讯,相互之间没有联系,所以监控计算机接收总线上的所有信息,其他各节点通过各自验收滤波器过滤无用信息。
3.2 系统检测与485通讯部分软件设计
光电靶上的通讯板与检测板通过485总线以主从方式通讯,通讯板为主机,检测板为从机,二者以查询方式联系。通讯板与检测板通讯框图如图5所示。
系统初始化完毕后
,通讯板首先查询一块检测板的状态,检测板受到查询信息后,将击中点坐标送回通讯板,若没有被击中,则回应信号,表示自己工作正常且没有被击中。通讯板收到检测板回应信号后,先分析信息类型,如果回应信号表明检测板工作正常且没有被击中,则通讯板直接查询下一检测板。如果回应信号为击中点坐标,则通讯板此基础上查询其他检测板,统一计算打中区域的中心点坐标并送到上位机。若通讯板在发出查询信号100ms后仍没有收到这块检测板的回应,表示这块检测板工作出现错误,通讯板查询下一块检测板。
若一块检测板连续3次没有回应通讯板的查询信号,则通讯板向上位机发送信息说明这块检测板工作错误。
4 结束语
军用射击模拟训练系统已在实际训练中投入运行,运行结果表明本系统操作简单,实时性高,测量点准确,运行可靠,得到很好的训练效果,应用前景广泛。