lin(localinterconnectnetwork)总线是基于uart/sci(通用异步收发器/串行接口)的低成本串行通讯协议,其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是can总线的带宽和功能所不要求的部分。lin总线是一个低速的(最高20kb/s)a类串行总线协议,而lin收发器是本地互联网络(lin)主/从协议控制器和lin中的物理总线之间的接口,lin收发器在lin总线输入引脚处检测数据流,并通过rxd引脚将其传输到控制器,以及通过rxd引脚和lin总线输入引脚上传控制器的数据至lin总线,进而实现控制器与lin总线之间的数据交互。lin总线可以用于像座椅、门、控制板和方向盘等模块,用于将开关、执行元件和传感器从lin总线连接到主总线(如can总线)。
现有技术中,lin网络中各控制器通常具备lin总线唤醒功能,控制器被lin总线唤醒的过程中,lin总线会有电压跳变,当lin收发器接收到这个跳变后,lin收发器的rxd引脚也会有一个相应的电压跳变让控制器识别,控制器检测到这个电压跳变,就会从睡眠模式进入工作模式,进而控制器被唤醒,具体唤醒电路如附图1所示。本申请发明人在实践过程中发现,如图1所示,lin收发器通常由电池供电,在lin收发器不断电源的情况下,电池从馈电到充电完成后,即lin收发器的供电电压从非正常工作电压缓升到正常工作电压后,此时若lin总线发送唤醒信号,lin收发器的rxd引脚没有电压的跳变,导致控制器没有接收到有效的唤醒信号而无法被唤醒,控制器还是处于睡眠状态的情况。同时,本申请发明人在实践中以及根据lin收发器手册可知,当lin总线有唤醒信号时,lin收发器的inh管脚(batteryrelatedinhibitoutputforcontrollinganexternalvoltageregulator;activehighafterawake-upevent)会立刻从低电平跳变到高电平。
1、如下图为一个LIN网络,包含了一个Master节点,两个Slave节点:
在LIN总线通讯中, Master task 决定了在 LIN总线上传送的是哪一帧 , Slave task 提供每一帧所 携带的数据 。
2、如下图为一个LIN节点的层次结构图:
LIN13 与 LIN21 的区别在于,LIN13没有TL层,Signal interaction放在Protocol层中,没有单独的TP层。
3、LIN总线特点:
串行通信:线间干扰小,节省线束,传输距离长;
单线传输:增强的 ISO9141 (ISO 15765-1) , 总线电压基于 VBAT;
最高速率20Kbit/s:满足车身上大部分的应用需求;
单主多从结构:无需仲裁;
基于通用 UART/SCI 的低成本接口硬件:几乎所有MCU有具备LIN总线的硬件基础;
从节点无须晶振或陶瓷震荡器就可以实现同步:大幅度降低成本;
一条总线最多可连接16个节点:由总线电气特性决定;
支持诊断功能:支持UDS服务;
4、LIN21节点模型:
LIN13节点模型:
LIN21 与 LIN13 节点模型的差别在于 LIN13 没有 Transport layer ,所以也就没有流控、传输时间控制的功能, LIN13 协议中没有对诊断及节点配置进行规范,所以在 LIN13 中完成相应的功能都放在自定义诊断中完成。
5、LIN网络拓扑结构:
1)单主任务,多从任务;
2)主节点包含主任务和从任务;
3)从节点只包含从任务;
4)主任务决定总线上的报文,从 任务发送数据;
6、LIN帧:
通信原理: 主任务发送报头,从任务用响应来补充报头形成完整的报文。
报文传输: 报文的内容由ID来定义。
广播: 所有节点都能够接受总线上的帧。
7、调度表
1)负责调度网络各报文发送的顺序;
2)为每帧报文分配发送时隙(slot);
3)发送时隙:报文可以被发送的时间;
4)不同报文的发送时隙可能不同;
5)调度表在网络系统设计阶段确定;
6)调度表使得LIN通信具有可预测性;
8、切换调度表:
主任务可以拥有多个调度表,并在不同的调度表之间切换,该处理方式增加通信的灵活性。
(1)字节间隔位于每个字节之间;
(2)响应间隔位于报头与响应之间;
(3)留给MCU足够的处理时间;
(4)帧长度可能增长;
1、字节场
1)基于SCI的通信格式;
2)发送一个字节需要10个位时间(TBIT);
2、间隔场
1)表示一帧报文的起始,由主节点发出;
2)间隔信号至少由13个显性位组成;
3)隔界定符至少由1个隐形位组成;
4)间隔场是唯一一个不符合字节场格式的场;
5)从节点需要检测到至少连续11个显性位才认为是间隔信号;
3、同步场
1)确保所有从节点使用与节点相同的波特率发送和接收数据;
2)一个字节,结构固定:0X55;
4、标识符场
1)ID的范围从0到63(Ox3f);
2)奇偶校验符(Parity)P0,P1;
5、数据场
1)数据场长度1到8个字节;
2)低字节先发,低位先发;
3)如果某信号长度超过1个字节采用低位在前的方式发送(小端);
6、校验和场
用于校验接收的数据是否正确
1)经典校验(Classic Checksum)仅校验数据场(LIN13)
2)增强校验(Enhance Checksum)校验标识符场与数据场内容(LIN20、LIN21)
标识符为0x3C和0x3D的帧只能使用经典校验
计算方法:反转8位求和(inverted eight bit sum)
例:Data=0x4A、0x55、0x93、0xe5
7、帧长度
最小帧长度
THEADER_NOMINAL=34TBIT
TRESPONSE_NOMINAL=10(NDATA+1)TBIT
TFRAME_NOMINAL=THEADER_NOMINAL+TRESPONSE_NOMINAL
最大帧长度
THEADER_MAX=14THEADER_NOMINAL
TRESPONSE_MAX=14TRESPONSE_NOMINAL
TFRAME MAX=THEADER MAX+TRESPONSE MAX
8、帧类型
1)无条件帧
使用频度最高的帧类型,无任何发送条件;
标识符(ID)为0到59(0x3B);
主任务发出报头,一个任务响应,一个或多个任务接收如下图:
帧 ID = 0x30应答部分的发布节点为从机节点1,收听节点为主机节点。典型应用如从机节点1向主机节点报告自身某信号的状态。
帧 ID = 0x31应答部分的发布节点为主机节点,收听节点为从机节点1和从机节点2。典型应用如主机节点向从机节点发布信息。
帧 ID = 0x32应答部分的发布节点为从机节点2,收听节点为从机节点1。典型应用如从机节点之间彼此通信。
2)事件触发帧
引入事件触发帧的目的是节省带宽。
BCM(Master)需要获取4个车门的状态,该如何实现?
第一种方式:
每次向四个车门请求状态,浪费带宽,因为车门状态不是经常发生。
第二种方法:
将请求四个车门状态的帧合并为一个事件触发帧,Master不需要每次发送四个帧请求车门的状态,只需要发送一个事件触发帧即可,哪个车门状态发生变化,对应的车门将响应该事件触发帧。
事件触发帧的响应会出现如下三种情况:
第一种:没有车门状态变化。
第二种:一个车门状态发生变化:
第三种:多个车门状态发生变化,此时将出现冲突,冲突处理时,Master需要像第一种处理方式一样,重新发送四帧分别请求单个车门状态。LIN13与LIN20、LIN21处理方式有所区别,区别在于LIN13不切换调度表,占用事件触发帧的时隙发送,LIN20、LIN21将切换冲突调度表处理,如下图:
3)零星帧(偶发帧 (Sporadic Frame) )
引入零星帧的目的也是为了节省带宽,如:BCM(Master)需要发送对4个车窗的控制指令,但是,两个车窗的控制命令很少被同时执行,同样大量的带宽被浪费。
具体方案如下:
4)诊断帧
诊断帧用来传输诊断或配置信息,一般包含8个字节。
标识符:
60(0x3C):主请求帧
61(0x3D):从响应帧
传输方式:
5 )保留帧
标识符: 62(0x3e), 63(0x3f)
在LIN 21中未对保留帧进行定义, 留给用户自定义或将来的版本升级。
9、调度表
10、偏移
偏移(jitter)是指一帧报文实际开始发送的时刻与帧时隙起点的时间差(该值在LDF文件中定义) 。
TFrame_Slot> jitter + TFrame_Maximum
11、网络管理
12、睡眠(Go To Sleep)
睡眠指令只有主节点可以发送,从节点在接到睡眠指令之后,也可以选择不进入睡眠状态而继续工作,这根据应用层协议而定。
13、唤醒(Wake Up)
在一个处于睡眠状态的LIN网络中,任何一个节点都可以发送唤醒信号。
发送节点发送的唤醒信号:
接收节点检测的唤醒信号:
14、主任务状态机模型
15、从任务状态机模型
CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的CAN通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,在欧洲已是汽车网络的标准协议。
LIN(LocalInterconnectNetwork)是一种低成本的串行通讯网络,用于实现汽车中的分
布式电子系统控制。LIN的目标是为现有汽车网络(例如CAN总线)提供辅助功能,因此LIN
总线是一种辅助的总线网络。在不需要CAN总线的带宽和多功能的场合,比如智能传感器和制动装置之间的通讯使用LIN总线可大大节省成本。LIN技术规范中除定义了基本协议和物理层外还定义了开发工具和应用软件接口。LIN通讯是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式。仅使用一根12V信号总线和一个无固定时间基准的节点同步时钟线。
这种低成本的串行通讯模式和相应的开发环境已经由LIN协会制定成标准。LIN的标准化将为汽车制造商以及供应商在研发应用 *** 作系统降低成本。
有。vectorvn1640产品介绍得知,1640是有lin通讯的。LIN技术规范中,除定义了基本协议和物理层外,还定义了开发工具和应用软件接口。LIN通讯是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,仅使用一根12V信号总线,和一个无固定时间基准的节点同步时钟线。
什么是LIN总线
LIN(Local Interconnect Network)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。
CAN总线和LIN的区别
LIN报文帧包括帧头(hearder)与应答(response)两部分。主机负责发送至帧头;从机负责接收帧头并作出解析,然后决定是发送应答,还是接收应答或不回复。
帧头结构包括同步间隔段、同步段、PID段(受保护ID)段,应答部分包括数据段与效验和段。其中值“0”为显性电平、“1”为隐性电平,这点与CAN总线相类似。在总线上实行“线-与”:当总线有至少一个节点发送显性电平时,总线呈现显性电平;所有节点均发送隐性电平或者不发送信息时,总线呈隐性电平,即显性电平起着主导作用。
(1)同步间隔段 (表示一个帧的开始,至少有13位显性电平)
同步间隔段至少是由13位的显性电平组成,由于帧中的所有间隙或者总线空闲时总线均保持隐性电平状态。所以同步间隔段可以标志一个帧的开始。其中同步间隔段的间隔符至少为1位隐性电平。
LIN同步以下降沿为判断标志,采用字节0x55(01010101b)进行同步。在从机节点上可以不采用高精度的时钟,由此带来的偏差,需要通过同步段来进行调整。
LIN总线根据帧ID号的不同,把报文分为信号携带帧、诊断帧、保留帧。
PS:从机应答帧是一个完整的帧,与帧结构中的“应答”不同!
(4)数据段 (存放数据)
数据段可以包含1-8个字节,其中包含有两种数据类型,信号(singal)和诊断消息(diagnostic messages)。信号由信号携带帧传递,诊断消息由诊断帧传递。
协议中并没有规定哪一部分显示数据长度码的信息(这点与CAN总线不同),数据的内容与长度均是由系统设计者根据帧ID事先约定好的。
总线上的数据是以广播形式发出,任何节点均可以收到,但并非对每个节点有用(与CAN相同)。具体到发布与接听是由哪个节点进行完成这个取决于应用层的软件配置,一般情况下,对于一个帧中的应答,总线上只存在一个发布节点,否则就会出现错误。事件触发帧例外,可能出现0,1,多个发布节点。
5)效验和段 (对帧的传输内容进行校验,包含数据段字节和受保护ID)
效验和段是为了对帧传输内容进行效验。效验分为标准型效验与增强型效验。采用标准型还是增强型是由主机节点管理,发布节点和收听节点根据帧ID来判断采用哪种效验和。
(1)⭐无条件帧
无条件帧是具有单一发布节点的,无论信号是否发生变化,帧头均会被无条件应答的帧。
如上图中帧ID=0x30应答部分的发布节点为从机节点1,收听节点为主机节点,应用在从机节点向主机节点报告自身状态;帧ID=0x31中,应答部分为主机节点,收听部分为从机节点,应用在主机节点向从机节点发送消息;帧ID=0x32中应答部分的发送节点为从机节点2,收听节点为从机节点1,应用与从机节点之间的通信。
(2)事件触发帧
事件触发帧是主机节点在一个帧间隙中查询各从机节点的信号是否发生变化时使用的帧。当存在多个发布节点时,通过冲突解决进度表来解决冲突。
当从机节点信号发生变化的频率较低的时候,主机任务一次次地查询各个节点信息会占用一定的带宽。为了减小带宽的占用,引入了事件触发帧的概念。其主要原理就是:当从机节点信息状态没有发生变化的时候,从机节点可以不应答主机发出的帧头;当有多个节点信息同时发生变化的时候,同时应答事件触发帧头会造成总线的冲突。当主机节点检测到冲突时,便会查询冲突解决进度表来依次向各个节点发送无条件帧(无条件帧只有能1个节点应答)来确定从机节点的信息状态。
与事件触发帧关联的多个无条件帧需要满足以下5个条件:
★数据段所包含的数据字节数等长
★使用相同的效验与类型
★数据段的第一个字节为该无条件帧的受保护ID,这样才能够知道应答是哪个关联的无条件帧发送出来的
★由不同的从机节点发布
★不能与时间触发帧处于同一个进度表中
(3)偶发帧
偶发帧是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。当存在多个关联的应答信号变化时,通过预先设定的的优先级来仲裁。
与事件触发帧类似,偶发帧也定义了一组无条件帧。规定偶发帧只有由主机节点发布。偶发帧的传输可能出现三种情况:1)当关联的无条件帧没有信号发生变化,这是主机连帧头也不需要发送。2)当关联的一个无条件帧信号发生变化则发送该帧。3)当有多个无条件帧发生信号变化时,则按照事先规定要的优先级依次发送。
(4)⭐诊断帧
诊断帧包括主机请求帧和从机应答帧,主要用于配置、识别和诊断。主机请求帧ID=0x3c,应答部分的发布节点为主机节点;从机应答帧ID=0x3d,应答部分的发布节点为从机节点。数据段规定为8个字节,一律采用标准效验和。
(5)保留帧
保留帧的ID=0x3e与0x3f,为将来扩张需求用。
进度表
进度表是帧的调度表,规定了总线上帧的传输次序以及传输时间。进度表位于主机节点,主机任务根据应用程需要进行调度。进度表可以有多个,一般情况下,轮到某个进度表执行的时候,从该进度表的入口处开始执行,到进度表的最后一个帧时,如果没有新的进度表启动则返回到当前进度表的第一个帧开始执行;也有可能在执行到某个进度表时发生中断,跳到另一个进度表后再返回,如事件触发帧就是一个典型的例子。
以上就是关于lin收发器中lin如何读全部的内容,包括:lin收发器中lin如何读、LIN模块介绍、汽车中CAN线 和LIN线具体定义是什么 起应用有什么不同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)