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。
-------------- 2007-3-19 -------------------------


本章从应用需求入手,介绍了信号处理、配置、识别和诊断的概念、功能和实用价值。本章内容对应于LIN规范的以下部分:
l LIN Transport Layer Specification
l LIN Node configuration and Identification Specification
l LIN Diagnostic Specification
从使用的角度来看,LIN提供四项功能——信号处理、配置、识别和诊断,这四项功能共同构成了LIN的应用层。传输层是配置、识别和诊断这三项功能的通信载体,实现应用层消息与帧之间的格式转换和传输。为了规范使用,LIN为应用层和传输层定义了API接口,参照第7章。
- Ftol_res_slave = +-1.5%和Ftol_sync = +-2%
- Ftol_sl_to_sl = 2%
本章介绍LIN的API的概念、功能和一般用法,并以例子的形式介绍了调用API的一般流程。本章内容对应LIN规范的以下部分:
LIN Application Program Interface Specification

