LIN总线学习手记(全)

LIN总线学习手记1
* LIN概况
LIN(Local Interconnect Network)是一种面向汽车用低速网络的单主多从、异步串行总线标准,定位于需要互连但不需要强调实时性和可靠性的部件,作为CAN网络的补充和末梢。目标是以低廉的价格联接车上的传感器、执行器和处理器,并且允许不同厂家的模块随时添加进来。LIN目前不但用于多种型号的汽车上,而且日益广泛地用在智能传感器领域。
* LIN组织核心成员:5个车厂+1个半导体公司+1个测试工具公司。A(udi),B(M W),DC(戴克),V(olvo),VW(大众),Freescale和VCT(已并入Mentor Grap hics)。研、产、测、用一体化,这似乎是现代工业标准化的一种通行道路了。 * LIN规范
完全免费。
最新版本是2.0。2.0与1.3目前都被广泛采用,2.0可以兼容1.3,但反过来不行。
定义完整,对应OSI的下三层。入门阶段应该掌握下2层。
熊应堂LIN规范包含6个模块,可以分“接口”、“通信协议”、“软件开发接口”和“开发语言”四个部分。入门阶段应该掌握“接口”和“通信协议”,了解“软件开发接口”。
* LIN的通信协议
基于状态机:FPGA或CPLD
基于单片机
Bit-Bang方法:就是用IO口线模拟异步串口。成本最低,但CPU负担最重,代码最多。
SCI+Timer方法:就是利用UART硬件和Timer组合。成本适中,CPU
负担减轻。
专门LIN模块:由功能完备的LIN模块完成通信。成本较高,CPU负担最轻,代码最少。
* LIN的接口
+12V 单端非平衡信号。最高通信速率20kbps。
节点输入阻抗1K,从节点30K。
江苏电视台少儿频道LIN总线学习手记2
1
推荐
* LIN的前生今世与来生
源自ISO9141;目前是LIN 2.0和1.3并行发展,很快就要兼容24V电源系统;未来可能会变成SAE J2602。
*LIN的竞争对手
按照SAE的分类法,10K以下是A类网,125K以上是C类网,中间是B类网。LIN属于A类和B类的过渡。
低速网络标准从来都是雄并起,厂商、SAE行会和ISO组织分分合合,天下动荡。目前比较强势的标准有3:LIN、J2602和TTP/A。
LIN是欧洲车厂主导的标准,J2602则是代表美国车厂利益的简化版LIN2.0(物理层通信速率固定为10.4kbps,诊断接口功能缩减)。
滴答文学网
TTP/A是维也纳理工大学提出的,采用TDMA技术,实时性优于LIN,但是应用似乎没有LIN顺利。值得一提的是,同门的TTP/C是一种可以与CAN竞争的高速网络协议。
LIN总线学习手记3
推荐
*个人观点:LIN适合国内汽车电子行业
国内汽车电子行业的主力我觉得有2,一个是中控锁,另一个是汽车诊断仪。汽车音响和GPS导航我觉得与汽车关联松散,不能算吧。
中控锁可以借助LIN总线,与电动车窗等捆绑成为一个产品。
汽车诊断仪为了生存,要支持OBD/OBD-II/EOBD,2008后要开始支持ISO15 765。目前的诊断仪,其物理层和数据链路层仍然是ISO9141-1或者ISO14230 -1之类(看过标准之后发现,除了不能支持24V系统,最高速度限制在20K,其余指标LIN可胜任)。未来的ISO15765将选择ISO11898规定的CAN作为物理层和数据链路层,那时候,天生作为CAN子网的LIN就体现出它的“嫡系”价值了。
当然,LIN只是定义了OSI的下三层,高层协议是继续使用ISO14230-2/3还是ISO15765-5,需要拭目以待。
BTW,今天登陆LIN协会网站,赫然发现LIN已经升级到2.1了!明天要好好学习一下它,看看比2.0先进多少,嘿嘿。。。
LIN总线学习手记4
1
推荐
* LIN 2.1
据LIN协会的说法,LIN 2.1相比2.0,主要的变化有4:
1. 明确了LIN
2.0中表述不够清晰的概念;
2. 取消了诊断接口中的Message Identifier相关服务;
3. 物理层指标加严,
4. 单独定义传输层。
一些自己总结的差异点:截至第2章
体现了诊断标准的进展。从LIN的引用资料就可以看出来,ISO14229和IS O15765赫然在目。个人认为这些都是下一代基于CAN的车辆诊断系统的基础标准。
增补术语,部分术语更加准确。看过LIN 2.0的DIAG和CLS这2部分的人,可能会和我一样对各种各样的identifier不知所云。仅从PROT来看,LIN 2.1对于这些词汇的限制清楚多了,我想可以帮助理解。
环氧丙烯酸树脂
LIN 2.1对那些具有1个以上LIN接口的节点考虑地更多。体现在术语、通信时序等多个方面。
在阅读PROT时可以感觉到作者的高度,是站在应用层来考虑,以前读LIN 2. 0的时候没有这个感觉。哈哈,是不是说明我提高了呢?
CLS    = Configuration Language Specification
NLS    = Node Capability Language Specification
API      = Application Program Interface
DIAG  = Diagnostic and Configuration Specification
PROT = Protocol Specification
PHY    = Physical Layer Specification
LIN总线学习手记5
LIN物理层
和很多通信网络一样,LIN采用了层次化的体系结构,真实的通信是由电信号在物理媒体上进行的。
特点
●从节点无需高精度时钟
●单线通信
●从源头治理EMI问题
时钟源
我的择业观确保网络正常通信的方法有两种:一是让所有节点都向同一个时钟源同步并长期维持;二是让少数节点长期维持高精度和高稳定度的时钟,其他节点经常向这些节点同步。
考虑到成本问题,LIN采用了后者。一个LIN子网只有1个主节点,主节点以“轮询”的方式工作,所有通信总是由主节点发起。主节点维持一个较精确的时钟,各从节点的时钟精度不高,但都能与主节点取得同步。
规定主机节点、从机节点时钟误差指标时考虑了以下需求:
●片上振荡器具有低成本优势,是从机节点的首选,目前其精度可优于±14%。
●同步之前,主机节点按主机波特率发出的13位显性电平,从机节点应可按从
机波特率将其解释为不短于11位的显性电平。这里除了要考虑从机节点对时
间的测量误差(固有误差,取决于时钟误差和工作环境),还要考虑从机节点
可用波特率与预定波特率的误差(人为误差,取决于硬件结构)。
●同步之后,每传送一个字节(起始位边沿到停止位采样点之间),时钟累积
误差不大于1/2比特。这体现了通信双方波特率的稳定性。
两个从机节点之间通信时(例如无条件帧的应答段),那么双方的时钟误差也应该满足条件:每传送
一个字节(起始位边沿到停止位采样点之间),时钟累积误差不大于1/2比特。
通信介质
为了兼容现有的ISO9141标准,LIN沿用了单线通信方式。采用电源参考点作为通信电平参考点。
大多数传感器、执行器至少要接2根电源线,增加LIN功能所付出的成本与获得的灵活性相比,往往后者更为显著。对于汽车线束而言,由于传感器、执行器的接口可以复用,线束的数量不但不会增加,还可能减少。
单线通信也有不可忽视的弱点——线路压降和参考电平漂移问题。为此,LIN规范对收发双方的电平鉴别门限各设置了20%的冗余度。
EMI对策
通信过程中的EMI主要来自逻辑电平跳变,波特率和压摆率共同决定了EMI能量的大小。波特率可以视为单位时间内电平变化次数。压摆率是指电平跳变的持续时间。
在信号摆幅不变的情况下,每次跳变持续时间越短,单位时间跳变次数越多,其包含的
谐波成分就越丰富,电磁干扰的能量也越强;相反,跳变持续时间越长,单位时间跳变次数越少,其谐波成分越少,电磁干扰的能量也较低。
不少LIN收发器可以根据LIN的波特率对压摆率进行优化,也可以通过调整总线负载电容和电阻来进一步调整。LIN协会将LIN的最高波特率限制在20Kbps,SAE J26 02规范则选择了10.4Kbps。这不是LIN物理层的极限,而是在数据速率与EMI之间权衡的结果。
设计电路时的注意事项
工作环境对时钟的影响
片上振荡器容易受到环境温度的影响,石英晶体容易受到冲击振动的破坏。在电路板布局时,要让时钟器件尽量避开热源和易受外力冲击的部位。在选择时钟源时,一定要考虑使用环境的实际温度范围和冲击振动情况,确保在最恶劣的情况下,也能保证时钟的精度和稳定性。对于汽车电子产品更是如此。
总线负载与最大节点数量
LIN规范规定了主机节点和从机节点的端接电阻。端接电阻一端连接LIN数据线,另一端通过一个串联的二极管连接收发器的电源。串联二极管可以防止电源反接。
LIN子网各节点并联在一起,总线负载电阻等于各节点端接电阻的并联等效电阻(总线的导线电阻忽略),总线负载电容等于各节点输入电容和导线分布电容并联等效电容。
为了确保总线的负载电阻和负载电容满足最恶劣情况下正常通信的需要,LIN规范要求一个LIN子网内的最大节点数目不超过16。
兼容性
LIN 1.0/1.1/1.2/1.3/2.0/2.1的物理层彼此兼容。
市售LIN收发器
LIN的API
内容简介水处理控制系统
API是应用程序接口的缩写。LIN的API是一套标准化的软件包,用户只需要按照使用要求调用API,就可以实现LIN通信功能。使用API可以加速LIN节点开发进程。有了API的帮助,软件设计者不必关心LIN的工作细节,可以集中精力实现节点的功能。
LIN规范并不提供API的完整代码,它只是规定了API的接口和功能。LIN规范用C语言定义API,用户也可以用其他编程语言编写。API通常以.lib文件的形式、在编译阶段添加到用户代码中。
API与LIN节点的硬件规格有关,不能简单挪用。这是由于为了适应不同形式的LIN控制器硬件(SLIC、 SCI和Bit-Bang),API通常会内置硬件驱动程序。驱动程序针对特定的硬件进行了优化,是API不可分割的组成部分,LIN规范没有对驱动程序进行规定。这些因素决定了API也与硬件规格有关,不同的硬件平台应使用各自的API。
API的类别
LIN的API按照用途可分为3类,分别是核心API、传输层API和节点配置与识别API。三类API相对独立又彼此关联。
核心API是连接应用层与硬件电路的桥梁,协议层的所有工作都在这里实现,是API的基础。核心API
的功能包括初始化、进度表调度注、帧时隙控制注、信号量读写、报告LIN工作状态注等。根据对硬件规格的依赖程度,可以把核心API分成功能部分和驱动部分。功能部分负责实现LIN的进度表调度和帧时隙控制等关键任务,驱动部分即驱动程序(或硬件IP),控制LIN硬件协调工作,实现比特流的正常收发、帧校验、缓存管理和故障检测。从信息处理的角度来看,核心API与应用程序的接口是进度表(帧),与传输层API的接口是PDU,与硬件电路的接口可以是字节,也可以是位。
注:仅主机节点
传输层API是专门为实现配置、识别和诊断这三项服务设置的。传输层API可以建立并管理PDU队列、收发PDU以及检查PDU的通信状态。传输层API从应用程序接收指令,然后调用核心API来发送主机请求帧和接收从机应答帧。对于识别或配置服务,因为用于识别和配置的帧已经预先安排在进度表内,所以传输层API只是在有关帧时隙到来时才工作,不会影响核心API的进度表调度,不影响LIN的确定性。对于诊断服务,因为诊断需求来自诊断仪表或者上级网络(例如CAN),具有不可预测性,所以传输层API要能动态地产生诊断帧,并能控制核心API将诊断帧插入到进度表里执行,这会影响到LIN的确定性。LIN规范定义了两种传输层API——RAW和COOKED,二者功能一致,区别在于处理信息时的数据格式。RAW以PDU为单位处理信息,每次调用时总是处理1个PDU,
格式从信息处理的角度来看,传输层API与应用程序的接口是PDU,与核心API的接口也是PDU。

本文发布于:2024-09-21 12:26:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/234989.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   硬件   时钟   诊断   功能   部分
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议