Overview

<< Click to Display Table of Contents >>

Navigation:  Protocols > SOME/IP >

Overview

 

SOME/IP is an automotive/embedded communication protocol which supports remote

procedure calls, event notifications and the underlying serialization/wire format.

SOME/IP provides service oriented communication over a network. It is based on

service definitions that list the functionality that the service provides. A service can

consist of combinations of zero or multiple events, methods and fields.

 

Events provide data that are sent cyclically or on change from the provider to the subscriber.

 

Methods provide the possibility to the subscriber to issue remote procedure calls which

are executed on provider side.

 

Fields are combinations of one or more of the following three

notifier, which sends data on change from the provider to the subscribers

getter, which can be called by the subscriber to explicitly query the provider for the value

setter, which can be called by the subscriber when it wants to change the value on provider side

 

The major difference between the notifier of a field and an event is that events are

only sent on change, the notifier of a field additionally sends the data directly after

subscription.

 

Service Discovery

The Service Discovery offers functionality to detect and offer available services within the vehicle network.
To do so, it makes use of the IP Multicast and so called SOME/IP-SD messages.

All SOME/IP hosts must use the same UDP multicast (Port 30490).

IPv4: 224.0.0.5
IPv6: ff14::4:0

Startup process of Service Discovery for every service consists of 3 phases:

1.Initial Wait Phase

2.Repetition Phase

3.Main Phase

 

Initial Wait Phase:

1.Random wait in range: InitialDelayMin..InitialDelayMax

2.Send OFFER or FIND (SOMEIP/SD message)

 

Repetition Phase:   (Example when RepetionsMax=2)

1.Wait 2^0 * RepetitionBaseDelay (milliseconds)

2.Send OFFER or FIND

3.Wait 2^1 * RepetitionBaseDelay (milliseconds)

4.Send OFFER or FIND

 

Main Phase: (Infinitive loop)

1.Wait CycleTime

2.Send OFFER or FIND

 

Note:  Main Phase can be omitted if service is remote and RepetitionMax > 0