陈俊贤,黄振峰,杨壮涛,文善贤,刘兆沛
(1.广西大学 机械工程学院,南宁 530004; 2. 清华大学 计算机科学与技术系,北京 100084)
无人车是感知报探测和指挥遥控、任务载荷等于一体的大型无人装备,是机械化、信息化、智能化高度融合的地面无人平台。无人车的发展根据智能感知系统的加入变成了半自主式和自主式作战平台。无人车的自主行驶模式下不仅能在复杂的战场形势下完成预警探测,还能控制底盘进行自主导航行驶,完成一些任务巡逻,躲避障碍物,在任务载荷方面也能实现自主化,能对打击目标进行自动搜索和识别,并进行火力打击。随着无人车系统的集成度增加,根据通信要求适当增加其链路,可以看出未来无人战车遥控数据链的发展趋向于智能化、多用途、低功耗、自主协同等方面发展,随之带来的无人战车遥控数据链方面要向宽带化、标准化、更强抗干扰能力方向和互联互通互操作方向发展。无人车功能的逐渐扩大,对通信带宽和质量有着很高的要求,加上无人车作战环境恶劣,车载网络系统可靠性提高也将是个重大课题。网络可靠性主要包括路径连通可靠性和信息传输可靠性,依靠硬件层和软件层的设计来实现。
传统的以太网采用事件触发消息,在一些实时数据传输过程中会造成链路冲突,影响通信质量。时间触发以太网(TTE,time-triggered ethernet)的出现较好地解决了这种冲突。TTE是由通信任务调度表驱动,可以避免网络流量拥堵并具有确定的延迟,使遥测监控系统接收遥测数据并解析具有一定的实时性。从以太网的诞生到现在的大量商用以太网市场,可以体现出以太网技术的成熟,TTE正是在这种传统以太网的基础上迅速发展起来。国外的TTTech公司已经开发出带有TTE通信架构的产品。TTE采用的是一种时间触发通信机制,其原理是在全局统一的时钟下,通信节点按照分配好的时刻进行消息传输,这种方式具有强实时性、严格确定性、高可靠等特点,相比较传统以太网的事件触发机制,能有效防止链路竞争造成数据冲突。无人车网络基于TTE设计了车载网络通信系统,此系统全局采用一个同步时钟,系统内的各个设备按照全局时钟的时刻发送数据,在链路选择上可以避免冲突。
传统车载网络大多数都是采用CAN总线、LIN总线、FlexRay总线、TTP总线和MOST总线等,它们都有相应的优缺点,但都有个共同点——带宽普遍不高(第三代技术MOST150传输速率150Mbit/s)。无人车的通信数据带宽需求比不上商用汽车,但随着无人车技术的逐渐发展完善,整车各个子系统功能的拓展,车上各类传感器的数量急剧增加,导致整个车载网络的数据量大增,再结合无人车自主行驶所需的经过处理的激光雷达数据,可以得出车载网络的带宽需求已经是传统总线式网络难以满足的结论。并且,无人车系统复杂度的提高和其功能高度集成化,在可靠性方面,总线通信方式比不上以太网拓扑结构。以太网的技术成熟为传统车载网络的这些问题提供了一种解决方案。在无人车的网络中,地面控制站需要实时监测无人车的状态,因此通信任务实时性必须得到保证。TTE基于传统以太网技术发展起来,其区别就是TTE支持时间触发和事件触发两种通信方式,前者保证数据通信实时性,后者保证带宽高利用率。在无人车TTE网络系统里,核心在于TTE交换机板卡和TTE端节点板卡的设计,根据整个通信网络架构的需求对板卡功能进行软件和硬件开发。
无人车网络在可靠性方面采用三余度时间触发通信架构,一条通信链路断开,其他两条链路也能替换工作,三条通信链路全断开,整个网络系统才会进入瘫痪状态。TTE通信系统共用一个全局时钟,系统中的设备按照固定时刻发送一些任务数据到目的设备,这种协作时分多址方法扩展了标准交换以太网协议,确保传输具有严格实时要求的消息,保证了设备间的高可靠性通信。全局时钟的同步统一采用主从同步的方式,把TTE网络里面的TTE交换机作为主节点,采用时间触发通信方式的设备作为从节点,以一个主节点向其他从节点同时发送同步数据帧,从节点根据接收到的帧解析和传输延时修正本地时钟,从而实现全局时钟同步,程序简单且精度较高。
从数据流来看,无人车的通信网络系统采用主网与子网相结合的网络结构,很大程度地集成了整个车载网络系统里面各个设备的通信需求,且能保证高质量通信服务。传统总线式的车载网络难以适用于高速通信的大数据量传输,但是从整个车载网络的工作境况来说,总线可以像LIN总线作为CAN总线的补充成为高速通信网络架构的扩展。主网采用千兆带宽的TTE,具有以太网接口的设备进行连接,支持图像数据和感知数据的高速稳定传输;子网采用CAN、TTP等通信总线,实现低速、低成本、高质量的通信。
车载网络系统采用一种类似树形的拓扑结构,是对星形拓扑结构的拓展,并在保证通信高可靠性的情况下采用三余度通信架构。整个通信网络以交换机为中心,交换机的各端口连接其他各个系统的通信设备,从而实现各设备间的数据通信,完成对无人车的行驶控制、任务控制和状态监测。
现代智能无人车从整车系统来划分有:底盘控制系统、能源控制系统、任务载荷系统、感知规划系统、惯导系统等子系统;从车上系统放置位置划分有上装系统和车控系统以及一些辅助系统。无人车的系统采用三余度设计,主要是为了保证一些重要的子系统功能,底盘控制系统和能源控制系统的通信需求必须得到保障,所以在其系统的链路和设备进行冗余备份。在主要的通信链路上,除了连接TTE端节点设备,还连接有其他设备系统,主要包括感知规划系统和全景相机。由于各个系统在车上物理分布比较零散,采用一个交换机来进行拓扑连接会导致线缆较多,各个子系统需要的线缆也比较多,会提高设备通信维护的困难程度,所以采用了交换机连接交换机的双星型网络拓扑结构,此结构不仅解决了分布式设备线缆多的问题,还能极大地提高各个系统集成度。为了适应车上布局合理,两台交换机分别放置在上装控制箱体上和车身箱体里面,用一条网线连接两个交换机,通过滑环的通信线缆大量缩减,选用高质量的网线,这样滑环的旋转对通信质量影响将会减少。无人车整体通信网络的设计如图1所示。车体里面的各个系统设备主要作用是控制整个无人车的行驶,上装的各个系统是围绕任务载荷系统而分布在上装箱体的各个位置,针对交换机所在的位置及其功能,下文对这两个交换机称为上装交换机和车控交换机。
图1 三余度车载网络
在交换机的星型网络拓扑结构中,每个子系统的主控制节点通过千兆以太网连接到时间触发交换机。实现无人车整体功能有3个子系统:底盘控制系统、能源管理系统和任务载荷系统。子系统中连入TTE网络中设备称为系统的主节点控制板,其遥测数据通信方式都是采用时间触发的方式。车控交换机连接的设备有底盘控制主节点、能源控制主节点、感知工控机和全景相机工控机,其中后两者在其他交换机通信链路的余度上未有连接;上装交换机连接的设备有任务载荷计算机控制板、任务感知工控机和电台通信系统。两个交换机通过一条网线进行连接,TTE的主要结构完全建立。在这些连接中还有些细节问题,全景相机工控机和电台通信系统的网口带宽是100 Mbps,需要在交换机的软件设计层面考虑其配置问题。TTE时间触发以太网实现高速高带宽通信,以子网主节点控制板的收发数据来说明控制地面站对无人车的控制与状态监测。控制地面站通过电台发送数据到TTE网络,经过交换机的转发,把数据送到相应的主节点控制板,控制板根据协议解析把不同的控制指令通过串口总线分发到相应子网控制板,实现对无人车的一些指令控制;子网主节点控制板接收来自其系统内各个设备的反馈状态数据,将这些数据封装成以太网帧传输到整个通信网络的上位机。如图2所示,图中交换机、底盘控制主节点、能源控制主节点和任务计算机这些设备都是研发的PCB板卡,对其进行软硬件设计,其他的设备计算机或者工控机,具有固定的网口,能进行以太网通信。
图2 星型以太网连接图
作为具有重要战略意义的无人车,对无人车的控制和监测就尤为重要。电台是一个远程地面站与整个通信网络建立连接的桥梁,地面站作为一个控制台,可以对底盘控制主节点和能源控制主节点、任务计算机进行遥控指令,也可以收到3个主节点反馈回来的各种设备状态。全景相机捕捉到的视频数据通过车体交换机和上装交换机传输给电台,进而给到控制地面站,显示的图像能让地面站操作人员直观的感受到无人车附近的环境,可以对无人车的越障有所帮助。无人车除了具备遥控功能,还应该具有自主行驶、自主任务打击等功能。感知规划系统通过车控交换机与底盘控制主节点进行通信,可以实现无人车自主行驶;任务感知决策系统通过上装交换机与任务计算机进行通信,可以实现任务自主打击。这些自主功能的开发还需要人工智能的技术来进行完善。由于采用的是TTE总体网络架构,每条链路的数据交换都不存在干扰,在交换机内部都是独立的通道连接和缓存设计,还能兼容标准以太网的数据,此TTE车载网络能实现分布式系统之间的各种通信需求。
子系统有底盘控制系统、能源控制系统和任务载荷系统三大系统,这3个系统相对独立,并且都有一个主控制板与其系统内的设备进行通信控制,也就是说地面站可以通过主控制板对其通信子网来完成各种任务功能的控制。底盘控制系统(如图3所示)包含有端节点底盘主控制板、轮毂电机驱动控制器、悬挂控制驱动器和刹车装置控制器,其中的底盘主控制板通过TTP总线和串口与其他的控制板进行通信,在功能设计上能实现对无人车的闭环控制。能源控制系统(如图4所示)包含有端节点能源主控制板、电池控制器、发动机控制器和发电机控制器,能源主控制板通过TTP总线和串口与能源系统的其他的控制板进行通信,通过此通信网络可以对能源管理的安全保障机制实现闭环控制。任务载荷系统主要是对武器系统和侦察系统的控制。
图3 底盘控制系统
图4 能源控制系统
时间触发通信交换机作为车载网络的数据交换模块,用于实现设备互联和网络交换,扩展网络规模。时间触发通信交换机板卡采用5 V直流供电,核心处理器采用FPGA芯片XC7A200T,具有215 360个逻辑单元,676个用户I/O口,并含有封装好的8路吉比特低功耗收发器(GTP,gigabit transceiver with low power)模块(最高通信速率6.6 Gbps),设计外围接口电路可用于连接8路小体积可插拔(SFP,small form-factor pluggable)模块。GPIO接口是为了便于测试交换机的时间同步精度。串行通信接口是为了进行板卡管理和配置,以及读取参数等。SDcard接口用于记录交换机运行过程中的一些关键数据,可为系统调试优化提供参考。PCB模块图如图5所示。
图5 交换机PCB模块图
主要技术指标如下:
1)通信速率:1 Gbps;
2)误码率:小于10,置信度99.9%;
3)吞吐量:950 Mbps;
4)端口数量:8个;
5)时间同步精度:70 ns;
6)延迟抖动:40 ns。
时间触发交换机是根据时间触发以太网的通信要求设计的,所以跟传统的以太网交换机在结构上存在很大的区别。时间触发以太网协议 AS6802 中规定,时间触发以太网交换机的任务调度需要支持3种类型的数据流量,主要包括:时间触发(TT,time-triggerd)流量、速率限制(RC,rate-constrained)流量和尽力而为(BE,best-effort)流量。其中BE流量在此设计的TTE交换机里面为传统以太网流量,RC流量的作用体现在软件所设置的最小帧间隔来控制端口发送速率。
为了满足无人车上各个设备之间的通信要求,设计开发了交换机的FPGA工程。此车上TTE交换机属于二层交换机,交换机数据分发工作根据以太网数据帧里面的目的MAC地址转发数据包。交换机的结构设计包含五大模块:交换逻辑链路模块、数据缓存矩阵模块、MAC地址表模块、时间同步控制模块和MAC层模块。交换逻辑链路模块负责数据转发通道的连接;数据缓存矩阵模块负责链路通道选择时的数据缓存;MAC地址表模块负责记录MAC地址与端口的对应关系;时间同步控制模块完成主节点和其他从节点的时间同步功能;MAC层模块完成物理层的数据收发,可以细分成MAC层的发送模块和接收模块。具体结构如图6所示。
图6 交换机程序模块设计图
1)每个端口完成数据包的收发、解析以及查询目的MAC等功能。从其他端节点接收到的数据通过光口模块转换成符合PHY芯片通信的数据格式(即图中的rxc、rxd、rxdv),也就是以太网帧格式的数据。MAC层的接收模块对整个以太网帧进行解帧接收,把目的MAC地址、源MAC地址和类型接收存储起来,根据协议类型进行MAC地址表的学习和查询。把以太网数据帧输送到混合数据调度矩阵缓存模块,相应地把该以太网帧的目的端口号、协议类型、数据长度和存储起始地址这些描述参数存储在数据描述符缓存模块。数据链路发送控制模块根据描述符的信息,按照TT帧、ET帧和广播帧把数据发送到MAC层。MAC层发送模块把数据输出到光口模块,光口模块把数据转换成光通信的数据位流输送到其他的端节点。
2)对于ET数据帧,在输入端采用RAM的结构进行存储,并用描述符的方式存储其起始地址和长度,在调度层进而用再加个帧类型把它与TT帧、广播帧进行区分,相应地在RAM块划分出单独的一片地址来存储3种不同类型的帧。
对于TT数据帧,离线调度已经处理了资源竞争问题,同一时刻不会有来自不同输入端口的TT数据帧写入同一端口输出;为了减少TT帧在交换机里停留的时间,在MAC层与处理层做跨时钟域处理,采用异步时钟双端口RAM来进行数据读写。
对于时间同步数据帧,它是由交换机本地计时产生的特定格式的帧,只向相邻的交换机节点或端节点发送,不需要进行转发处理,所以直接将其输送MAC层发送模块的缓存模块。
3)根据端口数量确定了混合调度矩阵是一个集成的6×6的RAM块矩阵,每个RAM块的地址划分成3种地址,分别用来存储TT帧、ET帧和广播帧,在配合描述符缓存模块就能把数据从相应的RAM块进行转发。
时间触发板卡作为车载网络端节点的通信接口,实现车载系统的各模块之间相互通信,采用千兆网络通信可以在保证高速数据传输的同时,有效防御雷电、电磁干扰和电磁冲击等问题,保证数据传输的可靠性。
时间触发通信板卡供电24 V,采用DSP+FPGA的架构,其中DSP采用的是TI公司的F28377D芯片,FPGA采用的Xilinx公司Spartan6系列的XC6SLX16芯片,该芯片有14 579个逻辑单元、最大576 kB的BRAM、232个用户I/O口。其PCB模块图如图7所示。板卡有两种通信部分:以太网和串口部分。根据以太网协议的要求,一个设备只有唯一的一个MAC地址,板卡上只设置一个网口,采用的是Realtek瑞昱推出的一款高集成的网络接收PHY芯片。此板卡结构是用于各个子系统的通用架构,根据子系统通信设备数量最多的端节点,此板卡具备有8路串口通道和两路CAN通道。引出GPIO接口便于测试板卡的时间同步精度。JTAG分为DSP和FPGA电路。串行通信接口是为了与其他子网里面的设备进行通信和配置。
图7 端节点PCB模块图
主要技术指标如下:
1)通信速率:1 Gbps;
2)误码率:小于10,置信度99.9%;
3)三余度设计;
4)通信接口:8路串口、2路CAN、1个以太网接口;
5)时间同步精度:70 ns。
图8 DSP+FPGA程序设计架构
FPGA+DSP的系统架构(图8)的优点就是:DSP支持多种复杂算术运算,用来做控制算法;FPGA并行结构能使数据快速输出,用来做通信。FPGA和DSP之间的数据交互依靠DSP的外部存储器接口(EMIF,external memory interface),这种芯片间的数据通信方式相比于采用SPI通信极大地提高了DSP和FPGA交互的数据量。以太网接收数据存储在FPGA的RAM里面,然后通过DSP的EMIF将数据发送至DSP,经过相应的数字信号处理,将结果通过EMIF发送至FPGA,最后的控制指令通过串口发送到其他设备。相反,其他设备的数据可以通过串口发送到FPGA,FPGA快速处理给到DSP,DSP把处理过后的数据再通过EMIF发送给FPGA,FPGA通过以太网发送到上位机。根据以太网通信机制,在FPGA的以太网处理模块需要添加ARP协议和IP协议的处理程序,端节点就能通过交换机与上位机进行数据交互。
用一个时间触发交换机板卡,两台电脑通连接到交换机进行吞吐量测试,测试软件采用的是windows系统CMD指令窗口的插件iperf3,其测试原理是一台客户端PC以最长帧长度和最短帧开销向服务器端PC发送尽可能多的以太网数据帧,测试服务器端在测试的时间内能接收到的最多以太网数据帧。每台 PC 既可以当服务端又当客户端,服务端测试端口由电脑自动分配,端口号为55 725,测试时间是10 s,测试软件的发包速率是1 Gbit/s,发送 UDP 格式的数据包。经测试,通信带宽性能如表1所示。可以从表中看出交换机的设计基本上满足千兆通信要求。
表1 交换机iperf3带宽测试结果
端节点板卡的通信测试主要分为三部分:时间同步测试、串口测试和以太网测试。3个子系统主控制节点分别连接到TTE交换机,每个节点和交换机中设定每1 ms 通过一个I/O端口输出持续时间为500 μs 的高电平(图9),观察相邻高电平下降沿之间的时间差,通过对时间差的计算可以得出同步精度。时间同步测试结果如图10所示,图中的一次同步偏差为56 ns。做十组测试,一组十次,从测量结果来看,同步偏差的幅值最大值为120 ns,平均幅值是61 ns,符合设计要求。
图9 定时输出高电平
图10 时间同步精度测试结果
以太网部分的测试采用接收和发送分开测试的方法。板卡发送测试,板卡发出符合以太网协议的数据帧,数据帧里面的数据赋上初始值,在通过一台电脑的wireshark工具进行抓包查看;板卡接收测试,电脑通过网络调试助手给板卡发送符合协议以太网数据帧,板卡最后能通过相应的数据解析,会使板卡上的LED灯信号翻转。串口通信也是发送和接收分开进行测试,发送采用初值赋值方法检验数据,接收用电脑的串口调试助手进行测试,DSP支持在线仿真,可以通过仿真看到串口助手发送来的数据,验证数据解析的正确性。
此网络架构由三大系统组成,三大系统里面的通信设备较多,所以在通信测试方面,先让子网系统里面的主控制板与其他的设备进行通信调试,逐个打通通信链路,最后做一个总体的网络架构通信测试。以太网部分就以交换机为中心,每个系统的主控制板都能通过交换机与地面控制站进行通信,从而实现了无人车遥控通信链路。任务计算机通过交换机与任务感知工控机进行通信能实现无人车自主任务打击功能;底盘控制主节点通过交换机与感知规划工控机通信能实现无人车自主行驶功能。在所有的子系统联调完毕之后,对整个无人车通信网络架构进行调试。最后的上位机控制监测界面如图11所示,其中括图像传输,可以看出整个无人车通信网络架构是可行可靠的。
图11 上位机遥控监测界面
整个通信网络架构的设计验证过程:在理论分析可行并设计关键PCB板卡软硬件之后,从初期的系统中各个端节点联调到端节点控制板与子网系统的各个设备的部分联调,最后实现整车通信网络架构的联调,此车载网络架构已经运用到无人车并验证了其可行性。随着无人车的功能向着多样化方向发展,安装在车上的功能设备和传感器会越来越多,无人车的性能保障除了硬件方面,通信网络架构的设计也将会起到重要作用,此无人车所设计的网络架构可以作为一个重要参考。