本文摘自车载以太网SOME/IP
车载信息娱乐系统(In-Vehicle Infotainment,IVI)由收音机逐步发展而来,目前IVI系统已成为车内的重要信息显示单元,并已安装于大多数主流车型。随着信息技术和汽车电子的迅速发展,IVI系统集成的功能越来越多,包括音频播放、视频播放、移动电视、生活资讯、导航定位、移动上网、辅助驾驶、远程诊断、云端升级和行车安全。
功能众多对信息显示的实时性提出了较高要求,传统的车载网络架构CAN受信息传输带宽的限制,已无法满足需求。1998年,车载以太网标准IEEE 802.3推出的超低质量双绞线使每一条链路都可以专享100 Mb/s的传输速率[1],2004年,双同轴电缆的传输速率可达1 Gb/s[2],解决了传统车载架构的瓶颈,形成了新一代车载网络架构。
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.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 读取数据调用流程
对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