SOME/IP 协议介绍(一)

news2024/11/30 2:52:10

1. 引言和功能概述

本文档规定了可扩展面向服务基于IP的中间件(SOME/IP)——一种用于汽车/嵌入式RPC机制和底层序列化/传输格式的示例,作为由RTE调用的序列化器。

唯一有效的缩写是SOME/IP。其他缩写(例如Some/IP)是错误的,不应使用。

从新实现“另一种RPC机制”而不使用现有基础设施/技术的基本动机是:

  • 为了拥有一种满足嵌入式世界中资源消耗的严格要求的技术。
  • 与尽可能多的用例和通信伙伴兼容,至少在传输格式层面与AUTOSAR兼容。
  • 能够与AUTOSAR标准进行无修改的PDUs接收和发送通信。AUTOSAR内的映射应根据SOME/IP规范进行选择。
  • 提供了汽车用例所需的功能。
  • 从小型到大型平台都具备可扩展性。
  • 可以在不同的操作系统上实现(例如AUTOSAR、GENIVI和OSEK),甚至可以在没有操作系统的嵌入式设备上实现。

SOME/IP仅是一个可用于ECU之间的客户端/服务器序列化的事例。SOME/IP的实现允许AUTOSAR解析RPC PDUs并将信号传输给应用程序。

因此,该示例定义了几个功能集。功能集“基本”与AUTOSAR 4.1.1兼容。其他功能集正在进行集成到AUTOSAR中。目标是增加与更高级功能集的兼容性。然而,也可以在非AUTOSAR节点中使用这些功能,或者使用经过精心设计的接口和适当的工具链,在AUTOSAR应用程序内部实现它们。

对于不使用AUTOSAR的ECU,目前可以支持完整的功能集,但在与AUTOSAR ECU进行通信时,只能使用有限的功能集。

在AUTOSAR中,如图1.1,SOME/IP和SOME/IP-SD可以在不同的模块中实现。目前,Socket适配器可以通过标头模式来写入消息ID和长度字段。
对于数据路径(SOME/IP),消息可以通过COM(Communication Manager)、RTE(Run-Time Environment)中的可插拔序列化器或代理SWS(Software Stack)进行序列化/反序列化。

对于控制路径(SOME/IP-SD),服务发现模块实现了SOME/IP-SD,包括SOME/IP标头,但不包括消息ID和长度字段。

限制

请注意,并非所有的SOME/IP部分都在AUTOSAR中实现。
SOME/IP的某些部分在 SWS SOME/IP Transformer、SWS Socket Adaptor 和 SWS Service Discovery 中得到了实现。
其他功能目前在AUTOSAR中不受支持。其中,以下功能在AUTOSAR中未实现:
• 异常和特定异常错误数据结构
• 变长结构体
• 将SOME/IP消息通过CAN和FlexRay进行隧道传输会导致 SWS Socket Adaptor 插入的部分头信息丢失

2. 标识符的定义

服务应使用Service-ID进行标识。Service-ID为0xFFFE应用于非SOME/IP服务的编码。Service-ID为0x0000和0xFFFF应保留用于特殊情况。同一车辆内的不同服务应具有不同的Service-ID。系统部门随时可以覆盖此要求。

使用Service-Instance-ID来识别服务实例。Service-Instance-ID应为16位长度的无符号整数(uint16)类型。Service-Instance-ID的0x0000和0xFFFF不应用于服务,因为0x0000用于描述无服务实例,而0xFFFF用于描述所有服务实例。同一车辆内的不同服务实例应具有不同的Service-Instance-ID。在服务内部,方法和事件应使用16位Method-ID进行标识,对于事件和通知,也可以称为Event-ID。

方法应使用将最高位设置为0的Method-ID,而对于事件和通知,Method-ID的最高位应设置为1。系统部门随时可以覆盖此要求。
使用Eventgroup-ID来标识事件组。Eventgroup-ID应为16位长度的无符号整数(uint16)类型。同一车辆内的不同事件组应具有不同的Eventgroup-ID。

注意:
这意味着两个不同的相机服务应具有两个不同的ServiceInstanceIDs,即SI-ID-1和SI-ID-2。对于一个AUTOSAR系统(设计车辆产品线),SI-ID-1在所有车辆中应保持相同。对于SI-ID-2也是如此。如果考虑另一个AUTOSAR系统(设计另一条车辆产品线),可以使用不同的ID,但在不同的AUTOSAR系统中使用相同的ID可以方便测试和集成。

