汽车电子控制系统单元设计方案

汽车电子

2371人已加入

描述

摘要

为了满足下一代汽车电子控制系统单元的成本,PCB空间对高性能、高可靠性和高稳定性的要求有限。本文设计了一个16位的飞思卡尔MCU MC9S12XF512作为汽车电控系统单元的主控芯片。它以FlexRay总线技术为基础,针对车身布局和车身控制要求。本文详细介绍了汽车电控系统结构单元的设计,包括控制模块的主控芯片、FlexRay总线通信模块及其外围电路的硬件设计和软件设计过程。通过实际设计和开发,制作了多个汽车电控系统单元,并通过软件编程实现了基于FlexRay总线的通信测试。该设计的控制单元具有独立的总线控制器,可以方便地与其他ECU连接进行高速数据传输。

I.简介

如今汽车电子技术发展越来越快,传统的汽车总线系统已经不能满足汽车高速传输的可靠性要求,随着汽车电子控制单元(ECU)的出现,多个子系统之间要共享的大容量数据信息要求越来越高,对汽车控制系统的信息传输的实时性和可靠性要求也越来越高。目前流行的汽车总线网络由LIN总线和can总线网络以及最新的FlexRay总线网络组成,而车载以太网总线网络只是被提及,目前还没有车载以太网,只有欧洲的几个机构开发,FlexRay网络在今天的实际应用还不成熟,在国内还不普及,而相对而言,车载网络总线中,CAN总线应用最广泛,应用技术也比较成熟和完善。

但在汽车电控系统中的一些重要环节,特别是对实时性要求极高的传输速度、安全性,汽车电控系统中的网络、CAN已经不能满足要求,所以基于FlexRay总线单元的汽车电控系统设计是非常有意义的。

基于FlexRay总线技术,本文设计了一个电子控制系统单元,可应用于网络系统中的车辆速度控制。

II.电控系统单元FlexRay通信模块的设计

基于FlexRay总线协议和FlexRay通信原理,该装置的电控系统设计主要由FlexRay总线收发器和微控制器、独立的总线接口和一些外围电路组成。一般的FlexRay通信系统是利用PCI芯片的FPGA模块来控制MFR4310,通过TJA1080芯片来实现FlexRay总线节点的数据传输,但这种FlexRay通信系统使用的体积较大,而且成本较高,硬件电路模块又比较复杂。因此,本文采用嵌入式由FlexRay总线接口控制器MC9S12XF512芯片和TJA1080ATS/2总线驱动电路及一些外围电路组成的汽车电控系统单元。作为一个独立的总线FlexRay通信调节器的MC9S12XF512微控制器芯片里面包含三个部分,分别是FlexRay通信控制器、速度12内核和独立总线控制器,FlexRay总线收发器TJA080ATS/2包含两个部分,分别是总线驱动模块和总线监控模块。FlexRay通信模块的硬件图如图1所示。

总线

图1 FlexRay通信模块硬件图

MC9S12XF512单片机是飞思卡尔嵌入式双路FLexRay V2.1系列的新型汽车单片机,包括高速、低功耗、高稳定性、低价格、小体积等特点,具有2路FlexRay。实践证明,采用MC9S12XF512和TJA1080ATS/2的FlexRay通信模块,外围扩展能力强,抗干扰能力强,体积小,并具有高性能、高可靠性和稳定性的特点。

电控系统单元的具体介绍,如图2所示。其主要由单片机控制的最小系统模块、双FlexRay总线收发电路模块、时钟模块、复位和BDM调试接口电路模块、电源模块和独立总线接口电路模块等组成。

总线

图2 电子控制系统单元硬件结构图

A.FlexRay通信模块

FlexRay通信模块是由微控制器的单片机MC9S12XF512的FlexRay总线接口和NXP公司的双FlexRay收发器TJA1080ATS/2组成的电路和一些滤波电容电阻组成,本文为FlexRay总线通信模块设计了两条路,一条路是通过微控制器上的PH1和PH2、PH5、PJ5、PH3、PJ3的TXD引脚与FlexRay总线收发器,TXEN、RXD、RXEN、ENSTBN连接在一起,另一路是通过单片机PH4、PH5、PH6、PH7、PJ4、PJ6的六个端口引脚与另一个TJA1080ATS/2引脚连接在一起,两种方式由BP和PM引脚通过滤波电路分别连接到FlexRay总线的输出和FlexRay总线的B节点,两个节点实现FlexRay总线的数据通信。设计滤波电路是为了增加FlexRay总线通信模块的电磁干扰和抗干扰能力。

B.外围模块

外围模块包括时钟电路、电源电路和复位电路模块、BDM。

