CanTp(传输层)模块软件
使用说明
恒 润 科 技
文件状态:
[ ] 草稿
[√] 正式发布
[ ] 正在修改
文件起草分工:
1. 马秋英
编制: 马秋英 签名: 马秋英 日期: 2011-4-25
审核: 刘小燕 签名: 刘小燕 日期: 2012-2-23
批准: 陈昆盛 签名: 陈昆盛 日期: 2012-2-23
所 有 权 声 明
该文档及其所含信息是恒润科技有限公司的财产。该文档及其所含信息的复制、使用及披
露必须得到恒润科技有限公司的书面授权。
第 I 页
更改历史
版本
更改描述
1.0 初始版本
更改日期
2011-4-25
更改人
马秋英
第 II 页
目 录
1 文档介绍
2 CAN传输层(CanTp)模块
功能概述
文件组成
文件使用说明
资源占用
接口函数使用说明
................................................................................................................................................... 1
........................................................................................................................................... 1
目的
................................................................................................................................... 1
适用范围
................................................................................................................................... 1
读者对象
................................................................................................................................... 1
参考文档
............................................................................................................................... 1
术语和缩写
................................................................................................................... 2
................................................................................................................................... 2
................................................................................................................................... 2
........................................................................................................................... 2
................................................................................................................................... 3
................................................................................................................... 3
.................................................................................... 3
.................................................................................... 7
........................................................................................................................... 8
............................................................................................................. 8
............................................................................................................... 12
............................................................................................................................................. 16
.................................................................................................................. 16
......................................................................................................... 16
......................................................................................................... 18
............................................................................................................................................. 19
初始化&调度任务
与下层的接口调用示例
与上层的接口调用示例
CanTp模块提供的服务接口函数
CanTp模块与CAN驱动接口函数
CanTp_Cfg.h文件
CanTp_PBcfg.c
配置使用说明
1.1
1.2
1.3
1.4
1.5
2.1
2.2
2.3
2.4
2.5
2.6
3.1
3.2
3.3
2.5.1
2.5.2
2.6.1
2.6.2
3 源代码示例
4 软件局限性
此行切勿删除,目录结束标签
第 III 页
1 文档介绍
1.1 目的
本文档描述 CanTp(传输层)模块软件集成使用方法。
1.2 适用范围
本文档适用于需要使用 CAN 传输层模块的软件项目的集成阶段。
1.3 读者对象
本文档预期读者对象为:
1) 用户
2) 项目成员
3) 测试人员
4) 高层经理
1.4 参考文档
标号
标题
版本/修改日期
1
15765 – 2: Road vehicles — Diagnostics on Controller Area
Networks (CAN) —Part 2:Network layer services
2 AUTOSAR Specification of CAN Transport Layer
2004.10.12
Ver4.0
1.5 术语和缩写
名称
描述
API
CAN
CanTp
CanIf
SDU
PDU
N-SDU
N-PDU
L-SDU
Handle
Application Program Interface
Controller Area Network,控制器局域网
CAN Transport Protocol,CAN 传输协议
CAN Interface,CAN 接口模块
服务数据单元。在分层系统中,表示使用某层服务的用户要发送的一组数
据,这些数据将被发送到对等的服务用户那,同时在语义方面保持不变。
协议数据单元。在分层系统中,表示某层上符合协议规定的数据单元,包
含该层的用户数据(SDU)和协议控制信息。
即:X 层的 PDU 是下一层(X-1 层)的 SDU。
CanTp 模块的 SDU。在 AUTOSAR 架构中,这是来自上层模块的一组数据。
与每个 N-SDU 相关的特定数据结构体包含的属性有:N-SDU 类型(Tx 或
Rx),寻址格式,该报文的 L-SDU 标识符以及其它有助于实现的属性。
CanTp 模块的 PDU,包含唯一的标识符,数据长度和数据(协议控制信息
加 N-SDU 的部分或全部数据)
CanIf 模块的 SDU,与 N-SDU 相同但视点不同。
句柄,用作PDU索引,标识PDU
第 1 页/共 19 页
Pre-compile 参见“1.4 章节标号[2]”
2 CAN 传输层(CanTp)模块
2.1 功能概述
CanTp 模块基于 AUTOSAR 标准体系中关于 CAN 传输层的规范《Specification of
CAN Transport Layer 》进行设计开发,符合 ISO 15765 标准,实现通信双方之间的基于
ISO 15765 协议的 CAN 通信功能,本模块将提供以下服务:
收发单帧和多帧报文,对多帧报文进行解包和组包
控制数据流
检测报文收发过程中的各类错误,并向上层报告
支持多连接通道
1) 由于 ISO 15765 标准分为两种:针对 OEM 增强型诊断的 ISO 15765-2 和针对 OBD
诊断的 ISO 15765-4,后者是比前者多增加了一些限制条件,因此要求 CanTp 模
块支持多连接通道,可为每种标准各分配一个连接通道,然后通过对不同的连接
通道进行不同配置实现两套标准。
2.2 文件组成
CanTp 模块包含以下文件:
CanTp.c:包含 CanTp 模块内部使用的全局数据类型和函数的定义
CanTp.h:包含为其他模块所用到的常量,全局变量,数据类型定义和服务函
数的外部声明
CanTp_Cbk.h:包含回调函数的外部声明。
CanTp_Cfg.h:包含在预编译阶段本模块可配置的常量和可定制数据的定义
CanTp_PBcfg.c :包含可执行程序建立后的可配置参数定义。
ComStack_Types.h:包含 CAN 通信协议栈软件通用的数据类型定义的头文件,
其中 CanTp 模块使用了关于通知的返回结果的宏定义等。
Std_Types.h;包含标准类型定义的头文件。
Platform_Types.h :平台类型定义头文件,包含与平台相关的类型和符号定义。
Compiler.h :包含将与特定编译器相关的关键字进行抽象处理的宏定义。
2.3 文件使用说明
CanTp 模块的文件集成到用户工程时,文件包含关系如下图所示:
第 2 页/共 19 页