LIN总线的单片机实现

合集下载

LIN概述

LIN概述

1 概述LIN协议是新出现的一种新型低成本串行通信总线,其全称是Local Interconnect Network,即局部互联网络。

它最开始出现于汽车行业,是为解决汽车智能化和网络化的发展要求和降低汽车制造成本的矛盾而提出来的一种串行总线协议,主要用于车门、车灯等需要简单控制但又要求智能控制的场合。

它的主要特点是:采用单个主控制器/多从设备通信模式;基于普通UART/SCI接口硬件实现,协议简单;网络传输速率不高,最高可达20kb/s。

由于LIN协议的突出特点是协议对硬件的依赖程度低,可以基于普通单片机的通用串口等硬件资源以软件方式实现,成本低廉,因此可广泛应用于汽车行业以外的其他领域,如智能家庭网络内部的数据传输、节点控制等场合。

本文依据对LIN协议的分析,对其协议在普通单片机上的具体实现,即如何利用单片机有限的硬件资源实现LIN的主节点、从节点,进行可行性方案的研究、探讨。

2 LIN协议的简介LIN协议的最新版本是LIN Specification Package Revision 2.O,包括协议规范、节点诊断配置规范、物理层规范、API规范等几个方面,从硬件配置到节点配置语言都作了详细的规定。

下面就其协议规范作一简要介绍和分析。

LIN的数据传输是采用报文帧的形式进行的。

一个完整的报文帧由1个主机节点发送的报文头(header)和1个主机或从机节点发送的响应(response)组成,如图1所示。

报文头包括1个间隔场(break)、1个同步字节场(synch)和1个保护标识符字节场PID (Protected IDentifier)。

间隔场是由持续了至少13个位时的显性电平和至少1个位时的隐性电平组成;由主机节点产生,标志着一次数据通信过程报文帧的开始。

同步字节场包含时钟同步信息。

同步字节场的格式是0x55,表现在8个位定时中有5个下降沿,即隐性跳变到显性的边沿。

所有从机节点在主机节点发布报文头之后都应能检测到间隔场的存在,并且在正确地接收同步字节场后,准确计算出主机节点将要发送数据的波特率,并以此波特率作为下一步要发送或接收数据的波特率的设定值。

lin总线的工作原理

lin总线的工作原理

lin总线的工作原理
LIN总线是一种低成本、低速度的串行通信协议,主要用于车辆电子系统中的感知、控制和信息娱乐等模块之间的通信。

LIN总线采用主从架构,其中一个ECU(Electronic Control Unit)作为主节点,其他ECU作为从节点。

主节点通过发送比特帧来控制通信过程,从节点则负责接收并响应主节点的命令。

LIN总线的通信速率较低(一般为20 kbps),这主要是为了降低成本和简化设计。

通信过程中,主节点发送一个帧头,其中包括目标从节点的地址和命令信息。

从节点接收到帧头后,通过比特计时来确定自己是否是目标从节点,并在确定自己是目标从节点后,继续接收帧数据。

为了提高通信的可靠性,LIN总线引入了校验位,用于检测数据传输是否出现错误。

主节点和从节点都会对接收到的数据进行校验,如果发现错误,则抛弃该数据帧并请求重新发送。

此外,LIN总线还支持时间分割多路访问技术(Time Division Multiple Access,简称TDMA),即不同的节点在不同的时间段内进行通信,减少了冲突和干扰。

总之,LIN总线通过主从架构、低速率和校验位等机制,实现了车辆电子系统中各模块之间的简单可靠通信。

lin总线唤醒和休眠机制

lin总线唤醒和休眠机制

LIN总线唤醒和休眠机制详解一、引言在嵌入式系统中,为了降低功耗,增加电池寿命,通常需要对总线进行休眠和唤醒操作。

本文主要介绍LIN(Local Interconnect Network)总线的唤醒和休眠机制,包括其原理、实现方式以及相关注意事项。

二、LIN总线简介LIN(Local Interconnect Network)是一种用于汽车分布式电子控制系统的低成本串行通讯协议。

它基于SCI(UART)数据格式,采用单主机多从机的通信模式,具有实时性强、成本低、可靠性高等优点。

三、LIN总线的唤醒机制1. 唤醒源:LIN总线的唤醒源通常包括外部中断、定时器溢出、PWM信号等。

当这些唤醒源产生信号时,LIN总线会被唤醒。

2. 唤醒过程:当唤醒源产生信号时,主节点会发送一个唤醒帧,该帧包含了从节点的地址信息。

从节点接收到唤醒帧后,会返回一个应答帧,确认已经被唤醒。

3. 唤醒条件:从节点在接收到唤醒帧后,会检查自身的状态。

如果满足唤醒条件(例如,没有被睡眠、没有进入安全模式等),则会被唤醒。

四、LIN总线的休眠机制1. 休眠原因:LIN总线的休眠主要是为了降低功耗,延长电池寿命。

当系统处于空闲状态,或者在一定时间内没有数据传输时,可以触发休眠机制。

2. 休眠过程:当需要进入休眠状态时,主节点会发送一个休眠帧,该帧包含了从节点的地址信息。

从节点接收到休眠帧后,会进入休眠状态。

3. 唤醒条件:当有新的数据需要传输,或者有其他事件需要处理时,可以通过上述的唤醒机制将LIN总线从休眠状态唤醒。

五、注意事项1. 在进行LIN总线的唤醒和休眠操作时,需要确保所有的节点都能够正确理解和执行这些操作。

2. 在设计LIN总线的唤醒和休眠机制时,需要考虑到系统的实时性要求,以及可能出现的错误和异常情况。

3. 在实际应用中,可能需要根据具体的需求和条件,对LIN总线的唤醒和休眠机制进行定制和优化。

六、总结LIN总线的唤醒和休眠机制是嵌入式系统中非常重要的一种功能,它可以有效地降低系统的功耗,延长电池寿命。

基于AT89C51单片机的CAN-LIN网关设计

基于AT89C51单片机的CAN-LIN网关设计

