Image Processing Reference
In-Depth Information
19.3 Volcano Signals and the Publish/Subscribe Model
The Volcano system provides “signals” as the basic communication object. Signals are small data
items that are sent between ECUs.
The “publish/subscribe” model is used for defining signaling needs. For a given ECU, there are a
set of signals that are “published” (i.e., made available to the system integrator), and a number of
“subscribed” signals (i.e., signals that are required as inputs to the ECU).
The signal model is provided directly to the programmer of ECU application software, and the
Volcano software running in each ECU is responsible for translation between signals and CAN
frames.
An important design requirement for the Volcano software was that the application programmer
is unaware of the bus behavior: All the details of the network are hidden and the programmer only
deals with signals through a simple API. This is crucial because a major problem with alternative
techniquesisthattheapplicationsotwaremakesassumptionsabouttheCANbehaviorandtherefore
changing the bus behavior becomes difficult.
In Volcano there are three types of signals:
Integer signals. hese represent unsigned numbers and are of a static size between  and
 bits. So, for example, a  bit signal can store integers in the range -,.
Boolean signals. These represent truth conditions (true/false). Note that this is not the
same as a  bit integer signal (which stores the integer values  or ).
Byte signals. These represent data with no Volcano-defined structure. A byte signal
consists of a fixed number between  and  bytes.
The advantage of Boolean and integer signals is that the values of a signal are independent of pro-
cessor architecture (i.e., the values of the signals are consistent regardless of the “endianness” of the
microprocessors in each ECU).
For published signals, Volcano internally stores the value of these signals and in case of periodic
signals will send them to the network according to a pattern defined off-line by the system integrator.
The system integrator also defines the initial value of a signal. The value of a signal persists until
updated by the application program via a “write” call or until Volcano is reinitialized.
For subscribed signals, Volcano internally stores the current value of each signal. The system
integrator also defines the initial value of a signal.
The value of a subscribed signal persists until
It is updated by receiving a new value from the network, or
Volcano is reinitialized, or
A signal refresh timeout occurs and the value is replaced by a substitute value defined by
the application programmer
In the case where new signal values are received from the network, these values will not be reflected
inthevaluesofsubscribedsignalsuntilaVolcano“input”callismade.
Apublishedsignalvalueisupdatedviaawritecall.helatestvalueofasubscribedsignalis
obtained via a “read” call. A write call for a subscribed signal is not permitted.
helast-writtenvalueofapublishedsignalmaybeobtainedviaareadcall.
19.4 Update Bits
The Volcano concept permits placement of several signals with different update rates into the same
frame. It provides a special mechanism named “update bit” to indicate which signals within the frame
 
Search WWH ::




Custom Search