首页 > 其他分享 >SomeIpTp (SOME/IP Transport Protocol)

SomeIpTp (SOME/IP Transport Protocol)

时间:2024-12-18 18:03:23浏览次数:5  
标签:AUTOSAR Protocol TX IP SOME SomeIpTp specified following SOMEIPTP

Introduction

The SomeIpTp module based on AUTOSAR SOME/IP Transport Protocol provides the following services :

  • Segments SOME/IP packets which do not fit into one single UDP packet.
  • Reassembles the received SOME/IP segments.
  • Detection of errors during segmentation and reassembly.
Architecture Overview

The following figure shows where the SomeIpTp is located in the AUTOSAR architecture.

The next figure shows the interfaces to adjacent modules of the SomeIpTp. These interfaces are described in chapter 5.

Functional Description

Features

The features listed in the following tables cover the complete functionality specified for the SomeIpTp.

The AUTOSAR standard functionality is specified in [1], the corresponding features are listed in the tables

  • Table 3-1 Supported AUTOSAR standard conform features
  • Table 3-2 Not supported AUTOSAR standard conform features

Vector Informatik provides further SomeIpTp functionality beyond the AUTOSAR standard. The corresponding features are listed in the table

  • Table 3-3 Features provided beyond the AUTOSAR standard

The following features specified in [1] are supported:

Deviations

The following features specified in [1] are not supported:

Additions/ Extensions

The following features are provided beyond the AUTOSAR standard:

Transmit Queue

If several TX SDUs are requested by the upper layer, they will be added to a queue. Supervision of timeouts and transmission of further segments of these SDUs is based on the order of elements stored in the Queue.

Monitoring Transmission Confirmation timeout

To be compatible with the other modules, SomeIpTp_TxConfirmation() is implemented only with the parameter TxPduId. Since negative TX Confirmation is currently not supported, if there is no call to SomeIpTp_TxConfirmation() within a specified time, the segmentation process for the corresponding TX SDU is aborted.

In the Vector SomeIpTp, this timeout is configurable by the parameter SomeIpTpTxConfirmationTimeoutTime per SomeIpTpChannel.

Initialization

The API SomeIpTp_Init() uses the given configuration set to initialize all global variables of SomeIpTp and brings each SDU to state Idle, where segmentation and reassembly can be started.

States

After initialization, all the TX and RX SDUs are set to Idle (SOMEIPTP_TX_STATUS_IDLE, SOMEIPTP_RX_STATUS_IDLE). Segmentation or reassembly is possible only in this state.

During the segmentation process, the TX SDU state is either wait for confirmation (SOMEIPTP_TX_STATUS_WAIT_TXCONF_SF) or wait for separation time (SOMEIPTP_TX_STATUS_WAIT_ST).The state is reset to Idle if the disassembly process is aborted or is finished.

During the reassembly process, the RX SDU state is set to wait for next segment (SOMEIPTP_RX_STATUS_WAIT_NEXT_SF).The state is reset to Idle after the complete frame is received or reassembly process is interrupted.

Main Functions

The functions SomeIpTp_MainfunctionTx()and SomeIpTp_MainfunctionRx() perform all the tasks that should be done cyclically.

The timing parameters like SomeIpTpSeparationTime and SomeIpTpRxTimeoutTime are calculated based on the configured SomeIpTpTxMainfunctionPeriod and SomeIpTpRxMainfunctionPeriod respectively.

Error Handling
Development Error Reporting

By default, development errors are reported to the DET using the service Det_ReportError() as specified in [2], if development error reporting is enabled (i.e. precompile parameter SOMEIPTP_DEV_ERROR_DETECT==STD_ON).

If another module is used for development error reporting, the function prototype for reporting the error can be configured by the integrator, but must have the same signature as the service Det_ReportError().

The reported SomeIpTp ID is 177.

The reported service IDs identify the services which are described in 5.1. The following table presents the service IDs and the related services:

The errors reported to DET are described in the following table:

Runtime Error Reporting

By default, Runtime related errors are reported to the to the DET using the service Det_ReportRuntimeError() as specified in [2], if runtime error reporting is enabled (i.e. pre-compile parameter SOMEIPTP_RUNTIME_ERROR_REPORT==STD_ON).

