引言
在汽车电子系统中,主要存在如图1所示的几种网络协议。 LIN主要应用低速(<20Kb/s)的车身控制环境,低速CAN多用于事件驱动的控制环境(125Kb/s),高速CAN(> 500Kb/s),Flexray和Byteflight主要应用于时间驱动的同步高速控制环境,而D2B和MOST主要应用于汽车娱乐(图像和语音)的传输和控制。
就车身控制而言,主要的应用基于CAN/协议。基于CAN总线车身控制,在汽车电子上已经有广泛的应用。随着车上总线节点的增加及高性能系统向中低档汽车的发展,CAN总线相对较高的实现成本就成为一种障碍。因此LIN总线随之产生。由于LIN硬件的实现是基于普通的串行通信接口(SCI),甚至在子节点中可以用普通I/O口加上定时器进行模拟,所以其实现成本较低。LIN的目标应用是不需要CAN的性能、带宽及复杂性的低端系统。通常LIN子总线是现有的CAN网络的扩充,与CAN网络一起形成汽车的控制网络(图2)。当然,由于其成本较低,也可以独立用于不是特别复杂的车身控制网络中。
为了加速基于LIN总线控制系统的开发周期,半导体公司开发了 LIN开发平台(LIN DEMO)。LIN DEMO系统提供了完整的软件和硬件,其中,软件包括标准的LIN底层驱动软件和LED显示的应用软件。用户可以在此平台上很快的搭建起LIN控制网络。
LIN DEMO应用系统
DEMO节点
LIN DEMO(图3)由2个主节点(9S12C32和MC68HC908GZ60)和4个从节点(MC68HC908GR60、MC68HC908EY16、 MC68HC908QY和组成。每个LIN节点上,都提供了调试和编程接口(BDM接口(16位单片机)和 CYCLONE/Multilink08接口(8位单片机)),同时每个节点还有1个RS232的串口,可以和PC通信。主节点有两种工作模式,两种模式的切换由1个转换开关来控制。
LIN总线睡眠模式(此模式下,与主节点相连的所有从节点都处于睡眠模式,主节点不发送任何帧头。)
LIN总线工作模式(此模式下,主节点发送帧头,LED灯用来显示从节点LED的状态。)
LIN总线工作模式下,主节点LED显示LED状态有变化的从节点LED状态。每个从节点有4个LED灯,这些灯的状态可以通过1个单片机的键盘中断引脚来改变。主节点有8个LED灯,其中的右边(低位)4个LED用来显示从节点LED灯的状态,另外的左边(高位)4个LED灯用来从节点的类型和ID号,其中2个用来显示节点类型(GR、EY、QY和QL),另外2用来显示和此从节点类型相匹配的节点ID号最低的两位。
这样主节点上左边(高位)4个LED为i*16的高4位。同时,主节点上右边(低位)4个LED用来显示从节点LED的数值(同样次序的LED灯亮)。
所有的从节点可以在不断电情况下加入或者脱离总线。当监测到有新的从节点加入,主节点从0到7清除主节点的LED,然后把该节点存入主节点LED的显示序列。当监测到有节点脱离总线时候,主节点从7到0清除主节点的LED,然后从主节点LED的显示序列去掉该从节点。
正常工作模式下,复位后,每个从节点响应对于该从节点ID(可以重新配置)的主接点帧头,响应的数据定义为2个字节。按动从节点上的开关,可以增加从节点上LED的值(从1到15,除去全为零的情况)。当从节点上的LED值变化之后,主接点上的LED的右边(低位)4个LED将显示对应从节点上LED的值。
在模式配置模式下,用户可以改变从节点的ID。从节点的LED用来显示本节点的ID号。从节点上第一位的LED点亮,表示XXXXXX00;第二位的 LED点亮,表示XXXXXX01;第三位的LED点亮,表示XXXXXX10;第四位的LED点亮,表示XXXXXX11。
当所有的从节点连接到主节点并且工作正常的时候,通过拨动主节点上的1个开关,我们可以很容易的让从节点进入睡眠状态。拨动此开关到OFF档,5秒钟以后,GR60和EY16就进入了睡眠(QY4不支持此操作)。
DEMO硬件结构
图4是MC68HC908EY16的基本电路原理图,它包含了LIN节点和3个跳线。值得注意的是,这些跳线只是在对芯片编程和调试的时候用到。对芯片编程和调试时,需要用到Freescale的开发工具(MULTILIN08/12、CYCLONE08),通过这些工具再和PC 相连。完整的电路图,还包括一些编程接口和双排接口(连接MCU的引脚到其他的应用中)。
评论
加载更多