首页
资讯
模拟/混合信号
嵌入式系统
处理器/DSP
测试与测量
电源管理
通信
PCB设计
EDA/IP/IC设计
医疗电子
消费电子
汽车电子
工业电子
手机设计
物联网
人工智能
EDN原创
创新/创客/DIY
FPGA
eeTV
技术杂谈
芯品汇
图集
全部标签
技术
实例
芯品汇
资源
视频中心
在线研讨会
EE直播间
资料下载
小测验
供应商资源
视频工作室
ASPENCORE学院
社区
论坛
博客
问答
下载中心
评测中心
面包芯语
技术文库
E币商城
社区活动
ASPENCORE学院
活动
2024第五届中国国际汽车电子高峰论坛
IIC Shenzhen 2024
2024MCU及嵌入式大会
2024国际AIoT生态大会
IIC Shanghai 2024
IIC Shenzhen 2023
2023第四届中国国际汽车电子高峰论坛
IIC Shanghai 2023
2023全球 MCU 生态发展大会
2023(第四届)国际 AIoT 生态发展大会
更多行业及技术活动
工程师社群活动
专题
用于电路分析和设计的SPICE仿真指南
QSPICE电子电路仿真系列教程
电力电子笔记
数字电子基础
技术子站
电源和信号完整性测试技术中心
泰克智能汽车测试技术中心
福禄克红外热像仪免费试用
芯源半导体MCU技术中心
英飞凌电容感应方案中心
器件射频和材料介电常数测试
是德科技 新能源汽车三电测试技术中心
西门子EDA 3D IC设计解决方案
车载总线测试和解码
Microchip 视频与资源中心
NI最新射频仪器专区
西门子EDA中心
汽车电子专题
E聘
NEW
IIC Shanghai 2025
IC设计成就奖投票
标题
简介
内容
作者
全部
标题
简介
内容
作者
全部
首页
资讯
模拟/混合信号
嵌入式系统
处理器/DSP
测试与测量
电源管理
通信
PCB设计
EDA/IP/IC设计
医疗电子
消费电子
汽车电子
工业电子
手机设计
物联网
人工智能
EDN原创
创新/创客/DIY
FPGA
eeTV
技术杂谈
芯品汇
技术
实例
芯品汇
资源
视频中心
在线研讨会
EE直播间
资料下载
小测验
供应商资源
ASPENCORE学院
社区
论坛
博客
问答
下载中心
评测中心
面包芯语
技术文库
E币商城
社区活动
ASPENCORE学院
活动
2024第五届中国国际汽车电子高峰论坛
IIC Shenzhen 2024
2024MCU及嵌入式大会
2024国际AIoT生态大会
IIC Shanghai 2024
IIC Shenzhen 2023
2023第四届中国国际汽车电子高峰论坛
IIC Shanghai 2023
2023全球 MCU 生态发展大会
2023(第四届)国际 AIoT 生态发展大会
更多行业及技术活动
工程师社群活动
专题
用于电路分析和设计的SPICE仿真指南
QSPICE电子电路仿真系列教程
电力电子笔记
数字电子基础
技术子站
电源和信号完整性测试技术中心
泰克智能汽车测试技术中心
福禄克红外热像仪免费试用
芯源半导体MCU技术中心
英飞凌电容感应方案中心
器件射频和材料介电常数测试
是德科技 新能源汽车三电测试技术中心
西门子EDA 3D IC设计解决方案
车载总线测试和解码
Microchip 视频与资源中心
NI最新射频仪器专区
西门子EDA中心
汽车电子专题
E聘
×
杂志声明
我司杂志提供免费订阅,任何第三方平台的赠送或售卖行为均未获得我司授权,我司保留追究其法律责任的权利!
广告
基于SomeIP的ADAS系统架构
时间:
2022-05-17
作者:
汽车电子与软件
阅读:
分享
扫码分享到好友
海报分享
之前系列文章中提到,关于自适应AUTOSAR(APAutosar)平台是基于面向服务SOA的通信,以实现对底层硬件和其他软件组件的更大独立性。,
之前系列文章中提到,关于自适应 AUTOSAR (AP Autosar)平台是基于面向服务SOA的通信,以实现对底层硬件和其他软件组件的更大独立性。
而在经典AUTOSAR(Classic Autosar)中,ECU提取和 SWC 描述本地静态存储在相关 ECU 上的 ROM 组件中。
这些共同定义了整个系统内ECU的行为,不能随意交换。
另一方面,在新平台中,每个应用程序都有一个所谓的清单文件Manifest,该文件描述了应用程序提供和需要的所有接口、方法和服务。Manifest与应用程序的机器代码一起,这形成了一个可以在任何自适应 AUTOSAR ECU 上执行的单元。清单和应用程序代码都被持久存储并加载到正在执行的 ECU 的 RAM 中执行,每个应用程序都在单独的虚拟地址空间中执行,以排除应用程序之间的交互。
底层平台是(至少符合 PSE51 的)POSIX 操作系统,这意味着任何兼容的应用程序都可以在现有的 ECU 上运行。应用程序作为单独的进程执行,并且可以使用标准化库和接口 访问操作系统和抽象硬件的功能。
从应用程序的角度来看,与其他应用程序或进程的通信是局部透明的,即与远程 ECU 上的应用程序的通信在同一 ECU 上运行的应用程序的连接是相同的。因此,应用程序之间的通信路径可以在运行时确定——这可以实现应用程序的动态(重新)分配,而不会对其他应用程序的功能产生负面影响。为了实现这一点功能,SOME/IP 协议可用作中间件。
基于Some IP的ADAS系统架构
下图显示了一种通用的车辆架构,其中使用了经典和自适应 AUTOSAR ECU。由于对于安全相关组件的实时要求和绝对稳健性要求,该架构保留 CAN 总线控制的 AUTOSAR 经典 ECU 用于动力总成集群(例如发动机控制、制动系统、安全气囊)。此外,与复杂的 ADAS 系统(例如车道偏离警告或停车辅助系统)和传感器系统(例如雷达或摄像头)相比,这些组件只需要相对较低的数据速率就能实现其功能。平台之间的连接由中央网关(也称为主机)建立。因此,消息可以在基于经典AUTOSAR架构的CAN信号下,将总线结合与面向服务的通信中实现相应的功能及信号输出。
下面使用一个简化模型对整体的通信过程对如上示例进行详细的说明。其中,实线连接表示基于以太网的 SOME/IP 网络。虚线表示无线接口,虚线表示有线连接(通过CAN总线)。
上图中的模型由五个通信节点组成,其中包含Π 网关、Π ADAS、Π 连接性器、Π HMI 和Π 传感器。每个节点代表一个物理上独立的 ECU,节点之间的所有通信都通过 SOME/IP 进行。描述了分布在这些节点上的许多自适应 AUTOSAR 应用程序。对系统重要的其他车载网络或无线电通信的接口显示为抽象云。
SOME/IP 协议旨在为车辆内基于 IP 的通信定义统一的中间件。该协议基于现有的 TCP/UDP 堆栈,因此通过创建局部透明性为应用程序之间的通信创建了更高级别的抽象。该属性表示应用程序不需要知道哪个网络节点提供了所需的功能或寻求的信息。如果这是在同一个 ECU 上,则通过本地通信通道(例如共享内存、进程间通信、管理程序接口)提供信息。另一方面,如果信息在另一个(已知)网络节点上可用,则中间件执行必要的网络通信,然后将数据传输到应用程序。
SOA服务中如何使用SOME/IP
根据面向服务的范式,所谓的服务构成了 SOME/IP 协议的中心元素。服务被定义为以下各项的逻辑组合提供给其他服务的方法Method、数据字段Field和事件Event。Event事件表示服务状态的抽象变化,并允许有效实现类似于 CAN 协议的面向信号的通信。
例如,可以通过相应字段Field的通知方法来定义何时触发此类事件。一个服务Service的一个或多个事件可以组合成一个所谓的事件组。客户端订阅一个服务中的一个或多个事件组以接收订阅组中包含的事件通知。使用多播可以有效地传递事件实施,订阅客户的数量应该增加。
SOME/IP 支持三种基本版本的 Notifier 方法。最简单的形式 Update-on-Change 会在相应字段的值发生更改时立即发送通知。如果只有显着的值更改会触发事件,则可以配置所谓的ε更改通知器。为此,为该字段定义了一个 ε 值。一旦发送的最后一个值的变化超过定义的 ϵ,就会触发通知。第三个选项是 Cyclecic 更新。为此,字段Field的当前值会以指定的时间间隔发送,而不管值可能发生变化。
辅助驾驶中的SOA服务通信原理
在下文中,如上示例架构被扩展为包括合适的应用程序(由它们的服务、事件组和方法表示)。它们具有许多相互依赖关系,可用于阐明协议的工作原理。
下图显示了 ECU 级别的依赖关系。
从上图所表示,基础的连接架构上看,主要包括如下几个模块:
ADAS/ADS,
此应用程序代表驾驶员辅助系统/自动驾驶系统的集合。该服务包括许多配置方法(config)和一个事件组(警告),在识别出的危险事件中发送警告消息。为了提供这些功能,ADAS/ADS应用程序需要大量传感器数据,这些数据由事件组(SensorData 和 CANread)提供。
adSensor
,
此服务捆绑了许多高级传感器,并通过 sensorData 事件组EventGroup将它们的数据提供给其他服务。除了纯粹的被动传感器操作外,C2X 系统尤其还允许传输消息,例如警告后面的车辆交通拥堵或紧急制动。该服务为此功能提供传输方法。
如果检测到的危险超过阈值,应用程序也会独立做出反应以防止事故发生(例如通过启动紧急制动)。为此,ADAS 应用程序必须能够触发某些 CAN 消息,这可以使用 CANwrite 方法实现。此外,可能需要通过无线电接口(例如 C2X)传输警告消息,这就是为什么还需要 adSensor 服务的传输方法的原因。
Bridge网桥
,
网关服务提供基于以太网的 SOME/IP 网络和 CAN 总线之间的接口,以实现基本的车辆功能。CANread 事件组将某些 CAN 消息作为事件提供,而 CANwrite 方法允许对 CAN 总线进行受控写访问。
IProxy代理服务器
,
网关还提供了使用车辆手机接口访问互联网的代理服务。使用服务可以使用 iRequest 方法注册并接收必要的访问信息作为响应。
Multimedia多媒体
,
该服务使用 iRequest 方法允许多媒体应用程序(例如导航系统或在线搜索请求)访问 Internet。此外,这会访问来自 adSensor 服务的某些传感器数据。这是必要的,例如,显示倒车摄像头的视频流或根据行驶速度自动调整播放音量。
Settings设置
,
这是一个控制界面,将驱动程序所做的各种设置转发给系统。为此需要受影响服务的相应设置方法,例如 config 和特殊的 CANwrite 方法。
Dashboard仪表板
,
此服务在车辆驾驶舱中以易于访问的形式显示所有重要的车辆信息和警告。为此,该服务需要大量的信息源,特别是事件组警告、sensorData 和 CANread 是令人感兴趣的。
Blackbox黑匣子
,
从本质上讲,黑匣子服务是内部通信的纯粹被动观察者,它收集数据以在发生事故时进行后续诊断或用于诊断目的。为此,该服务订阅系统中的所有事件组,并提供 logMe 方法。其他服务可以调用此方法来启用从他们自己的服务传输的所有消息的日志记录。例如,对于允许(部分)自动驾驶的服务来说,这很有趣。如果发生事故,整个记录的通信可以提供有关事故原因的信息。例如,可以使用 iRequest 方法的 Internet 连接将诊断数据从服务传输(匿名)到制造商。
一组示例性 SOME/IP 服务及其依赖关系的概述,SOME/IP 标准定义了四个中心通信概念。
RPC 远程过程调用
,
分为 Fire&Forget 和 Request-Response。在第一个变体中,客户端调用服务器提供的方法,但不期望返回值。Fire&Forget 请求因此特别适用于控制命令。请求-响应变体是远程方法调用的经典形式,调用客户端会收到包含返回码和包含任何返回值。
Field字段
,
客户端可以使用 get 或 set 方法读取和更改服务的数据字段。此外,每个字段都可以有一个 Notifier 方法,将字段的当前值传输给感兴趣的客户端。
Publish-Subscrib发布-订阅
,
一项服务可以提供一个或多个事件组,感兴趣的客户可以订阅这些事件组。一旦属于事件组的字段的状态以定义的方式发生变化,服务就会向所有订阅客户端发送一个带有新状态的通知帧(事件),这种机制允许有效地实现面向信号的通信。
SOA服务具有系统内唯一的 16 位服务 ID。与服务的IP地址和端口一起,可以清楚地识别服务。功能相同的服务的多个实例是有可能的,并且由 16 位服务实例 ID 唯一标识,保留实例 ID 0xFFFF 允许对所有实例进行寻址。为了使 SOME/IP 帧头尽可能小,仅在其中指定服务 ID。服务实例 ID 仅在 SOME/IP 服务发现期间使用。因此,位于同一 ECU 上的两个服务实例不得在同一TCP/UDP 端口上接收和发送,以防止错误寻址。服务提供的每个方法和事件通知也有一个 16 位的方法 ID,它唯一地标识服务上下文中的方法。按照惯例,最高有效位 (MSB) 是事件的“1”和方法的“0”。另一方面,事件组具有在整个系统中唯一的 16 位 ID。服务 ID 和方法 ID 的串联唯一标识了 SOME/IP 消息的接收者,因此称为消息 ID。消息 ID(连同 IP 地址和端口号)足以将消息发送到正确的服务器。
ADAS/ADS系统中的服务发现
客户端和服务器之间需要某种形式的会话处理来区分不同的客户端请求。SOME/IP 提供了请求 ID 的使用,它由两个 16 位字段客户端 ID 和会话 ID 组成。客户端 ID 此标识符唯一地指定 ECU 内的客户端应用程序。ID 到应用程序的分配可以由 ECU 自由管理。会话 ID 在最简单的情况下,此标识符是一个简单的计数器,它随着来自客户端的每个新请求而递增,以区分每个先前的请求。SOME/IP 标准规定,对于从客户端到服务器的第一条消息,会话 ID 的值为 0x01假设会话处理对于带有响应的 RPC 是强制性的,对于“Fire&Forget” 的远距离进程通信RPC 和Event事件是可选的。
SOME/IP
中间件的先决条件是了解所提供的服务、它们在智驾系统中的当前状态和位置。对于这个中心任务,SOME/IP 定义了服务发现 (SD) 协议。服务是使用 ECU(比如高阶域控制器HPC) 的 SOME/IP-SD 进程发现的,并分为本地(针对在同一HPC上运行的所有服务)和系统范围(针对网络内 ECU (如座舱域控制器CSC、底盘域控制器VDC、车身域控制器PDC)上可用的服务)提供发现服务的能力。一旦 ECU 完成本地服务发现,它就会将组合的 SOME/IP-SD 消息作为 IP 多播发送到所有其他 ECU。这样的消息包含一个或多个 offerService 和 findService 子消息。offerService 消息描述了 ECU 的本地服务(比如雷达/摄像头探测目标的服务Objects)及其所有相关选项(如需要该传感器发送的具体哪个目标信息)。此类消息的所有接收者都可以使用 SOME/IP 以这种方式提供的服务。如果本地无法解决服务的依赖关系,则发送相应的 findService 消息。读取此类部分消息的接收者然后检查其本地服务是否匹配。如果找到,则接收者回复另一条 SOME/IP-SD 消息,其中包含所寻求服务的 offerService 条目。
下图显示了一个示例服务发现的过程。
系统启动均发生在 SOME/IP-SD 进程启动后,它会经历三个阶段:初始等待、重复和进入主程序。
Initial Wait初始等待
系统启动后,进程在实际服务发现开始之前进入等待阶段。此等待期用于完成本地服务发现,也使慢速系统能够启动,然后参与 SOME/IP-SD 协议。在最好的情况下,网络中的所有 SOME/IP-SD 进程都已准备就绪,并且每个 ECU 交换单个 SOME/IP-SD 消息集(Message Set)就足以发现网络中的所有服务。
Repetition重复多播
等待阶段结束后,SOME/IP-SD 进程开始通过 IP 多播将组合消息发送到预先配置的多播地址(参见上面子图 a),且这个过程会定期重复。该阶段的间隔和总长度是系统参数,可以任意选择。这些参数的典型选择是例如总持续时间为 40 毫秒,间隔长度为 10 毫秒。
Main主程序
重复阶段之后是主阶段,一直持续到 ECU 运行时间结束。在此阶段,如果发现至少一个本地服务对应于请求中的条目,SD 进程将响应传入的 findService 请求(请参阅c 和d 图)。此外,可以定期发送 SOME/IP-SD 消息的循环更新,例如更新所提供服务的有效时间、生存时间及延迟时间等。
要创建 SOME/IP-SD 消息,该过程必须具有有关在 ECU 本地运行的所有服务的准确信息。创建消息的 offerService 和 findService 条目需要充分掌握SOME/IP 标准信息定义。
总结
SOME/IP 可以看作是一种基于对象的面向服务的体系结构。信息通过实例化服务对象提供给系统,这些由客户端应用程序访问,客户端应用程序为他们想要访问的每个服务实例实例化相应的“代理”对象。客户端应用程序通过将代理对象附加到服务对象,并使用它来监视事件Event和字段Field,从而得以有效的订阅信息。他们还可以调用服务对象上的操作来执行远程过程调用RPC或读/写特定字段。
SOME/IP特别注重协议的可扩展性,使低性能ECU和功能强大的ECU都可以使用相同的协议进行通信,为了实现可扩展性,SOME/IP的几个可互操作版本是可能的。对于最小版本,整个 SOME/IP-SD 协议可以被一个静态配置文件替换,其中包含所有必要的信息。另外,可以省略 TCP 的实现。为了与更复杂的实现互操作,只需需要 SOME/IP 序列化,并且需要支持之前介绍的通信类型即可。
责编:Lefeng
文章来源及版权属于汽车电子与软件,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系
Demi.xia@aspencore.com
阅读全文,请先
汽车电子与软件
汽车电子与软件
进入专栏
分享到:
返回列表
上一篇:
京鱼座AI闹钟拆解,助力生活智能化,支持物联控制家具
下一篇:
充电头网建立快充兼容性实验室引入多款新品分析研究
微信扫一扫
一键转发
最前沿的电子设计资讯
请关注
“电子技术设计微信公众号”
推荐内容
兴趣推荐
2024年德国汽车市场:纯电补贴退坡,中国品牌遭遇挫折
2024年,德国汽车市场在总体销量下降的同时,燃料类型和品牌格局的变化清晰地反映了市场转型的趋势···
拆解报告:联想thinkplus 30W迷你氮化镓充电器
联想thinkplus 30W迷你氮化镓充电器延续口红系列风格设计,整体小巧美观,充电器支持QC3.0/4+、FCP、SCP、AFC、
2024年中国汽车出口情况盘点:哪些车企出口最多?
中国汽车出口在近年来取得了令人瞩目的成绩,增速放慢还是有一些挑战,2025年我们会持续观察中国汽车海外拓展的
拆解报告:HUAWEI华为WATCH GT5智能手表
HUAWEI华为WATCH GT5智能手表在外观方面,延续了上代的户外运动风格,圆形屏幕,八角菱形表框,搭配叶形切面表圈,以
CES|禾赛科技发布激光雷达新品,从智能驾驶拓展到机器人
在 CES 2025 上,禾赛科技推出了一系列新的激光雷达产品,包括1440线的AT1440、超广角固态雷达FTX以及面向机器
AI如何提供情绪价值?表情陪伴人形机器人
表情陪伴机器人通过情感交互技术与仿真设计,可以填补了AI虚拟陪伴的短板,更推动了人机关系从工具化向情感化发
上汽通用“深蹲反击”:做转型最快的合资车企
在2024年的复杂市场环境中,上汽通用的策略是很确定的,产品策略更聚焦、技术升级更彻底,还有对现有的渠道改革,抓
拆解报告:铭凡显卡拓展坞DEG1
本期拆解带来的是MINISFORUM铭凡推出的DEG1显卡拓展坞,这款拓展坞采用OCuLink42针接口,支持PCIE4.0*4 接口拓
比亚迪集团第51周,9.33万!
周度新能源汽车销量分析:比亚迪、方程豹、腾势表现亮眼,细分市场竞争加剧···
吉利集团第50周销量,5.8万!
2024年12月9日至12月15日,中国汽车市场持续保持活跃,吉利集团四大主品牌总销量为5.8万台,各品牌销量普遍增长·
拆解报告:ring 7.5W USB-A电源适配器
ring室内摄像头电源适配器采用白色方块机身,配备澳规两插插脚,支持100-240V全球宽电压输入,输出为USB-A母座,输
比亚迪第52周:较前几周销量下降,细分车型仍是强项
从销量数据可以看出,比亚迪在产品布局和市场适配上依然占据绝对优势,但年末销量疲软具体什么情况还需要观察·
拆解报告:小米超薄充电宝5000mAh
近期小米推出了一款5000mAh卡片充电宝,机身薄至10mm,外观典雅大气。机身设有USB-C接口,支持最大PD 20W输出和18
拆解报告:OPPO磁吸移动电源5000mAh
OPPO磁吸移动电源5000mAh拥有10W的无线和有线快充能力,支持12W最大输入功率,外观精美轻薄,配备电源开关键和LED
叩问2024,中国汽车明年走向何方?——产品篇
2024 年,中国汽车市场由于渗透率达到了50%,从产品销量排行呈现出纯电、插电、增程并列的多样化的发展态势··
拆解报告:等离子高速吹风机YA-V1
本期拆解的这款等离子高速吹风机具备四档风温和两档风速调节,吹风机内置距离传感器,能够检测与物体距离,过近时
Nvidia Omniverse:物理人工智能后面的“软核心”
GPU的进步正深刻重塑着众多行业,英伟达凭借其技术创新不断拓展产业边界。继 CUDA 之后,Omniverse 极有可能成
2025,大众汽车集团在中国如何转型?
2024 年,大众汽车集团(中国)在复杂多变的市场环境中成功达成销量目标,向客户交付超过 290 万辆汽车,新能源汽车领
CES|2025年有哪些AI眼镜值得买?
CES 2025 将 AI 智能眼镜推至聚光灯下,成为全场焦点。众多终端厂商及上下游产业链参与者纷纷亮剑,带来形态各
拆解报告:绿联20W 3A1C氮化镓智充魔盒S6
本期充电头网为大家带来的是该系列在20W功率段的一款产品——智充魔盒S6,其内置20W快充USB模块的同时,配备多
使用MSO 5/6内置AWG进行功率半导体器件的双脉冲测试
在本文中,宽禁带功率器件供应商Qorvo与Tektronix合作,基于实际的SiC被测器件 (DUT),描述了实用的解决方案··
嵌入式Rust:我们如今身处何方?
Rust对于一般应用开发来说很有意义,但对于嵌入式软件团队来说真的有意义吗?Rust如今的情况如何,它是否就是大家
毫米波雷达与音频技术重塑汽车驾乘新体验
汽车行业的发展正由两大创新领域主导:更为精准可靠的车内感知系统和高质量音频系统。传统方法如增加传感器或
631.2亿美元的市场,创新制造工艺将为柔性电子带来什么?
柔性电子设备的新型制造技术正在迅速涌现。有些人可能想知道它们是否比传统方法更好,以及它们什么时候会商业
广告
热门评论
最新评论
换一换
换一换
广告
热门推荐
广告
广告
EE直播间
更多>>
在线研讨会
更多>>
学院
录播课
直播课
更多>>
更多>>
更多>>
更多>>
广告
最新下载
最新帖子
最新博文
面包芯语
更多>>
热门TAGS
产业前沿
消费电子
技术实例
EDN原创
电源管理
新品
汽车电子
处理器/DSP
通信
传感器/MEMS
模拟/混合信号/RF
工业电子
无线技术
人工智能
制造/工艺/封装
EDA/IP/IC设计
安全与可靠性
测试与测量
查看更多TAGS
广告
×
向右滑动:上一篇
向左滑动:下一篇
我知道了