高速车载网络FlexRay通信单元的设计与实现
摘要:基于提高车载网络通信速率,可靠性与灵活性的目的,针对传统FlexRay通信单元布线复杂、可靠性低等问题,文中通过软硬件相结合的方法,设计了汽车FlexRay总线通信单元。文中采用集成了FlexRay通信控制器功能的高性能MC9S12XF系列单片机,给出了FlexRay通信单元主要硬件结构和软件设计流程。该通信单元具有硬件设计简单、可靠性高、实时性强等特点,为基于MC9S12XF微处理器的FlexRay通信单元的开发提供了一定的科学依据。
随着现代汽车电子技术的迅速发展,汽车的功能不断增加,越来越多的电子系统被应用到汽车中,人们对汽车安全性能的要求也越来越高,尤其是汽车线控系统的增加,促进了汽车总线和网络技术的发展。传统的车载网络系统如LIN、CAN等总线由于自身的缺点,在某些场合已经不能满足当代汽车对安全性以及大量多媒体数据交换的要求,因此,新一代车载网络系统FlexRay应运而生。FlexRay车载网络协议标准已经成为同类产品的基准,将在当前及未来很多年内,引领整个汽车电子产品控制结构的发展方向。FlexRay是继LIN与CAN总线之后的最新研发成果,可以有效的管理多重安全和舒适功能;FlexRay面向的是众多的车内线控操作(X—by—wire),满足车内线控技术的要求,符合未来汽车电子系统发展的趋势。
FlexRay节点的核心是通信单元ECU(Electronic Control Unit),是接入车载网络中独立完成相应功能的控制单元。本文以飞思卡尔公司的MC9S12XF系列单片机为核心,外加恩智浦(NXP)公司的主流总线驱动器TJA1080,介绍了FlexRay总线通信单元的硬件电路设计及软件程序设计流程。由于MC9S12XF系列单片机集成了FlexRay通信控制模块,这样就大大简化了硬件电路的设计,提高了系统的可靠性。
1 FlexRay总线的技术特性
FlexRay是一种用于汽车电子的具有高速、可确定性、故障容错能力的当代总线技术。它不仅能简化车载通信系统的架构,而且还有助于汽车通信系统获得更高的稳定性和可靠性。
FlexRay总线与其它总线相比,具有以下优点:更高的数据传输速率,FlexRay具有两条通信数据总线,每一条总线的数据传输速率是10 Mbit/s,两条数据总线的最高速率可达20 Mbit/s,是传统CAN总线的20倍之多;更全面的拓扑选择,FlexRay可支持多种汽车网络拓扑结构,如星型、总线型和混合型,并且可以通过结合两种或多种拓扑结构类型来配置分布式系统;更灵活的数据通信,FlexRay不仅提供消息冗余和非冗余两种传输选择,而且用户还可以扩展网络系统,对系统进行调整;更准确的容错运算,FlexRay使用循环冗余校验(CRC)来检测通信中的差错,通过双通道通信来提供冗余功能。它将事件触发方式和时间触发两种方式相结合,具有高效的网络利用率和系统的灵活性,可以作为下一代汽车内部网络的主干网络。
2 MC9S12XF集成控制器的特点
MC9S12XF系列单片机是美国飞思卡尔公司推出的内建单/双通道FlexRay V2.1的新系列16位车用微控制器(MCU),该系列是基于飞思卡尔公司广泛使用的高容量S12架构,为FlexRay网络上的嵌入式节点单元提供高性能的分布式控制解决方案,MC9S12XF系列的特性主要包括:
1)50MHz的S12X内核,基于高效16位C1SC架构;
2)集成了单/双通道FlexRay v2.1,每一个通道支持2.5、5、8和10 Mb/s的多种数据传输速率;
3)FlexRay时钟,采用频率从4~40 MHz不等的水晶振荡器,使用锁相环(PLL)实现成本和EMC的优化;
4)128KB、256KB、384KB和512KB的汽车质量闪存选择功能,带有纠错码(ECC);
5)16位通道的数模转换器(ADC),可配置的8/10/12的位分辨率,仅需3 μs的转换时间;
6)集成了电机控制模块,使用6通道脉冲宽度调制器(PWM),具有电流感应输入和故障保护;
7)支持本地互连网络(LILN)、控制区域网络(CAN)和串行外围设备接口(SPI)协议;
8)S12XF系列提供了广泛的工具支持,具有小型封装选择,可以根据I/O的需求进行扩展。
S12XF系列还带有4个高度集成的MCU,可以提供不同的存储器配置,而且采用了提高性能的飞思卡尔XGATE协处理器。体积小巧的S12XF MCU非常适合用于一些空间大小受到严格限制的应用,例如与FlexRay网络上的32位中心控制器通信的传感器控制模块以及分布式促动器。16位S12XF设备还可以用作多种高级安全应用和主动驾驶应用的终端节点。
S12 MCU系列是当前汽车市场中应用最广泛的16位架构,可以扩大汽车系统设计人员选择FlexRay网络解决方案的范围,为设计人员提供了广泛的技术选择,满足了他们的应用需求,其片上闪存容量可从32KB扩展到1MB,并且能够平稳移植到更高性能的S12X设备上。
3 通信单元硬件电路设计
FlexRay网络通信单元的硬件结构电路设计主要包括控制器和驱动器模块,如图1所示。控制器模块主要包括一个主机处理器(Host)和一个FlexRay通信控制器(Communication Controller),驱动器模块主要包括总线监控器(BD)和总线驱动器(BG)。控制器模块中主机处理器的功能是把FlexRay通信控制器分配的时间槽通知给总线监控器,然后总线监控器就允许FlexRay通信控制器在这些时间槽中来传输数据;总线监控器则用以监视接入FlexRay总线的连接,而总线驱动器则将总线与FlexRay通信控制器和总线监控器相连接。
FlexRay通信单元的硬件电路设计主要有两种架构方式:一种是由主处理器、通信控制器和总线驱动器组成,如常用的MPC5567+MFR4310+ TJA1080架构;另一种是由集成了通信控制器功能的主处理器和总线驱动器构成。前者为早期的FlexRay通信单元模式,其硬件电路结构较为复杂。本设计中采用后者集成了通信控制器功能模块的主处理器MC9S12XF加总线驱动器TJA1080架构,其电路原理如图2所示。
图中MC9S12XF是核心单元,其外围电路主要由电源管理模块、复位电路和时钟发生器等组成,如图3所示。外围电路主要用来实现AD信号的采集、看门狗的复位、数据永久记录、全局时钟信号的处理等功能。
总线驱动器TJA1080与物理层接口的电路如图4所示,其中T1是共模扼流电感,为了使图中共模扼流电感的共模衰减率最大,其频率范围应满足20~50 MHz。
4 通信单元软件设计流程
软件设计是系统设计的关键,为了提高可靠性和可理解性,系统软件部分采用模块化的设计思想,各个模块相连,形成了完整的软件系统。软件设计主要是对FlexRay通信控制器模块进行参数的设置和初始化操作,初始化操作是搭建单片机运行环境的过程。主程序模块是系统软件的主体部分,主要任务包括:系统的初始化,数据信号的采集、发送与处理,数据的通信与传输等。
FlexRay通信单元主程序流程图如图5所示,重点完成对CPU和FlexRay模块的初始化。由于FlexRay通信控制器本地时钟采用的是MC9S12XF的内部时钟,所以在进行FlexRay模块初始化之前要首先对MC9S12XF的时钟锁相环(PLL)进行相关的配置。初始化MCU完成以后使MC9S12XF Fle xRay模块强制进入FlexRay协议状态配置并启动FlexRay通信控制器;需要初始化的模块包括FlexRay系统总线时钟模块、锁相环模块、通用I /O口、实时中断模块、FlexRay模块等。FlexRay通信单元完成初始化配置后,需要进行接收和发送帧信息,实现FlexRay数据通信。经过核心元件MC9S12XF对数据信号编码处理后传送到总线收发器模块TJA1080中,最后送到FlexRay总线中完成整个数据通信过程。详细的FlexRay数据通信流程如图6所示。
5 结束语
FlexRay作为新一代汽车通信网络,与传统CAN总线相比具有更高的传输速率,也更加安全可靠,并且已经在宝马X5、X6和X7系列轿车上获得了成功的应用。文中从硬件和软件两个方面对FlexRay通信单元的设计进行了介绍,硬件方面给出了基于主流MC9S12XF系列单片机的Flex Ray通信单元结构和其应用外围电路,并给出了主要软件设计流程,软件设计采用模块化的设计思想,提高了系统的可靠性和维护性。本文设计的FlexRay通信单元集成度高、实时性能强,达到了设计要求,并对未来FlexRay网络系统开发有一定的实际应用价值。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码