<video id="mfngb"></video>


  • 行業動態

    車載以太網-SOME/IP(Scalableservice-OrientedMiddlewarEoverIP)

    2020-04-16 11:13:10 160

    SOME/IP (Scalable service-Oriented MiddlewarE over IP) 是車載以太網通信引入的一個概念,位于OSI 7層模型的層4之上。在以CAN總線為主的車載網絡中,通信過程是面向信號的(除了診斷通信之外),這是一種根據發送者需求實現的通信過程,當發送者發現信號的值變化了,或者發送周期到了,就會發送信息,而不考慮接收者是否有需求。而SOME/IP則不同,它是在接收方有需求的時候才發送,這種方法的優點在于總線上不會出現過多不必要的數據,從而降低負載。

    在車載網絡中,某個ECU有時會需要調用實現在其他ECU上的個服務,這個時候它倆就分別扮演了client和server的角色,而SOME/IP就是實現這種遠程服務調用的接口,如下圖所示。

    從上面這個圖可以看出來,SOME/IP其實是構架在傳輸層之上的應用層通信協議,它的內容雖然很多很雜,但本質上也就是定義了SOME/IP 包頭和數據的內容而已。

    上圖是SOME/IP數據的格式,除了最下面的Payload之外都屬于SOME/IP的header,這里面的字段不一一介紹,只提一下Message Type [8 Bit],它有以下幾種取值:

    • REQUEST (期待響應的請求)

    • REQUEST_NO_RETURN(不期待響應的請求)

    • NOTIFICATION(事件通知)

    • RESPONSE(響應消息)

    • ERROR(報錯消息)

    REQUEST,REQUEST_NO_RETURN,RESPONSE屬于同一類遠程過程調用方法,當client有需求的時候,發送一個request消息,server根據這個消息類型(REQUEST或REQUEST_NO_RETURN)來決定是否發送response消息。過程如下圖所示。

     

    NOTIFICATION屬于事件通知類的服務,首先由client向server訂閱服務內容,然后server向client自動發布服務內容。

    NOTIFICATION又分為Event和Field 兩類,這兩類通知都需要首先使用SOME/IP-SD(Service Discovery)來進行服務訂閱,然后才能發布通知。區別在于,Event是某一時刻的快照,只是事件通知,而Field除了事件通知之外,還具有Getter和Setter的功能,即對信息進行讀寫的操作。

    SOME/IP-SD可以被當作SOME/IP的一種特殊服務,前面提到過,client可以遠程調用server提供的服務,或者訂閱server發布的內容,那么client是怎么知道server提供哪些服務呢,就是通過SOME/IP-SD來實現服務發現過程的。

    從上圖可見,SOME/IP-SD是一種特殊的SOME/IP格式,它對SOME/IP-SD報文中的Payload進行了定義和實現。而Message ID字段則是固定的0xFF FF 81 00。

    SOME/IP-SD提供了兩種動態發現服務的機制。一種是Offer Service ,由server向網絡上的小伙伴告知它所提供的服務;另一種是Find Service ,由client向別人請求可用的服務。

    本文只是簡要介紹,不對通信過程和協議內容做過多分析。


    oidgrαnny日本老熟妇,freemovies性中国china,水萝拉日语中字在线,亚洲美利坚色在线观看 网站地图