汽车高速通信网络控制单元研究
2016-11-04郭海双
郭海双 刘 杰 王 义
(贵州师范大学大数据与计算机科学学院1,贵州 贵阳 550001;贵州大学大数据与信息工程学院2,贵州 贵阳 550025;贵州师范大学物理与电子科学学院3,贵州 贵阳 550001)
汽车高速通信网络控制单元研究
郭海双1刘杰2王义3
(贵州师范大学大数据与计算机科学学院1,贵州 贵阳550001;贵州大学大数据与信息工程学院2,贵州 贵阳550025;贵州师范大学物理与电子科学学院3,贵州 贵阳550001)
为拓展FlexRay总线在各种复杂网络中的应用,针对FlexRay总线开发流程复杂的问题,采用飞思卡尔公司的微控制器和恩智浦公司的收发器,设计了满足FlexRay通信协议的节点最小系统。该系统提供扩展接口,可满足实际需求。实践表明,该系统能够实现两节点间数据的高速通信,符合设计要求,为实现更复杂的网络通信提供了参考。
汽车电子网络控制总线开发FlexRay最小系统冗余电子控制单元高速通信
High-speed communication
0 引言
由于汽车电子化程度与日俱增,汽车上的电子模块数量和通信线束也随之增加,不仅增加了汽车成本,而且影响汽车行驶安全。为了严格控制汽车制造成本和车身质量,减少线束已成为必要目标。为了满足这一需求,BWM、Daimler Chrysler、Motorola和Philips等公司联合制定了功能强大的FlexRay通信网络协议。该协议标准具有良好的发展前景,可满足未来汽车应用需求[1]。
FlexRay总线具有高容错和高速率的特点,适合在安全和复杂网络下应用。为了推动FlexRay在复杂网络下的应用,使之不仅局限于汽车控制总线,应将FlexRay应用最大化。本文在介绍FlexRay总线通信原理的基础上,设计了满足FlexRay通信协议的节点最小系统。该系统满足FlexRay通信协议,体积小、成本低、制作简单,并提供扩展接口。
本文首先介绍了FlexRay总线,包括FlexRay的技术特点和通信原理;然后给出了FlexRay总线最小节点软硬件设计方法;最后向最小系统中载入测试程序,分析验证最小通信系统实现总线高速通信的可行性。
1 FlexRay总线概述
1.1FlexRay总线特点
FlexRay是新一代汽车总线技术,给传统的控制系统结构带来了革命性的变化,并形成了新型的网络化数字化分布式控制系统。FlexRay协议规定了车辆通信系统节点组网所需要的基本物理元素,即满足FlexRay通信协议的通信控制单元、总线驱动器、传输媒介、拓扑结构等。FlexRay总线技术特点如下。
①高通信率。FlexRay可以进行双通道冗余通信,每个通信通道的速率可达10 Mbit/s,带宽不受协议机制的限制,两条数据总线速率可达20 Mbit/s,远高于CAN总线和LIN总线。
②时间确定性。FlexRay总线采用时分多址(time division multiple access,TDMA)的数据传输方式循环通信,数据在通信周期中拥有固定位置,并且消息传输延迟也是确定的,以确保消息传输的时效性。
③分布式时钟同步。FlexRay总线的时基精确度达到1 μs,在协议控制下能够自动建立和同步,以保证数据的正确传输。
④容错数据传输。FlexRay总线具有专用确定性故障容错协议,支持多级别的容错能力,包括冗余传输和可扩展系统容错机制,以确保数据传输的可靠性[2]。
⑤灵活性。FlexRay总线支持多种拓扑结构,包括总线型、星型、级联星型及混合型等,能有效解决单一总线的局限性,支持时间触发和事件触发,并提供大量配置参数,供用户灵活调整、扩展[3]。
1.2FlexRay总线通信原理
FlexRay为接受通信模块提供了一种差分电压连接。差分电压通过测量两个表示为BP、BM的信号线得到。差分电压的四个值代表了总线的四种不同通信状态。任何两个节点之间的通信,都需要一个发送器和接收器电路,它们被整合到总线中,称作总线驱动器[4]。
总线驱动器提供了FlexRay节点模块和通道之间的物理层接口,使总线具备了差动发送和接收功能,确保节点模块能够进行双向时分复用的二进制数据流传输;其还具备了低电压管理、供电监测及总线故障监测功能,以及总线和节点的静电释放(electro static discharge,ESD)保护屏障功能。
总线控制器通过总线驱动器接口,实现了对总线驱动器的控制。总线驱动器接口包括通信控制器接口、总线监视器接口、主机接口、电源接口、电平转换接口。通信控制器接口通过控制TxD、TxEN、RxD信号,实现了对总线信号状态的控制,分别是GND电压状态Idle_LP、某一确定电压状态Idle、正差分电压状态Data_1和负差分电压状态Data_0。主机接口实现了主机对驱动控制器工作模式、状态和诊断信息的控制。总线驱动器工作模式包括正常工作模式、待机模式、睡眠模式、只接收模式。待机模式和睡眠模式为低功耗模式,正常模式和只接收模式为非低功耗模式。四种工作模式状态转换图如图1所示。其中,只接收模式和睡眠模式为可选模式。
图1中:1~12为转换条件。1为主机检测到唤醒事件,2为主机检测到唤醒事件或欠压,3~10为主机命令,11为主机命令或检测到VBAT或VIO欠压,12为上电唤醒。
图1 工作模式状态转换图Fig.1 Conversion of working modes of state
FlexRay基本协议运行行为包括编码和解码、媒体介入控制、帧和特征符处理、时钟同步。控制器主机接口为主机运行提供了上述核心机制,协议运行控制器并不知道主机发出的指令,主机与通信控制器的交互通过控制器主机接口实现,控制器主机接口负责向协议运行控制器转发相关指令。同样地,协议运行控制器提供给主机的状态信息也被当作是提供给控制器主机接口的,而实际上其是由控制器主机负责将相关信息格式化后,以指定方式传递给主机的。控制器主机接口在通信控制器和主机之间起到桥梁作用。FlexRay通信原理如图2所示[5]。
图2 FlexRay通信原理示意图Fig.2 Principle of FlaxRay communication
FlexRay的编码实际上就是对要发送的数据进行“打包”的过程,如对数据帧加载符号位(ID)与校验位。解码就是“解包”的过程,将接收到的数据帧里的ID与校验位滤掉。编码与解码主要发生在通信控制器与总线驱动器之间。一个数据帧的结构包括帧头、有效数据段和帧尾。帧头由保留位、有效负载预先指示位、空帧指示位、同步帧指示位、启动帧指示位、帧ID、有效负载数据长度、帧头CRC和周期计数位组成[4]。有效数据段包括数据、消息ID和网络管理向量。帧尾包括帧头CRC和数据帧CRC。FlexRay的通信是在周期循环中进行的。一个通信循环始终包括静态段和网络闲置时间,它还可能包括一个动态段、一个符号窗口,静态段和动态段由时槽间隔构成。静态段内,用于传输消息的时隙均可配置且固定相同;动态段内,每个动态时隙的时间长度都是变化可调的,以满足不同长度的动态帧的数据传输。协议内部流程的网络闲置时间用于节点计算并申请时钟校正,网络闲置时间由通信周期内剩余的时隙构成[6]。
在静态段中,采用TDMA技术实现时间触发。为了规划数据传输的时间,每个节点都具备两个时隙计数器,以分别记录A通道和B通道的时隙数,即时隙计数器的状态变量。两个时隙计数器在每个通信周期都从1开始计数,并且每个时隙的结束边界都会加1。每个节点都会被分配多个固定时隙。当分配的时隙值与时隙计数器值相符时,该时隙值节点进行数据传输。所有时隙的大小相同,且从小到大开始编号,最小值为1。在通信过程中,对于不能修改时隙的分配,在通信开始时就组合好静态部分传送的信息,以保证传输数据的最大量不超过分配的最大固定长度。这种访问方法,使静态段中传输的特定消息已经提前知道了消息到达的时间,消息传输时发生临时偏差幅度会非常小,从而将信息延迟和抖动降至最低,以尽可能保持传输的同步与可测试性,这对需要持续高速性能的应用是非常重要的[7]。
动态段用最小时隙访问动态部分的通信媒介,和静态段数据传输相似,每个节点都有两个时槽计数器,不过是独立计数工作的。各个节点利用信息ID中定义好的优先级竞争带宽。如果在最小时隙中有总线接入,则该时隙将按照需要的时间来扩展,从而动态改变总线的带宽。
2 基于FlexRay协议的通信节点设计实现
2.1网络拓扑结构选择
网络的拓扑形式对控制系统的响应速度、稳定性、可靠性都具有较大影响。每种拓扑结构都需要独立的端接方式,无论选用哪种拓扑/端接组合构成FlexRay网络,都必须满足FlexRay电气物理层规范中信号完整性的规定。
本文只是对FlexRay协议基础理论及通信原理进行研究,因此,网络拓扑选择最简单的点对点连接方式,可作为复杂总线结构的基本元素,两条总线电缆用图中的黑实线表示。点对点网络连接如图3所示。
图3 点对点网络连接示意图Fig.3 Connections of point to point network
2.2基于FlexRay总线的节点ECU设计
常见的集成FlexRay通信控制器的主控芯片有飞思卡尔的MC9S12XF和MPC56XX、恩智浦的SJA2510、德州仪器公司的TMS570系列,驱动器有奥地利微电子公司的AS8221、恩智浦公司的TJA1080等。
本文设计的电子控制单元(electronic control unit,ECU)单元主要包括以下几个部分:①中央控制器,采用飞思卡尔公司的MC9S12XF512作为节点主控制芯片,它是内部集成FlexRay通信控制器的16位车用微控制器,可以将信号编码成符合FlexRay通信协议的数据;②FlexRay总线通信模块,采用恩智浦公司的TJA1080驱动器作为通信收发控制器;③电源模块,为中央控制器提供+5 V电压;④液晶显示模块,提供人机接口,直观显示FlexRay通信中的数据传输;⑤BDM调试端口模块,调制并向中央控制器下载程序;⑥时钟模块。
FlexRay节点最小系统组成示意图如图4所示。
图4 FlexRay节点最小系统组成示意图Fig.4 Composition of the FlexRay node minimum system
①主控单元电路设计。
选择飞思卡尔公司的MC9S12XF512作为节点主控制芯片,它内部集成了单/双通道的FlexRay控制器,通过设置传输速率,可以实现单通道2.5/5/8/10 Mbit/s的数据传输速率,并且该单片机具有高速率、低功耗、高稳定性的优点[8]。本设计在外部配置40 MB的时钟晶振电路、复位电路、+5 V电源滤波去耦电路和保险丝保护电路,设置单片机的通用输入/输出口的PA口为液晶控制口,将PAD的11、12、13、14、15引脚与LCD的3、5、14、16、18引脚相连接。
②驱动模块和电源电路设计。
节点ECU CC正常运行需要+5 V供电电压,汽车上一般提供的是12 VDC电压,通过稳压芯片LM2940将+12 V电压转换所需的+5 V,再通过CLM1117芯片将+5 V电压转换为控制器内部所需的+3.3 V[9],以满足芯片正常工作电压。将控制器芯片和总线驱动器进行引脚连接,可完成控制器和驱动器之间数据传输的物理层连接。采用+5 V电压供电,将EN、STBN、BGE脚接高电平,使总线驱动器处于正常工作模式。在输出端,将总线驱动器中的BP脚和BM脚引出,以完成驱动器和总线的连接。为了去除电路的高频噪声、增加电路的电磁兼容性,在电路中加入了保险丝和滤波电容。
3 FlexRay总线软件设计
节点数据通信流程图如图5所示。
图5 节点数据通信流程图Fig.5 Flowchart of node data communication
完成FlexRay总线节点硬件电路设计后,开始进行网络配置,包括全局参数网络通信速率、通信周期时间、静态和动态通信时槽数目、时槽长度、偏移值和负载长度等。各个节点也要进行具体的参数配置,需由用户手动配置关键性局部参数,包括发送消息的ID值、缓冲器序号及协议参数的配置、时钟配置等。当通信控制器上电时,协议运行控制就会自动进入缺省配置状态,主机发出配置命令,并且对配置信息进行检测。只有在检测正确后,才会进行配置。通信控制器进入配置状态,对协议参数和缓冲器进行配置。完成初始化流程后,协议运行控制进入准备状态,通信控制器就绪并唤醒,同时触发编码、解码、帧和特征符处理进程等。当协议运行控制进入到启动状态且通信控制器工作在正常主动状态下,就可以启动或者加入一个有效通信的节点簇[10]。
按照上述方案所设计的FlexRay通信节点最小系统,可通过BDM模块接口将测试程序下载到控制器。经测试,该系统能实现高速数据传输。
4 结束语
本文对FlexRay总线节点进行功能结构分析,构建FlexRay总线节点最小系统[9-12]。采用双通道冗余通信,经过测试满足系统实时容错功能要求,完成了节点最小系统的硬件设计和软件设计流程,并且单片机功能管脚通过接口引出。该节点最小系统可作为FlexRay总线研究的核心模块,并可通过功能扩展实现其他研究,具有较大的实际应用价值。
[1] 陈智琦,罗峰,陈觉晓,等.FlexRay特性分析及应用实现[C]//2007中国汽车工程学会年会论文集.北京:机械工业出版社,2007:62-67.
[2] 吴武飞.基于FPGA/SOPC的汽车网关平台设计研究[D].长沙:湖南大学,2013.
[3] 吴宝新,郭永红,曹毅,等.汽车FlexRay总线系统开发实战[M].北京:电子工业出版社,2012:6-55.
[4] Freescale Semiconductor.FlexRay communication system[EB/OL].[2014-09-12].http://www.freescale.com/webapp/sps/sie/homepage.jsp?code=FLEXRAY.[5] WANG C C,CHEN C L,SUNG G.A FlexRay transceiver design with Bus Guardian for In-car networking systems compliant with FlexRay standard[J].Journal of Signal Processing Systems,2014,74(2):220-231.
[6] WANG W,NESIC D,POSTOYAN R.Emulation based stabilization of networked control systems implemented on FlexRay[J].Automatica,2015,59(C):70-83.
[7] 朱亮.基于FlexRay总线的线控转向系统及其路感模拟研究[D].北京:北京工业大学,2009.
[8] 张晓虎.基于FlexRay总线的电动汽车线控转向系统的设计[D].北京:北方工业大学,2013.
[9] 金紫阳.FlexRay总线在嵌入式线控制动系统的应用与实现[J].建筑电气,2015(5):103-106
[10]王赓.基于总线FlexRay的通信网络系统研究[J].激光,2014,35(8):49-55.
[11]王闯.FlexRay总线在线控转向系统中的应用研究[J].自动化仪表,2015,36(8):38-41.
[12]王鹏杰.FlexRay总线平台构建及性能分析[D].武汉:武汉理工大学,2012.
Research on the Control Unit for Automobile High Speed Communication Network
In order to expand the applications of FlexRay bus in various complex networks,and aiming at the problem of complexity of development process of FlexRay bus,a node minimum system satisfying FlexRay communication protocol is designed by using Freescale microcontroller and NXP transceiver.The system provides an extended interface to meet the expansion needs,which has practical value.The practice shows that the system can realize high speed communication between the two nodes,meet the design requirements,and provide reference for implementing more complicated network communication.
Automotive electronicsNetwork controlBus developmentFlexRayMinimum systemRedundancyElectronic control unit
郭海双(1989—),男,现为贵州师范大学软件工程专业在读硕士研究生;主要从事软件工程学的应用方向的研究。
TH85;TP393
ADOI:10.16086/j.cnki.issn 1000-0380.201610001
国家自然科学基金资助项目(编号:61262007/F020308、60971078/F020308);
贵州省国际科技合作基金资助项目(编号:黔科合外G字[2014]7007号);
贵州省教育厅汽车电子技术特色重点实验室科学平台基金资助项目(编号:黔科合KY字[2014]213)。
修改稿收到日期:2016-01-12。