道路车辆 局域互联网络(LIN) 第5部分:应用程序接口_第1页
道路车辆 局域互联网络(LIN) 第5部分:应用程序接口_第2页
道路车辆 局域互联网络(LIN) 第5部分:应用程序接口_第3页
道路车辆 局域互联网络(LIN) 第5部分:应用程序接口_第4页
道路车辆 局域互联网络(LIN) 第5部分:应用程序接口_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS43.040.10

CCST36

中华人民共和国国家标准

GB/TXXXXX—XXXX/ISO17987-5:2016

`

道路车辆局域互联网络(LIN)

第5部分:应用程序接口

Roadvehicles—LocalInterconnectNetwork(LIN)—

Part5:Applicationprogrammersinterface(API)

(ISO17987-5:2016,IDT)

(征求意见稿)

(本草案完成时间:2021.11.20)

在提交反馈意见时,请将您知道的相关专利连同支持性文件一并附上。

GB/TXXXXX—XXXX/ISO17987-5:2016

前言

本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规则起

草。

本文件为GB/TXXXXX《道路车辆局域互联网络(LIN)》的第5部分。GB/TXXXXX已经发布了以下

部分:

——第1部分:一般信息和用例定义;

——第2部分:传输层协议和网络层服务;

——第3部分:协议规范;

——第4部分:12V/24V电气物理层规范;

——第5部分:应用程序接口;

——第6部分:协议一致性测试规范;

——第7部分:电气物理层一致性测试规范;

——第8部分:电气物理层规范直流电源线上的局域互联网络。

本文件等同采用ISO17987-5:2016《道路车辆局域互联网络(LIN)第5部分:应用程序接口》。

本文件做了下列最小限度的编辑性改动:

——将国际标准中的“本国际标准”改为“本文件”;

——删除国际标准的前言;

——规范性引用文件由国际标准替换为等同采用的国家标准。

本文件由中华人民共和国工业和信息化部提出。

本文件由全国汽车标准化技术委员会(SAC/TC114)归口。

本文件起草单位:

本文件主要起草人:

III

GB/TXXXXX—XXXX/ISO17987-5:2016

引言

GB/TXXXX标准定义了用例、通讯协议和车辆通讯网络的局域互联网络的物理层需求。

所提到的LIN协议是一种基于汽车的低速通用异步收发器的网络,它的一些关键特性是基于信号通

讯,基于调度表的帧传输,主从通讯错误检测,节点配置和诊断服务传输。

LIN协议适用于低成本的汽车控制应用,比如门模块和空调系统。作为车辆低速控制应用的通讯基

础设施,它能提高以下功能:

——基于信号在不同节点的应用程序之间交换信息;

——比特率支持1kbit/s到20kbit/s;

——基于确定性调度表的帧通讯;

——唤醒和休眠LIN网络的网络管理方案;

——提供错误处理和错误信号的状态管理;

——传输层允许大量数据的传输(例如诊断服务);

——如何处理诊断服务的规范;

——电气物理层规范;

——用于描述从节点属性的节点描述语言;

——用于描述通讯行为的网络描述文件;

——应用程序接口。

GB/TXXXX标准基于ISO/IEC7498-1中规定的开发系统互连基本参考模型,该模型将通信系统架

构分为七层。

该模型将数据通信架构分为七层,即(自上而下)应用层(7层)、表示层、会话层、传输层、网

络层、数据链路层和物理层(一层)、这些层的子集都应用在GB/TXXXX中(所有部分)。

GB/TXXXX标准区分了由一层提供给它上面一层的服务和该层用来在它的对等实体之间发送消息

的协议。这种区分的原因主要是为了服务,尤其是应用层服务和传输层服务,也用于除LIN以外的其

他类型的网络。因此,协议对服务的使用者是隐藏的,并且如果有特殊的系统需求,可以修改协议。

GB/TXXXX标准提供了支持以下相关要求实施所需的所有文件和参考材料:

——GB/TXXXX.1:本文件概述了GB/TXXXX系列标准和结构及用例定义和供所有后续部分使

用的公共资源集(定义、引用);

——GB/TXXXX.2:本文件规定了在LIN节点之间传输消息的PDU传输协议网络层要求;

——GB/TXXXX.3:本文件规定了在抽象逻辑层上实现LIN协议的要求及与硬件相关的规则;

——GB/TXXXX.4:本文件规定了实现互连协议所需的有效硬件组件的要求;

——GB/TXXXX.5:本文件规定了LIN应用程序接口(API)以及节点配置和标识服务。节点配

置和标识服务在API中进行定义,定义了从节点的配置方式和从节点如何使用标识服务;

——GB/TXXXX.6:本文件规定了根据第2部分和第3部分检查LIN协议实现的一致性,包括对

数据链路层、网络层和传输层的测试;

——GB/TXXXX.7:本文件规定了根据第4部分检查LIN电气物理层实现(抽象逻辑层)一致性

的测试;

——GB/TXXXX.8:本文件规定了LIN通信系统直流电源线电气物理层(EPL)的实现要求和EPL

的符合性测试计划。

IV

GB/TXXXXX—XXXX/ISO17987-5:2016

LINAPI是一个网络软件层,它位于LIN网络配置中(即,信号如何映射到特定帧),用于用户为专

用ECU做一个应用程序。用户提供API,在LIN网络上通过信号传输。工具关注从网络配置到程序代码

的步骤。提供给用户配置灵活性。LINAPI仅是一种当前可能的API,不同于其他的AUTOSAR标准中的

LIN主节点的定义。因此,LINAPI作为技术报告发布,在这里所有的定义仅仅是提供指导性的。

V

GB/TXXXXX—XXXX/ISO17987-5:2016

道路车辆局域互联网络(LIN)

第5部分:应用程序接口

1范围

本文件规定了LIN应用程序接口(API)。

本文件适用于M1类车辆,其它类车辆使用的系统可参照本文件执行。

2规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,

仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本

文件。

GB/TXXXX.2道路车辆局域互联网络(LIN)第2部分:传输协议和网络层服务(GB/TXXXX.2,

ISO17987-2:2016,IDT)

GB/TXXXX.3道路车辆局域互联网络(LIN)第3部分:协议规范(GB/TXXXX.3,ISO17987-

3:2016,IDT)

3术语、定义和缩略语

术语和定义

GB/TXXXX.2和GB/TXXXX.3界定的术语和定义适用于本文件。

符号

Ⅱ逻辑或二进制操作。

缩略语

下列缩略语适用于本文件。

API:应用程序接口(Applicationprogrammersinterface)

OSI:开放式系统互联(Opensystemsinterconnection)

PDU:协议数据单元(Protocoldataunit)

RX:收发器的接收引脚(Rxpinofthetransceiver)

UART:通用异步收发器(Universalasynchronousreceivertransmitter)

4应用程序接口定义

LIN协议集生成

1

GB/TXXXXX—XXXX/ISO17987-5:2016

LIN描述文件(LDF;见GB/TXXXX.2)是通过工具解析并生成LIN驱动程序的配置。节点性能语言规

范(NCF)一般不用于此过程,因为它面向的是描述从节点硬件,因此,不需要API。工作流程的描述和

LDF与NCF的角色,见GB/TXXXX.2。

操作概念

4.2.1概述

API分成三个部分:

a)LIN核心API;;

b)LIN节点配置和标识API;

c)LIN传输层API(可选)。

4.2.2LIN核心API

LIN核心API处理初始化,运算以及应用与LIN核心之间的信号基本交互。这意味着应用不需要关心

帧和帧传输,如果需要,可通知目标监测特定帧的发送。API调用控制LIN核心,见4.3.5。

API的调用主要有两个版本:

a)静态调用嵌入在调用接口名字中的信号或接口名字;

b)动态调用提供的信号或接口作为参数。

注意:LDF中定义的指定对象(信号,调度表),扩展它们的名字使用通道后缀名(见GB/TXXXX.2

中的通道后缀名)。

4.2.3LIN节点配置和标识API

LIN节点配置和标识API是基于服务实现的(请求/响应),即主节点应用调用一个API例行传输请求

到特定从节点并等待响应。从节点驱动自动处理此服务。

LIN节点配置及标识API的行为被涵盖在节点配置及标识中(见GB/TXXXX.3)。

4.2.4LIN传输层API

LIN传输层基于报文。它的用途是作为报文的传输层,用于LIN驱动设备的外部诊断报文解释器。存

在两种专有的可选API,一种原始的方式,允许应用控制每一个帧内容的发送,另一种基于报文的方式,

执行全部的传输层功能。

LIN传输层API行为定义见GB/TXXXX.2。

API约定

4.3.1概述

LIN核心API有一套函数(见表1),基于此理念给API一个特定的命名区间,这样是为了降低现有软

件的冲突风险。所有的函数和类型都有前缀“l_”(“L”的小写字母形式跟着“下划线”)。

表1API函数综述

功能描述

驱动和集的管理

l_sys_init执行LIN核心的初始化。

2

GB/TXXXXX—XXXX/ISO17987-5:2016

信号交互

scalarsignalread读取并返回信号的当前值。

scalarsignalwrite读取并返回信号的当前值。

bytearrayread读取并返回信号中被选字节的当前值。

bytearraywrite通过名字sss设置信号中被选字节的当前值为规定的值。

通知

返回一个C布尔值指示通过静态API名字规定的标识的当前状态,即如果标识清

l_flg_tst

除,返回0,否则非0。

l_flg_clr设置通过静态API名字规定的标识的当前状态为0。

调度表管理

l_sch_tick函数为调度表提供时基。

l_sch_set设置下一个调度表。

接口管理

l_ifc_init通过名字初始化控制器,即设置内部函数,例如比特率。

此调用函数请求此集中连接到这个接口的从节点通过发出一个睡眠命令进入总线

l_ifc_goto_sleep

睡眠模式。

l_ifc_wake_up此函数发出一个唤醒信号。

l_ifc_ioctl此函数控制其他API调用函数未涵盖的功能。

l_ifc_rx此应用程序负责封装中断并设置正确的接口(如果中断可用)。

l_ifc_tx此应用程序负责封装中断并设置正确的接口(如果中断可用)。

l_ifc_aux此函数在从节点中使用,用于同步主节点发出的间隔场和同步字节场序列。

l_ifc_read_status此函数返回前一个通信的状态。

用户提供服务

l_sys_irq_disable用户使用此函数达到LIN通信非中断的状态。

l_sys_irq_restore用户使用此函数恢复到中断前的配置。

节点配置

ld_is_ready此调用函数返回最后一次请求配置服务的状态。

ld_check_response此调用函数返回最后一次节点配置服务的结果。

ld_assign_frame_id_range此调用函数为带配置NAD的从节点分配四个帧的保护标识符。

此调用函数分配所有从节点的配置NAD(节点诊断地址),匹配初始NAD,供应

ld_assign_NAD

商ID和功能ID。

此调用函数保存配置请求到给定配置NAD的特定从节点,或者如果设置的是广播

ld_save_configuration

NAD,会保存配置请求到所有从节点。

此调用函数序列化当前配置(配置NAD和PID)并且复制它到由应用层提供的此

ld_read_configuration

区域(数据指针)。

ld_set_configuration此函数根据提供的配置去配置的NAD和PID。

标识

ld_read_by_id此调用函数请求所选的带配置NAD的从节点返回所分配的带ID参数的属性

ld_read_by_id_callout此回调函数用于主节点通过标识符请求读取用户定义区域的标识符。

初始化

3

GB/TXXXXX—XXXX/ISO17987-5:2016

ld_init此调用函数重新初始化未处理的或基于报文的接口

原始API

此调用函数排队一帧中数据的8字节传输,在下一次适当的主节点请求帧中发

ld_put_raw

出。

ld_get_raw此调用函数复制最早接收到的诊断帧到特定数据的内存中。

ld_raw_tx_status此调用函数返回原始帧传输函数的状态。

ld_raw_rx_status此调用函数返回原始帧接收函数的状态。

基于报文的API

ld_send_message此调用函数打包规定的数据信息和数据长度到单或多帧。

ld_receive_message此调用函数让LIN诊断模块准备接收一个报文,并存储它到指定的数据缓存中。

ld_tx_status此调用函数返回最后一个使用的调用函数状态给ld_send_message。

ld_rx_status此调用函数返回最后一个使用的调用函数状态给ld_receive_message。

4.3.2数据类型

LIN核心定义了下面的类型:

a)l_bool0为错误,非0(>0)为正确;

b)l_ioctl_op基于实现;

c)l_irqmask基于实现;

d)l_u8无符号8位整型;

e)l_u16无符号6位整型;

f)l_signal_handle允许字符串类型“信号名字”。

为提高效率,多数的函数是静态函数(不需要参数,因为一个函数存在每一个信号,每一个接口等)。

4.3.3驱动程序和集的管理

4.3.3.1l_sys_init

表2定义了l_sys_init。

表2l_sys_init

原型l_booll_sys_init(void)

适用范围主节点和从节点。

l_sys_init执行LIN核心的初始化。初始化的范围为物理的节点,即整个节点(见GB/T

XXXX.2中的节点组成定义)。

描述

在使用其他API函数之前,此调用函数l_sys_init是LIN核心中首先要调用的用户应

用。

0:如果初始化成功。

返回值

非0:如果初始化失败。

4.3.4信号交互

4.3.4.1概述

所有信号API调用后面的sss是信号名字,例如l_u8_rd_enginespeed()。

4

GB/TXXXXX—XXXX/ISO17987-5:2016

4.3.4.2信号类型

信号有三种不同的类型:

a)l_bool用于1个位的信号;如果错误为0,否则非0;

b)l_u8用于2位到8位的信号;

c)l_u16用于9位到16位的信号。

4.3.4.3标量信号读取

表3定义了标量信号的读取。

表3标量信号读取

l_booll_bool_rd(l_signal_handlesss);

动态原型l_u8l_u8_rd(l_signal_handlesss);

l_u16l_u16_rd(l_signal_handlesss);

l_booll_bool_rd_sss(void);

静态原型l_u8l_u8_rd_sss(void);

l_u16l_u16_rd_sss(void);

适用范围主节点和从节点。

描述读取并返回信号的当前值。

引用见GB/TXXXX.3中5.1.2

4.3.4.4标量信号写入

表4定义了标量信号的写入。

表4标量信号写入

voidl_bool_wr(l_signal_handlesss,l_boolv);

动态原型voidl_u8_wr(l_signal_handlesss,l_u8v);

voidl_u16_wr(l_signal_handlesss,l_u16v);

voidl_bool_wr_sss(l_boolv);

静态原型voidl_u8_wr_sss(l_u8v);

voidl_u16_wr_sss(l_u16v);

适用范围主节点和从节点。

描述设置当前信号值为v。

引用见GB/TXXXX.3中5.1.2.

4.3.4.5字节数组读取

表5定义了字节数组读取。

5

GB/TXXXXX—XXXX/ISO17987-5:2016

表5字节数组读取

voidl_bytes_rd(l_signal_handlesss,

l_u8start,/*读取的第一个字节*/

动态原型

l_u8count,/*读取的字节数量*/

l_u8*constdata);/*数据写入的位置*/

voidl_bytes_rd_sss(l_u8start

静态原型l_u8count,

l_u8*constdata)

适用范围主节点和从节点。

描述读取并返回信号中所选字节的当前值。起始和计数的总和不会大于字节数组的长度。

假定字节数组是6字节的长度,编号0到5,从此数组中读取字节2和3,表明此参数

举例值起始为2(跳过了字节0和1),计数为2(读取字节2和3)。此种情况下,字节2写

入数据[0],字节3写入数据[1]。

引用见GB/TXXXX.3中5.1.2.

4.3.4.6字节数组写入

表6定义了字节数组写入。

表6字节数组写入

voidl_bytes_wr(l_signal_handlesss,

l_u8start,/*写入的第一个字节*/

动态原型

l_u8count,/*写入的字节数量*/

constl_u8*constdata);/*数据读取的位置*/

voidl_bytes_wr_sss(l_u8start,

静态原型l_u8count,

constl_u8*constdata);

适用范围主节点和从节点。

设置由信号名字sss规定的信号中所选字节的当前值为规定值。

描述

起始和计数的总和不大于字节数组长度,尽管设备驱动没有选择在运行期间强制执行。

假定字节数组是7字节的长度,编号0到6,从此数组中写入字节3和4,表明此参数值

举例起始为3(跳过了字节0,1和2),计数为2(写入节3和4)。此种情况下,字节3从数

据[0]读取,字节4从数据[1]读取。

引用见GB/TXXXX.3中5.1.2.

4.3.5通知

标识是一个节点的本地对象,其作用是将应用程序和LIN核心进行同步。标识是LIN核心自动设置的,

并且只能被应用程序测试和清除。标识会被添加到所有类型的帧上。在逐个地收到的帧或信号后,标识

就会被设置,可参考GB/TXXXX.3的发送与接收部分。

共有三种类型的标识能被创建。

a)依附于信号的标识;

6

GB/TXXXXX—XXXX/ISO17987-5:2016

b)依附于帧的标识;

c)依附于一个信号的特定帧上的标识。当一个信号被打包到多个帧中时使用此种标识。

以上三种标识都适用于被应用到发送和接收的信号或帧中。

4.3.5.1l_flg_tst

表7定义了I_flg_tst。

表7l_flg_tst

动态原型l_booll_flg_tst(l_flag_handlefff)

l_booll_flg_tst_fff(void);

静态原型

此处的fff是标识的名字,例如:l_flg_tst_RxEngineSpeed()

适用范围主节点和从节点

返回一个C布尔值,用于表明名为fff的标识当前的状态。如果该标识被清除了,则返

描述

回0,反之返回非0.

一个名为txconfirmation的标识,被添加到一个已发布的信号值位置上,存储在IO_1帧

中。

例子

l_flg_tst的静态实现是:l_booll_flg_tst_txconfirmation(void);

当IO_1(包含信号值位置)这一帧从该节点被成功传输后,这个标识就会被置位。

参考无参考,标识是API特有的,其他地方无此定义

4.3.5.2l_flg_clr

表8定义了l_flg_clr。

表8l_flg_clr

动态原型voidl_flg_clr(l_flag_handlefff);

voidl_flg_clr_fff(void);

静态原型

此处fff代指标识的名字,如:l_flg_clr_RxEngineSpeed()。

适用范围主节点和从节点

描述将名为fff的标识从当前值置为0

参考无参考,标识是API特有的,其他地方无此定义

4.3.6调度管理

4.3.6.1l_sch_tick

表9定义了l_sch_tick。

表9l_sch_tick

动态原型l_u16l_sch_tick(l_ifc_handleiii);

l_u16l_sch_tick_iii(void);

静态原型

此处的iii指代接口名称和,如:l_sch_tick_MyLinIfc()。

应用范围仅适用于主节点

7

GB/TXXXXX—XXXX/ISO17987-5:2016

l_sch_tick函数为LIN驱动提供了调度程序的时间基础。当一帧到期,它的传输就开始

了。在当前进程结束后,l_sch_tick重新开始下一进程

在节点内l_sch_tick会被各个接口反复调用。该周期是时间基础,见GB/TXXXX.3中

5.3,在LDF中设置,见GB/TXXXX.3中12.3.4.2。

描述

周期性的调用l_sch_tick,可以有效的设置时间基础,见GB/TXXXX.3中5.3。因此保证

时间基础周期最小抖动至关重要。

调用l_sch_tick不仅会开始传送到期帧,还会更新前一次调用l_sch_tick时收到的信号

值,见GB/TXXXX.3中5.1.5。

如果下一次调用l_sch_tick没有开始传送帧,返回值为0。

如果下一次调用l_sch_tick在下一调度表中开始了帧的传输,返回值非0。这种情况下,

返回值

返回值是下一个进程项在进程表中的编号(从调度表开始算起)。如果调度表中有N

项,返回值的范围从1到N。

参考见GB/TXXXX.3中5.3。

4.3.6.2l_sch_set

表10定义了l_sch_set.

表10l_sch_set

动态原型voidl_sch_set(l_ifc_handleiii,l_schedule_handleschedule,l_u16entry);

voidl_sch_set_iii(l_schedule_handleschedule,l_u16entry);

静态原型

此处iii是接口的名称,例如:l_sch_set_MyLinIfc(MySchedule1,0).

适用范围仅适用于主节点

给接口iii在l_sch_tick函数后设置下一调度表。新的调度表会在当前调度表运行到达下

一调度表入口后立刻运行。“iii”代表接口名,它是可选的,用于解决当一个主节点连接

一个以上LIN集时的名字冲突问题。

描述entry定义了新的调度表的开始进入点,如果调度表N个entry,,entry的值范围是0到

N。如果entry是0或1,新的调度表就会从头开始运行。

存在一个提前定义好的调度表,L_NULL_SCHEDULE被用于停止所有的LIN从节点的

传输。

entry值的一个可能的用法,是通过将其与l_sch_tick的返回值结合起来,实现临时中断

例子当前的调度表来运行另外一个调度表,当另外的调度表结束后,还能够回到当前调度

表,从被中断的地方继续运行。

参考见GB/TXXXX.3中5.3.

4.3.7接口管理

4.3.7.1概述

接口管理调用对特定接口(连接总线的逻辑通道)的管理。每一个接口用一个唯一的名字来定义,

在每一个API调用时,使用iii来替代表示。如何设置接口名字(iii)不在本文件范围内。

4.3.7.2l_ifc_init

表11定义了l_ifc_init.

8

GB/TXXXXX—XXXX/ISO17987-5:2016

表11l_ifc_init

动态原型l_booll_ifc_init(l_ifc_handleiii)

l_bool_ifc_init_iii(void);

静态原型

此处的iii指的是接口的名字,例如l_ifc_init_MyLinIfc().

应用范围主节点和从节点

l_ifc_init初始化名为iii的控制器,即设置好其内部诸如比特率的函数。主节点调用

l_ifc_init默认设置的调度表是L_NULL_SCHEDULE,它不会发送和接受任何帧。

描述

这是用户在使用任何其他LINAPI函数前调用的第一个函数。

如果初始化成功,则函数返回0,失败则返回非0。

参考一个关于接口概念的综述性的描述可以参考GB/TXXXX.3中operation的概念。

4.3.7.3l_ifc_goto_sleep

表12定义了l_ifc_goto_sleep。

表12l_ifc_goto_sleep

动态原型voidl_ifc_goto_sleep(l_ifc_handleiii)

voidl_ifc_goto_sleep_iii(void);

静态原型

这里的iii指的是接口的名字,例如l_ifc_goto_sleep_MyLinIfc().

适用范围仅适用于主节点。

这个函数使得所有与该接口连接的从节点进入总线睡眠状态,通过发送一个进入睡眠命

令,见GB/TXXXX.2中5.4.

当下一个调度表入口到期时,这个进入睡眠状态的命令会被排到最后。

描述

这个l_ifc_goto_sleep函数不会影响到电源模式,它依赖于应用。

如果进入睡眠模式的命令成功传输,则状态寄存器中的进入睡眠位会被置位,见GB/T

XXXX.2中的5.4。

参考见GB/TXXXX.2中5.4。

4.3.7.4l_ifc_wake_up

表13定义了l_ifc_wake_up。

表13l_ifc_wake_up

动态原型voidl_ifc_wake_up(l_ifc_handleiii)

voidl_ifc_wake_up_iii(void);

静态原型

此处的iii指的是接口的名字,例如l_ifc_wake_up_MyLinIfc().

应用范围主节点和从节点

该函数传送一个唤醒信号。当该函数被调用,唤醒信号会立刻被发送。按照GB/T

描述

XXXX.2中的唤醒队列定义,应用程序负责转发唤醒信号。

参考GB/TXXXX.2中5.3.

4.3.7.5l_ifc_ioctl

9

GB/TXXXXX—XXXX/ISO17987-5:2016

表14定义了l_ifc_ioctl。

表14l_ifc_ioctl

l_u16l_ifc_ioctl(l_ifc_handleiii,

动态原型l_ioctl_opop,

void*pv)

l_u16l_ifc_ioctl_iii(l_ioctl_opop,

静态原型void*pv);

此处的iii指的是接口的名字,例如l_ifc_ioctl_MyLinIfc(MyOp,&MyPars)。

应用范围主节点和从节点

该函数控制了其他API调用没能覆盖的功能。它用于特定的协议参数或特定的硬件功能。

这类功能的一个例子是打开或关闭唤醒信号检测。

描述

“iii”是op中定义的操作的接口名。指针pv指向一个为该函数提供的可选参数。

具体支持哪些操作取决于实现。

参考无参考,该行为为API的特性,没有在其他任何地方描述。

4.3.7.6l_ifc_rx

表15定义了l_ifc_rx。

表15l_ifc_rx

动态原型voidl_ifc_rx(l_ifc_handleiii)

voidl_ifc_rx_iii(void);

静态原型

此处的iii指的是接口的名字,例如l_ifc_rx_MyLinIfc().

应用范围主节点和从节点。

应用程序负责绑定中断和设置正确的接口处理(如果使用中断)。

对基于UART的应用,它被一个用户定义的中断处理器调用,该中断处理器会在UART

描述接收到一个字符数据后被触发。在这种情况下,该函数会对UART的控制寄存器执行必

要的操作。

对于更复杂的LIN硬件,被用于表明接收到一个完整的帧头或帧。

参考无参考,该行为为API的特性,没有在其他任何地方描述。

4.3.7.7l_ifc_tx

表16定义了l_ifc_tx。

表16l_ifc_tx

动态原型voidl_ifc_tx(l_ifc_handleiii)

静态原型voidl_ifc_tx_iii(void);

这里的iii指的是接口的名字,例如l_ifc_tx_MyLinIfc().

应用范围主节点和从节点。

描述应用程序负责绑定中断和设置正确的接口处理(如果使用中断)。

对基于UART的应用,它被一个用户定义的中断处理器调用,该中断处理器会在

10

GB/TXXXXX—XXXX/ISO17987-5:2016

UART接收到一个字符数据后被触发。在这种情况下,该函数会对UART的控制寄存

器执行必要的操作。

对于更复杂的LIN硬件,它被用于表明一个完整的帧被发输。

参考无参考,该行为为API的特性,没有在其他任何地方描述。

4.3.7.8l_ifc_aux

表17定义了l_ifc_aux。

表17l_ifc_aux

动态原型voidl_ifc_aux(l_ifc_handleiii)

静态原型voidl_ifc_aux_iii(void);

此处的iii指的是接口的名字,例如l_ifc_aux_MyLinIfc().

应用范围主节点和从节点。

描述此函数用于从节点同步到由主节点发送的名为iii接口的间隔场或同步字节场。

举例来说,它是被一个用户定义的中断处理器调用的。该中断处理器是被一个与接口

iii连接的硬件引脚上的边沿检测触发的。

l_ifc_aux仅用于从节点。

该功能是与硬件和实际实现强相关的,并且其用法是依赖于实现的。

参考无参考,该行为为API的特性,没有在其他任何地方描述。

4.3.7.9l_ifc_read_status

表18定义了l_ifc_read_status。

表18l_ifc_read_status

动态原型l_u16l_ifc_read_status(l_ifc_handleiii)

静态原型l_u16l_ifc_read_status_iii(void);

此处的iii是接口的名字,例如l_ifc_read_status_MyLinIfc().

应用范围主节点和从节点。主节点和从节点的行为是不同的,详情请看下面的描述。

描述该函数返回之前的通信状态。该调用返回的状态字(16位值),如表19所示。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论