基于CAN/LIN混合网络的车门控制系统

2013-09-20 02:56张昱鲁睿婷唐厚君陈伟
电气自动化 2013年3期
关键词:电平报文总线

张昱,鲁睿婷,唐厚君,陈伟

(上海交通大学 电子信息与电气工程学院,上海 200240)

0 引言

CAN总线最初是由德国Bosch公司提出的,是一种多主方式的串行通讯协议。随着汽车上的控制装置的增加,功能越来越复杂,传统的点对点通信方式带来汽车车身线束质量剧增、线路繁冗复杂等问题,CAN总线作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,被广泛应用于车身控制系统中。LIN是专门为汽车开发的低成本串行通信网络。通常采用LIN总线作为CAN总线网络的扩充。在低速的车身控制条件下,与CAN总线相比,LIN总线控制方案成本较低,因为LIN硬件的实现是基于普通的串行通信接口,甚至在子节点中可以用普通的I/O口加上定时器进行模拟。另外,在LIN网络中只需要为主节点设置较高精度的时钟,从节点只需通过主节点发送的同步段就能获得位速率信息,这样一方面减少了高精度时钟数量,降低了成本[1];另一方面不需要仲裁,降低了软硬件设计的复杂度。采用CAN/LIN混合网络,汽车结构设计可以更加灵活。

1 系统概述

系统的拓扑结构如图1所示,系统采用CAN总线和LIN总线相结合的混合网络,形成层次式和并列式混合的网络结构[2]。左前门、右前门、左后门、右后门四个车门节点组成并列式的CAN通讯网络,CAN总线可靠性好,实时性强,应用在控制功能比较复杂的场合,车门控制系统的主要功能是接收来自中控锁、玻璃升降器开关、车门锁等控制开关的信号,控制车窗、车灯、车门锁等执行器并记录其状态。由于左前门上的开关可以控制四个车门的车窗和车锁,功能比较复杂,将其作为控制节点,负责接收其他节点的状态信号并根据相应的状态给出控制信号。其他节点功能较简单,主要用来接收左前门发送的命令,对节点上的执行器进行驱动和状态反馈。LIN总线用于速度和可靠性要求不高的场合,连接后视镜、车内阅读灯、雨刷等从节点。LIN主节点由左前门节点来完成,与从节点进行数据传输,同时充当CAN和LIN网络连接的网关。

图1 车门控制系统的网络拓扑

2 系统硬件设计

2.1 CAN节点和LIN节点设计

CAN节点采用飞思卡尔MC9S08DZ60单片机作为主控芯片,该芯片是基于HCS08内核的高度集成的高性能8位单片机,具有很强大电磁兼容性。其主要功能模块包括24路12bitA/D采样口;1路MSCAN模块兼容CAN协议2.0A/B;2路串行通信接口模块(SCI),支持 LIN2.0协议;1路串行外围接口模块(SPI);2个定时器模块等,能完全满足系统的功能需求,且片上资源能够得到充分利用。以左前门为例,图2为主控芯片的硬件原理图。

对于LIN节点,由于左前门节点使用的MC9S08DZ60芯片的串行通信SCI模块支持LIN2.0协议,可以直接使用MC9S08DZ60作为LIN主节点控制器。从节点采用微芯的PIC16F886芯片作为控制器,PIC16F886带有增强型UART模块,支持LIN2.0协议,并能实现自动波特率检测和校准、接收到间隔字符时唤醒、13位间隔字符发送等附加功能,简化了LIN总线系统的实现。

汽车的电池一般提供的电压为12 V直流,而控制芯片的供电电压一般为5 V直流,同时输入信号调理电路也需要5 V的电压,因此需要进行电平转换[3]。采用 LP2985-50稳压芯片提供稳定的5 V电压。

图2 主控芯片的硬件原理图

2.2 CAN&LIN收发电路设计

CAN收发器集成了CAN协议中物理层的部分功能。采用TJA1040收发器,每个节点通过收发器物理连接到CAN总线线路,收发器能够驱动CAN总线所需的大电流,并具有对故障CAN或故障节点的电流保护。MC9S08DZ60单片机有一个MSCAN模块,用于控制CAN报文的收发处理,该模块用单片机外部的两个引脚,包括一个CANRX和一个CANTX引脚。在CAN总线上,CANTX输出的电平0表示显性,电平1表示隐性。

在每个LIN节点都采用TJA1020收发器作为LIN协议控制器与LIN物理总线之间的接口。TJA1020能支持最好至20 Kbps的波特率,具有很好的EMI特性,为LIN总线的从节点集成了终端电阻,具有睡眠模式,能有效减少功耗[4]。TJA1020与TJA1040收发电路如图2所示。主节点中MC9S08DZ60的SCI2模块中的TxD2和RxD2与从节点中PIC16F886的Tx与Rx分别连接到相应的TJA1020的TxD和RxD端,LIN总线的输出引脚通过一个内部的终端电阻被拉高。收发器在LIN总线的输入引脚检测数据流并通过引脚RXD发送到微处理器。

2.3 信号调理电路设计

图3 CAN/LIN总线收发电路

车窗升降开关和后视镜控制开关的输出信号是模拟量,在开关内部不同档位对应不同大小的电阻,通过开关进行切换。在开关内部没有分压电阻,需要在输出信号端加入上拉电阻,将输出信号连接到的MCU管脚上拉。当开关没有动作时,A/D管脚采集到上拉电平;当开关有动作时,电阻分压得到相应的模拟电平。在A/D管脚处连接一个4.7 V的稳压管,减小电压波动,避免对MCU造成破坏。

