本文摘自车载以太网SOME/IP

1 前言

车载信息娱乐系统(In-Vehicle Infotainment,IVI)由收音机逐步发展而来,目前IVI系统已成为车内的重要信息显示单元,并已安装于大多数主流车型。随着信息技术和汽车电子的迅速发展,IVI系统集成的功能越来越多,包括音频播放、视频播放、移动电视、生活资讯、导航定位、移动上网、辅助驾驶、远程诊断、云端升级和行车安全。

功能众多对信息显示的实时性提出了较高要求,传统的车载网络架构CAN受信息传输带宽的限制,已无法满足需求。1998年,车载以太网标准IEEE 802.3推出的超低质量双绞线使每一条链路都可以专享100 Mb/s的传输速率[1],2004年,双同轴电缆的传输速率可达1 Gb/s[2],解决了传统车载架构的瓶颈,形成了新一代车载网络架构。

2 SOME/IP简介

SOME/IP是基于IP的可扩展、面向服务的中间件(Scalable service-Oriented Middleware over IP)的缩写。

车载以太网的5层模型结构如图1所示,包括应用层、传输层、网络层、数据链路层和物理层。SOME/IP是TCP/IP层上面的一层协议,位于车载以太网的四层以上。

图1 车载以太网的5层模型结构

车载以太网5层模型的每个层级功能不同,使用的支撑协议也不同。图2所示为车载以太网协议架构。

图2 车载以太网协议架构

由图2可见,SOME/IP协议位于应用层,提供面向服务的通讯接口。不同于传统车载网络的通讯方式,当有请求发出时,SOME/IP才会发送数据,否则不发送。这样总线上就没有不必要的数据,降低了负荷。这种通讯方式将节点分成两个角色:客户端(Client)和服务端(Server),而SOME/IP是实现这种远程服务调用的接口。

SOME/IP向上层应用程序提供API接口,创建Cli⁃ent/Server客户端,通过TCP/IP协议对应的以太网进行通讯,通讯接口如图3所示。

图3 SOME/IP通讯接口

SOME/IP的访问方式分为事件通知(Notifica⁃tion)、远程过程调用(Remote Procedure Call,RPC)和访问进程数据(Getter、Setter)3种。

事件通知与传统CAN通信消息类似,服务端(Server)周期性或者事件变化时向客户端(Client)发送特定消息,过程如图4所示。

图4 事件通知通信方式

远程过程调用是当客户端有请求的时候,向服务端发送一个请求消息,服务端根据情况返回响应,其框架如图5所示。

图5 远程过程调用(PRC)访问方式

访问进程数据可以使客户向服务器端写入(Setter)或者读取(Getter)数据。访问进程数据方式如图6所示。

图6 访问进程数据方式

3 详细设计

3.1 车载娱乐系统网络架构

在实际应用中,整车的车联网功能通过T-BOX来实现。IVI系统通过车内网关与T-BOX相连,通过SOME/IP协议获取需要的数据,实现IVI系统联网功能,IVI系统的网络架构如图7所示。

图7 IVI系统网络架构 3.2 IVI软件架构

SOME/IP在IVI车载以太网软件上的实现分为以下5部分:应用、服务(Server)、操作系统、SDK及SOME/IP库。

操作系统的选择是基于Linux平台的GENIVI,它是应用于车载娱乐系统的开放式操作系统,具有一定的定制性。目前GENIVI平台的应用包括连接消费电子设备、显示互联网内容、进行无线连接、播放音频/视频和高质量多媒体内容以及安装和更新APP的基本结构。车载以太网模块的软件框架如图8所示。

图8 车载以太网模块软件架构 3.3 硬件实现

IVI模块使用基于博通(BroadR-Reach)[6]技术的博通BCM89811芯片,实现以太网物理层收发器(PHY)的功能。该芯片的主要特点如下[7]:

(1)符合汽车级要求的低功耗工艺,降低功耗多达30%;

(2)集成芯片的低通滤波器可降低排放(符合EMC要求);

(3)集成的内部稳压器可为芯片提供电源,无需外部稳压器;

