用于汽车网络开发的局域互联网LIN总线详解文档格式.docx

上传人:b****5 文档编号:15869412 上传时间:2022-11-16 格式:DOCX 页数:10 大小:336.15KB
下载 相关 举报
用于汽车网络开发的局域互联网LIN总线详解文档格式.docx_第1页
第1页 / 共10页
用于汽车网络开发的局域互联网LIN总线详解文档格式.docx_第2页
第2页 / 共10页
用于汽车网络开发的局域互联网LIN总线详解文档格式.docx_第3页
第3页 / 共10页
用于汽车网络开发的局域互联网LIN总线详解文档格式.docx_第4页
第4页 / 共10页
用于汽车网络开发的局域互联网LIN总线详解文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

用于汽车网络开发的局域互联网LIN总线详解文档格式.docx

《用于汽车网络开发的局域互联网LIN总线详解文档格式.docx》由会员分享,可在线阅读,更多相关《用于汽车网络开发的局域互联网LIN总线详解文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

用于汽车网络开发的局域互联网LIN总线详解文档格式.docx

ID表示特定的消息地址,而非目标。

接收并解码ID后,从方开始消息响应,该消息响应包含1至8字节的数据以及一个8位校验和。

主方控制消息帧的排序,该排序在调度中是固定的。

用户可按需改变该调度。

LIN标准更新过多个版本。

1.3版本最终确定了字节层通信。

2.0和2.1版本新增了更多消息规范和服务,但仍与LIN1.3版本的字节层兼容。

功能

NIUSBLIN是否支持

LIN1.3

支持

LIN2.0

支持1

增强的校验和

现成的从节点概念

NCF格式

诊断及从节点配置

字节数组

LIN2.1

新从节点配置服务

从方诊断(I-III类)

功能寻址

解析表

API对该功能不提供原生支持,但用户依然可实现该功能。

表1.LIN1.3、2.0及2.1版本对比

2.LIN帧格式

LIN总线是一种轮询总线,带有一个主设备和一个或多个从设备。

主设备同时包含一个主任务和一个从任务。

每个从设备仅包含一个从任务。

LIN总线上的通信完全由主设备上的主任务控制。

LIN总线上传输的基本单位是帧,每帧又分为标题和响应。

标题总是通过主节点传输,包含3个不同的字段:

中断、同步(sync)及标识符(ID)。

响应通过从任务传输,可位于主节点或从节点中,包含一个数据载荷及一个校验和。

通常,主任务通过传输标题,在循环中轮询每个从任务。

该标题包含一个中断-同步-ID序列。

启动LIN之前,每个从任务被配置为根据接收到的标题ID向总线发布数据或从总线订阅数据。

一旦收到标题,每个从任务将验证ID校验,并检查ID,以决定选择发布或订阅。

若从任务需要发布响应,将向总线传输1至8数据字节,后接1个校验和字节。

若从任务需要订阅,将从总线读取数据载荷和校验和字节,并采取适当的内部动作。

对于标准从至主通信,主方广播标识符至网络,仅有一个从方响应数据载荷。

主至从通信伴随着一个主节点中的独立从任务。

该任务自我接收发布至总线的全部数据,并以独立从节点的方式响应。

为了传输数据字节,主方必须首先根据需要传输的数据值,升级其内部从任务的响应。

接着,主方将发布合适的帧标题,内部从任务传输其数据载荷至总线。

图2.LIN消息帧

1.中断

每个LIN帧都以中断作为开始,包含13个显性位(额定),后接一个1位(额定)隐性中断分隔符。

中断的作用是将帧的开始通知给总线上的所有节点。

2.同步

同步字段是主任务在标题中传输的第二个字段。

同步被定义为字符x55。

同步字段允许进行自动波特率检测的从设备测量波特率周期,并调节其内部波特率,与总线进行同步。

3.ID

ID字段是主任务在标题中传输的最后一个字段。

该字段识别网络上的每条消息,并最终决定由网络中的哪些节点接收或响应每个传输。

所有从任务连续监听ID字段、验证其校验,并决定其是否是该特定标识符的发布者或订阅者。

LIN总线一共能提供64个ID。

ID0~59用于信号携带(数据)帧,60和61用于携带诊断数据,62预留给用户自定义扩展,63预留给未来协议升级。

ID作为一个受保护的ID字节通过总线传输,低6位包含原始ID,高2位包含校验。

受保护的ID(7:

6)

受保护的

ID(5:

0)

P

(1)

P(0)

ID

(1)^ID(3)^ID(4)^ID(5)

ID(0)^ID

(1)^ID

(2)^ID(4)

0–63

表2.校验计算方法

4.数据字节

从任务在响应中传输数据字节字段。

该字段包含1至8字节的载荷数据字节。

5.校验和

从任务在响应中传输校验和字段。

LIN总线采用2个校验和算法之一,以计算8位校验和字段中的值。

经典校验和的计算方法是单独累加数据字节,而增强校验和的计算方法则是累加数据字节及受保护的ID。

LIN2.0规范将校验和的计算过程定义为:

累加所有值,且当总和大于等于256时减去255(与modulo-255或modulo-256不同)。

根据LIN2.0标准,经典校验和用于LIN1.3从节点,而增强校验和用于LIN2.0从节点。

该规范进一步规定,ID60~63应该总是使用经典校验和。

NILIN接口允许设置校验和类型为经典或增强。

默认设置为经典。

根据LIN2.0规范,无论如何设置校验和属性,ID60~63总是使用经典校验和。

图3显示了主任务标题和从任务响应如何组合成一个完整的LIN帧。

图3.创建LIN帧