基于AT89C51单片机的CAN/LIN网关设计
引言
现场总线技术已经广泛应用于工业控制中,尤其是CAN(Controler
Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线实际工程应用中占有了较大份额。

伴随着总线技术发展,LIN(Local Interconnect Network)总线作为一种低成本串行通信网络,其目标是为现有现场总线控制网络提供辅助功能,特别是汽车控制网络中总线应用,因此必然存在一个LIN总线和其它总线通信接口实现,本文以CAN总线为例,提出了一
种基于AT89C51CC03单片机CAN-LIN网关设计方案。

LIN是一种低成本串行通讯网络用于实现汽车中分布式电子系统控制,LIN目标是为现有汽车网络(例如CAN总线)提供辅助功能,因此LIN总线是一种辅助总线网络,在不需要CAN总线带宽和多功能场合比如智能传感器和制
动装置之间通讯,使用LIN总线可大大节省成本。

LIN通讯是基于SCI(UART) 数据格式,采用单主控制器/多从设备模式,仅使用一根12V信号总线和一个
无固定时间基准节点同步时钟线。

网关硬件设计
整个网关模块包括LIN接口、CAN接口、CAN波特率设置、LIN波特
率设置、电源模块、状态灯六个子模块(
AT89C51CC03是Atmel公司一款内嵌CAN控制器8位单片机。

本设计中以AT89C51CC03单片机为基础,选择TJA1020作为LIN总线收发器,采用单片机UART接口,在CAN模块设计部分选择PCA82C250作为CAN总线收发器,具体电路连接如。

单片机lin电路

单片机lin电路

单片机lin电路
单片机LIN电路是一种基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。

它主要用于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信。

LIN总线仅使用一根12V信号总线和一个无固定时间基准节点同步时钟线。

每个节点LIN线与地之间需要放置一个TVS或者压敏电阻用于增强总线的ESD防护。

工作电压范围为8~18V,总线信号最大输入显性电压为0.4 V_SUP,最小输入隐性电压为0.6 V_SUP,最大输出显性电压为0.2 V_SUP,最小输出隐性电压为0.8
V_SUP。

在硬件设计方面,为了实现总线上各个节点间电气隔离,单片机TXDC和RXDC 引脚并不是直接与PCA82C250ATXD和RXD引脚相连,而是通过高速光耦6N137相连。

这样很好实现了总线上各个节点间电气隔离,光耦部分电路所采用两个电源VCC和VDD必须是完全隔离的,否则采用光耦也就失去了意义。

在电路中设计了一个5位拨码开关,由于在各个不同工作系统中,LIN总线和CAN总线传输不一样,这就需要改换软件,因此在此设计中用一个5位拨码开关用于波特率设置,三位用于LIN波特率设置,两位用于CAN波特率设置。

同时为了展示网关工作状态,特意设计了工作指示灯,在接收和发送信号时分别以一定频率闪烁,当有故障出现时,两个灯同时点亮。

以上内容仅供参考,如需了解更多信息,建议咨询专业人士。

lin总线的工作原理

lin总线的工作原理

lin总线的工作原理LIN总线(Local Interconnect Network)是一种低成本、低带宽的串行通信总线,主要用于连接车辆内的电子控制单元(ECU)。

LIN总线的工作原理如下:1. 总线拓扑:通常采用星型拓扑结构,即所有的从设备(ECU)都直接连接到主设备(Master)。

2. 总线通信:通信是基于主设备发送数据帧给从设备,并等待从设备的响应。

总线上只能有一个主设备,但可以有多个从设备。

3. 数据帧结构:LIN总线使用帧概念进行数据传输,每个数据帧包括同步字段、标识符、帧数据和校验字段。

- 同步字段:用于标识数据帧的开始信号。

- 标识符:确定数据帧传输的目标从设备。

- 帧数据:携带有效数据,用于控制从设备的操作。

- 校验字段:用于检测数据传输的正确性。

4. 数据传输:主设备在总线上发送数据帧,并设置一个时间槽用于等待从设备的响应。

每个从设备根据标识符判断是否需要响应,若需要则在时间槽内发送响应帧。

5. 总线速率:LIN总线的标准速率为19.2 kbps,但也支持其他速率,例如9.6 kbps、10 kbps等。

6. 碰撞检测:当多个从设备同时发送响应帧时,可能会发生碰撞。

为了检测碰撞,每个从设备在发送数据前会检测总线上的电平,如果检测到总线上的电平与自身发送的数据不匹配,则判断为发生碰撞。

7. 主从通信:主设备通常负责周期性地向从设备发送命令和接收数据,而从设备则在接收到命令后执行相应操作,并向主设备发送响应。

总之,LIN总线是一种简单、低成本的串行通信总线,主要用于车辆内部各个电子控制单元之间的通信,通过主从设备的发送和接收数据帧来实现控制和监测功能。

lin总线工作原理

lin总线工作原理

lin总线工作原理
LIN总线是一种用于汽车电子控制单元(ECU)之间进行通信的协议。

它基于串行通信方式,用于传输低速信号,并且能够在不需要高带宽或长距离传输的情况下达到可靠的数据传输。

LIN总线的通信由一个主节点和多个从节点组成。

主节点负责控制整个总线的通信过程,而从节点则负责接收和响应主节点发送的消息。

主节点和从节点使用不同的标示符进行通信,从而实现消息的区分。

LIN总线使用一种称为时间分割多路复用(TDM)的方式来实现多节点之间的通信。

在TDM中,总线周期被划分为多个时间槽,每个时间槽对应一个节点的通信时隙。

每个节点只能在自己的通信时隙内发送或接收消息,而在其他节点的通信时隙内则需要保持静默。

在LIN总线中,数据传输使用异步串行通信方式。

每个节点通过发送和接收帧来进行通信。

发送帧由主节点发送,而接收帧则由从节点接收。

每个数据帧由一个标识符、数据和校验位组成。

标识符用于标识消息的发送者和接收者,数据用于传输具体的信息,而校验位用于检测数据传输过程中的错误。

LIN总线还提供了一种错误检测和纠正机制,以确保数据传输的可靠性。

当从节点接收到一个错误的数据帧时,它可以向主节点发送一个错误帧,以通知主节点发送正确的数据。

主节点收到错误帧后,会重新发送正确的数据帧。

总的来说,LIN总线通过TDM方式实现多节点之间的通信,使用异步串行通信方式进行数据传输,并提供错误检测和纠正机制来保证数据传输的可靠性。

LIN 介绍

LIN 介绍
LIN 的主要特性是什么 z 低成本 基于通用 UART 接口 几乎所有微控制器都具备 LIN 必需的硬件 z 极少的信号线即可实现国际标准 ISO9141 规定 z 传输速率最高可达 20Kbit/s z 单主控器/多从设备模式 无需仲裁机制 z 从节点不需晶振或陶瓷震荡器就能实现自同步 节省了从设备的硬件成本 z 保证信号传输的延迟时间 z 不需要改变 LIN 从节点的硬件和软件就可以在网络上增加节点 z 通常一个 LIN 网络上节点数目小于 12 个 共有 64 个标志符
怎样正确组成 LIN 报文帧 由报文标志符指示该报文的组成 这种通讯规则可以用多种方式来交换数据 由主节点
到一个或多个从节点 由一个从节点到主节点或其他的从节点 通讯信号可以在从节点之间 传播 而不经过主节点 或者主节点广播消息到网络中的所有节点 报文帧的时序由主控制 器控制
LIN 可用来实现什么样的应用 典型的 LIN 总线应用是汽车中的联合装配单元 如 门 方向盘 座椅 空调 照明灯
将得到非常完美的效果
尽管 LIN 最初的设计目的是用于汽车电子控制系统 但 LIN 也可广泛应用于工业自动化 传感器总线 大众消费电子产品中
第2页共2页
LIN 的通讯规则是什么 一个 LIN 网络由一个主节点 一个或多个从节点组成 所有节点都有一个从通讯任务
该通讯任务分为发送任务和接收任务 主节点还有一个主发送任务 一个 LIN 网络上的通讯总是由主发送任务所发起的 主控制器发送一个起始报文 该起
始报文由同步断点 同步字节 消息标志符所组成 相应的 在接受并且滤除消息标志符后
广州周立功单片机发展有限公司 Tel:(020)38730976 38730977 Fax: 38730925
LIN 介绍

汽车LIN总线的工作原理及数据传输解析

汽车LIN总线的工作原理及数据传输解析

汽车LIN总线的工作原理及数据传输解析当总线主设备需要发送数据时,它会发送一个命令帧,其中包含要发送数据的目的设备地址和相关控制信息。

总线从设备接收到命令帧后,根据命令帧中的地址信息决定是否处理该帧。

如果总线从设备需要回复数据,它会发送一个响应帧,其中包含回复数据以及相关控制信息。

总线主设备将接收到的响应帧解析为数据,并进行后续处理。

在数据传输方面,LIN总线使用了连续时间域多路复用电传输技术。

具体而言,它将发送的数据流分成一个一个的比特,并根据时钟信号在总线上进行传输。

在传输过程中,每个比特的开始由总线主设备发送一个起始保持帧标记(SOF)来表示。

每个比特之间通过总线上的电位变化表示1和0。

传输的比特数和数据速率由总线主设备控制。

在接收方面,总线从设备通过比较接收到的电位变化来解析接收到的数据比特。

如果没有检测到电位变化,则该比特被解析为逻辑0,否则解析为逻辑1除了数据传输,LIN总线还包括错误检测和容错机制。

例如,总线主设备会发送一个帧检验序列(CRC)作为命令帧的一部分,以便总线从设备可以检测数据传输过程中的错误。

总的来说,汽车LIN总线通过主从架构、连续时间域多路复用电传输技术和错误检测机制实现了在汽车电子系统中的数据传输。

它的低成本、低功耗和可靠性使其成为汽车电子系统中常用的通信总线。

数据传输解析方面,LIN总线提供了多种数据传输模式,包括事件触发式传输模式和周期性激发式传输模式。

事件触发式传输模式是指仅在发生特定事件时才进行数据传输。

例如,当汽车发动机启动时,总线主设备可以向其他设备发送相关信息。

周期性激发式传输模式是指在预定时间间隔内定期传输数据。

例如,汽车仪表盘上的显示器可以每隔几毫秒接收并更新车速数据。

在数据传输解析过程中,总线主设备负责生成命令帧并将其发送给特定设备地址。

总线从设备接收到命令帧后,根据地址信息和控制信息判断是否需要回复数据,并将回复数据封装成响应帧发送给总线主设备。

lin系统结构和工作原理

lin系统结构和工作原理

LIN系统结构和工作原理1.简介L I N(Lo ca lI nt er con n ec tN et wo rk)系统是一种用于车辆电子系统的串行通信协议,旨在替代早期的K线通信协议。

本文将介绍LI N系统的结构和工作原理。

2. LI N系统结构L I N系统由以下几个主要组成部分构成:2.1L I N总线L I N总线是整个系统的主要通信媒介,它采用单一线缆连接车辆上的控制单元和各个从节点。

LI N总线采用半双工的通信方式,即同一时间只能有一方进行通信。

总线上的从节点通过发送和接收帧来进行通信。

2.2主节点主节点负责控制整个L IN网络的通信,它负责发送广播帧和同步帧,还可以与从节点进行点对点的通信。

主节点通过控制发送帧的时间间隔来实现数据的传输控制。

2.3从节点从节点是连接在L IN总线上的被控制设备,它们通过接收主节点发送的广播帧和同步帧来同步数据,并执行相应的任务。

从节点可以被主节点指定为特定的地址,以实现点对点通信。

3. LI N系统工作原理L I N系统的工作原理如下:3.1数据帧结构L I N系统使用数据帧进行通信,每个数据帧包含以下几个重要的字段:标识符(I D)-:标识符是数据帧的唯一标识,用于区分不同的帧类型和从节点。

帧头(F H)-:帧头包含了同步字节和帧的长度信息,用于同步数据帧的接收。

数据(D)-:数据字段用于存储实际的数据信息。

校验位(C S)-:校验位用于验证数据帧的完整性和正确性。

3.2主节点发送过程主节点发送数据帧的过程如下:1.主节点首先发送同步帧,用于同步所有的从节点。

2.主节点等待一段时间,以保证从节点已经接收到同步帧并做好准备。

3.主节点按照预定的时间间隔发送数据帧给所有的从节点。

4.从节点接收数据帧并执行相应的任务。

3.3从节点接收过程从节点接收数据帧的过程如下:1.从节点等待同步帧的到来,以进行同步操作。

2.从节点根据标识符判断数据帧是否是发给自己的。

LIN总线技术原理基础PPT课件

LIN总线技术原理基础PPT课件
次发送新的唤醒信号; – 上述情况最多出现3次,此后,若还没将总线唤醒,则等待3个
TIME_OUT时间,再发送唤起信号。
8bit
>=4bit
.
报文结构:用户自定义帧
• 0x3E(ID 62)表示用户定义的扩展帧,后跟任意数 量的数据字节。
• 0x3F(ID 63)预留供将来使用。
.
LIN 的报文长度
.
报文结构:命令帧
•0x3C(ID 60)表示主节点请求帧(诊断帧),以便从主节点向从节 点发送命令和数据。 •0x3D(ID 61)表示从响应帧,该帧触发从节点向主节点发送数据。 •过程:
– 标识符为0x3c一个的“主机请求帧”,主机向从机发送数据和命令;标志 符为0x3d的“从机相应帧”触发一个从机向主机发送数据。
• 最初的成员有 奥迪, 宝马, 克莱斯勒, 摩托罗拉, 博世, 大众和沃尔沃 等
– 2000年,LIN联盟再次发布了1.1版本。 – 2001年,第一辆采用LIN1.1版本的量产汽车面世。 – 2003年,2.0版本出现。 – 2006年,2.1版本面世并沿用至今。 • LIN的市场 – LIN总线产品已经成为汽车总线的第二大市场; – 第一大市场是CAN总线,其在2006年已经达到顶峰。
主要内容 LIN 总线原理与应用
• LIN的主要技术特点 • LIN的通信任务和报文帧类型 • LIN的报文通信 • LIN的应用
.
汽车LIN总线原理与应用
LIN ( Local Interconnect Network 局部互联网) 是面向汽车低端 分布式应用的低成本(0.5美元)、低速率(20kbps)、串行通 信总线。
– 报文的数据长度可变。
• LIN应答帧报文的数据域长度可在0~8个字节之间变化,便于不同任务的通信 应用。

车载防盗报警LIN节点的设计与实现

车载防盗报警LIN节点的设计与实现
输 ,一个 完整 的报文 帧包括 帧 头和 信 上 报 防 盗 报 警 模 块 的 状 态 信 息 ;二 是 中几 乎不消耗 电流并在错误 模式 中减 A1 2  ̄ [ E 息 响应 。报 文头 包括 间隔场 、 同步场 接收 车身控 制模块 的命 令并驱 动喇 叭 小功率 消耗 。所 以 ,TJ 0 0I常适
0 8 x1 O 8 x2 唤 醒 睡 眠
态 并 通 过 I H引 脚 切 N
方 向
BCM— ATS M BC — AT M M S
4 软 件 流 程 系 统 的 软 件 主 要 包 括 实 现 单 片
周期
不 定 不 定
字节数
2 2
断 对 M 的 供 电 , CU
分 ,由于其 本身对 总线 通信 的实时性 节 点时钟 的 同步 。标 志符 场定 义了信 选 取时需 要尽量 考虑 低功耗 的器件 。
和 速 率 要 求 不 高 , 所 以 将 其 接 人 低 速 息 的 内 容 和 长 度 。报 文 响 应 由 主 机 节 L N收 发 器 选 取 T A12 ,它 是 连 接车 I J 0 0 总 线 LN上 。 I
点 或 从 机 节 点 根 据 标 志 符 场 的 信 息 发 身控 制 器 与 防 盗 报 警 模 块 之 问 的 物 理 出 , 由2 或 8 节 长 度 的 数 据 和 1 、4 字 字 媒 体 连 接 ,也 是 LI / 机 协 议 控制 N主 从
LN 线 I总
N传 输 媒 体 之 间 的 接 口。 协 议 节的校验 和构 成 。校验通 过计算 数据 器 和 LI
LI 线 主 要 用 于 不需 要 CAN性 的全部 字节而 得到 ,用于 接收 方验证 控制 器输 入 引脚TXD N总 的发送数据 流被 能 、速 率 和 复 杂 性 的 低 速 系 统 ,是 一 数据 的正确性 。 种 低 成 本 的 串 行 通 信 网 络 , 采 用 一 个 主 节 点 及 若 干 从 节 点 的 结 构 ,基 于 通 功 能 搦 逑 用 的 UART S 的 硬 件 接 口 ,最 高 速 / CI 率 可 以 达  ̄ 2k / 。 ] 10 b s LI N收 发 器 转 换 为 总 线 信 号 ,而 且 电 平 翻 转 速 率 和 波 形 都 受 到 限 制 , 以减 少 电 磁 辐 射 。 TJ 0 0 接 收 器 检 测 A12 的

lin 总线 功能寻址的用法 -回复

lin 总线 功能寻址的用法 -回复

lin 总线功能寻址的用法-回复Lin总线是一种常见的汽车电子总线,它被广泛应用于现代车辆中。

其中,功能寻址是Lin总线的一项重要特性,它为车辆提供了高效的通信和控制功能。

本文将详细介绍Lin总线功能寻址的用法,从基本概念到具体实施,为读者提供全面的了解。

第一部分:Lin总线和功能寻址的基本概念在介绍Lin总线功能寻址的用法之前,先了解一下Lin总线的基本概念。

Lin(Local Interconnect Network)总线是一种低成本、低复杂性、低速率的串行通信总线。

它被广泛应用于车辆上的各种电子系统,如仪表盘、中央控制单元(ECU)、车身控制模块等。

功能寻址是Lin总线的一项重要特性,它可以使各个节点(ECU)之间实现高效的通信和控制。

在Lin总线上,每个节点都有一个唯一的地址,用于标识自身和其他节点。

功能寻址通过地址来实现不同节点之间的数据交换和控制命令传递。

第二部分:Lin总线功能寻址的实现方式接下来,介绍Lin总线功能寻址的具体实现方式。

在Lin总线上,功能寻址有两种方式:基于物理寻址和基于功能寻址。

1. 基于物理寻址基于物理寻址是最简单的寻址方式,它通过节点在总线上的物理位置来进行寻址。

每个节点都有一个唯一的物理地址,由硬件决定。

节点可以通过直接连接到总线上的特定线路来发送和接收数据。

2. 基于功能寻址基于功能寻址是一种更为灵活和高级的寻址方式,它可以根据需要动态地分配地址。

在基于功能寻址的方式下,有一个主节点(Master),它负责分配地址和控制总线访问权限。

其他节点(Slave)在初始化过程中向主节点注册,并获得唯一的地址。

基于功能寻址的方式还可以使用节点层级结构来组织不同节点之间的通信。

具体来说,主节点可以使用不同的标识符来分类和识别节点,以实现更加精细和高效的通信和控制。

第三部分:Lin总线功能寻址的应用场景现在,让我们来看看Lin总线功能寻址的一些具体应用场景,以进一步了解其实际用法。

课件:基于LIN总线的主从收发系统

课件:基于LIN总线的主从收发系统
• 主要功能:
1)通过ADC0809把采集到8通道模拟信号转换为数字信号; 2)再通过使用LIN总线协议的89S52单片机发送数据; 3)发送的数据经过TJA1020整形(整形后的数据具有高频分 量小,抗干扰性强等优点)后送到从单片机,如成功实现通 信LCD显示屏则正常显示所发数据。(lin驱动器) 4)如上图显示的八位数据,前7位是7个模拟量通过ADC0809 转换的数字量,第8位是扩展的可调的数字量,由上图右边的 小板通过主单片机的P1口输入。
基于LIN总线的主从收发系统
基于LIN总线的主从收发系统
• 目的: 此项目的最终目的是控制基于LIN总线的汽车音响系统。而这块
开发板是基于LIN总线协议,主片发送控制信号,从片接收主片发 送的信号,相当于实际中的汽车音响系统;开发板功能的实现与 否直接影响到下一步能否对汽车音响系统进行控制。
基于LIN总线的主从收发系统
数据还是作为从片接受数据。插入时作为主片, 拔起时作为从片。
返回
三、从单片机
• 与主单片机电路一样,不再赘述。
从单片机
返回
四、数字量输入
• 图中按钮为可调节数字输入量,其中1~4对 应低4位,5~8对应高4位。
返回
五、显示部分
液晶显示器一共显示16进制的8字节数据.第一字节对应的是第一路模 拟输入量,由一可变电阻调节。第2~7字节显示的是第2~7路模拟输入 量,第8字节显示的是数字输入量。<Rece>代表从片正常接收数据,若 从片接收不到数据则显示<unrece>
返回
二、主单片机
二、主单片机
• 1)JP17为单片机的引出的P1口,与外扩的电路相 连输入可调节的数字信号;
• 2)U5为TJA1020,功能是优化单片机的输出信号; • 3)JP12是TJA1020的输出端引出来的插针,通过

