文档章节

LIN总线概要

青春无极限
 青春无极限
发布于 2016/02/24 09:22
字数 2896
阅读 202
收藏 0

随着汽车业的飞速发展,汽车电控系统的配置不断升级,使得车辆上的电子元件越来越多,其相互连接的网络结构也越来越复杂。过去所采用的电缆连接方式所带来的庞大布线负担,容易造成车体过重和线路的磨损老化。在这种情况下,就需要引入标准的总线技术,从而降低车身重量,同时提高各个电控元件之间的通信可靠性。上世纪80年代,根据车用通信网络在不同控制层面的不同功能要求,SAE (Societv ofAuto-mobile Engineering)将其分为A,B,C三类。其中A类为低速网,数据传输速率通常为1~10kb/s,LIN总线通信网络就属于此类。LIN总线一般应用于不需要高性能及带宽和复杂性较大的低端系统,如车门控制模块、座椅调节、车灯控制和空调系统中传感器和执行器之间的通信。由于其LIN总线成本较低,也可以独立用于不是特别复杂的车身控制网络中。

  1 LIN总线协议简介

  LIN协议标准于1998年由Audi、BMW、Mo-torola、Daimlerehrysler、VCT、Volvo和Volkswa-gen等七家公司在A类网已有协议的基础上联合提出。LIN总线在当今汽车电子的网络结构中被广泛使用,它基于通用的UART/SCI接口,使用单线信号传输,从节点无需晶振或陶瓷振荡器就能实现自同步,因此成本低廉。LIN总线网络采用单主多从模式,图1所示是UN总线网络的结构示意图,它由一个主节点和一个或若干个从节点组成,不需要总线仲裁。LIN总线协议基于ISO参考模型中的物理层,数据链路层采用NRZ (Not Re-turn Zero)编码方式,电平分为隐性电平(‘1’)和显性电平(‘0’)。

  

  1.1 物理层

  LIN总线一般采用单总线(12 V)串行通讯,总线长度最大可达到40 m,传输速率最高可达到20 Kb/s,通常使用2.4Kb/s、9.6 Kb/s和19.2 Kb/s这三个波特率进行数据传输。由于从节点的个数除了受标识符数量的限制中,也受到总线的物理特性限制,节点过多必然减少网络阻抗,从而导致通讯条件变差,所以协议规定:一个LIN总线网络上的节点数目不能超过16个。

  1.2 数据链路层

  LIN总线协议的一个报文帧由报文头和响应组成,图2所示是LIN总线协议的报文帧结构。一般情况下,报文头都是由主节点发送,而响应则是由一个主节点或者一个从节点发送。LIN总线网络中的数据通讯都是由主节点发送一个报文头来初始化的。报文头包含一个空白场、一个同步场和一个标识符场,而响应则包括1 到9个字节场(0~8个数据场和一个校验和场)。其中,字节场由字节间的间隔分开,报文头和响应则由帧内响应间隔分开,它们的最小长度皆为0。

  

  报文头中的空白场可使节点能够识别一个报文的开始。空白场为13位或者持续更长时间的显性电平(‘0’)加上持续1个位时间以上的隐性电平(‘1’)组成。同步场则为一个字节长度(ox55),可用来使相关从节点进行主从节点的时钟同步。

  标识符场格式如图3所示,定义报文的信息,长度为一个字节,其中前6位为标识符位,可定义26=64个标识符(其中保留4个标识符作为命令和扩展帧标识符),后2位为奇偶校验位。

  

  标识符用于定义数据的传输方向和响应中数据场的长度,并从节点根据标识符判断报文是否与自己相关,从而对报文做出反应,进行通讯。当主节点发送的报文头被相关从节点接受并对标识符判断之后,从节点被要求进行数据发送,而主节点要接收从节点发送的数据,则需要将此标识符定义为接收标识符,对于从节点来说,则需定义为发送标识符,反之亦然。

  响应中数据场的长度由标识符位中的第4位和第5位(ID5和ID4)决定,它们将所有的标识符分成四组。每组有16个标识符,这些标识符代表着2、4和8 个数据场。数据场的传输由低位到高位,包含了各个节点需要传输的数据。校验和场是数据场所有字节的和的反码,当节点收到数据并进行校验时,要求所有数据字节和与校验和场的字节相加必须是0xFF。

  2 车门控制中LIN通信系统的设计

  本设计方案主要采用英飞凌XC886单片机作为主节点控制器,以英飞凌的TLE7259芯片作为LIN驱动模块,这样可使主节点车门控制器可以通过LIN 总线与3个从节点车门控制器(TLE7810)进行通信。作为主节点,在此门控系统中,可以通过司机侧按钮开关对所有车窗进行升降,并可进行后视镜的调节和中央门锁的控制。图4所示是车门控制系统的结构框图。

  

  2.1 XC886与UN驱动模块的接口设计

  英飞凌公司的XC886单片机是基于8051工业标准架构的高性能8位微控制器,其内部集成有CAN控制器并支持UN通信,同时包含两个UART(其中一个用于支持LIN)和两个单独16位计时器的捕捉/比较单元(CCU),可灵活产生PWM信号。此外,还集成有高精度8路10位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语言编写,具有很好的可读性和维护性。事实上,总线技术的发展是推动汽车电子进步的一大动力,总线技术的广泛使用则进一步促进了汽车生产商对总线开发的投人,因此,汽车总线的开发必然在将来的汽车工业中占据更为重要的位置


© 著作权归作者所有

共有 人打赏支持
青春无极限
粉丝 0
博文 107
码字总数 63829
作品 0
卢湾
程序员
WAS集群安装DM节点安装配置

刚刚我们已经做好所有的环境了,现在我们来进行WAS的DM安装配置 简介: 本文对DM进行安装配置,DM作为我们集群中的管理节点,负责集成和管理IHS和App的工作。 1、运行软件,启动WAS的安装程序...

ifree613
2014/01/06
0
0
Linux系统下查看硬件信息命令大全

导读 有许多命令可以用来查看 Linux 系统上的硬件信息。有些命令只能够打印出像 CPU 和内存这一特定的硬件组件信息,另外一些命令可以查看多种硬件组件的信息。 这个教程可以带大家快速了解一...

linuxprobe16
2016/11/07
6
0
IntelliJ IDEA 教程 项目篇

在实战中说明快捷键变化 本篇概要 查看项目 多项目(工作空间) 新建Maven项目 编写项目 新建Web项目 添加库 JSP提示 Tomcat运行 SpringBoot 入门篇:安装、显示、功能、快捷键的配置 http:/...

林万程
03/17
0
0
WAS集群安装App(Application Server)节点安装配置

刚刚我们已经做好DM节点的配置了,现在我们来进行WAS的应用节点安装配置 简介: 文本对App节点进行安装配置,App主要是负责管理应用,对安装过程中的一些特殊点进行说明。 1、运行软件,启动...

ifree613
2014/01/06
0
0
学习东西总结:

一.JAVA 基础 1、JAVA并发编程 2.JAVA NIO系列 3.JVM深入了解 4.JAVA性能优化相关研究 5.JAVA7,8新特性 二、数据库 1.数据库优化研究 2.MYSQL高可用性研究 3.MYSQL源码研究 三、网络 1.HTTP...

QH_C
2016/03/25
5
0

没有更多内容

加载失败,请刷新页面

加载更多

利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
8分钟前
0
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
30分钟前
0
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
59分钟前
0
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
99
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部