3.LIN总线定时

由于LIN总线是轮询总线,处理每帧分配的额定时间槽如下:

THeader_Nominal=34*TBit

TResponse_Nominal=10*(NData+1)*TBit

TFrame_Nominal=THeader_Nominal+TResponse_Nominal

处理每帧分配的最大时间槽如下:

THeader_Maximum=14*THeader_Nominal

TResponse_Maximum=1.4*TResponse_Nominal

TFrame_Maximum=THeader_Maximum+TResponse_Maximum

4.LIN拓扑结构及行为

LIN总线连接一个主设备(节点)和一个或多个从设备(节点),成为一个LIN簇。

对应的功能文件描述了该节点的行为。

节点功能文件输入系统定义工具,生成LIN描述文件(LDF),描述整个簇的行为。

系统生成器解析LDF,自动生成目标节点中的特定行为。

此时,按照LDF中指定的方式,主节点主任务开始在总线上传输标题,簇中的所有从任务(包括主节点自己的从任务)开始响应。

总体来说,LDF用于配置及创建LIN簇的调度行为。

例如,LDF定义了波特率、主任务传输标题时的顺序及时间延迟,以及响应时每个从任务的行为。

NILIN硬件及用于LIN的NI-CAN帧API无法为LDF提供原生的完整支持,即用户无法下载调度行为至硬件。

但是,硬件提供了访问总线的底层支持(写入标题及发布或订阅作为响应),用户可在应用程序层创建调度行为。

正如在NILIN响应输入帧类型的描述中所说,NILIN硬件采用响应队列存储从任务响应。

响应队列保留64个响应,与每个为LIN指定的(最多64个)ID一一对应。

这将确保LIN接口的从任务可在LIN规范规定的响应时间内响应标题。

用于LIN的NI-CAN帧API可通过一种稳健的方式完成与LIN总线的底层交互。

终端用户可使用基本功能,开发复杂应用程序,包括分析及原型化LIN网络。

用于LIN的NI-CAN帧API无法为LIN诊断或配置、LDF或调度表提供原生支持。

但是,用户可在采用用于LIN的NI-CAN帧API的应用程序中实现这些任务。

5.LIN错误检测及限制

LIN2.0规范声明,应当由从任务处理错误检测,且主任务的错误监控不是必需的。

LIN2.0规范不要求在一个LIN帧中处理多个错误,也不要求使用错误计数器。

一旦在帧内遇到第一个错误,从任务将中止帧处理,直到检测到下一个中断-同步序列(在主任务传输的下一个标题中)。

若记录总线错误属性设置为true,那么总线错误帧将记录至读取队列。

若记录总线错误属性设置为false,ncWriteNet或ncWriteNetMult将返回错误。

LIN还可向网络提供错误报告。

LIN2.0规范定义了一个Response_Error状态位,其中,从设备需在其传输的一帧中向主设备报告。

当从节点接收或传输的帧的响应字段中包含错误,该位设置完毕。

通过从任务的已发布响应中传输后,该状态位就被清空。

用于LIN的NI-CAN帧API无法对Response_Error状态位提供原生支持,但终端用户可在应用程序层轻松实现该功能。

该过程将记录总线错误属性设置为1,允许在读取队列中记录总线错误帧。

错误代码代表响应中的错误,应用程序可通过该代码,监控总线错误帧的读取。

这时,应用程序将在局部变量中设置一个Response_Error状态位。

应用程序可使用NILIN响应输入帧类型,更新从响应队列中包含Response_Error状态字段的数据,并清空局部变量中的字段。

6.LIN睡眠和唤醒

LIN的特色是允许设备进入睡眠状态并节约用电。

根据LIN2.0规范,当主任务发送的诊断主要求帧(ID=60)首个数据字节等于0时,所有从任务必须进入睡眠模式。

该特殊帧称为睡眠命令。

若LIN的非活动时间大于4秒,从任务也将自动进入睡眠模式。

用于LIN的NI-CAN帧API允许用户在应用程序层将LIN接口设置为睡眠模式,提供了极大的便利性。

一旦接收到包含睡眠请求信息的完整帧,或表明总线非活动时间超过4秒的总线非活动帧,用户可设置LINSleep属性为TRUE,让LIN接口进入睡眠模式。

LIN还可唤醒总线上的设备。

总线上的任何节点都可发起唤醒任务(不论是从节点还是主节点)。

根据LIN2.0规范,强制总线显性时间持续250µ

s至5ms可触发唤醒请求。

每个从节点应当检测唤醒请求,并在100ms内准备好处理标题。

主节点也应当检测唤醒请求,并在从节点准备完毕时开始发送标题(在接收到唤醒请求的100ms至150ms内)。

若主节点未在接收首个唤醒请求后的150ms内发送标题,请求唤醒的从节点可能发起第二次唤醒请求(并再次等待150ms)。

若主节点仍无响应,从节点将发起第三次唤醒请求,并再次等待150ms。

若仍然无响应,从节点必须等待1.5秒,才可发起第四次唤醒请求。

根据LIN2.0规范,用于LIN的NI-CAN帧API允许执行唤醒,无论LIN接口作为主设备还是从设备运行。

7.高级帧类型

LIN2.0规范进一步将LIN帧分为6种类型:

1、无条件型

2、事件触发型

3、偶发型

4、诊断型

5、用户定义型

6、预留型

值得指出的是,不同帧类型之间的区别在于其传输方式的定时,或数据字节的内容。

不论属于哪种类型,一个完整的LIN帧总是包含一个由主任务传输的标题和一个由从任务传输的响应。

用于LIN的NI-C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1