用单片机实现LIN结点

用单片机实现LIN结点

用单片机实现LIN结点LIN 是低成本网络中的汽车通讯协议标准,LIN(Local Interconnect Network)是低成本的汽车网络,它是现有多种汽车网络在功能上的补充因为能够提高质量、降低成本,LIN 将是在汽车中用法汽车分级网络的启动因素。

LIN 的标准化将简化多种现存的多点解决计划且将降低在领域中的开发生产服务和后勤成本。

LIN 标准包括传输协议规范、传输媒体规范、开发工具接口规范和用于软件编程的接口LIN在硬件和软件上保证了网络节点的互操作性并有可预测的功能。

1.2 芯片简介SPMC75系列是凌阳科技公司设计开发的高性能16位通用MCU,具有很强的抗干扰性能、丰盛易用的资源以及优良的结构,特殊是增加的定时计数器和输出功能。

SPMC75系列MCU用法凌阳u'nSP内核,u'nSP内核是一种高效的16位CISC内核。

支持乘法、乘法累加、32/16位除法、FIR等高性能运算;支持两种中断模式。

可以便利的产生SPWM波、空间向量PWM(SVPWM)等各种电机驱动波形。

除了拥有高性能的CPU外,SPMC75系列MCU还集成了多种功能模块:多功能I/O口、同步和异步串行口、高性能、一般的定时计数器、多功能的捕捉比较模块、BLDC电机驱动专用位置侦测接口、两相增量接口、能产生各种电机驱动波形的PWM发生器等。

