章 勇,陈 欣,吕迅竑
(南京航空航天大学自动化学院,江苏南京 210016)
基于FlexRay网络的飞行控制计算机总线通信系统
章 勇,陈 欣,吕迅竑
(南京航空航天大学自动化学院,江苏南京 210016)
现代无人机对飞行控制计算机的性能与安全性要求越来越高,使得基于CAN总线技术的一类飞行控制计算机内部总线负载情况越来越严重,因此有必要研究一种高数据传输率和高安全性的总线FlexRay代替CAN。基于CAN总线的分布式飞行控制计算机的网络结构和内部通信机制,设计了基于FlexRay网络的飞行控制计算机总线通信系统,并进行了通信测试验证,结果验证了FlexRay相对CAN在实时性、通信速率和效率上的优越性,为日后在新型飞行控制计算机上用FlexRay总线替代CAN总线打下了坚实的理论基础。
FlexRay;飞行控制计算机;通信;总线
目前在一类无人机分布式结构的飞行控制计算机当中广泛使用控制器局域网(CAN)作为内部通信总线,它采用基于事件触发的通信机制,其速率为1Mbit/s[1]。随着新型高性能无人机的不断发展,CAN总线在带宽和实时性等方面已经逐渐不能满足要求,因此需要寻求一种新总线通信技术来解决制约分布式结构飞行控制计算发展的瓶颈问题,其中基于时间触发、容错、传输延迟小且固定,并且具有10Mbit/s通信速率的FlexRay总线被业界所看好。因此笔者设计了基于FlexRay网络的飞行控制计算机总线通信系统,并进行了通信验证,对于FlexRay总线在航空航天领域的研究与推广具有实用价值。
FlexRay是由FlexRay共同体(FlexRay Consortium)制定的协议,到2005年该共同体共有7个核心成员:BMW GROUP、BOSCH、Daimler Chrysler、GM、Motorola/Freescale、PHILIPS、VW AG。从 2002年发布的V0.4.3协议规范到2010年最新发布的V3.0.1协议规范,共发布 10多个版本,可见FlexRay总线发展更新速度之迅速。
FlexRay作为新一代总线技术,其主要特点有[2]:
a.支持双通信通道,每个通道的速度均达到10Mbps。与CAN总线相比,可用的带宽提高了10~20倍。
b.确定性。FlexRay静态段严格采用基于时间的总线访问方式,而动态段可采用有限确定性的灵活时间触发的总线访问方式。
c.FlexRay总线在重负载下可以关闭部分节点,使其仅接收数据而不发送数据,减少数据重发次数,使得总线负载很快下降。
由此可见,FlexRay总线系统在实时性和可靠性方面具有独特的优势,并有很大可能取代CAN而成为未来汽车及工业测控领域的主流技术。
实现FlexRay总线网络首先应设计网络节点的硬件节点和软件驱动,然后设计网络拓扑结构,再根据设计好的节点和拓扑结构搭建网络测试平台,利用该平台可以实现对总线节点的检测和控制,以评测网络系统性能[3]。
2.1 节点硬件结构设计
基于已经实现的架构和应用成熟程度等考虑,该FlexRay总线网络节点主要采用MCU(微处理器)+CC(通信控制器)+BD(总线收发器)结构模式[4](如图1所示),具体由以下部分构成:
微处理器。在该种架构模式下,MCU为整个节点的核心单元,主要实现数据分析处理等功能。在网络系统中,MCU主要有飞思卡尔半导体公司推出的 32位高档微处理器 MPC565[5]以及C8051F120单片机两种类型。
通信控制器。主要实现通信控制功能。通信控制器采用飞思卡尔半导体公司推出支持FlexRay协议2.1A的MFR4310芯片。
总线收发器。用于实现FlexRay信号的转换。总线收发器主要采用恩智浦公司的TJA1080A芯片。
图1 FlexRay总线节点架构图
节点硬件结构的原理图设计需要完成如下工作:(1)微处理器最小系统电路,包括供电系统、时钟系统、调试及测试接口、复位及复位配置系统、RS232总线电路等。(2)微处理器与通信控制器接口连接电路。(3)通信控制器与总线收发器接口连接电路。(4)节点输入输出接口等。
2.2 节点软件设计
基于MPC565的FlexRay总线节点的驱动程序主要采用 CodeWarrior环境开发,基于C8051F120的FlexRay总线节点的驱动程序主要采用Silicon Lab环境开发,其软件架构均包括以下3部分。
底层板级初始化:在板子上电以后,初始化系统的硬件环境,为系统调试和FlexRay总线的运行提供环境。
FlexRay总线初始化和寄存器参数配置:FlexRay初始化将其硬件结构配置成FlexRay集群中的一个节点,且需要对相应的寄存器进行配置和各缓冲区及FIFO初始化,才得以完成。初始化完毕后,该节点主机发出相应的控制命令,使该节点进入启动程序。
FlexRay总线应用层协议设计:上层设计主要定义一个FlexRay协议循环周期的4个阶段即静态段、动态段、符号窗口、网络空闲时间长度,以及定义FlexRay总线上各个节点系统的各个时间片的发送数据帧结构和内容等。
2.3 FlexRay总线网络结构方案
目前一类基于CAN总线的分布式结构飞行控制计算机由CPU单元、串口量接口单元、模拟量接口单元和开关量接口单元等4个功能单元组成。节点之间通过总线相连,如图2所示,图中CPU单元的MCU为MPC565,其他3个接口单元的MCU均为 C8051F120。为了方便对 CAN总线与FlexRay总线性能进行比较,搭建了如图3所示的基于FlexRay的网络通信测试系统,该网络系统采用总线型拓扑结构,其中MPC565节点用于模拟原有飞行控制计算机的CPU单元,C8051F120节点依次模拟其余3个接口单元。
图2 样例飞行控制计算机CAN总线结构图
图3 基于FlexRay的网络通信测试系统
3.1 实验环境
根据2.3节所描述的FlexRay网络结构方案,搭建的模拟CAN总线飞行控制计算机通信测试环境如图4所示。在此测试平台中,4个FlexRay节点通过双绞线相连,基于MPC565的FlexRay节点Ⅰ相当于模拟样例分布式飞行控制计算机中的CPU单元,其余3个基于C8051F120节点Ⅱ,Ⅲ,Ⅳ相应模拟模拟量单元、开关量单元、串口量单元。每一个节点都有一路RS232接口与PC机直接相连,用于实时显示该节点通信的情况(接收帧数、丢帧数、误帧数等),示波器则用来监测总线负载波形。
3.2 实验方案
FlexRay每个通信周期都包含静态段、动态段、符号窗口和网络空闲时间4段[6],其中静态段是基于严格的时分多址(TDMA)的访问控制方式。由于飞行控制计算机的数据采集和输出都具有周期性,为了简化研究,本文只用到静态段。
图4 模拟CAN总线飞行控制计算机通信测试环境图
根据原有基于CAN总线的分布式结构飞行控制计算机上的数据流量和数据来更新周期[7],FlexRay网络通信选择5ms作为一个通信周期。静态段配置了30个静态时隙,在每个通信周期中只用到了28个时隙,剩余时隙便于总线上新增信号使用。数据传输率选取10Mbit/s,理想情况下传输一位为0.1μs。数据帧负载段的长度为64字节,加上5个字节的头部段和3个字节的尾部段,其他还需考虑位流信号,如 TSS、FSS、BSS、FES段及闲置时间。传输一帧数据大约需要72μs,则选取静态时隙为100μs,每个时隙可传输一帧数据。动态段占用了22个微时隙,符号窗口设为14μs,网络空闲时间长度为整个周期减去静态段和符号窗口后剩下的长度,用来进行相位校正和频率校正[8]。FlexRay总线一周期内各节点通信时隙分布见表1。时间调度如图5所示。
表1 节点通信时隙分布表
图5 FlexRay总线一周期时间调度图
3.3 测试结果及分析
最后在搭建的模拟CAN总线飞行控制计算机通信测试环境上进行测试验证,在实验过程中,该网络系统内各个FlexRay节点都对接收到的数据帧数、丢帧数和错误次数进行计数,并通过串口把测试数据输出。经过长达6h的测试,得到的结果见表2,发送丢帧数和错误次数都为0,从而使FlexRay总线传输的可靠性得以证明。
表2 测试结果
飞行控制计算FlexRay总线波形图(整体)如图6所示,飞行控制计算机FlexRay总线波形图(局部 )如图7所示。在FlexRay网络系统中,每个100μs的静态时隙能传输一帧数据,包含64个字节,所占宽度约为72μs。而利用CAN总线进行数据传输时,其数据传输率为1Mbit/s,故传输一标准格式的数据帧(8 个字节)大概需要 135μs[9]。在一个系统周期(200ms)内,飞行控制计算机各个功能单元传输所有数据所占的总线时间都大大缩短,由表3中的对比数据也可看出,总线上的负载由原来CAN总线的70%下降为20%左右,总线负担大大减轻,并且无人机飞行控制计算机的控制周期也提高了1倍。
图6 飞行控制计算FlexRay总线波形图(整体)
图7 飞行控制计算FlexRay总线波形图(局部)
表3 CAN与FlexRay总线飞行控制计算机内部通信状况对比
为解决一类基于CAN的分布式飞行控制计算机内部总线负载严重的问题,本文开展了一种高数据传输率和高安全性的总线FlexRay的研究。通过搭建基于FlexRay网络的飞行控制计算机总线通信系统,在实时性、通信速率和效率上与基于CAN总线分布式飞行控制计算机进行对比,测试结果表明,总线上的负载由原来CAN总线的70%下降为FlexRay的20%左右,并且无人机飞行控制计算机的控制周期也提高了1倍,控制精度得到了大大的提高,为日后在新型飞行控制计算机上用FlexRay总线替代CAN总线打下了坚实的理论基础。
[1]张志文,陈欣,吕迅竑.一种分布式结构飞行控制计算机内部总线节点设计[J].电子技术应用,2011,38(11):40-43.
[2]王刚,丁天宝,荣健,等.FlexRay网络中的带宽利用率的理论研究[J].计算机应用,2011,31(5):2634 -2637.
[3]谢轶群,李仁发,王蓉,等.基于车用FlexRay网络的应用原型系统[J].计算机工程,2011,37(4):229 -231.
[4]Freescale Semiconductor.MFR4310 FlexRay communication controllers reference manual Rev.2[EB/OL].(2001-04-01)[2008-06-26].www.flexray.com.
[5]董晓丹.车载网络FlexRay在线控制动系统中的应用与研究[D].长沙:湖南大学,2009.
[6]FlexRay Consortium.FlexRay communications system electrical physical layer specification Version 2.1,Revision.B[EB/OL].(2003-07-01)[2009-07-24].www.FlexRay.com.
[7]王琴,陈欣,吕迅竑.基于FlexRay总线的飞行控制计算机[J].兵工自动化,2011,30(9):30-34.
[8]罗峰,陈智琦,刘矗,等.基于FlexRay的车载网络系统开发[J].电子测量与仪器学报,2009(增刊1):289-295.
[9]张兵,陈欣,吕迅竑.基于CAN总线的分布式无人机实时仿真设备研究[J].系统仿真学报,2009,21(5):1587-1590.
Flight Control Computer Communication System Based on FlexRay Bus
ZHANG Yong,CHEN Xin,LV Xunhong
(Nanjing University of Aeronautics and Astronautics,Jiangsu Nanjing,210016,China)
The modern uninhabited aerial vehicle(UAV)increases the performance and security requirements of the flight control computer,makes internal bus heavy load of flight control computer based on CAN bus more and more severe.It is necessary to study high data transfer rate and high security bus-FlexRay instead of CAN.Based on the network structure and internal communication mechanism of the uninhabited aerial vehicle(UAV)
flight control computer and CAN bus,it designs the flight control computer communication system based on FlexRay Bus,and develops the internal communication software.Actual test proves that FlexRay Bus has great advantages over CAN bus in real time,communication speed and efficiency.This provides a solid foundation to using FlexRay instead of CAN in the new distributed UAV flight control computer.
FlexRay;Flight Control Computer;Communications;Bus
TN919;TP399
A
2095-509X(2013)03-0053-04
10.3969/j.issn.2095-509X.2013.03.012
2012-10-29
中央高校基本科研业务费专项资金资助(KFJJ20110104)
章 勇(1986—),男,安徽黄山人,南京航空航天大学硕士研究生,主要研究方向为飞行控制计算机设计与研究。
DOI:10.3969/j.issn.2095-509X.2013.03.013