当前位置:首页 > 单片机 > 单片机
[导读] 摘 要: 介绍了几款MICROCHIP单片机及收发器实现低成本的汽车子网LIN总线节点。基于MICROCHIP单片机内带的增强型通用同步/异步收发器(EUSART)实现LIN的控制器,并用MICROCHIP的MCP2021作为LIN的电平转换器,最

     摘  要: 介绍了几款MICROCHIP单片机收发器实现低成本的汽车子网LIN总线节点。基于MICROCHIP单片机内带的增强型通用同步/异步收发器(EUSART)实现LIN的控制器,并用MICROCHIP的MCP2021作为LIN的电平转换器,最终实现一主多从的低成本的LIN网络。

  随着汽车总线应用的日益普及以及对汽车成本的要求越来越严格,LIN总线的市场占有率越来越高。本文从低成本的角度来实现LIN总线的节点,具有非常高的实用价值。

  1 LIN的基本知识与发展

  1.1 LIN的基本知识

  局域互连网络LIN(Local Interconnect Network)是低成本的串行通信网络,用于实现汽车中的分布式电子系统控制,是现有多种汽车网络在功能上的补充;同时它也是一个开放的标准,作为CAN总线的子总线,能缓解CAN总线数据拥挤的现状。

  由于LIN总线是可靠、低成本、开放标准的网络解决方案,它可以简化现存的多点解决方案,并且能降低在汽车电子领域中的开发、生产、服务和后勤成本。

  1.2 LIN的起源与发展

  LIN联盟成立于1999年,并发布了LIN 1.0版本。2000年,LIN联盟再次发布了1.1版本。2001年,第一辆采用LIN1.1版本的量产汽车面世。2003年,2.0版本出现。2006年,2.1版本面世并沿用至今。

  1.3 LIN的市场

  LIN总线产品已经成为汽车总线的第二大市场,预计将成为未来增长最快的一个市场。第一大市场是CAN总线,其在2006年已经达到顶峰。

  2 LIN的基本概念

  LIN在物理层是单线实现的,一般电压范围在8 V~18 V。LIN网络是单主多从结构,由于只有一个主节点,所以不存在总线仲裁。总线的速度一般在2.4 kbd~19.6 kbd之间。典型节点数为2~10个,由于阻抗匹配的原因,最多不能超过16个。如图1所示。


  LIN总线为串行通信方式,编码采用非归零码,8N1(8个数据位,没有校验位,1个停止位)方式,如图2所示。每帧的数据字节数可变,为2~8 B。在数据字节结束后,会发一个校验和来进行校验。

  在LIN网络中,主节点的时钟由高精度的晶振产生,从节点一般用RC震荡器产生。在本文中,从节点的时钟可以用MICROCHIP单片机的内部RC震荡器来实现。

  3 LIN协议的基本知识

  LIN的报文分为两部分,一是主任务,也叫报文头;另一个部分是从任务,也叫响应场。如图3所示。


  主任务位于主机节点内部,都是由主节点发出,它负责报文的进度表、发送报文头(HEADER)。从任务位于所有的(即主机和从机)节点中,其中一个(主机节点或从机节点)发送报文的响应(RESP*E)。

  3.1 报文头

  报文头分为三部分,按顺序分别叫同步间隔、同步字段、标识符字段。

  同步间隔是一个长时间的低电平(显性总线电平),低电平时间要大于10个位定时时间,通常为13个位定时时间。在长时间的低电平之后,要跟着一个短时间的高电平(隐性总线电平),一般为1~4个位定时时间。

  同步字段包含了时钟的同步信息。它的内容为0x55,表现在8个位定时中有5个下降沿(隐性跳变到显性的边沿)。从节点通过同步字段,可以使自己的总线速率与主节点同步。

  标识符字段定义了报文的内容和长度。其中,内容是由6个标识符位和2个奇偶校验位组成,如图4所示。标识符位的第5位和第6位(ID4和ID5)定义了报文数据场的长度。


  3.2 响应场

  响应场包含数据字段和校验和两部分。

  数据字段由8 bit数据的字节组成,传输由最低位(LSB)开始。校验和按照带进位加的方式计算,每个进位都被加到本次计算结果的最低位。

  3.3 保留的标识符

  标识符为0x3C和0x3D的标识符被用做诊断。其中0x3C是主机请求帧,它可以从主机向从机节点发送命令和数据。0x3D是从机响应帧,它触发一个从机节点(由一个优先的下载帧编址)向主机节点发送数据。

  标识符为0x3E是由用户定义的自由用法,标识符为0x3F是为将来使用而严格保留的。

  4 MICROCHIP单片机的软硬件实现

  4.1 硬件实现

  主节点一般采用Flash比较大的MICROCHIP中档8位单片机,或者采用带CAN控制器的高档8位单片机或16位单片机作为控制器。时钟采用高精度石英晶振。物理层的电平转换采用MICROCHIP的收发器MCP2021。

  从节点可用低成本的MICROCHIP中、低档8位单片机。时钟用单片机内部自带的RC震荡器。内部RC震荡器在常温25 ℃时,精度为1%,全温度范围(-40 ℃~+125 ℃)内精度为5%[1]。物理层的电平转换采用MICROCHIP的收发器MCP2021。

  4.2 软件实现

  4.2.1 主节点

  主节点完全按照LIN规范实现。主节点的任务就是发送报文头和发送接收数据,实现一个网关的作用。另外,单片机的剩余功能,可以用来做一些A/D和开关量的采集,还可以驱动一些蜂鸣器、小电机或者LED和LCD等器件。主节点发送流程如图5所示。


  LIN总线的通信可以通过配置单片机的EUSART来实现。每次通信都由主节点启动,此处不考虑从节点到从节点的通信。总线的配置也由主节点来实现,具体波特率可以通过波特率控制寄存器来实现。这里采用9 600的波特率。

  标识符不是一个节点的地址,而是一个报文的描述符。当主节点发送一个0x3C的命令后,再发送8 B的00H,总线就进入休眠模式。在休眠模式下,总线处于空闲状态,因此任何一个从节点都可以唤醒总线。

  主节点采用高精度的石英晶振作为时钟源,可以产生低误差的时钟信号。在这里,要把主节点设置为异步半双工通信模式,8 bit数据模式。时钟选择为内部时钟。

  由于EUSART有“发送间隔字符位(SENDB)”,可以在每次发送数据前发送同步间隔字符,这样可以省掉不少软件开销,使单片机可以致力于其他逻辑的运算。

  4.2.2 从节点

  从节点不需要系统配置的信息,所有从节点接收所有报文,然后再判断是否需要执行。

  从节点不需要外接石英晶振,可以用单片机内部自带的RC震荡器实现。MICROCHIP的中端8位单片机大多数都内带高精度的RC震荡器,在常温下(25℃),经过校准可以达到±1%的精度。

  每个单片机在出厂时都经过校准,并把校准字写在Flash空间的最后一位。在程序开始运行时,会把校准值装载到W寄存器里。在程序的第一条指令中执行MOVWF OSCCAL,即可将W寄存器里的值送到内部RC震荡器的校准寄存器里,从而实现校准。

  从节点先检测总线电平,当长时间的隐性电平结束,出现大于10个位定时的显性电平后,开始数5个下降沿的时间,用时间值除以8,就可以算出波特率。然后从总线上读取数据,解码ID,处理响应。

  EUSART支持波特率的自动检测和校准,可以使软件代码大量简化。从节点可以在总线空闲时进入休眠状态,当从节点检测到主节点发出的同步间隔时,可以从休眠状态唤醒。

  当从节点被其他外部中断唤醒时(例如A/D转换完成,外部IO电平变化等),从节点可以唤醒休眠的总线。

  如果从节点的功能比较简单,工作电流比较小,可以通过收发器MCP2021的参考电压输出端来供电。MCP2021有两种型号,参考电压的输出分别为5 V和3.3 V,适应5 V和3.3 V的单片机。这个参考电压的输出电流最大为50 mA,所以不适合工作电流比较大的场合[3-4]。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU
关闭
关闭