SOME/IP及其應(yīng)用
1 前言
車載信息娛樂系統(tǒng)(In-Vehicle Infotainment,IVI)由收音機(jī)逐步發(fā)展而來,目前IVI系統(tǒng)已成為車內(nèi)的重要信息顯示單元,并已安裝于大多數(shù)主流車型。隨著信息技術(shù)和汽車電子的迅速發(fā)展,IVI系統(tǒng)集成的功能越來越多,包括音頻播放、視頻播放、移動(dòng)電視、生活資訊、導(dǎo)航定位、移動(dòng)上網(wǎng)、輔助駕駛、遠(yuǎn)程診斷、云端升級(jí)和行車安全。功能眾多對(duì)信息顯示的實(shí)時(shí)性提出了較高要求,傳統(tǒng)的車載網(wǎng)絡(luò)架構(gòu)CAN受信息傳輸帶寬的限制,已無法滿足需求。1998年,車載以太網(wǎng)標(biāo)準(zhǔn)IEEE 802.3推出的超低質(zhì)量雙絞線使每一條鏈路都可以專享100 Mb/s的傳輸速率[1],2004年,雙同軸電纜的傳輸速率可達(dá)1 Gb/s[2],解決了傳統(tǒng)車載架構(gòu)的瓶頸,形成了新一代車載網(wǎng)絡(luò)架構(gòu)。
2 SOME/IP簡介
SOME/IP是基于IP的可擴(kuò)展、面向服務(wù)的中間件(Scalable service-Oriented Middleware over IP)的縮寫。
車載以太網(wǎng)的5層模型結(jié)構(gòu)如圖1所示,包括應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。SOME/IP是TCP/IP層上面的一層協(xié)議,位于車載以太網(wǎng)的四層以上。
圖1 車載以太網(wǎng)的5層模型結(jié)構(gòu)
車載以太網(wǎng)5層模型的每個(gè)層級(jí)功能不同,使用的支撐協(xié)議也不同。圖2所示為車載以太網(wǎng)協(xié)議架構(gòu)。
圖2 車載以太網(wǎng)協(xié)議架構(gòu)
由圖2可見,SOME/IP協(xié)議位于應(yīng)用層,提供面向服務(wù)的通訊接口。不同于傳統(tǒng)車載網(wǎng)絡(luò)的通訊方式,當(dāng)有請(qǐng)求發(fā)出時(shí),SOME/IP才會(huì)發(fā)送數(shù)據(jù),否則不發(fā)送。這樣總線上就沒有不必要的數(shù)據(jù),降低了負(fù)荷。這種通訊方式將節(jié)點(diǎn)分成兩個(gè)角色:客戶端(Client)和服務(wù)端(Server),而SOME/IP是實(shí)現(xiàn)這種遠(yuǎn)程服務(wù)調(diào)用的接口。
SOME/IP向上層應(yīng)用程序提供API接口,創(chuàng)建Cli?ent/Server客戶端,通過TCP/IP協(xié)議對(duì)應(yīng)的以太網(wǎng)進(jìn)行通訊,通訊接口如圖3所示。
圖3 SOME/IP通訊接口
SOME/IP的訪問方式分為事件通知(Notifica?tion)、遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC)和訪問進(jìn)程數(shù)據(jù)(Getter、Setter)3種。
事件通知與傳統(tǒng)CAN通信消息類似,服務(wù)端(Server)周期性或者事件變化時(shí)向客戶端(Client)發(fā)送特定消息,過程如圖4所示。
圖4 事件通知通信方式
遠(yuǎn)程過程調(diào)用是當(dāng)客戶端有請(qǐng)求的時(shí)候,向服務(wù)端發(fā)送一個(gè)請(qǐng)求消息,服務(wù)端根據(jù)情況返回響應(yīng),其框架如圖5所示。
圖5 遠(yuǎn)程過程調(diào)用(PRC)訪問方式
訪問進(jìn)程數(shù)據(jù)可以使客戶向服務(wù)器端寫入(Setter)或者讀?。℅etter)數(shù)據(jù)。訪問進(jìn)程數(shù)據(jù)方式如圖6所示。
圖6 訪問進(jìn)程數(shù)據(jù)方式
3 詳細(xì)設(shè)計(jì)
3.1 車載娛樂系統(tǒng)網(wǎng)絡(luò)架構(gòu)
在實(shí)際應(yīng)用中,整車的車聯(lián)網(wǎng)功能通過T-BOX來實(shí)現(xiàn)。IVI系統(tǒng)通過車內(nèi)網(wǎng)關(guān)與T-BOX相連,通過SOME/IP協(xié)議獲取需要的數(shù)據(jù),實(shí)現(xiàn)IVI系統(tǒng)聯(lián)網(wǎng)功能,IVI系統(tǒng)的網(wǎng)絡(luò)架構(gòu)如圖7所示。
圖7 IVI系統(tǒng)網(wǎng)絡(luò)架構(gòu) 3.2 IVI軟件架構(gòu)
SOME/IP在IVI車載以太網(wǎng)軟件上的實(shí)現(xiàn)分為以下5部分:應(yīng)用、服務(wù)(Server)、操作系統(tǒng)、SDK及SOME/IP庫。
操作系統(tǒng)的選擇是基于Linux平臺(tái)的GENIVI,它是應(yīng)用于車載娛樂系統(tǒng)的開放式操作系統(tǒng),具有一定的定制性。目前GENIVI平臺(tái)的應(yīng)用包括連接消費(fèi)電子設(shè)備、顯示互聯(lián)網(wǎng)內(nèi)容、進(jìn)行無線連接、播放音頻/視頻和高質(zhì)量多媒體內(nèi)容以及安裝和更新APP的基本結(jié)構(gòu)。車載以太網(wǎng)模塊的軟件框架如圖8所示。
圖8 車載以太網(wǎng)模塊軟件架構(gòu) 3.3 硬件實(shí)現(xiàn)
IVI模塊使用基于博通(BroadR-Reach)[6]技術(shù)的博通BCM89811芯片,實(shí)現(xiàn)以太網(wǎng)物理層收發(fā)器(PHY)的功能。該芯片的主要特點(diǎn)如下[7]:
(1)符合汽車級(jí)要求的低功耗工藝,降低功耗多達(dá)30%;
(2)集成芯片的低通濾波器可降低排放(符合EMC要求);
(3)集成的內(nèi)部穩(wěn)壓器可為芯片提供電源,無需外部穩(wěn)壓器;
(4)滿足汽車高規(guī)格要求,消除噪音并減少傳輸抖動(dòng);
(5)在單對(duì)非屏蔽雙絞線上的傳輸速度可以達(dá)到100 Mb/s。3.4 軟件實(shí)現(xiàn)
SOME/IP主要實(shí)現(xiàn)以下功能:
(1)事件通知T-BOX狀態(tài)信息;
(2)遠(yuǎn)程調(diào)用完成對(duì)T-BOX設(shè)置;
(3)讀取T-BOX數(shù)據(jù)。
3.4.1 事件通知T-BOX狀態(tài)
T-BOX周期性的發(fā)送T-BOX狀態(tài)給IVI,包括TBOX的網(wǎng)絡(luò)狀態(tài)等,軟件調(diào)用流程如圖9所示。
圖9 事件通知軟件調(diào)用流程
3.4.2 遠(yuǎn)程調(diào)用實(shí)現(xiàn)
IVI通過遠(yuǎn)程調(diào)用完成對(duì)T-BOX的設(shè)置,包括WIFI連接設(shè)置等,軟件調(diào)用流程如圖10所示。
圖10 遠(yuǎn)程調(diào)用軟件實(shí)現(xiàn)流程
3.4.3 讀取T-BOX數(shù)據(jù)實(shí)現(xiàn)
IVI通過SOME/IP的Getter獲取T-BOX數(shù)據(jù),實(shí)現(xiàn)讀取T-BOX的日志等功能,軟件接口調(diào)用如圖11所示。
圖11 讀取數(shù)據(jù)調(diào)用流程
4 SOME/IP測試
對(duì)SOME/IP的測試硬件上使用VN5610A,軟件使用CANoe實(shí)現(xiàn)。搭建的測試環(huán)境如圖12所示。
圖12 測試環(huán)境搭建
CANoe加載自帶的SOME/IP庫SomeIP_IL.dll完成仿真節(jié)點(diǎn)與IVI的通訊測試。
截取SOME/IP通訊數(shù)據(jù),如圖13所示。
圖13 通訊數(shù)據(jù)
例如對(duì)第155條數(shù)據(jù)進(jìn)行分析,如圖14所示。
圖14 數(shù)據(jù)包分析
這條數(shù)據(jù)包是ID為0xD005的通知類消息,與此車型的信息娛樂系統(tǒng)定義的SOME/IP消息矩陣吻合。通過這種測試方式完成了協(xié)議一致性測試。5 結(jié)束語綜上,完成了SOME/IP在信息娛樂系統(tǒng)的搭載,實(shí)現(xiàn)了信息娛樂系統(tǒng)聯(lián)網(wǎng)、通訊功能。
目前國內(nèi)外主要芯片廠都提出了車載以太網(wǎng)的解決方案,并且車載以太網(wǎng)帶寬已經(jīng)達(dá)到100 Mb/s甚至1 Gb/s,SOME/IP在車載以太網(wǎng)上的應(yīng)用使得車聯(lián)網(wǎng),音視頻傳輸成為可能,實(shí)現(xiàn)傳統(tǒng)CAN網(wǎng)絡(luò)無法實(shí)現(xiàn)的功能。車載以太網(wǎng)推進(jìn)了車輛智能化的發(fā)展,未來,SOME/IP在車載以太網(wǎng)方面的應(yīng)用將越來越廣泛。
附錄:縮略語
SOME/IP Scalableservice-Oriented Middlewareover IP(基于IP的可擴(kuò)展面向服務(wù)的中間件)IVI In-Vehicle Infotainment(車載信息娛樂系統(tǒng))CAN Controller Area Network(控制器局域網(wǎng)絡(luò))IEEE Institute of Electrical and Electronics Engineers(電氣和電子工程師協(xié)會(huì))IP Internet Protocol(互聯(lián)網(wǎng)協(xié)議)TCP/IP Transmission Control Protocol/Internet Protocol(傳輸控制協(xié)議/網(wǎng)際協(xié)議)Client The ECUusingtheserviceinstanceof aserver(使用服務(wù)器服務(wù)實(shí)例的ECU稱為客戶端)Server The ECUofferingaserviceinstance(提供服務(wù)實(shí)例的ECU稱為服務(wù)端)RPC Remote Procedure Call(遠(yuǎn)程過程調(diào)用)Getter A Request/Response call that allows read access to afield(允許對(duì)字段進(jìn)行讀訪問的請(qǐng)求/響應(yīng)調(diào)用)Setter A Request/Response call that allows write access to afield(允許對(duì)字段進(jìn)行寫訪問的請(qǐng)求/響應(yīng)調(diào)用)Request A message of the client to the server invoking a method(客戶端調(diào)用服務(wù)端方法的消息)Response A message of the server to the client transporting re?sults of amethod invocation(服務(wù)端反饋給客戶端的調(diào)用結(jié)果消息)
T-BOX Telematics BOX(遠(yuǎn)程通訊終端)
SDK Software Development Kit(軟件開發(fā)工具包)
APP Application(應(yīng)用程序)
PHY Physical(物理層)