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’)。
![](../img/eep/emb/emb-69329jouqrtmrp3u.jpg)
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。
![](../img/eep/emb/emb-69330al31pckel1y.jpg)
报文头中的空白场可使节点能够识别一个报文的开始。空白场为13位或者持续更长时间的显性电平(‘0’)加上持续1个位时间以上的隐性电平(‘1’)组成。同步场则为一个字节长度(ox55),可用来使相关从节点进行主从节点的时钟同步。
标识符场格式如图3所示,定义报文的信息,长度为一个字节,其中前6位为标识符位,可定义26=64个标识符(其中保留4个标识符作为命令和扩展帧标识符),后2位为奇偶校验位。
![](../img/eep/emb/emb-69331pv0sp3ho2h5.jpg)
标识符用于定义数据的传输方向和响应中数据场的长度,并从节点根据标识符判断报文是否与自己相关,从而对报文做出反应,进行通讯。当主节点发送的报文头被相关从节点接受并对标识符判断之后,从节点被要求进行数据发送,而主节点要接收从节点发送的数据,则需要将此标识符定义为接收标识符,对于从节点来说,则需定义为发送标识符,反之亦然。
响应中数据场的长度由标识符位中的第4位和第5位(ID5和ID4)决定,它们将所有的标识符分成四组。每组有16个标识符,这些标识符代表着2、4和8 个数据场。数据场的传输由低位到高位,包含了各个节点需要传输的数据。校验和场是数据场所有字节的和的反码,当节点收到数据并进行校验时,要求所有数据字节和与校验和场的字节相加必须是0xFF。
2 车门控制中LIN通信系统的设计
本设计方案主要采用英飞凌XC886单片机作为主节点控制器,以英飞凌的TLE7259芯片作为LIN驱动模块,这样可使主节点车门控制器可以通过LIN 总线与3个从节点车门控制器(TLE7810)进行通信。作为主节点,在此门控系统中,可以通过司机侧按钮开关对所有车窗进行升降,并可进行后视镜的调节和中央门锁的控制。图4所示是车门控制系统的结构框图。
![](../img/eep/emb/emb-69332ghijow1ymvf.jpg)
2.1 XC886与UN驱动模块的接口设计
英飞凌公司的XC886单片机是基于8051工业标准架构的高性能8位微控制器,其内部集成有CAN控制器并支持UN通信,同时包含两个UART(其中一个用于支持LIN)和两个单独16位计时器的捕捉/比较单元(CCU),可灵活产生PWM信号。此外,还集成有高精度8路10位
LIN总线协 相关文章:
- 低成本LIN总线协议在汽车网络中的应用(07-07)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)