行口(两路UART/时钟同步口,一路时钟同步口) ·一路CAN模块 ·丰富的I/OI/O资源 从机MCU选用Atmel公司的基于8051内核的微控制器AT89C2051,其特点为: ·2K字节的Flash ·128×8位的内部RAM ·两个16位定时器/计数器 ·可编程的串行UART口 采用M306NBFCTFP作为主机节点的MCU是因为它具有CAN接口模块,而且增强型UART可用于支持LIN总线;采用AT89C2051作为从机节点的MCU是因为暂时不对从机节点所实现的具体功能进行设计,而只是着重于LIN网络通讯部分的设计。要履行LIN规范的通讯时序,所有节点都必须配备一个精确的振荡参考源,即主机节点(M306NBFCTFP)和从机节点(AT89C2051)上的晶振。M306NBFCTFP片内有一个专用的波特率发生器用于串口通讯,而AT89C2051则把定时器T1作为波特率发生器。M306NBFCTFP将I/O口作为扩展区域。这两种微控制器都具有增强型UART,可用于支持串行LIN传输。定时器T0可用于各种超时检测。此外,由于LIN的同步间隔超过普通UART所能处理的长度,所以从机节点AT89C2051使用中断来进行同步间隔检测。 图4和图5分别为主机节点和从机节点的电路原理图。
2.2 LIN总线通讯软件的设计 LIN节点是通过应用程序中的主机任务和从机任务来实现LIN网络通讯的。主机节点包含主机任务和从机任务,从机节点仅包含从机任务。主机任务流程图,从机任务流程图。
LIN主机任务包括以下内容: ·定义波特率(2kbit/s到20kbit/s); ·发送间隔场和同步场信号序列; ·发送标识符场; ·监控并检查校验和,验证数据的有效性; ·请求从机进入睡眠模式,需要时再将其唤醒; ·对从机的唤醒进行响应。 从机任务包括以下内容: ·检测间隔场信号; ·在同步区与网络取得同步; ·解释标识符,并作出相应动作: ——不需要任何通讯操作; ——接收数据场数据; ——发送响应帧; ·检查/发送校验和。3 电动汽车车身总线网络结构 根据LIN总线的物理层规定,LIN总线采用改进的ISO9141单总线标准,总线驱动为12V电源。编码方式为NRZ (Not Return Zero),电平分为隐性电平“1”和显性电平“0”两种,其误差要求如下:对于发出信息的节点,发出的隐性电平不得低于电源电压电源电压的80%,显性电平不得高于电源电压的20%;对接收节点来说,接收到的隐性电平不得低于电源电压的60%,显性电平不得高于电源电压的40%。考虑到信号衰弱等因素,LIN总线的长度最大不超过40米;同时一个LIN子网络上的节点数目小于16个。 根据电动汽车