If another module is used for runtime error reporting, the function prototype for reporting the error can be configured by the integrator, but must have the same signature as the service Det_ReportRuntimeError().

The runtime errors reported to DET are described in the following table:


References

MICROSAR SOME/IP Transport Protocol Technical Reference (Version 1.0.1)

标签:AUTOSAR,Protocol,TX,IP,SOME,SomeIpTp,specified,following,SOMEIPTP
From: https://blog.csdn.net/erroror/article/details/144565521

相关文章

  • 2024 DataGrip安装使用教程(附激活,以及常见问题处理)
    第一步:下载DataGrip安装包访问DataGrip官网,下载DataGrip第二步:安装DataGrip下载完成后,进行安装,next,安装完成点击xx关掉程序!第三步:下载补丁DataGrip补丁文件点击获取补丁下载成功后,打开标注的文件文件夹,进入到文件夹/jetbra注意:这个文件夹单独copy一份......
  • Shell Scripts to start and Stop Spring Boot Applications.
    Inthispost,WewilllearnaboutstartandstopshellscriptstorunSpringBootapplications.Springbootapplicationsareeasiertobuildandrun.However,thereisonesmallproblem.Mostofthedevelopersstillstrugglewhenitcomestorunning,stop......
  • JetBrains PyCharm 低版本无限重置试用--插件:ide-eval-resetter-2.1.6.zip
    ......
  • Netty出现的异常【已解决】:An exceptionCaught() event was fired, and it reached at
    修改方案:byteBuf.retain();ByteBuf后面添加这个retain(),这个添加原则是这样,如果你消耗了一次ByteBuf,你的下游Handler还需要再次消耗的话,就需要添加这个retain(),以此类推,一定要要注意添加的时机,不然的话可能需要自己手动释放;原因分析:这个错误是因为ByteBuf的已经被逻辑释放......
  • JavaScript中var、let和const的区别是什么?
    1.变量声明关键字概述1.1var关键字的特点var是JavaScript中传统的变量声明关键字,它具有以下特点:函数作用域:使用var声明的变量在函数内部是局部的,仅在该函数内部可见。全局作用域:在函数外部声明的var变量是全局的,在整个程序中都可访问。变量提升:var声明的变......
  • golang 使用gzip对json例子
    packagemainimport(  "bytes"  "compress/gzip"  "encoding/json"  "fmt"  "io"  "log")//User结构体定义typeUserstruct{  ID int  `json:"id"`  Namestring......
  • 适配器模式应用~获取IP地址时想起了适配器
    获取IP地址信息时,一般我们需要一个HttpServletRequest对象,然后从请求头里获取x-forwarded-for的值,而当我们使用dubbo+netty开发rest接口时,如果希望获取IP地址,HttpServletRequest是用不了的,你需要使用netty中的NettyRequestFacade对象,这时,你之前的获取IP地址的方法需要扩展,加一个只......
  • 前端必知必会-JavaScript HTML DOM 导航
    文章目录JavaScriptHTMLDOM导航DOM节点DOMHTML树节点关系节点树在节点之间导航子节点和节点值InnerHTMLDOM根节点document.body-文档的正文nodeName属性nodeName是只读的nodeValue属性nodeType属性总结JavaScriptHTMLDOM导航使用HTMLDOM,您可以使......
  • 前端必知必会-JavaScript HTML DOM 元素(节点)
    文章目录JavaScriptHTMLDOM元素(节点)添加和删除节点(HTML元素)创建新的HTML元素(节点)创建新的HTML元素-insertBefore()删除现有HTML元素删除子节点替换HTML元素总结JavaScriptHTMLDOM元素(节点)添加和删除节点(HTML元素)创建新的HTML元素(节点)要向HT......
  • 前端必知必会-JavaScript HTML DOM 集合
    文章目录JavaScriptHTMLDOM集合HTMLCollection对象HTMLHTMLCollection长度总结JavaScriptHTMLDOM集合HTMLCollection对象getElementsByTagName()方法返回HTMLCollection对象。HTMLCollection对象是HTML元素的数组式列表(集合)。以下代码选择文档......