(4)满足汽车高规格要求,消除噪音并减少传输抖动;

(5)在单对非屏蔽双绞线上的传输速度可以达到100 Mb/s。 3.4 软件实现

SOME/IP主要实现以下功能:

(1)事件通知T-BOX状态信息;

(2)远程调用完成对T-BOX设置;

(3)读取T-BOX数据。

3.4.1 事件通知T-BOX状态

T-BOX周期性的发送T-BOX状态给IVI,包括TBOX的网络状态等,软件调用流程如图9所示。

图9 事件通知软件调用流程

3.4.2 远程调用实现

IVI通过远程调用完成对T-BOX的设置,包括WIFI连接设置等,软件调用流程如图10所示。

图10 远程调用软件实现流程

3.4.3 读取T-BOX数据实现

IVI通过SOME/IP的Getter获取T-BOX数据,实现读取T-BOX的日志等功能,软件接口调用如图11所示。

图11 读取数据调用流程

4 SOME/IP测试

对SOME/IP的测试硬件上使用VN5610A,软件使用CANoe实现。搭建的测试环境如图12所示。

图12 测试环境搭建

CANoe加载自带的SOME/IP库SomeIP_IL.dll完成仿真节点与IVI的通讯测试。

截取SOME/IP通讯数据,如图13所示。

图13 通讯数据

例如对第155条数据进行分析,如图14所示。

图14 数据包分析

这条数据包是ID为0xD005的通知类消息,与此车型的信息娱乐系统定义的SOME/IP消息矩阵吻合。通过这种测试方式完成了协议一致性测试。 5 结束语

综上,完成了SOME/IP在信息娱乐系统的搭载,实现了信息娱乐系统联网、通讯功能。

目前国内外主要芯片厂都提出了车载以太网的解决方案,并且车载以太网带宽已经达到100 Mb/s甚至1 Gb/s,SOME/IP在车载以太网上的应用使得车联网,音视频传输成为可能,实现传统CAN网络无法实现的功能。车载以太网推进了车辆智能化的发展,未来,SOME/IP在车载以太网方面的应用将越来越广泛。

附录:缩略语

SOME/IP Scalableservice-Oriented Middlewareover IP(基于IP的可扩展面向服务的中间件)

IVI In-Vehicle Infotainment(车载信息娱乐系统)

CAN Controller Area Network(控制器局域网络)

IEEE Institute of Electrical and Electronics Engineers(电气和电子工程师协会)

IP Internet Protocol(互联网协议)

TCP/IP Transmission Control Protocol/Internet Protocol(传输控制协议/网际协议)

Client The ECUusingtheserviceinstanceof aserver(使用服务器服务实例的ECU称为客户端)

Server The ECUofferingaserviceinstance(提供服务实例的ECU称为服务端)

RPC Remote Procedure Call(远程过程调用)

Getter A Request/Response call that allows read access to afield(允许对字段进行读访问的请求/响应调用)

Setter A Request/Response call that allows write access to afield(允许对字段进行写访问的请求/响应调用)

Request A message of the client to the server invoking a method(客户端调用服务端方法的消息)

Response A message of the server to the client transporting re⁃sults of amethod invocation(服务端反馈给客户端的调用结果消息)

T-BOX Telematics BOX(远程通讯终端)

SDK Software Development Kit(软件开发工具包)

APP Application(应用程序)

PHY Physical(物理层)

微心gong众号:糖果Autosar

