LIN总线协议的应用
ADC、四个通用16位计时器和可编程16位看门狗计时器(WDT),并支持片内调试。XC886包含多种省功耗模式,非常适用于各种汽车车身控制网络以及工业和农业设备控制、建筑物照明控制、智能传感器和工业自动化等领域。
系统中的LIN驱动模块选用英飞凌公司的TLE7259芯片,它具有总线接地短路保护功能,适用于传输速率为2.4 kb/s~20 kb/s的车载系统通信网络。同时,该器件还具有极强的防静电放电(ESD)特性和优越的抗电磁干扰(EMI)能力。其基于固定斜率的斜率控制机制,还可实现在宽频带范围内优越的EMC性能。在XC886作为LIN总线主节点控制器的设计方案中,必须在TLE7259芯片的LIN_BUS引脚与INH引脚之间连接一个1kΩ的电阻和一个反向二极管,并将TLE7259配置成主节点驱动模块。图5所示是系统LIN驱动模块的接口电路。
TLE7259芯片具有等待模式、正常模式和睡眠模式等三个工作模式。上电后。芯片立即进入等待模式,然后可通过EN引脚置1使之进入正常模式。在正常模式,XC886单片机可在TXD LIN管脚输入所需发送的数据流,并通过TLE725芯片转换成LIN总线信号,以控制转换速率和波形,从而降低电磁辐射(EME)。LIN总线的输出管脚(Bus)可通过一个内部终端电阻拉成高电平。TLE725芯片可在LIN总线的输入管脚检测数据流并通过管脚RXD_LIN发送到XC886单片机。在正常模式下,将EN引脚置0可使芯片进入睡眠模式,此时的静态电流不超过8 mA,用户也可以通过LIN总线或本地引脚(WK)进行唤醒,使之重新进入等待模式。
2.2 LIN通信中主节点的软件实现
软件采用C语言模块化编写,易于维护。本设计方案中,LIN总线的传输速率设置为20 kbit/s,可在单主节点和3个从节点之间通讯,支持数据场长度设置为2个字节。第一个字节用于发送主节点控制命令或接收从节点状态信息,后一个字节为预留,可用于用户扩展。
通常由主节点向从节点发送控制命令,主要包括车窗升降控制、车门锁命令和后视镜调节控制等,表1所列是其控制命令的数据场定义。当车窗控制部分发送车窗无动作命令时(Bit2为0),可忽略后两位(Bit1和Bit0)判断,车窗保持原状。当后视镜部分发送后视镜无动作命令时(Bit6为0),则忽略后三位(Bit5,Bit4和Bit3)判断,此时左右两个后视镜电机均无动作,后视镜位置保持原状。中控锁部分(Bit7)用于中控锁的状态比较,若位数据相同,则保持中控锁状态,若位数据不同,则驱动中控锁电机进行相应动作。
状态信息一般由从节点反馈给主节点,以用于故障诊断,主要包括车窗升降电机和继电器的短路和开路信息等,表2所列是状态信息的数据场定义。当主节点收到后状态信息后。若发现故障,则主节点控制器将使指示灯闪烁或者进行声音报警。
主节点初始化之后,系统将处于等待状态,同时检查是否有数据传输需求。主程序每10 ms检查一次主节点控制器的按键参数。当司机侧主控板上有按键动作时,系统会将相应按键数据转换成控制命令并通过LIN总线发送给从节点控制器;若没有按键动作,则要求从节点反馈状态信息,并分析其工作状态。图6所示是其主节点的程序流程图。
3 结束语
本文介绍了基于英飞凌公司的XC886单片机的车门控制系统的LIN总线通信模块的设计方法,并对其硬件设计和软件结构进行了简单的分析。运用LIN总线技术开发的车窗、后视镜和中央门锁控制系统,由于使用了低功耗的8位单片机,因而降低了成本,提高了系统性能,是汽车电子技术的发展方向。本系统程序采用 C语言编写,具有很好的可读性和维护性。事实上,总线技术的发展是推动汽车电子进步的一大动力,总线技术的广泛使用则进一步促进了汽车生产商对总线开发的投人,因此,汽车总线的开发必然在将来的汽车工业中占据更为重要的位置。
LIN总线协 相关文章:
- 低成本LIN总线协议在汽车网络中的应用(07-07)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)