基于LIN总线汽车前灯运动控制系统的设计
扫描二维码
随时随地手机看文章
引言
随着社会的发展,汽车越来越普及,汽车应用已变得日益复杂,而且越来越多地采用电子驱动,因此,将更多创新技术及专用技术应用在这个领域也就不足为奇了。随着汽车拥有量的增加,发生交通事故的概率也随之增加,特别是在夜间行车,两车相汇,汽车前灯的控制就是一个重要的问题,目前汽车常包含有带动态位置控制的前灯,特别是对高强度放电(HID)氙气灯来说,动态位置控制功能非常关键。不过,前灯定位系统对电子组件提出了非常恶劣的环境要求。如何降低前灯运动控制设计的复杂度,节省时间、降低成本成为汽车电子研究的重要课题,本文针对汽车前灯控制的要求,介绍一种价格低,功能较齐,基于LIN总线汽车前灯运动控制系统的实现方法,对不同的步进驱动器/控制器组合,以实现汽车前灯运动控制系统最优化的系统设计方案。
系统硬件电路设计
LIN标准定义了一种车用分布式电子系统使用的低成本串行通讯系统。LIN是对现有车用多网络组合的补充,这些组合包括采用控制器局域网络(CAN)协议。LIN标准可以实现具有成本效益的车内开关、智能传感器和制动器应用的通讯网络。通讯协议是基于SCI (UART)数据格式,一种单主/多从的概念以及一个单线(外加地)12V总线。
LIN从节点对总节点发出的控制信号进行处理,并对车灯驱动电路状态进行测量。当从节点接收到报文信息后,对车灯发出相应的控制信号,并分析各灯的状态,若发生故障,则生成一个数据信息发送到总节点。LIN从节点在检测到总节点发送的信号后,先通过报文帧进行识别,看其是否属于自己的报文信息。若属于则首先判断报文是不是查询信息,如果是,则返回一个响应信息,如果是控制信息,则对相应的车灯进行控制,并对该车灯驱动电路上的测量点电位进行测量和进行处理。看其是否发生故障。若发生故障,则通过 LIN总线发送信息给总节点。并根据传感器检测到前方来车的灯光信号,实时的作出判断,调整灯光的亮度和变化。图l示出LIN汽车前灯控制硬件框图。
MCU控制单元
设计中MCU选用飞思卡尔M68HC08系列的MC68HC908QL4作为LIN从节点的MCU,其电路框图如图2所示。16引脚TOP封装的QL4芯片,VDD接+5V电源,SLCTX、SLCRX引脚分别接LIN的收发器(TJA1020)的TXD、RXD引脚。经过收发器LIN引脚进来+12V的LIN信号,经过收发器转换成+5V的接受和发送信号,分别传到QL4的接受和发送引脚。
从节点在初始化完成后,其它操作都在中断里面完成。SLIC状态向量寄存器(SLCSV)提供一个索引偏移量直接反映LIN模块当前的工作状态,它可以和用户提供的跳转表一起用来快速进入一个中断服务子程序。LIN模块的所有状态在SLCSV里面都有相应的值对应,其值不仅反映LIN模块状态的索引偏移量,还反映中断的优先级。
LIN收发器
本设计选用TJAl020作为LIN收发器,TJAl020是LIN主/从协议控制器和LIN物理总线之间的接口,主要用作于车辆副网络。其波特率为2.4~20kbit/s。控制器在TXD引脚输入的发送数据流通过LIN收发器转换成LIN总线信号,并由收发器控制转换速率和波形,减少极低的电磁发射(EME)。 LIN总线的输出引脚通过一个内部终端电阻拉成高电平。收发器在LIN总线的输入引脚检测数据流并通过引脚RXD发送到微控制器。
电源模块
在设计中,LIN模块的电压调节器均采用微功耗、低压差稳压器LTll2l-5。选用 LTl121-5通过对SHDN输入低电平,能使其进入停止模式,这时静态电流只有16mA,因此在总线上没有活动时,就能达到减少功耗的目的;此外,该器件还具有防止输入和输出电源反向的功能,即使在输出端不增加二极管的情况下,也能防止电流反向倒流。
车灯的驱动电路模块
所设计的车灯驱动电路模块采用分布式制动器控制,其控制框如图3所示。该控制用于双前灯的水平定位、旋转及AFS。LIN微步进电机驱动器是一种带集成有LIN控制/诊断的定位控制器的两相驱动器,此控制器通过LIN接口接收高级定位指令,随后驱动电机线圈到达理想位置。片上位置控制器可为不同电机类型、定位距离以及参数(如速度、加速度和减速度)而配置。如果系统检测到停转状态,无传感器停转检测就会阻止定位器失步并使电机停止。
控制器命令集的高抽象水平减少了MCU内微处理器的负载。根据前灯运动控制轴数量的不同而将调整应用是直接了当的方法。以模块化方式扩展硬件和软件设计,不会严重影响对主微控制器的要求。本系统只用一个MCU,并且要改变系统控制功能时增加或移走可选的电机很方便,花费也很少。目前的汽车常包含有带动态位置控制的前灯。对于高强度放电(HID)氙气灯,这种功能很关键。欧洲安全条例要求能动态控制主前灯光束的垂直位置,避免眩光。如果采用步进电机驱动器芯片,就可为这些应用只需几个无源元件的类似应用设计出集成电子电机驱动器电路。
驱动器芯片通过一条LIN、I2C或SPI总线得到高水平定位控制和诊断命令指令,并将其转换成驱动步进电机线圈的PWM信号。集成电机驱动器电路的优点包括能增加系统集成度,减小线束复杂度并降低EMI辐射,这样能降低系统成本,加快终端产品面市时间并提高性能。传统上来看,汽车卤素前灯系统都装有一个手动调节器,来对准前灯垂直方向。此装置含有一模拟伺服系统,包含有一传动、有刷直流电机的制动器驱动到与手动调节好的位置相对应的位置。伺服系统的反馈采用一个连接到制动器末端齿轮的电位计,电机驱动器为一功放。该系统相对来说价格低廉。
本设计采用的是线性步进电机前灯垂直定位方法。这类电机非常牢靠,并且工作在开环模式下不需要电位计反馈。线性运动通过一个螺栓/螺母组合实现。绕螺栓旋转的步进电机有一通过定子线圈内的控制电流带动磁转子。 用于卤素前灯水平定位系统、垂直定位、全适应前照明系统(AFS)等。
汽车前灯是对汽车夜间行驶安全性很关键的器件,控制其位置的电机必须也工作在自动方式,如果通讯总线发生故障,要将灯转到安全位置。这一要求意味着,驱动器电路必须在不借助外传感器情况下检测停转位置,通过其微步进模式,保证运动无声而平滑。因此,对任何前灯位置控制架构,不论是集中式的还是分布式的,这些功能都是很基本的特征。
软件设计
车灯控制系统主要完成两个功能:一是实现LIN子节点对车灯的控制;二是实现对车灯故障的诊断。在控制中,通过分析总线电位和驱动电路中输入、输出、故障诊断引脚的电位来判断系统是否发生故障。
要使LIN总线节点有效、实时地完成通信任务,软件设计是关键。本设计采用结构化程序设计方案,具有较好的模块性、可移植性和可修改性。
LIN信息的接收采用中断方式,当MC68HC908QL4控制器检测到符合该节点要求的信息帧后,首先判断本地节点接收到的是什么信息,若为控制信息,则接收2个字节的数据信息;若为查询信息,则将本地节点车灯的状态以信息帧的形式发送回主节点,以反映节点情况。然后判断,若为接收数据帧,则在 SLIC模块中的数据寄存器(SLCDx)上读取相应的信息。最后是根据数据信息中相关的位进行车灯控制,在发出控制信号后,相应采集车灯驱动芯片输入、输出和故障诊断引脚的电位,驱动车灯的运动状况,接通水平方向车灯、接通左右方向车灯、AFS照明系统,通过对电位的分析判断,向驱动电路发出控制信号,若不需要启动车灯,则发送一个返回信息,返回到扫描车灯的位置。其程序设计车灯控制的流程如图4所示。
在系统启动并进行初始化以后, 仪表模块开始启动一个定时器, 实现周期性地对仪表盘的车灯按钮状态进行扫描, 然后将信息通过 L I N总线传送到车灯控制模块, 该信息包含了驾驶员对于车灯状态的要求( 开通或关断) 。车灯控制模块同时对数字量诊断输出的车灯信息和模拟电流传感器诊断输出的车灯进行检测,对于出现故障的车灯信息,通过 L I N总线传输到仪表模块上。传输信息包括车灯的名称、车灯所在的位置和车灯状态等 。车灯控制模块结合仪表模块判断结果及仪表盘的扫描结果, 决定是否打开车灯或关闭车灯。仪表模块通过 L I N总线接收/传送车灯控制模块的信息。
结语
基于LIN总线汽车前灯运动控制系统,能够通过LIN总线对车灯进行线诊断,系统具有结构简单、性能可靠、功能较齐、价格低廉等特点,对不同的步进驱动器/控制器组合,以实现汽车前灯运动控制系统最优化的系统设计方案。设计了MCU+LIN接口芯片的LIN节点硬件结构,实现了主机/从机任务的LIN网络通讯。目前在国内如何采用总线技术提高整车性能,降低制造和维护成本,已成为汽车生产厂家关注的热点。