同时,SPMC75系列内部集成了32K Words的Flash和2K Words的SRAM。

利用这些硬设支持,SPMC75系列单片机可以完成诸如家用电变频驱动、标准的工业变频驱动器、多环的伺服驱动系统等复杂应用。

TJA1020(Philips)是LIN 主/从协议控制器和LIN(Local Interconnect Network)物理之间的接口,主要用作为车辆中的副网络。

用法的波特率可从2.4 到20Kbits/s。

TJA1020支持一般斜率和低斜率两种工作模式,并可在一般斜率模式以及低斜率模式间举行切换。

利用单片机开发linux编程思路

利用单片机开发linux编程思路

利用单片机开发linux编程思路以利用单片机开发Linux编程思路为主题,本文将介绍如何通过单片机来进行Linux编程的思路和方法。

Linux是一个开源的操作系统,具有稳定性、安全性和灵活性等优点,因此在嵌入式系统中得到了广泛的应用。

而单片机作为一种常见的嵌入式系统硬件平台,通过与Linux系统的结合,可以实现更多功能和扩展性。

我们需要选择一款适合的单片机开发板。

市面上有许多不同型号和品牌的单片机开发板可供选择,如Raspberry Pi、Arduino等。

选择合适的开发板是进行Linux编程的基础,根据实际需求和预算来选择适合的开发板。