车门锁接触开关信号是开关量信号,高电平为12 V,低电平为0 V,需要采用一个电平转换电路对开关量信号进行调理,否则电压值会超过I/O口能承受的最高电压。当开关没有按下时,输入为高电平,二极管和三极管都截止,I/O口的电平被拉低为低电平。当开关被按下时,输入为低电平,二极管和三极管导通,输出电平为高电平(5 V)。这样的转换电路减少了外部开关信号对内部微处理器系统的干扰。输入信号调理电路如图4所示。

2.4 系统执行器的驱动

图4 输入信号调理电路

图5 VNH3ASP30-E的驱动电路

系统所用的玻璃升降器电机的正常工作电流在10 A一下,约为3~5 A,考虑到其带动的玻璃重量、运动过程中遇到的阻力,峰值电流在15 A左右。由于单片机的输出功率不能直接驱动电机,因此需要采用专用的电动玻璃升降器驱动芯片VNH3ASP30-E[5]。 使 用VNH3ASP30-E的驱动电路如图5所示。图5中来自MCU的控制信号有INA/INB、ENA/ENB以及PWM。两路输出分别用于控制车窗的上升和下降。VNH3ASP30-E内部集成了电流反馈电路,能够在CS管脚输出一个与输出电流成正比的反馈电流,反馈给MCU的信号为CS经低通滤波后的信号。MCU根据采样到的MCU值判断玻璃升降器的工作状态:正常运行、遇到阻力或堵转,可以进行防夹设计。

与车窗类似,车锁和后视镜的驱动采用L9949驱动芯片,该芯片通过SPI与MCU连接,获得控制字。LIN节点控制的车内阅读灯的功率为5 W,其驱动也选择高侧开关集成芯片VND5E050AK-E来完成。VNH3ASP30-E能提供的驱动电流可达30 A,驱动电压可达41 V;L9949的直流供电电源电压可达28 V,片内有一个最大输出电流为6 A的全桥驱动电路;VND5E050AK-E最大瞬态供电电压为41 V,正常操作电压在4.5 V-28 V,最大输出电流为27 A,驱动电压、电流、功率完全能够满足系统需求。

3 系统软件设计

在CAN节点的程序中,首先对系统的时钟模块、A/D模块、TPM模块、MSCAN模块、SPI模块等进行初始化。程序进入循环主体检测各自节点的状态量、等待其他节点发送的CAN报文。对于检测到的开关输入信号,按照主节点的功能要求进行相关报文的逻辑组合,进行CAN报文的发送,如果有对LIN节点的控制,则进行LIN报文的发送[6]。对于其他节点发送的CAN报文采用中断接收方式,在中断程序中先根据相关报文的意义对标志位进行设置,退出中断后再根据标志位对节点的执行器进行驱动。

在LIN主节点和从节点的程序中,首先进行SCI端口一些标志位等参数的初始化。主节点在检测到开关状态变化时,向从节点发送报文头,依次发送间隔场、同步场和ID场,之后等待从节点响应数据的状态,接收到数据后相应地修改状态标志位。

从节点负责发布或者接听帧的应答,包括两个部分:检测同步间隔和同步场、帧处理。帧处理包括接收并分析帧 ID,按照事先的设计,选择是发送应答、接收应答(为数据提供缓冲区)或者既不接收也不发送应答。这里采用主节点发送报文头并接收从节点的应答,从节点发送相应的状态信息的方式。从节点采用中断的方式来接收LIN报文并响应,PIC16F886有间隔场自动唤醒功能,只要检测到间隔场就会进入中断服务程序,因此将控制程序放入中断服务程序。根据接收到的帧ID判断是否接收报文,对室内灯、雨刷或后视镜进行控制,并将执行器的状态反馈到数据场中,发送给主节点[7]。程序流程图如图6所示。

图6 CAN节点与LIN节点程序流程图

4 结束语

本系统采用CAN/LIN混合网络,实现了以左前门为主的汽车车门控制系统,表明利用多种现场总线可以代替传统的控制方法,并且可以改善控制效果,提高控制系统的性能,同时也能有效地减少成本。本系统已经在实验台架上调试完成,可以可靠地完成控制功能。

[1]汪淼,吴云,常安云.基于LIN总线的车身控制系统的应用研究[J].计算机工程与设计.2009,30(13):3094 -3096.

[2]龚进峰,吴正,曹健,等.CAN/LIN混合网络在轿车车门控制系统中的应用[J].汽车工程,?2006,28(06):578-581

[3]张虹.基于LIN总线的车身电控系统设计[J].仪表技术与传感器,2009,46(7):57 -59.

[4]车勇,李百川,彭贤武.LIN总线技术在汽车中央集控门锁上的应用[J].山西电子技术,2006,34(3):43 -44,53.

[5]沈会,徐青菁,叶子晟,等.基于CAN总线的电动车窗控制系统设计[J].电力电子技术.2011,45(12):84-86.

[6]华韬,阳宪惠,宋明浩.基于CAN/LIN网络的汽车门锁控制系统[J].电子技术应用,2005,31(11):29-32.

[7]李史欢.基于LIN的车门控制系统的设计[J].电气自动化,2009,31(6):49-50.

猜你喜欢
电平报文总线
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
机载飞控1553B总线转以太网总线设计
一种基于CAN总线的误码测试方法
ATS与列车通信报文分析
三电平PWM并网变换器LCL滤波器量化设计
准PR控制的三电平逆变器及中点平衡策略
光伏并网系统二电平逆变器的故障诊断
NPC五电平Z源逆变器的设计研究