电源电路可以有很多方案,本文用LM2940搭建的电源电路,就是用来给微控制器、时钟、FlexRay总线收发器等提供电源电压。

时钟电路主要是给单芯片微控制器提供足够的时钟频率,使单芯片微机能够高速工作。

复位、BDM电路主要采用单片机的后台调试(Background was Debugging Mode,BDM)功能,不需要模拟器,可以实现所有硬件断点、条件断点、在线调试、总线调试,为单片机程序在总线上写入调试FlexRay提供方便。

C.独立总线接口模块

独立总线接口模块主要是将单片机与外部传感器、执行器等连接,独立总线接口电路主要实现驱动、总线信号匹配功能。

III.电控系统单元的软件设计

本文中汽车电控系统单元的设计,其应用软件主要是在MC9S12XF512芯片上编写的。对每个电子控制单元的FlexRay总线通信进行开发编程,默认的FlexRay触发方式是基于时间触发的总线通信。微控制器可以通过轮询或中断驱动的方式发出相应指令,供内部FlexRay控制器进行数据处理。图3是一个完整的FlexRay总线通信单元开发编程层次结构。

总线

图3 FlexRay总线通信单元开发与编程结构本设计将网络中的电子控制系统单元在FlexRay车体中按照规则集和FlexRay总线协议的要求,将数据时隙规则定期发送给FlexRay总线节点,同时,根据需要获得所需的FlexRay总线节点时隙数据。虽然每个电控系统单元的程序不尽相同,但在FlexRay通信模块的设置和初始化方面的通用功能是一致的,可以分为:初始化设置、发送数据、接收数据。

A.初始化程序

初始化模块包含锁相环(PLL)初始化模块、FlexRay系统初始化模块、实时中断模块初始化和FlexRay系统时钟模块初始化以及输入/输出模块初始化。汽车电控系统单元在中断驱动模式下,其FlexRay系统初始化模块包括:FlexRay控制器可以强制进入节点配置状态,初始化FlexRay控制器的协议配置参数,初始化所有消息缓冲区,设置回调函数、定时器,结束节点配置状态,初始化启动,初始化消息缓冲区为0,启动,启动定时器T1,启动定时器T2的相应中断等。FlexRay的初始化流程图如图4所示。

总线

图4 FlexRay初始化流程图单元

B.发送数据程序

初始化微控制器和FlexRay模块成功后,可以用它来发送或接收相应的FlexRay节点ID插槽数据信息。微控制器通过FlexRay总线收发器节点准确地提供具体信息实施过程:单片微控制器将根据FlexRay协议的数据格式发送每个时隙的一个ID号数据信息,发送时隙的数据信息写入缓存区;将开始发送的功能指令、时隙节点信息发送至总线。FlexRay的数据流程图如图5所示。

总线

图5 FlexRay数据传输流程图

总线

图6 FlexRay数据接收流程图

C.接收数据程序

FlexRay的数据时隙接收节点既可以在旋转驱动模式下训练,也可以在中断驱动模式下工作,本文设定的电子控制单元工作在中断驱动模式下接收数据,例如[7]。FlexRay接收数据的流程图如图6所示。

IV.汽车电控系统单元通信测试结果的分析

在汽车电控系统单元的设计中,两个电控系统单元通过FlexRay通信模块连接到FlexRay节点,实现了FlexRay总线的数据发送和接收测试。当给予+12v电压使其工作时,FlexRay总线节点中的两个电控系统单元分别按照设定的ID和CRC发送和接收相应的测试数据。

在这两个电子控制系统单元的FlexRay通信中,使用示波器的波形有节点总线,因为FlexRay总线是双绞线,两个BM和BP的FlexRay总线连接是差异信号,提供双轨示波器来比较这两个测试,其波形图见下图7。

总线

图7 FlexRay通信节点波形图

在狭小时间里,得到了如图8所示的部分波形图。

总线

图8 FlexRay总线通信数据帧部分波形图

V.总结

实践证明,本设计基于FlexRay总线技术,以MC9S12XF512为核心的汽车车身电控系统单元体积小、功耗低、稳定性高、价格便宜。特别是FlexRay数据通信具有更高的传输速度,更高的可靠性和稳定性,以及更好的抗干扰能力。

微控制器的设计采用了协同处理器,它可以为任何外围模块服务,这些无疑减轻了CPU的工作负担,使电子控制系统单元能够在重负荷下正常运行。但是,电子控制系统单元还需要进一步的研究和改进,如果投入到实际的汽车应用中,通信网络的应用、数据监控和数据存储的动态部分还需要进一步研究和改进。

审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分