接下来,我们需要安装Linux操作系统。

一般来说,Linux操作系统可以通过SD卡或者EMMC等存储设备进行安装。

具体的安装方法可以参考开发板厂家提供的文档或者论坛上的教程。

安装完成后,我们就可以进入Linux系统进行编程了。

在Linux系统中进行编程可以选择多种编程语言,如C、C++、Python等。

根据实际需求和个人喜好选择适合的编程语言。

对于初学者来说,C语言是一种较为常用的编程语言,也是学习Linux编程的基础。

在进行Linux编程时,我们可以利用单片机的GPIO接口来进行输入输出控制。

GPIO即通用输入输出,可以用于连接外部设备,如LED灯、传感器等。

通过对GPIO的控制,我们可以实现与外部设备的交互。

除了GPIO外,单片机还具有其他的外设接口,如UART、SPI、I2C等。

这些接口可以用于与其他设备进行通信,如串口通信、SPI 通信、I2C通信等。

通过这些接口,我们可以实现与其他设备的数据交换和通信。

在Linux系统中,我们可以使用相应的库函数来进行GPIO和外设接口的控制。

如wiringPi库、bcm2835库等。

这些库函数封装了底层的硬件操作,简化了编程过程。

在进行Linux编程时,我们还可以利用Linux系统提供的其他功能和服务,如网络通信、多线程编程、文件系统操作等。