3. SOME/IP在传输线上的格式规范

序列化描述了数据在汽车车载网络中传输的协议数据单元(PDU)中的表示方式。

3.1. 传输协议

SOME/IP可以使用UDP或TCP进行传输。在进一步通知之前,SOME/IP的端口号必须在本地从私有端口范围49152-65535中定义。在车辆中使用时,OEM将在接口规范中指定使用的端口。
建议尽可能使用UDP进行尽可能多的消息传输,并将TCP视为需要更大尺寸消息的备用方案。UDP允许应用程序更好地控制发生错误时的超时和行为。

3.1.1. 消息长度限制

结合常规以太网,IPv4和UDP可以传输最多1472字节的数据包而无需分片,而IPv6则额外使用20字节。特别是对于小型系统,应避免分片,因此SOME/IP标头和负载应具有有限的长度。使用安全协议可能进一步限制SOME/IP消息的最大大小。
当使用UDP作为传输协议时,SOME/IP消息可以使用最多1416字节的SOME/IP标头和负载,因此可用于负载的字节数为1400字节。

使用TCP允许传输更大的数据流来传输SOME/IP标头和负载。然而,用于CAN和FlexRay的当前传输协议将消息限制为4095字节。当需要与这些协议兼容时,SOME/IP消息(包括SOME/IP标头)的长度不得超过4095字节。

3.2. 字节序

所有RPC标头应以网络字节顺序(大端序)[RFC 791]进行编码。负载内部参数的字节顺序应由接口定义(例如FIBEX)定义,并且在可能的情况下应采用网络字节顺序,如果没有指定其他字节顺序。

欢迎关注公众号

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

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

相关文章

echarts有4个y轴,点击图例依次按顺序显示和隐藏

代码&#xff1a; <template><div><el-row class"actually" style"padding-top:10px;height: 420px;"><div style"font-size: 14px; font-weight: bold; margin: 0 10px 0 5px; display: inline-block">Cloud Usage<…

构建生成式AI应用:关键因素是什么?

原创 | 文 BFT机器人 生成式AI是一种基于机器学习和深度学习的技术&#xff0c;通过训练模型来生成新的内容&#xff0c;它可以通过学习现有的数据&#xff0c;理解其规律和特征&#xff0c;并生成与之类似的新内容&#xff0c;生成式AI在多个领域具有广泛的应用潜力。然而&am…

vue3+element Plus实现弹框的拖拽、可点击底层页面功能

1、template部分 <el-dialog:modal"false"v-model"dialogVisible"title""width"30%"draggable:close-on-click-modal"false"class"message-dialog"> </el-dialog> 必须加的属性 modal:是否去掉遮罩层…

【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值

背景 本地生产环境&#xff1a;超过最大值 cookie token 不存储&#xff1b;客户生产环境&#xff1a;打开系统空白&#xff0c;且控制台报 http 400 错误&#xff1b; 出现了两种现象 现象一&#xff1a;浏览器对大于 4kb 的 cookie 值不存储 导致用户名密码登录&#xff…

kill-port,跨平台解决端口占用问题

在日常开发中&#xff0c;端口占用问题一直是令人头疼的难题。为了更高效地管理端口资源&#xff0c;开发者们经常需要一种快速而可靠的解决方案。在这方面&#xff0c;kill-port 的出现为我们提供了一种强大而便捷的工具。本篇博客将深入介绍 kill-port 解决端口占用问题的优势…

Marp: 将 Markdown 变为 PPT 式样的 VScode 插件

样例代码&#xff1a; --- marp: true size: 16:9 theme: default header: footer: --- <!-- _footer: Jia ming<br>Gansu University of Political Science and Law --> <!-- _backgroundColor: lightskyblue --> ## <!-- fit --> 笔记检验概述>…

Django音乐电台推荐系统 毕业设计-附源码 00750

摘要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作规…

c++的vector按值删除元素

代码 #include<iostream> #include<vector> using namespace std;void testDelete(vector<int>& vec, const bool delete45, const bool delete_less7) {if (delete45 true) {vec.erase(std::remove(vec.begin(), vec.end(), 45), vec.end());}if (del…

python加上ffmpeg实现音频分割

