基于CAN总线的飞机电气附件静态测试系统的设计与开发

2019-07-15 01:02陈杰刘曾历马腾穆盈奎
科技创新与应用 2019年12期
关键词:上位机CAN总线

陈杰 刘曾历 马腾 穆盈奎

摘要:飞机上的电气线路庞大复杂,而且人工不易检测,费时费力,基于CAN(controller AreaNetwork,控制器局域网)总线的飞机电气附件静态测试相当于CAN总线上的一个节点,在理论上,在CAN带负载的能力范围内可以随意增加被测对象的数目来满足飞机上大规模电气线路的检查。整个系统主要由上位机和终端机两部分组成。上位机由51单片机控制CAN控制器SJA1000和CAN收发器TJAl050形成的通讯模块。主控计算机选择需要测试的导线,并通过串口发给上位机51单片机,51单片机通过CAN控制器和CAN收发器将指令转换为CAN信号并发往CAN总线。终端机由51单片机控制CAN控制器和CAN收发器接收到对应的控制指令时,51单片机将指令解析出来发送给测试电路,测试电路选择相应导线进行测试。

关键词:电气线路;CAN总线;上位机;终端机

中图分类号:V242.3 文献标志码:A 文章编号:2095-2945(2019)12-0068-03

引言

飞机的电气线路连接飞机各个部件和系统,由于飞机的结构复杂,部件和系统繁多许多电线集中布置在狭窄的机壁里导致电源线高频线和低频线混杂在一起电器环境复杂,容易导致电气线路短路,断线,绝缘老化,影响飞行器安全。而如今,飞行器所需检测的电气电路端点数越来越多,航空电气线路测试设备的自动化势在必行。相比国外,国内仍采用较为落后的检测方法,难以实现整机电气线路的检测,并且测试与排故困难。本项目的目的在于,基于CAN总线的原理,开发一套分布式控制系统,通过软件控制不同被测对象的导通关系,将飞机电气附件按要求接入测量系统中,从而实现对整个电气附件的静态性能的测试。

1系统硬件设计方案

硬件系统设计主要包括上位机CAN通讯模块和终端机的CAN通讯模块以及终端机测试电路的设计,CAN通讯模块主要由微控制器、CAN控制器、CAN收发器组成;终端机测试电路主要由控制芯片和继电器阵列组成。

微控制器是通讯模块的大脑,负责控制CAN控制器的初始化、数据的接收与发送。在上位机中微控制器通过串口接收来自计算机的控制指令,把指令处理后发送给CAN控制器,CAN控制器将数据打包成CAN总线协议规定的数据帧格式后,通过CAN收发器发送到CAN总线上。终端机中,微控制器负责接收来自CAN控制器解析后的控制指令,并根据指令来控制测试电路选择相应的导线来进行测试。

CAN總线收发器是将CAN控制器发送过来的数字信号转换为符合CAN物理层标准的信号,并进行放大传输到总线上,并将CAN总线接收到的信号转换为CAN控制器能处理的数字信号,发送给CAN控制器。

CAN控制器的主要作用是处理CAN总线数据帧,CAN总线控制器芯片滤波器用来设置自己的CAN地址,节点会把滤波器的设置和接受到的帧信息的标识码相比对,对于目的地址,与报文中的相吻合则接受,不吻合则不接收,在上位机中负责接收微控制器的需要发送的数据,并将其按照CAN通讯协议规定的数据帧的格式打包,发往CAN收发器进行发送,在下位机中负责接收并过滤来自CAN收发器的数据,并将其解析出来发送给微处理器。

2系统软件设计方案

软件系统主要包括:上位机主程序、下位机主程序、CAN控制器SJA1000的初始化、上位机发送程序和终端机接收程序的设计等。

2.1上位机主程序

上位机主程序首先进行检查终端机的微控制器89C52与CAN控制器SJA1000是否连接正确,若正确连接则向单片机发送一段正确连接的标志字符,之后进行CAN控制器SJA1000的初始化,若初始化成功则发出SJA1000初始化成功的标志,成功后单片机会一直处于等待状态,等待期间会一直检查错误SJA1000错误计数器是否溢出,当错误计数器溢出时发出错误警告。其中信息发送和接收都通过中断来实现。

2.2 SJA1000初始化

SJAl000初始化主要包括时钟分频计数器的设置,滤波条件及滤波模式的选择,中断使能寄存器的设置,SJA1000工作时分为复位模式和工作模式,通过内部的模式寄存器设置,SJA1000初始化之前需要将SJA1000设置为复位模式。

2.3发送程序

发送程序通过中断触发的方式实现,当上位机接收到一条计算机的控制指令时,通过中断进入发送程序。上位机与计算机通过串口进行通信,当计算机发出一条指令后,单片机通过中断将接收SBUF里的指令信息存入指定的地方,同时执行发送程序。首先查看SJA1000状态寄存器中的发送缓冲器状态位,当发送缓冲状态位为1时CPU才能向发送缓冲寄存器发送数据。发送缓冲寄存器可访问时,读取发送的数据长度,之后向发送缓冲寄存器里装载发送标识符,最后向发送缓冲寄存器装载发送数据。装载在完毕后,需要向SJA1000发出一个发送指令,将命令寄存器的发送请求标志位置1,CAN控制器才开始发送数据。

2.4接收程序

当终端机CAN控制器成功接收到一条报文时,CAN控制器向MCU发出中断请求,MCU需要进一步查看SJA1000的中断寄存器中接收中断位来判断是否产生接收中断,首先读取接受数据的帧信息,再将SJA1000接收缓冲寄存器中的有效的数据部分读入单片机内进行的解析。并将解析后的数据通过串口发送给测试电路的51单片机。测试电路的单片机根据指令选择对应的继电器上电闭合。最后在释放SJA1000的接收缓冲寄存器。程序流程图如图5。

3测试结果与验证

主控机软件界面如图所示。左侧的线缆表是待测线缆的数据库,通过线缆选项的端口选择相应的导线,每条导线对应着终端机上的一个继电器,当选择某一条导线并发送测试命令时,主控计算机通过串口向上位机的单片机发送对应的指令。右下角的表格为以检测的导线编号。部分测试结果如图所示,测试结果显示的阻值与电阻本身阻值基本一致,说明系统功能可以实现。

猜你喜欢
上位机CAN总线
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
基于云的短波发射机机房中央空调自动控制系统的设计与实现
基于CANoe的J1939协议在ECU通信中的应用
基于上位机、NRF多点无线温度监控系统
基于ZigBee网络的Android平台粮情移动监测系统