stm32f103 标准库lin通信

stm32f103 标准库lin通信

stm32f103 标准库lin通信
STM32F103单片机可以通过标准库来实现LIN通信。

LIN总线是一种用于汽车电子系统的低成本串行通信总线,它主要用于连接汽车中的各种电子设备,如发动机传感器、车灯、门控等。

在使用标准库进行LIN通信之前,需要先进行必要的配置和初始化。

这包括设置串口、配置LIN节点地址和数据格式等。

以下是一些常用的标准库函数和步骤:
初始化串口:使用标准库函数对USART进行初始化配置,包括设置波特率、数据位、停止位等。

配置LIN节点:设置LIN节点的地址和数据格式,这可以通过配置相应的寄存器来实现。

发送数据:使用标准库函数向LIN总线发送数据。

这可以通过调用相应的发送函数来实现。

接收数据:使用标准库函数从LIN总线接收数据。

这可以通过调用相应的接收函数来实现。

需要注意的是,在进行LIN通信时,需要遵循LIN总线的协议规范,包括帧格式、消息传输规则等。

同时,还需要注意处理总线上的错误情况,如帧错误、超时错误等。

总之,使用标准库进行LIN通信需要一定的编程经验和对LIN总线协议的理解。

如果需要更深入的了解和应用,建议查阅相关的文档和资料,或者寻求专业的技术支持。

stm32 lin总线 方案

stm32 lin总线 方案

STM32 LIN总线方案1. 简介本文档介绍了基于STM32系列微控制器的LIN总线方案。

LIN(Local Interconnect Network)是一种用于低成本、低速率和短距离通信的串行总线协议。

它通常应用于汽车电子系统中,用于连接各种从属设备。

本文将介绍LIN总线的基本原理,STM32微控制器的LIN总线支持功能,以及如何在STM32上实现LIN总线通信。

2. LIN总线基本原理LIN总线是一种单主多从的串行通信协议,它使用简单的硬件和通信协议来实现低成本的通信。

LIN总线采用了主-从架构,其中一个主节点与多个从节点进行通信。

主节点控制整个通信过程,而从节点执行其指令。

LIN总线的物理层使用一对传输线,即LIN TX(发送)和LIN RX(接收)线。

通信采用异步方式进行,即没有时钟线。

数据通过Master发送,从节点接收,然后从节点可以回复给主节点。

LIN总线的通信速率可以配置为最高20 kbit/s,适用于低带宽和低速度的应用场景。

3. STM32微控制器的LIN总线支持STM32系列微控制器支持LIN总线通信,具有丰富的硬件和软件功能来简化LIN总线的实现。

3.1 硬件支持STM32微控制器的UART模块通常可以用作LIN总线的物理层接口。

UART 模块提供了发送和接收LIN数据帧所需的低级别控制。

此外,一些STM32型号还提供了LIN PHY(物理层)功能,可以直接集成在芯片内部。

3.2 软件支持STM32微控制器通常提供了专门的库和驱动程序来支持LIN总线通信。

这些库和驱动程序提供了高级别的API,使开发人员能够轻松地实现LIN总线应用。

STM32Cube软件包是ST官方提供的一个集成开发环境,其中包含了用于LIN 总线通信的库和代码示例。

开发人员可以使用这些工具和资源快速开发LIN总线应用程序。

4. 在STM32上实现LIN总线通信在STM32上实现LIN总线通信需要以下步骤:4.1 硬件连接首先,将STM32微控制器的UART模块的发送线(LIN TX)和接收线(LIN RX)连接到LIN总线的物理层接口。

lin 芯片的典型电路

lin 芯片的典型电路

lin 芯片的典型电路一、lin芯片简介lin(Local Interconnect Network)是一种低成本的串行通信总线系统,主要用于汽车电子控制单元(ECU)之间的通信。

lin芯片是lin总线系统中的关键组成部分,负责lin总线的通信和数据传输。

二、典型lin芯片的电路组成典型的lin芯片电路主要由以下几个部分组成:1. lin收发器lin收发器是lin芯片的核心部件,负责lin总线与ECU之间的信号转换。

它将ECU产生的数字信号转换为lin总线所需的电平信号,并将lin总线上的信号转换为ECU可识别的数字信号。

lin收发器通常采用差分信号传输,以提高抗干扰能力和传输速度。

2. 控制器lin芯片的控制器负责对lin总线进行控制和管理。

它接收来自ECU 的指令,并根据指令控制lin收发器的工作状态。

控制器还负责lin 总线的帧同步、数据校验等功能。

3. 电源管理电路lin芯片的电源管理电路用于对芯片的电源进行管理和控制。

它可以根据系统的需求对芯片进行供电或断电,以实现低功耗运行。

4. 外部接口电路lin芯片还包含一些外部接口电路,用于与其他设备或模块进行连接。

