无人机发动机控制系统CAN总线通信技术

(整期优先)网络出版时间:2022-06-10
/ 2

无人机发动机控制系统 CAN总线通信技术

韩冬

西安爱生技术集团有限公司 陕西西安 710000

摘要:无人驾驶飞行器(unmannedaerialvehicle,UAV),简称“无人机”,因体积小、质量轻、使用方便、生存能力较强、对作战环境要求低等优点,不仅在军事上得到广泛应用,而且在航拍、农业植保、测绘等民用领域也发展迅猛。目前,国内无人机内各设备间的主要通信方式采用传统的422串口通信等,波特率通常为9600~115200,无论是发送数据还是接收数据,设备间的数据通信总是占用很长的时间,难以满足无人机通信系统对控制的高实时性和高可靠性的要求。

关键词:无人机;CAN通信;PIC单片机


一、通信系统硬件设计

1.1机载设备通信系统设计

笔者以CAN总线作为无人机机载设备通信系统的通信手段,设计了响应式和分时式2种发送机制。其中,飞控系统CAN总线采用响应式发送机制,由飞控系统向机载各设备发送请求数据帧,机载各设备接收数据帧并与本身ID进行比较,如果匹配则回传相对应的应答数据帧。遥测系统CAN总线采用分时式发送机制,各机载设备系统接收到同步信号后,每隔20ms向遥测系统CAN总线发送设备状态数据,各设备需在各自分配的1ms内发送数据,其他时间段不允许发送数据。图1即为机载各设备间通信系统的结构。

62a305592a3d3_html_916f09200e498d40.png

1.2发动机控制系统CAN通信硬件设计

笔者对发动机控制系统CAN通信进行详细设计。发动机控制系统与外部机载飞控系统和机载遥测系统的CAN总线通信结构如图2所示。

62a305592a3d3_html_4c12b26aabbccf7f.png

发动机电子控制单元(electroniccontrolunit,ECU)采用dsPic30f6011A作为主控芯片。dsPic30f6011A自带2个CAN模块,是可以实现CAN2.0A/B协议的通信控制器。模块支持CAN1.2、CAN2.0A和CAN2.0B,支持标准、扩展和远程数据帧,数据长度为0到8字节,可编程比特率达到1Mbit/s,双缓冲的接收器,带2个区分优先级的接收报文存储缓冲器。

MCP2551是一个可容错的高速CAN器件,可作为CAN协议控制器和物理总线接口。MCP2551可为CAN协议控制器提供差分收发能力,工作速率高达1Mbit/s。MCP2551的发送操作通过3个发送缓冲器来实现。这3个发送缓冲器各占据14个字节的SRAM,第1个字节是控制寄存器TXBNCTL,该寄存器中的内容设定了信息发送的条件,且给出了信息的发送状态。第2至第6字节用来存放标准、扩展的标志符和仲裁信息。最后8个字节则用来存放待发送的数据信息。

如图3所示,MCP2551采用与主芯片dsPic30f6011A相同的供电方式,采用+5V控制电供电,发送和接收引脚分别与dsPic30f6011A的CAN总线通信接口的C1TX和C1RX相连。

MCP2551通过RS的3种连接方式决定CAN总线的3种操作模式:高速、斜率控制和待机。本电路采取斜率控制方式,CANH和CANL的传输斜率为10,可以进一步减少电磁干扰,增强信号的可靠性。由于发动机电子控制器是整个无人机机载电气系统的终端节点,故在CANH和CANL之间增加120Ω的终端电阻R2。

62a305592a3d3_html_633b6fe802c1f6d3.png


二、通信系统软件设计

