0 引言
LIN(Local Interconnect Network,本地互连网)由汽车厂商专为汽车工业开发(飞思卡尔半导体是在LIN原始协会成员中唯一的半导体器件供应商),是"一主(节点)多从(节点)单线双向低速"总线,是一种低成本短距离低速网络,其性能较低,最高传输速率只有20 K位/秒,但其硬件的实现是基于普通的串行通讯接口(SCI),甚至在子节点中可以用普通I/O口进行模拟,所以其实现成本较低。LIN 的目标应用是不需要CAN的性能、带宽及复杂性的低端系统。通常LIN 子总线是现有CAN网络的扩充,与CAN网络一起形成控制网络。当然,由于其成本较低,也可以独立用于不是特别复杂的控制网络中,所以LIN总线目前具有非常广泛的应用前景。LIN总线协议的最新版本是V2.0,可以在LIN联盟的网站(www.lin-subbus.de)上得到。
1 LIN协议的通信机制
1.1 主机和从机
从通讯协议的角度来看,一个LIN网络由一个主机任务模块(Master Task)和若干个从机任务模块(Slave Task)组成。主机节点中既有主机任务模块又有从机任务模块,其它节点中只有从机任务模块。在LIN网络中,主机任务模块决定什么时候在总线上传输什么报文帧,而从机任务模块则提供每一帧需要传送的数据。主机任务模块和从机任务模块都是帧处理层的组成部分。
1.2 报文帧
一个报文帧由一个帧头(由主机任务模块提供)和一个响应帧(由从机任务模块提供)组成。帧头包括一个同步间隔场(SYNCH BREAK FIELD)、一个同步场(SYNCH FIELD)和一个标识符场。响应帧由数据场(DATA FIELD)和一个校验和场(CHECKSUM FIELD)组成,如图1所示。
1.3 通信机制
报文帧的用途由标识符唯一定义,约定的从机任务根据标识符提供相关的响应帧并发送到总线上,对这个标识符相联的数据感兴趣的从机任务将接收响应帧,校验和检验通过后对数据进行处理,图2所示。这样的通信机制带来了非常理想的效果:
•系统灵活性:在LIN网络中可以直接增加节点而不需要对其它从机节点的硬件和软件进行修改;
•报文路由:报文的内容由标识符定义;
•广播:多个节点可以同时接收一个单独的报文帧,并对报文做出反应。
2 MM908E625结构和特点
MM908E625系列器件主要是为汽车和工业控制而设计,是高度集成的单封装解决方案,具有集成度高、价格低等特点。它带有高性能的HC08微控制器(MCU) MC68HC908EY16的内核以及SmartMOS模拟控制集成电路。HC08微控制器(MCU) 包括16K字节的片上Flash存储器,512字节的RAM,两个16位2通道的定时器,增强型串行通讯接口(ESCI),10位精度的模数转换器(ADC),串行外设接口(SPI)和16个单片机通用I/O口。内部的SmartMOS集成电路主要是由一个高端输出口,四个半桥输出口,三个霍尔效应传感器输入端口,LIN物理层接口及电压调整器等构成,并且能够满足40℃至125℃工作温度。
MM908E625带有一个LIN物理层,提供了一个LIN总线端口,该端口为单总线收发,可以与三线LIN总线兼容。LIN是一种低成本的串行通讯网络,基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,主要用于实现分布式电子系统控制。与CAN(Control Area Network)相比,LIN的设计更为简单廉价。在很多应用的场合,使用LIN来替代CAN能够大幅度的降低产品成本。MM908E625不带有唤醒输入接口L1、L2,但有一些接口可以唤醒系统,如SIO端口、霍尔效应传感器输入端口等。
MM908E625带有一个电压调整器输出接口。在正常模式和STOP模式下,该电压调整器输出5V电压,从而可以给单片机供电。但需要注意的是,该端口需外接一个电容来稳定电压的输出。另外,该电压调整器还具有限流功能,主要用于STOP模式下。
MM908E625带有4个半桥驱动输出口,其RDS(ON)为500mW。这些输出口可用于步进电机驱动,直流电机驱动,或者作为高端和低端的选择开关。这些输出都带有短路保护和过热保护,并且具有电流再复制、电流限制和BEMF(反向电磁力)产生的特性。这种保护是由高端和低端场效应晶体管完成的(高端有真实电流测量,低端通过VDS监测),而电流限制和再复制是由低端场效应晶体管完成的。
MM908E625带有三个霍尔效应传感器输入引脚,能够用于探测电机的停止和位置,或者读取霍尔效应传感器的连接状态。它们不受系统控制寄存器中PSON位的影响。通过对霍尔效应传感器输入引脚控制寄存器中的HxEN置位,可以使相应的霍尔效应传感器引脚允许输入。当这些引脚被允许输入时,霍尔效应传感器将由VSUP供电,同时其检测电路开始工作,其结果由霍尔效应传感器输入引脚状态寄存器中的HxF标志位给出。如果标志位为高电平,则说明检测到的电流高于IREC。为了防止该标志的噪声,这些引脚都实现了一定的滞后作用。
3 MM908E625典型应用原理图
MM908E625是高度集成的单片机芯片,并且集成了一个SmartMOS集成电路,在汽车和工业应用上,它们为用户提供了一种理想的单芯片解决方案。用户可以很容易的实现多种控制检测功能而无需增加外围接口电路的复杂性。图3给出了 MM908E625单片机的典型应用原理图。
4 LIN通信的软硬件设计
4.1 硬件系统构成
自动细纱机分为上位机和下位机两部分。上位机主要负责车床的开启与停止以及对各个锭子LIN子节点的通信管理等工作,经过LIN接口板连接到下位机的各个锭子LIN子节点。下位机则主要由MM908E625控制,根据上位机传送的数据计算工作参数,并根据计算结果控制各个电磁阀的关开以及电机转动、延迟时间等。系统硬件结构框图如图4所示。
4.2 单锭LIN子节点硬件原理图
在试验中锭号即单锭地址由8位二进制数表示,所以上位机传送的地址应该小于256,否则认为无效地址舍弃。其中0号地址被定义为全部锭子有效,即若上位机传送参数中地址是0,则全部锭子都将接收参数,否则只有地址匹配时才接收或者发送数据。这部分由8位泊位开关,经74HC165将8位并行数据转换成串行数据送入MM908E625实现。单锭LIN子节点原理图如图5所示。
4.3 单锭LIN子节点软件设计
软件由初始化、发送数据和中断处理三部分组成,主要完成两项任务:一是接收上位机传送的工作参数;二是当上位机请求数据时,将单锭LIN子节点状态数据通过LIN总线传送给上位机。LIN通信中使用定时器模块来完成位定时,所以需要在主节点设置定时器的时钟速率。数据通信过程采用中断方式,LIN通信中用到以下中断:SCI接收中断、SCI错误中断、SCI发送中断和定时器1通道0中断,其中后两种中断仅主节点使用。用到的中断向量需要在中断向量表中声明。程序由内嵌汇编的C语言编写。
5 结语
智能单片系统方案(SoC)逐渐成为当今应用的主流。LIN总线能够增加功能和降低成本,增加了设计的灵活性,提高了系统的可靠性,可以用软件编程实现各种特性,也可以通过软硬件功能增添新的特性,这样不同的模块就都可以用一个硬件或一个软件平台实现。LIN总线的灵活性有利于降低生产和软硬件维护方面的成本。因为LIN总线非常简单,LIN总线在传输中的优势也逐渐被设计人员认可。试验表明,MM908E625能够很好的适应工作环境的要求,达到了预期的设计目的。由于LIN总线较CAN总线具有一定的优越性,因此将在工业及生活的各个领域得到更广泛的应用。
参考文献
[1] MM908E625E Data book.2004.
[2] MC68HC908EY16 Data book.2004.
[3] 宫辉,陈萌萌. 汽车电子类 MCU/DSP 器件及应用.2004,8.
[4] 张华,吴欣. 基于 MM908E625 和 Low-G 的汽车驾驶状态(疲劳驾驶)监控.2004,10.
[5] 自动细纱机工艺流程及参数计算.2004.