微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于M68HC08的LIN节点设计与实现

基于M68HC08的LIN节点设计与实现

时间:07-25 来源:互联网 点击:
随着汽车电子业的飞速发展,车辆上的电子装置越来越多,电子装置之间的控制也越来越复杂。传统的布线连接方式,不仅使线束变得更加粗大、质量增加,使车内可利用的空间变小,且由于线路复杂,故障率增加,还会给维修带来很大的不便。通过车用现场总线技术建立车身控制局域网,对汽车电子装置、电器设备进行管理和控制,实现分布式多路传输,大大简化汽车的线束,减轻线束的质量,提高了系统工作的可靠性、稳定性。  

LIN(Local Interconnect Network)是由汽车厂商专门为汽车开发的一种低成本串行通信网络,用于实现汽车中的分布式电子系统控制,其主要目的是为现有的汽车控制网络CAN(Control Area Network)提供辅助功能。在对CAN总线通信要求低的场合,诸如智能传感器和制动装置之间的通信,使用LIN总线可大大降低成本。
  
1 LIN总线介绍  

LIN是一个串行通讯协议,它有效地支持汽车应用中分布式机械电子节点的控制。LIN总线控制方式是带单主机节点和一组从机节点的A 类

1.1 LIN总线特点  

(1) 采用低成本单线12V进行数据传输,线的驱动和接收特性符合改进的IS09141单线标准;(2) 传输速率可达20kbit/s;(3) 采用单主/多从结构,不需要总线仲裁,由主节点来控制总线的访问;(4) 基于通用UART/SCI的硬件接口,可使用低成本的半导体工艺实现,几乎所有的微控制器都有LIN必需的硬件;(5) 从节点不需要晶振或陶瓷振荡器就可实现自同步,从而减少了从节点的硬件成本;(6) 能保证最差状况下信号传送的等待时间,可避免总线访问冲突。  

1.2 LIN总线通信机制  

LIN总线是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,仅使用一根12V信号总线。一个LIN网络由一个主节点、一个或多个从节点组成。所有节点都有一个从通讯任务,该通讯任务按功能分为发送任务和接收任务。主节点还有一个主发送任务,一个LIN网络上的通讯总是由主发送任务所发起的。主控制器发送一个起始报文,从控制单元在接受并且滤除消息标志符后,一个从任务被激活并且开始本消息的应答。  

1.3 LIN报文帧  

报文帧由主机任务向从机任务传送同步和标识符信息,并将一个从机任务的信息传送到所有其他从机任务。主机任务位于主机节点内部,它负责报文的进度表、发送报文头(HEADER)。从机任务位于所有的(即主机和从机)节点中其中一个主机节点或从机节点发送报文的响应(RESPONSE)。  

一个报文帧(图1)是由一个主机节点发送的报文头和一个主机或从机节点发送的响应组成。报文帧的报文头包括一个同步间隔场(SYNCH BREAK FIELD)、一个同步场(SYNCH FIELD)和一个标识符场。报文帧的响应(RESPONSE)则由3个到9个字节场组成:2、4或8字节的数据场(DATA FIELD)和一个校验和场(CHECKSUM FIELD)。字节场由字节间空间分隔。报文帧的报文头和响应是由一个帧内响应空间分隔,最小的字节间空间和帧内响应空间是0。  

  
图1 LIN报文帧  

2 LIN节点设计  

2.1 M68HC08系列芯片简介  

Motorola 的M68HC08是一种高性能的8位单片机系列,具有速度快、功能强和价格低等特点。它的CPU与M68HC05单片机向上兼容,具有16位变址寄存器和堆栈指针,有200余条指令和10余种寻址方式,最快指令周期仅为0.125μS。  

2.2 LIN主节点设计  

本设计选用M68HC08系列的MC68HC908GZ32作为LIN主节点的MCU,其电路原理如图2所示。选用MC68HC908GZ32,主要因为它具有如下其特点:  

·32 Kbytes FLASH,1536 bytes RAM  
·8-MHz内部总线频率  
·丰富的I/O资源  
·两个双通道16bit定时接口模块(TIM)  
·一个MSCAN08 (Motorola 可升级的CAN)控制器模块  
·一个串行外围接口(SPI)模块  
·一个增强型串行通信接口(ESCI)模块  

ESCI模块可以使MCU和外围设备及其它MCU异步通信,故它可以作为LIN的主结点。由于MC68HC908GZ32内部带有CAN控制器(MSCAN08),因此它除了能够作为LIN的主节点,还可以作为CAN/LIN网关。  

本设计选用64脚QFP封装的GZ32芯片,VDD,VDDA,VDDAD均由+5V供电,TXD、RXD引脚分别接LIN的收发器(TJA1020)的TXD、RXD引脚,经过收发器LIN引脚出来的信号就是+12V的LIN信号了。GZ32的CANRX与CANTX引脚分别接CAN收发器(TJA1050)的RXD和TXD,经过收发器CANL和CANH引脚出来的就是具有差分信号的CAN信号。GZ32其它的大部分引脚都可以做I/O口使用,满足车身电器控制的需要。  
  
图2 LIN主节点的电路原理图  

主节点可以采用查询或中断的方式发送主机任务,本设计采用中断的方式发送主机任务。首先发送同步间隔(13个bit的显性电平加1个bit的隐性电平),GZ32里面专门用中止位(SBK)来发送同步间隔。将寄存器SCC2中的发送中止位SBK置1即会装载中止符(全0)置发送移位寄存器,再将SBK置0,移位寄存器中止最后一个中止符且至少发送1个逻辑1,构成13个bit的低电平和1个bit的高电平。同步间隔是区别全零数据字节的关键,必须按照这种方式发送才能把它与全零字节区别开来。然后按照SCI串行格式发送同步场0x55和标志符场。如果主节点还有从机发送任务,还需要按照SCI串行格式发送数据场和校验和场。  

2.3 LIN从节点设计  

本设计选用M68HC08系列的MC68HC908QL4作为LIN从节点的MCU,其电路原理图如图3所示,选用MC68HC908QL4,主要因为其具有如下特点:  

·4096 bytes FLASH, 128 bytes RAM  
·5-V 和 3.3-V 工作电压  
·5 V时内部总线频率为8-MHz ,3.3 V 时为4-MHz   
·一个双通道16bit定时接口模块(TIM)  
·13个双向输入输出口,1个只输入口  
·一个LIN从机接口控制器(SLIC)模块  

SLIC模块用来提供LIN总线上从机的连通性,与通用I/O口共享其引脚。它有以下特点:  

·自动的波特率设置和LIN信息帧同步  
·自动识别和确认LIN信息的同步间隔和同步场  
·自动计算校验和场和确认错误报告  
·无错误的情况下每个标准LIN信息帧可有最多2个中断  
·高速的LIN可以从83.33 kbps 到 120.00 kbps  

本设计选用16脚TSSOP封装的QL4芯片,VDD接+5V电源,SLCTX、SLCRX引脚分别接LIN的收发器(TJA1020)的TXD、RXD引脚。经过收发器LIN引脚进来+12V的LIN信号,经过收发器转换成+5V的接受和发送信号,分别传到QL4的接受和发送引脚。   

  
图3 LIN从节点电路原理图  

从节点在初始化完成后,其它操作都在中断里面完成。SLIC状态向量寄存器(SLCSV)提供一个索引偏移量直接反映LIN模块当前的工作状态,它可以和用户提供的跳转表一起用来快速进入一个中断服务子程序。LIN模块的所有状态在SLCSV里面都有相应的值对应,其值不仅反映LIN模块状态的索引偏移量,还反映中断的优先级。  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top