Osektp.Dll基础解读

news/2024/10/11 2:29:24

前言

OSEKTP是15765的核心组件,也是Autosar操作系统的基础组件,目前仍在应用于Autosar-CP之中。 

OsekTP.DLL

功能介绍

Vector称基于ISO15765-2的CAN传输层行为称为OSEK-TP/CAN-TP。

并开发出OSEKTP.DLL的传输层接口以供Capl调用,DLL支持指定单帧及多帧发送、故障注入、流控帧控制等。

常用接口

接口详解:CanTpCreateConnection(dword addrMode)

AddrMode 作为 CanTpCreateConnection 函数的形参,标识了N_Data的地址信息,被描述于N_AE中:

N_AE:地址拓展信息

以地址模式(11位)举例:

  • Normal Mode-不启用N_AE
  • Mixed Mode-0x00
  • Extended Mode-0x01(fun)/0x02(phy)

当非正常地址模式启动时,地址模式信息应该包含在Data的首字节进行发送

实际使用中:

不启用AE,数据场只有PCI+Data

启用AE,数据场结构为AE[0x00]+PCI+Data

启用AE,数据场结构为AE[0x01/0x02]+PCI+Data

接口介绍:CanTpSetTimeAs\Bs\Cs\Ar\Br\Cr

As\Bs\Cs\Ar\Br\Cr大为15765-2中定义得时间参数,具体定义为:

接口介绍:CanTpSetBlockSize(long connHandle, dword blockSize)

BlockSize为15765-2中定义,代表TP层最大接收CF-NPD的数量:

接口介绍:CanTpSetSTmin(long connHandle, dword STmin)

STmin 作为 CanTpSetSTmin 函数的形参,规定了发送者等待传输CF_NPDU的最小时间间隔:

接口介绍:CanTpSetFlowControlDelay(long connHandle, dword delay_ms)

此接口是Vector补充的参数接口,delay_ms作为 CanTpSetFlowControlDelay函数的形参,规定了接收者发送FF_NPDU后的等待延迟,确保接收者完整接收。

DLL使用

目前最普遍的用法就是Node节点使用,除此之外也可以使用官方的DBC进行参数配置,或者结合Vtest运行。

总结

OsekTp的主要作用就是用于传输多帧,多用于诊断22/2E/36等服务中。Osketp相较与CDD或者最简单的Raw帧发送诊断命令最大的优点就是可以方便的操作流控帧与刷写过程。

小默建议如果您购买了Diva,可以直接使用CDD进行。Cantp的接口只是工具,实际的诊断发送与数据包接收的后续字节处理对于测试开发的要求比较高,需要完全掌握14229-1与15765-2。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27453.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Qt学习第一篇(windows下安装和代码规范)

Qt_1Qt Creator 是 Qt 公司生产的 IDE。 它集成了多个工具,包括代码编辑器、图形 UI(GUI)设计器、编译器、调试器、Qt 设计器、Qt 快速设计器和 Qt 助手等。 Qt Designer 帮助设计基于小部件的 GUI,而 Qt Quick Designer 提供了在设计模式下创建和编辑基于 QML 的 GUI 的 UI。…

在下载opencv等类似的包时,需要注意到的一个大问题!

问题描述 我尝试好多次去下载opencv-python的依赖包,发现一直说找不到这个东西 问题解决 查阅了好多资料,尝试了各种方法,发现还是同样的错误,然后突然看到一位博主说“是开了代理的缘故”; 碰巧我也一直开着代理,关闭之后,再次使用清华源尝试下载opencv-python, 发现没…

Promethues (普罗米修斯)详细介绍

Promethues (普罗米修斯)详细介绍Promethues (普罗米修斯)详细介绍 引言 zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死…

从零搭建Prometheus监控报警系统

从零搭建Prometheus监控报警系统从零开始搭建Prometheus自动监控报警系统 从零搭建Prometheus监控报警系统 什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由…

第?课——基于矩阵快速幂的递推解法

第?课——基于矩阵快速幂的递推解法 由于中间的数论部分我自己学的很差,没有办法写出清晰的博客来,所以这里跳过了数论部分的博客,来到矩阵快速幂。 递推 递推是一个非常常用的工具。比如经典的斐波那契数列: \[f(x)= \left\{\begin{array}{**lr**}1 &, 0\leq x\leq 1…

基于深度学习网络的鞋子种类识别matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a3.算法理论概述基于GoogLeNet深度学习网络的鞋子种类识别是一种利用深度卷积神经网络进行物体识别的方法,特别适用于大规模图像分类问题。GoogLeNet以其独特的Inception模块和高效的层级结构,在ImageNet竞赛中取得了卓越…

Python-Web-渗透测试秘籍(全)

Python Web 渗透测试秘籍(全)原文:annas-archive.org/md5/9ECC87991CE5C1AD546C7BAEC6960102 译者:飞龙 协议:CC BY-NC-SA 4.0前言 欢迎阅读我们的 Python 和 Web 应用测试书。渗透测试是一个庞大的领域,而 Python 的领域更加广阔。我们希望我们的小书可以帮助您更好地管…

Python-渗透测试秘籍(全)

Python 渗透测试秘籍(全)原文:annas-archive.org/md5/A471ED08BCFF5C02AB69EE891B13A9E1 译者:飞龙 协议:CC BY-NC-SA 4.0前言 Python 是一种动态但解释性语言,属于高级编程语言。凭借其清晰的语法和丰富的库,它被用作通用语言。基于 Python 的解释性质,它经常被视为一…