<< 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