请填写红包接口调用ip_SOME/IP的车载网络应用相关推荐

  1. 微信企业付款到零钱出现请提交付款接口调用IP

    最近开通了微信企业付款到零钱产品,相关的支付域名都配置,可以在提交IP时候一直提示 请提交付款接口调用IP 错误,查阅了官网很多资料,有的说要填写出口IP,明明填写的是服务器的IP地址,缺一直提示这个 ...

  2. SOME/IP的车载网络应用

    本文摘自车载以太网SOME/IP 1 前言 车载信息娱乐系统(In-Vehicle Infotainment,IVI)由收音机逐步发展而来,目前IVI系统已成为车内的重要信息显示单元,并已安装于大多数 ...

  3. 微信红包接口 java_【java微信开发】红包接口调用

    //import相关类 import java.io.FileInputStream; import java.security.KeyStore; import java.util.Date; im ...

  4. php微信商务平台 红包调用,微信平台红包接口怎么调用?微信支付商户平台红包发放接口调用图文教程[多图]...

    微信平台红包接口怎么调用?估计很多商家都还不太会操作吧?别着急,下面是友情小编搜集相关资料整理出来的微信支付商户平台红包发放接口调用图文教程,希望可以帮到大家,现在就跟随小编一起看看吧!!! 首先,商 ...

  5. 记录:通过第三方获取接口获取客户端IP,并判断当前IP是否在中国境内

    前言 项目需要根据客户的ip判断当前是否在中国大陆境内访问前端系统,实现一定的业务. 通过第三方获取接口获取客户端IP,并判断当前IP是否在中国境内(不包括香港.台湾). 当前文章记录完整的实现流程. ...

  6. php 微信支付 ca证书,微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书...

    微信红包接口调试过程中一直提示"CA证书出错,请登陆微信支付商户平台下载证书",经反复调试,大致解决方法如下: 1.首先确保CA证书的路径是否正确,一定得是绝对路径,因为是PHP开 ...

  7. 微信公众号 调用红包接口

    微信的红包接口已经提供了详细的说明.在使用之前需要先开通 然后记得充钱.微信发红包金额1-200,单位是分. <?php define('APPID','adfadf98735123'); // ...

  8. SpringBoot调用第三方IP查询接口(Https)

    一:需求简介. 1.1项目中天添加IP归属地查询功能,前后端分离.后端返回给前端json字符串.      1.2使用阿里云免费的IP归属地查询接口.官网一下不太好找.下面图解演示一下,尽量节省时间吧 ...

  9. GET和POST测试(支持需要登录的接口调用:高级功能-填写cookie)

    GET和POST测试(支持需要登录的接口调用:高级功能->填写cookie) http://coolaf.com/ 1.在一个需要抓取数据的网站,登录进入. 更改内核为charm,找到获取数据的 ...

最新文章

  1. mvc学习-编辑提交需要注意-mvc重点
  2. Java连接mysql数据库的方式,java连接mysql数据库的方式(4句语句)
  3. loadrunner 录制 odbc 迭代出现lrd_db_option: ERROR, return-code=LRDE2009错误
  4. CSS Grid网格布局全攻略
  5. H5|web移动前端自适应适配布局解决方案
  6. 集体智慧编程--优化
  7. 搭建nginx服务器
  8. reviewboard升级
  9. Java借助百度云人脸识别实现人脸注册、登录功能的完整示例
  10. JAVA数据库访问控制框架设计与使用
  11. python英文词频统计软件_英语词频统计软件功能介绍
  12. C语言/461.(汉明距离)Hamming Distance
  13. Python学习-安装Anaconda及print我爱王晓静
  14. 63%的农村孩子没上高中,中国如何跨越中等收入陷阱?
  15. 卡塔尔世界杯:带“芯片”的智能足球亮相!背后藏着哪些技术原理?
  16. face_recognition IndexError: list index out of range
  17. C++判断两字符串是否相等
  18. 16-Seed_expand_and_constrain Three_principles_for_weakly-supervised_image_segmentation
  19. nCode:DesignLife案例教程二
  20. 数据库备份和还原bak文件

热门文章

  1. 08Spring_Spring和junit测试集成
  2. 在虚拟机上linux系统上上网
  3. Windows Phone 7 IEnumerableT.Select和SelectMany的区别
  4. java打印出继承体系的类(包括抽象类)、接口、域字段
  5. 如果对象为空,java函数String.valueOf(Object obj)返回null字符串
  6. 查找、下载基因序列的方法
  7. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP
  8. Oracle删除表主键语句
  9. 第二次冲刺阶段第四天
  10. 易能变频器说明书故障代码_易能变频器故障代码大全是什么?E013故障是什么?...