前言: 这是一个系列的文章,主要是使用python加上ffmpeg来对音视频文件进行处理,包括音频播放、音频格式转换、音频文件分割、视频播放等。 系列文章链接: 链接1: python使用ffmpeg来制作音频格式转换工具(优化版) 链接2:<Python>PyQt5+ffmpeg,简单视频播放器的编写(…

Springboot配置knife4j类(knife4j的使用)

1.引言 1.1 Swagger介绍 前后端分离开发模式中&#xff0c;API文档是最好的沟通方式。Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。具有以下几个特点&#xff1a; 及时性 (接口变更后&#xff0c;能够及时准确地通知相…

揭秘!AI加持双十一电商盛宴,带你解锁更多营销新玩法

从2009年到2023年&#xff0c;每年年终的双11大促都是如期而至&#xff0c;而且几乎每一次双11都能给电商行业带来创新和改变。今年是中国电商行业的第15个双11&#xff0c;也是人工智能&#xff08;AI&#xff09;在电商领域大规模应用的第一个双11。在这15年的发展历程中&…

RoboFab:世界第一家人形机器人生产工厂,承诺每年将生产1万台高科技机器人

原创 | 文 BFT机器人 脑洞大开地想象一下&#xff1a;有一家能够制造像人类一样行走、奔跑和工作的人型机器人的工厂。这听起来像是科幻电影&#xff0c;但实际上它已经出现在现实中。 不久之前&#xff0c;初创企业Agility Robotics向大众宣布将在美国俄勒冈州开设一座占地约…

Vue 官网使用与环境搭建

vue官网网址&#xff1a;https://cn.vuejs.org/vue脚手架文档网址&#xff1a;https://cli.vuejs.org/zh/ vue团队为了使得vue更加好的使用&#xff0c;维护了一些文档。 API是vue的字典&#xff0c;在编写vue的时候&#xff0c;遇到了一些不会的方法那么就去找API&#xff0c…

【linux进程控制(一)】进程终止--如何干掉一个进程?

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; 进程终止 1. 前言2. 文章整体…

uinapp微信小程序隐私政策授权

&#x1f680; 隐私弹窗效果图&#xff1a; 1、启用隐私相关功能在manifest.json文件中配置 usePrivacyCheck: true "mp-weixin" : {"__usePrivacyCheck__" : true, },2、创建组件 <template><view><!-- 隐私政策弹窗 --><uni-popu…

从瀑布模式到水母模式:ChatGPT引领软件研发的革新之路

ChatGPT引领软件研发的革新之路 概述操作建议本书优势 内容简介作者简介专家推荐读者对象目录直播预告写在末尾&#xff1a; 主页传送门&#xff1a;&#x1f4c0; 传送 概述 计算机技术的发展和互联网的普及&#xff0c;使信息处理和传输变得更加高效&#xff0c;极大地改变了…

CI523电动车NFC一键启动

Ci523是一颗工作在13.56MHz频率下的非接触式读写芯片&#xff0c;支持读A卡&#xff08;CI523支持读A/B卡&#xff09;&#xff0c;可做智能门锁、电动车NFC一键启动、玩具NFC开锁等应用。为部分要求低成本&#xff0c;PCB小体积的产品提供了可靠的选择。

WoShop跨境电商源码:支持多种货币转换,让购物更加便捷!

随着全球电子商务的飞速发展&#xff0c;跨境电商已经成为了众多企业的必然选择。然而&#xff0c;在跨国交易中&#xff0c;货币转换往往成为了一个令人头疼的问题。为了彻底解决这一难题&#xff0c;我们特别推出了一款支持多种货币转换的跨境电商源码&#xff0c;致力于为用…

大洋钻探系列之一引子

大洋科学钻探计划自1968年启动开始&#xff0c;迄今已有50余年&#xff0c;先后经历了&#xff14;个阶段。深海钻探计划(Deep Sea Drilling Program&#xff0c;DSDP&#xff0c;1968-1983年&#xff09;、国际大洋钻探计划&#xff08;Ocean Drilling Program&#xff0c;ODP…

内衣洗衣机和手洗哪个干净?最好用的迷你洗衣机推荐

内衣洗衣机是家里的一种重要电器&#xff0c;在日常生活中也能起到很大的作用。生活的压力太大了&#xff0c;不是所有人都有空闲的时间手洗自己的内衣、内裤。因此&#xff0c;内衣专用的洗衣机在这方面做得非常好。但是&#xff0c;目前市场上的内衣洗衣机品牌很多&#xff0…