发动机电子控制器充分利用主芯片dsPic30f6011A自带的2个CAN模块,其中CAN1与机载飞控系统CAN总线进行通信,采用响应式CAN总线设计,监听机载飞控系统CAN总线指令,如果与发动机控制分系统ID匹配,则执行机载飞控系统指令,并将发动机相关数据回传;另外一路与机载遥测系统CAN总线采取分时发送机制,发动机电子控制器检测同步信号,需在20ms周期内的18~19ms内将2帧发动机数据发送到机载遥测系统CAN总线。

本系统CAN总线接口协议中只使用数据帧进行通信,数据帧仲裁段采用扩展格式,其具体报文格式见表1。


62a305592a3d3_html_ecc8585e2ea57e24.png

2.1响应式CAN总线软件设计

CAN1与机载飞控系统通信采取响应式收发机制,即CAN1侦测到CAN总线上对应ECU的ID时,立即进入中断模式,ECU响应机载飞控系统给ECU发送的指令,并且将发动机及ECU的执行结果回传给机载飞控系统。设备ID如表2。其中接收的指令包括自检、转速装订、起动、停车等。

62a305592a3d3_html_f568047fbebdcb25.png


2.1.1CAN通信初始化

配置CAN总线模式函数主要配置CAN总线的主时钟模式位和正常工作模式位。配置CAN总线主时钟频率fCAN等于CPU主时钟频率fCY,工作模式设置为正常工作模式。

模块初始化函数主要设定CAN总线波特率。通过调节同步段、传播时间段、相位缓冲段1和相位缓冲段2的标称位时间数量来设置,标称位时间可编程为8TQ到25TQ,本程序设置为8TQ,fCAN16MHz,波特率预分频位置0,所以根据波特率计算式(1),可得出CAN总线波特率为:

62a305592a3d3_html_eb93e5662eddf317.png

设置报文滤波器函数主要是根据通信协议中的ID准则设置滤波标准。dsPic30f6011A芯片的CAN总线报文ID设置与其他芯片的邮箱设置不同,其他芯片只需要配置邮箱即可,而PIC系列芯片的ID需要分别设置SID(标准标志符寄存器)和EID(扩展标志符寄存器),由表2可知ECU发送寄存器SID=161H,EID=04000H。

2.1.2CAN通信中断处理

CAN接收中断处理函数主要执行清除中断标志位,根据接收到并校验通过的不同的机载飞控系统指令,控制发动机执行机构执行相应的操作。比如:自检、起动、变转速、停车等。接收寄存器的SID=116H,如果帧计数位(D11~D0)为0,则自检EID=04000H;起动EID=05000H;变转速EID=06000H;停车EID=07000H,所以PIC系列CAN总线多ID配置是比较方便的。

CAN发送函数的主要作用是将执行机载飞控系统指令的结果反馈给机载飞控系统。PIC单片机CAN总线的接收和发送操作必须在正常工作模式,所以必须配置工作模式。


三、结束语

笔者通过发动机控制系统台架试验和将发动机控制系统装入无人机进行整机测试。由试验结果可知:CAN总线通信技术通信速率快,抗干扰能力强,可以保证机载各设备之间通信的实时性与可靠性,适用于多设备的通信。同时,该设计大幅度减少了通信线缆的重复连接,减少机身质量,可以广泛应用于无人机通信系统中。


参考文献:

[1]基于强化学习的中小型无人机动态航线规划算法研究[J].杨雅宁.宁夏师范学院学报.2021(10)

[2]低空小型无人机空域冲突视觉感知技术研究进展[J].张洲宇,曹云峰,范彦铭.航空学报.

[3]民用轻小型无人机碰撞安全特性研究进展与展望[J].白春玉,郭亚周,刘小川,王亚锋,王计真,秦庆华.航空学报.

[4]面向通信脆弱性的反小型无人机系统分析与评估[J].李雨锴,胡浩,黄天禹,刘文斌.网信军民融合.2021(09)

[5]民用轻小型无人机低空跌落撞击对地面人员安全性影响[J].郭亚周,刘小川,白春玉,王计真,王亚锋.航空科学技术.2021(12)