例如,通信接口电路用于与其他ECU进行通信,GPIO接口电路用于与外部设备进行通信和控制。

5. 时钟电路lin芯片的时钟电路用于提供芯片工作所需的时钟信号。

时钟信号的稳定性和准确性对lin总线的通信质量和可靠性有着重要影响。

三、典型lin芯片电路的工作原理典型的lin芯片电路工作原理如下:1. 初始化阶段lin芯片在上电或复位后,首先进入初始化阶段。

在该阶段,控制器将发送初始化帧到lin总线上,以与其他ECU进行通信和同步。

2. 通信阶段初始化完成后,lin芯片进入通信阶段。

在该阶段,控制器根据指令和数据要求发送和接收消息帧。

lin收发器负责将ECU产生的数字信号转换为lin总线上的差分信号,并将lin总线上的差分信号转换为ECU可识别的数字信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 概述LIN协议是新出现的一种新型低成本串行通信总线,其全称是Local Interconnect Network,即局部互联网络。

它最开始出现于汽车行业,是为解决汽车智能化和网络化的发展要求和降低汽车制造成本的矛盾而提出来的一种串行总线协议,主要用于车门、车灯等需要简单控制但又要求智能控制的场合。

它的主要特点是:采用单个主控制器/多从设备通信模式;基于普通UART/SCI接口硬件实现,协议简单;网络传输速率不高,最高可达20kb /s。

由于LIN协议的突出特点是协议对硬件的依赖程度低,可以基于普通单片机的通用串口等硬件资源以软件方式实现,成本低廉,因此可广泛应用于汽车行业以外的其他领域,如智能家庭网络内部的数据传输、节点控制等场合。

本文依据对LIN协议的分析,对其协议在普通单片机上的具体实现,即如何利用单片机有限的硬件资源实现LIN的主节点、从节点,进行可行性方案的研究、探讨。

2 LIN协议的简介LIN协议的最新版本是LIN Specification Package Revision 2.O,包括协议规范、节点诊断配置规范、物理层规范、API规范等几个方面,从硬件配置到节点配置语言都作了详细的规定。

下面就其协议规范作一简要介绍和分析。

LIN的数据传输是采用报文帧的形式进行的。

一个完整的报文帧由1个主机节点发送的报文头(header)和1个主机或从机节点发送的响应(response)组成,如图1所示。

报文头包括1个间隔场(break)、1个同步字节场(synch)和1个保护标识符字节场PID(Protected IDentifier)。

间隔场是由持续了至少13个位时的显性电平和至少1个位时的隐性电平组成;由主机节点产生,标志着一次数据通信过程报文帧的开始。

同步字节场包含时钟同步信息。

同步字节场的格式是0x55,表现在8个位定时中有5个下降沿,即隐性跳变到显性的边沿。

所有从机节点在主机节点发布报文头之后都应能检测到间隔场的存在,并且在正确地接收同步字节场后,准确计算出主机节点将要发送数据的波特率,并以此波特率作为下一步要发送或接收数据的波特率的设定值。

这样,经过了间隔场和同步字节场的接收,所有的从机节点达到了与主机节点的同步。

下一步,所有的从机节点以计算得到的波特率来接收报文头的保护标识符字节场。

保护标识符字节场PID(Protected IDentifier)与标准的串行通信数据帧格式相同,由1位起始位和1位停止位及8位数据位组成,属于数据场,如图2所示。

保护标识符字节场由两部分组成:标识符和标识符奇偶校验。

ID0~ID5属标识符,确定了标识符的内容,可从0~63取值。

其中,0~59(0x3b)用于信号传送帧,60(0x3c)和61(0x3d)用于传送诊断数据,62(0x3e)保留用于用户定义的扩展,63(0x3f)保留用于将来协议升级。

奇偶校验位P0和P1则是对标识符位ID0~ID5的奇校验和偶校验,作为对接收到ID的校验措施,以确保接收ID的正确性。

报文帧的响应(response)由3~9个字节场(data field)组成,包括2、4或8字节的数据场(data field)和1个校验和场(checksum)。

它们是由要发送数据的节点(主机节点或从机节点)所发送的数据和校验场所组成,都属于数据场。

校验和场(checksum)有两种:一般的校验和场与增强的校验和场。

一般的校验和是数据场所有字节数据和的反码。

和是按带进位加(ADDC)方式计算,所有数据字节和的补码与校验和字节相加的和必须是“0xFF”。

增强的校验和与一般的校验和的区别在于计算数据场和时加上了保护标识符字节场。

3 LlN协议在普通单片机上的实现现在单片机种类繁多,硬件资源各不相同,功能也千差万别。

总体来讲,基于普通单片机软件实现LIN协议的方法可分为两大类:一种是基于单片机通用串口的实现方式,另一种是基于单片机两个普通端口位的位操作实现方法。

3. 1基于单片机通用串口LlN协议的实现基于单片机通用串口的LIN协议的实现方法主要是针对具有通用串口的单片机来讲的。

这类单片机的代表当属最常用的51系列单片机,如Atmel公司的AT89C51/52。

(1)基于单片机串口LlN主节点的实现由LIN协议的分析可知,在一次帧通信过程中,主从节点在大部分时间里是以标准的串行通信数据帧的形式交换数据的,这也是LIN协议可以基于单片机通用串口实现的原因。

帧通信的关键是要实现主节点和从节点的同步。

在同步过程中,主、从节点所执行的操作是不同的:主机节点的任务是要发送报文头,从节点的任务是接收和判断报文头,实现与主节点的同步。

报文头的间隔场是一个基于主机节点时钟频率的13个以上位时(bit time)和至少1个位时的间隔界定符。

对主节点来讲,这一部分是实现主节点功能的关键。

间隔场和间隔界定符的实现可采用改变串口波特率,用串口输出特定数据的方法来实现。

例如在一般情况下,单片机采用19.2kb/s波特率的速率传输数据,可先将串口的波特率设置为9.6kb/s,则传输0xc0这样一个数据就可以实现按照19.2kb/s的波特率来计算位时的同步间隔和同步间隔界定符的位时长度要求(因若采用19.2kb/s的传输率传输00数据只能实现10个位时的同步间隔符,无法达到13个位时的要求)。

