aFakeProgramer
Adaptive AUTOSAR技术专家,2024 AUTOSAR中国官方TOP培训讲师。深耕汽车电子软件领域,精通Adaptive AUTOSAR架构及RTA-VRTE工具链,实战经验丰富。深入掌握SOME/IP、IPC、DDS、DoIP、UDS、TSN等通信协议,熟悉SOA设计、V2X与车载网络安全。熟练使用C++和Python进行系统开发与集成,具备MQTT、加密机制等智能网联技术应用能力。致力于将复杂技术通俗化,推动汽车软件架构向服务化、智能化发展。持续分享Adaptive AUTOSAR、DDS、TSN及车载以太网等前沿技术实践,助力工程师快速掌握下一代汽车电子开发核心技能。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
让 VSOMEIP 协议栈的行为完全对齐DSOMEIP 协议栈(版本、字段、格式、编译环境),消除协议交互中的不兼容点,从而解决通信失败问题
问题类型核心解决原则关键注意点版本号不匹配发布 / 订阅版本号(Major)强制统一主版本号必须一致,次版本可通配保留字段 / 计数器不兼容对齐对接方 DSOMEIP 的字段值非标准字段需确认厂商规范Payload 反序列化失败格式 + 字节序双对齐长度字段需先转换字节序Android 交叉编译失败环境 + 依赖 + CMake 参数统一确保 Boost 与 NDK 架构匹配最终,所有修改的核心是让 VSOMEIP 协议栈的行为完全对齐 DSOMEIP 协议栈。原创 2025-12-25 09:44:57 · 38 阅读 · 0 评论 -
SOME/IP-SD 示例图
这是一个复合型 SD 消息。原创 2025-11-13 10:27:11 · 144 阅读 · 0 评论 -
SOME/IP-SD 协议中 Entry 与 Option 的定义、分类及协同机制
类型标识名称核心作用关键字段与场景0x01配置选项(Configuration Option)传递服务的附加文本配置信息,支持键值对格式,增强服务可描述性- 字段:1 字节长度 + 字符串(如“服务名 = 车速”、prio=high“优先级 = 高”);- 场景:服务上线时附加 “环境标识(production/test)”,客户端据此选择测试 / 生产环境的服务实例(参考摘要 2)0x02负载均衡选项(Load Balancing Option)原创 2025-11-13 10:14:52 · 86 阅读 · 0 评论 -
SOME/IP 通信中多播机制的具体算法解析
若超时(默认 1 秒)未收到其他客户端的 IGMP 报告,则从 “组播成员列表” 中移除该组,向上游路由器发送 “修剪消息”,告知 “该分支无成员,无需转发数据”;:若服务端检测到某客户端长时间无响应(如未收到客户端的 IGMP 报告刷新),则从 “订阅者列表” 中移除该客户端,若列表为空,服务端可停止发送多播数据,节省资源(参考摘要 5)。路由器通过 “消息抑制算法”,仅保留 1 份 IGMP 报告,更新 “组播成员列表”,并通过 PIM-SM 向 RP 发送 “加入请求”,构建共享树。原创 2025-11-13 09:58:09 · 119 阅读 · 0 评论 -
SOME/IP 多播机制与 AUTOSAR 标准定义:多客户端订阅场景解析
服务端是多播参数的 “权威来源”,客户端必须遵从服务端配置的参数;原创 2025-11-13 09:55:18 · 115 阅读 · 0 评论 -
SOME/IP协议简要介绍
Option 类型类型码用途示例0x01通信配置参数(如消息大小、TTL)0x02支持多实例间的负载均衡0x03提供具体 IP 和端口0x04支持多播通信。原创 2025-11-12 18:28:29 · 71 阅读 · 0 评论 -
SOME/IP协议了解哪些知识
SOME/IP(Scalable service-Oriented Middleware over IP)是车载以太网领域专用应用层协议,核心目标是满足嵌入式场景下的资源约束、多通信伙伴兼容、AUTOSAR 有线格式兼容(无需修改 AUTOSAR 标准即可交互)、车载功能需求(如自动驾驶、中央计算),且可在 AUTOSAR、GENIVI、OSEK 等操作系统及无 OS 嵌入式设备上实现。原创 2025-11-06 14:11:38 · 94 阅读 · 0 评论 -
什么是TC8测试?
首先,TC8全称是。它是由AUTOSAR组织制定的一套针对车载网络TCP/IP协议栈的一致性测试标准。虽然名字叫“TCP/IP测试规范”,但TC8的实际测试范围远不止传统的TCP和IP,它涵盖了车载以太网相关的几乎所有核心协议,其中就包括SOME/IP和SOME/IP-SD。TC8测试的目的不是为了验证功能是否正确,而是为了确保不同厂商开发的协议栈软件能够严格遵循标准,从而实现互联互通。原创 2025-10-28 17:08:37 · 885 阅读 · 0 评论 -
SecOC中新鲜度值和MAC都按照完整的值来生成,但是在发送和认证的时候只会截取一部分。这边截取的部分一般取多长?由什么参数设定?
SecOC协议提供了一种截取的方式,即在生成完整的FV和MAC后,只发送其中的一部分,而在接收端,根据相同的规则,重新生成完整的FV和MAC,然后与发送端的截取部分进行比较,以验证数据的合法性。这意味着,对于每个受保护的I-PDU,SecOC模块会使用CMAC/AES-128的算法,根据密钥、数据ID、完整的FV和待认证的数据,生成一个128 bit的MAC。不同的配置文件可能会有不同的截取长度和规则,因此,发送端和接收端需要使用相同的配置文件,才能正确地进行数据的验证。原创 2024-01-04 15:14:41 · 1529 阅读 · 0 评论 -
DSOMEIP丢数据问题分析和总结:
(1)问题现象无论使用arm64硬件、x86 ubuntu电脑、ubuntu docker哪种组合进行DSOMEIP event通信,接收端都会在event payload长度增加到一定程度时udp方式出现丢数据现象。总体上arm64硬件略优于x86 ubuntu电脑,x86 ubuntu电脑略优于ubuntu docker。并且用wireshark抓包时每次都可以抓到丢的SOMEIP数据包,并且数据包完整并且TP顺序没有问题。原创 2023-09-25 09:27:36 · 499 阅读 · 0 评论 -
SOME/IP SubscriberEventGroup
SOME/IP-SD使用一个特定的多播地址(239.255.255.255)和端口(30490)来传输消息,这些消息包含服务的ID,方法的ID,属性的ID,事件组的ID,以及其他的选项和参数。(1) SOME/IP 学习笔记 - Zijian/TENG - 博客园. https://www.cnblogs.com/tengzijian/p/15360205.html.然后,您可以接收到服务提供者回复的Offer Service的消息,使用单播的方式,告诉您服务的详细信息,比如IP地址,端口号,传输协议等。原创 2023-12-20 10:13:16 · 1802 阅读 · 0 评论 -
SOME/IP通信一个进程中包含50个method使用了 ara::core::Future 和回调机制来处理远程方法调用效率低的问题与解决办法
文章摘要: 本文分析了基于ara-com框架的MethodIO同步调用性能问题,提出了四种优化方案:1) 使用异步Future+回调实现非阻塞调用;2) 线程池并发执行多个Method请求;3) C++20协程实现事件驱动模型;4) 分离状态机与网络调用线程。核心建议是避免主线程阻塞,推荐优先采用.Then()异步回调机制,对于并发场景建议使用线程池,高性能需求可采用协程模型。方案比较表明,异步非阻塞设计能有效提升SOME/IP通信效率,同时需注意线程安全和异常处理。最佳实践包括封装调用逻辑、使用计时器替代原创 2025-06-27 16:04:23 · 159 阅读 · 0 评论 -
SOME/IP学习笔记1
举例:上面这个SD报文携带两个entry,第一个entry 负责find service,第二个entry可以offerservice 并携带了一个option ,option指定的是本服务的IP地址和端口号,这样客户在收到报文之后就知道该如何找到这个服务了。Client 可以远程调用 Server 提供的服务,或者订阅 Server 发布的内容,Client 调用服务或者订阅内容之前,需要知道 Server 提供哪些服务,这个过程就是通过服务发现来实现的。原创 2023-08-03 10:09:21 · 1235 阅读 · 0 评论 -
Secure SOME/IP-ACL:车载网络的访问控制安全机制
(2) 浅谈SomeIP以及在AutoSAR中的运用 - 优快云博客. https://blog.youkuaiyun.com/weixin_43307365/article/details/109522669.(3) SOME/IP协议【Autosar AP必备知识】 - 优快云博客. https://blog.youkuaiyun.com/fu_kou/article/details/127400613.它的目的是防止未经授权的客户端或服务端访问或提供敏感的服务²。原创 2023-12-15 16:04:32 · 1873 阅读 · 1 评论 -
SOME/IP 服务发现中的 TTL 与 Entry 详解
车载以太网中SOME/IP-SD协议通过TTL(生存时间)和Entry(条目)实现服务发现与状态管理。TTL以秒为单位控制服务/订阅有效期(0-3600秒),Entry包含服务/事件组信息用于注册订阅。两者协同工作确保网络服务状态同步,支持动态调整以适应不同场景需求。典型应用包括车内空调控制系统等服务注册与事件订阅,通过定期刷新机制实现自动清理,为车载通信提供高效可靠的基础设施。原创 2024-09-14 16:21:08 · 983 阅读 · 0 评论 -
SOME/IP 教程知识点总结
例如,在“SOME/IP概念”部分,提到了服务、方法(请求/响应、Fire & Forget)、事件、字段等。服务发现(SOME/IP-SD)部分似乎比较复杂,包括服务发现的消息格式、端点选项、状态机以及错误处理。看起来这个教程从介绍开始,讲到了为什么在车辆中使用以太网,然后详细讲解了SOME/IP的概念、序列化、消息传递、服务发现(SOME/IP-SD)、发布/订阅机制以及支持情况。:全局唯一标识(类似CAN ID),由Service ID(16位)和Method/Event ID(16位)组成。原创 2025-02-27 10:33:52 · 427 阅读 · 0 评论 -
SOME/IP通信当服务端和客户端的数量变多,数据量变大的情况下,如何保障数据不丢包,可不可以为一个通信数据排优先级?
如果需要传输非常大的数据块 (> 1400字节),并且在存在错误的情况下没有硬延迟要求时,可以使用TCP;资源限制(Resource Limit):指定通信数据在内存中占用的资源限制,即最多可以缓存多少条消息或多少字节的消息。当服务端和客户端的数量变多,数据量变大的情况下,如何保障数据不丢包,可不可以为一个通信数据排优先级?SOME/IP-TP是一种分段和重组机制,它可以将大于1400字节的数据分成多个小于1400字节的片段,并在接收端重新组合成完整的数据。通信是一种面向服务的传输协议,它可以支持请求。原创 2023-06-01 10:50:01 · 1480 阅读 · 0 评论 -
SPME/IP PPT详解
什么是中间件?它是操作系统与应用程序之间的一块代码,它对于应用程序提供了一些标准接口,屏蔽了应用程序与底层的一些交互,上层应用程序只要和中间件进行交互就可以了,这样就可以达到一个解耦的目的。SOMEIP其实是一个中间件,它是操作系统与应用程序之间的一段代码,它是可以运行在TCP/IP之上的,可以在很多平台上使用,可以适配较多的操作系统,可以提供很多接口。经过序列化之后,在网络上传输的是一些101010这样的二进制流。SOME/IP可以承接应用层的一些数据,进行打包放到传输层。翻译 2024-04-01 15:13:20 · 547 阅读 · 0 评论 -
SOME/IP TTL 在各种Entry 中各是什么意思?有什么限制?
(1) SOME/IP 学习笔记 - Zijian/TENG - 博客园. https://www.cnblogs.com/tengzijian/p/15360205.html.(6) SOME/IP 学习笔记 - Zijian/TENG - 博客园. https://www.cnblogs.com/tengzijian/p/15360205.html.(2) 一篇入门SOME/IP协议 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/253077443.原创 2023-09-04 11:28:21 · 2252 阅读 · 0 评论 -
在SOME/IP协议中Service Entry和Eventgroup Entry有什么作用?
在SOME/IP协议中,Service Entry和Eventgroup Entry是用于服务发现和事件订阅的关键元素。这些Entry帮助客户端和服务端在网络中定位和连接所需的服务。Service Entry 的长度为 16 字节,各字段应满足如下要求,格式如图所示:1) 类型字段 [ uint8]:编码为 FindService(0x00) 、 Offe rService(0x01) 和 StopOfferService(0x01)原创 2024-09-14 16:02:29 · 461 阅读 · 0 评论 -
SOME/IP 序列化问题
其中Payload部分,在Serialize后会在Payload头部填充TLV Tag(4Byte)和BOM(3Byte)。说明: BOM+实际数据的长度 = 24(BOM 3个字节 + 20个a + 1个 \0)即使hasTlvTag确实是false,也会保留这个位置,只是里面填写00。ef bb bf 对应的是BOM[0] BOM[1] BOM[2]前面一部分是00 00 00 18 (十六进制的18)传输的字符串是someData.Data = "原创 2025-10-28 10:43:00 · 304 阅读 · 0 评论 -
SOME/IP 和 DDS 的详细对比,内容涵盖它们的核心差异、适用场景及选型建议
摘要:SOME/IP与DDS是两种针对不同领域的通信中间件。SOME/IP专为汽车电子设计,基于AUTOSAR标准,采用面向服务架构(SOA),适合车载ECU间的低延迟通信,但QoS和动态扩展能力有限。DDS是工业物联网通用标准,采用数据总线模型,支持动态发布-订阅、20+种QoS策略及细粒度安全控制,适用于航空航天、医疗等高实时场景。核心差异包括:SOME/IP依赖静态绑定和传输层协议,DDS实现动态发现与传输无关性。选型需考虑行业特性——汽车领域优先SOME/IP,跨行业复杂系统推荐DDS。二者在AUT原创 2025-06-27 16:20:38 · 1653 阅读 · 0 评论 -
IPV6协议和IPV4协议有什么区别?
IPV6协议是一种网络层的标准协议,是IPV4协议的升级版本。IPV6协议可以提供更多的地址空间,更高的网络性能,更好的安全性和扩展性。IPV6协议也支持新型的应用程序,如对等和移动应用程序。IPV6协议的地址用冒号分隔的十六进制数字表示,比如2001:0db8:85a3:0000:0000:8a2e:0370:7334IPV4协议的地址用点分隔的十进制数字表示,比如192.168.0.1。原创 2023-06-01 11:03:08 · 8462 阅读 · 0 评论 -
介绍一下SOME/IP 的Session handing功能
(1) SOME/IP协议详解[6 SOME/IP-TP]_someip tp-优快云博客. https://blog.youkuaiyun.com/hammershr2012/article/details/131073230.(5) 详解SOME/IP协议文档-1_someip session id-优快云博客. https://blog.youkuaiyun.com/wjz110201/article/details/119544676.所有属于同一会话的消息都共享相同的会话ID³。原创 2024-08-29 10:43:57 · 793 阅读 · 0 评论 -
someip中通过event方式通信,为什么实际使用时使用的是eventGroup?
告知服务端自己只关心某一组的消息,而不需要接收所有的Event。这样可以减少不必要的通信和计算消耗。是为了提高通信的效率和灵活性,让客户端可以按需订阅感兴趣的事件,而不是被动地接收所有的事件。可以按照一定的规则或者周期发送数据,也可以根据服务端的条件触发发送数据。是一种面向服务的可伸缩的协议,用于控制消息的汽车中间件的解决方案。是一种主动发送的接口,用于通知客户端服务端的状态变化或者事件发生。,分别对应不同的通信机制和场景。方式通信,实际使用时使用的是。的概念,它可以将多个相关的。原创 2024-01-04 13:42:17 · 1547 阅读 · 0 评论 -
SOME/IP 支持两种序列化方式:TLV(Tag Length Value) 和 TV (Tag Value)
SOME/IP 是一种基于 IP 的可扩展面向服务的中间件协议,它可以在车载以太网中实现 ECU 之间的高效通信和互操作性¹²。原创 2023-09-05 13:10:59 · 1857 阅读 · 0 评论 -
SOME/IP的TLV 序列化机制详细介绍
SOME/IP(Scalable service-Oriented MiddlewarE over IP)中的 TLV(Type-Length-Value)序列化机制是实现跨 ECU 数据交换的关键。原创 2025-10-27 10:31:33 · 80 阅读 · 0 评论 -
SOME/IP 服务发现:一篇搞懂车机里的 “服务牵线搭桥” 术
报文类型核心说明Type 值适用场景客户端主动查询目标服务的报文,用于定位可用服务实例0x00客户端 Repetition Phase(发送查询请求)服务端宣告服务可用的报文,分广播(通知所有客户端)和单播(响应 FindService)0x01服务端 Repetition Phase(广播)、Main Phase(广播 / 单播)客户端请求订阅服务端事件组的报文,用于后续接收事件数据0x06客户端 Main Phase(收到 OfferService 后发送)原创 2025-11-03 13:58:27 · 906 阅读 · 0 评论 -
SOME/IP SD 报文:Entry 和 Option 字段详解(通俗版 + 车机例子)
先给个核心比喻:SD 报文就像车机 ECU 之间的 “服务沟通函”——,写清 “啥事、啥状态”;,补充正文没说全的细节。两者必须配合:没有 Entry,Option 就是 “无的放矢”;没有 Option,Entry 可能 “信息不全”,导致对方没法准确响应。一、Entry 字段:SD 报文的 “核心正文”1. 核心作用SOME/IP SD报文是一种特殊类型的SOME/IP报文,它的Payload部分不是普通的应用数据,而是专门为服务发现机制设计的结构,主要由Entry和Option数组构成。原创 2025-11-03 14:16:07 · 937 阅读 · 0 评论
分享