随后的PID场的发送和数据场的发送或接收,可以基于单片机的通用串口以正常的19.2.kb/s的波特率来操作。

基于串口LlN主节点硬件原理如图3所示。

主节点在一次帧通信过程中,要根据通信过程中不同的阶段,将串口设置成不同波特率的发送或者接收状态,以完成报文头间隔场、同步字节场的发送,保护标识符字节场的发送,及下一个阶段的接收或者发送数据过程。

(2)基于单片机串口LlN从节点的实现从节点实现的关键是能够正确实时地接收报文头,达到与主节点的同步,为下一步的数据交换做好准备。

基于单片机通用串口构成的LIN从节点的实现方案有两种:一种是查询方式,另一种是中断方式。

两种方法的区别在于报文头接收判断方法的不同。

查询方式硬件原理如图4所示。

同样,从节点也要求准确的波特率和计时,对时钟要求较高。

建议采用22.1184MHz 晶振。

在查询方式的硬件电路中,为了能及时感受到主节点报文头的起始阶段,可以将串口接收数据端,RXD端与单片机的一个外部中断触发端口(INTl或INT0)相连。

这样,当主节点发送过来的间隔场的下降沿到来时,就可以实时地触发从节点进入对报文头的接收查询程序段。

在报文头的接收查询过程中,从节点自总线电平下降沿到来之际,就对总线显性电平(低电平)持续的时间进行累积计算,直到发现总线恢复为隐性电平(高电平)为止。

如果此段持续时间大于11个主节点工作位时时间,那么从节点就断定是一次帧通信的开始。

接着从节点对同步字节场的接收作好准备,在同步字节场开始位的第一个下降沿起,连续对同步字节场的后4个下降沿进行计时累加,最后将得到的计时时间除以8,得到主节点发送数据的位时时间,即主节点下一步将要进行数据通信的波特率。

从节点以此作为串口波特率设定值,通过串口与主节点交换数据。

随后的串口发送或接收数据可采用串口查询或中断的方式进行。

间隔场和同步字节场的计时方法有两种:一种方法是采用软件模拟一个位时时间,在各阶段通过计算调用位时程序次数间接计算出时间;另一种方法是将定时器TO设定成定时一个位时时间后中断,在各个阶段查询定时器T0中断次数,通过计算TO中断次数的差值,也可以间接算出各个阶段的持续时间长度。

查询方式硬件电路简单,系统中断的种类和次数少,程序运行比较稳定;但不足之处是系统大部分时间都花费在对帧报文头的等待查询上,系统资源利用率低。

中断方式则是对查询方式的不足之处改进和提高,其硬件原理如图5所示。

中断方式对间隔场和同步字节场的接收则完全采用中断方式进行。

由于普通单片机的外部中断触发端只有下降沿和低电平两种触发方式,所以报文头间隔场开始阶段和同步字节场的下降沿可以触发从节点,但报文信号的上升沿却无法让从节点感知。

改进方法是,让接收数据流分别经过1个三态门和1个三态非门再进入单片机的串口,2个三态门由单片机的两个端口来控制。

一般情况下,三态门导通,三态非门截止,数据流正常进入单片机串口。

当间隔场的下降沿触发单片机后,程序控制三态门截止,三态非门导通,数据流反相进入单片机,间隔场的上升沿经过三态非门后变成下降沿,同样也可以触发单片机中断。

在随后的同步字节场的接收中,可以按照正常中断方式进行,即可由同步字节场的5个下降沿触发单片机中断5次接收。

由于采用中断方式,所以各个阶段的计时就只能采用查询定时器T0中断次数的方法来实现。

中断方式的优点是,对主程序运行的影响比较小,系统的资源利用率高。

不足之处是增加了单片机的外围电路,硬件稍显复杂。

3.2基于单片机普通端口位LIN协议的实现对于没有通用串口的单片机来讲,必须采用端口位位操作的方法来实现LIN协议。

这类单片机的硬件资源一般很有限,有的只有一个定时器,还不具备外部中断能力,如Microchip的P IC18F200系列。

这种单片机的突出特点是价格低廉,做出的LIN节点将具有无可比拟的价格优势。

(1)基于普通端口位LIN主节点的实现基于单片机普通端口位的1IN主节点,在报文头和数据场的实现上都要采用位操作的方法来实现。

其硬件构成原理图和基于单片机通用串口LIN主节点硬件原理图完全相同,区别在于前者数据收发端RXD和TXD端可以是任意的单片机普通端口位,而后者则必须采用单片机通用串口。

报文头间隔场的实现可以将定时器TO设置为定时一个位时中断的工作方式,置LIN 数据发送端TXD为显性电平(低电位),启动定时器T0对显性电平持续时间进行计时,当达到13个以上位时后置LIN发送数据端TXD为隐性电平(高电位),这样就完成了间隔场的发送。

在随后的间隔场界定符和同步场的实现上,也采用同样的方法。

在数据场的接收和发送中,同样需要定时器TO的配合来完成。

发送数据时,从待发数据存储区中依次取出一个个数据,转换成10个bit类型的位数据。

定时器T0同样是1个位时中断1次,在中断处理程序中改变计时变量值。

发送数据程序根据计时变量的差值将lO个bit类型的位数据依次按照持续1个位时时间从数据发送端TXD端发出;接收数据时,则需要先用定时器T0计时半个位时时间,以检测1个字节的开始位,然后恢复定时器TO的一个位时计时中断设定。

这样,在随后的数据位检测中就能保证在数据位的中间时刻检测该数据位,从而保证数据位接收的正确性。

在10个bit类型的位数据接收完毕后,还要将其转换为一个byte类型的数据,存入相应的数据缓冲区。

(2)基于普通端口位LIN从节点的实现基于单片机普通端口位LIN从节点硬件电路和基于单片机通用串口查询方式的从节点硬件电路基本相同,区别同样也是没有用到单片机的通用串口。

相关文档
最新文档