diff --git a/ls-bus-guide/1___introduction.adoc b/ls-bus-guide/1___introduction.adoc index 093fd46..20a7b0e 100644 --- a/ls-bus-guide/1___introduction.adoc +++ b/ls-bus-guide/1___introduction.adoc @@ -1,3 +1,9 @@ == Introduction +This document provides best practice recommendations to implementers of https://modelica.github.io/fmi-ls-bus/main/[FMI Layered Standard for Network Communication]. +The overarching goal of the recommendations is to aid interoperability of implementations and ensure good ease-of-use for the user in employing FMI. -TODO +This document is intended for simulation tool vendors planning to support FMI Layered Standard for Network Communication in their products, either for creating or simulating such FMUs, or both. +It assumes a technical audience familiar with the specification documents and tries to give further information and hints in areas where either the relevant specification documents have been found sometimes to be less clear than expected or where user expectations are relevant to implementation choices. +It also considers errors and bugs encountered in the practical use of existing FMI implementations and guides to avoid common pitfalls. + +This document will be maintained and expanded over time as new issues or needs for clarification appear. diff --git a/ls-bus-guide/2___common.adoc b/ls-bus-guide/2___common.adoc new file mode 100644 index 0000000..c6a3dbe --- /dev/null +++ b/ls-bus-guide/2___common.adoc @@ -0,0 +1,2 @@ +== Common +#TODO# diff --git a/ls-bus-guide/3____physical_signal_abstraction.adoc b/ls-bus-guide/3____physical_signal_abstraction.adoc new file mode 100644 index 0000000..4d5e50d --- /dev/null +++ b/ls-bus-guide/3____physical_signal_abstraction.adoc @@ -0,0 +1,2 @@ +== Physical Signal Abstraction ("high cut") +This chapter contains details on common topics of the physical signal abstraction layer. diff --git a/ls-bus-guide/4____network_abstraction.adoc b/ls-bus-guide/4____network_abstraction.adoc new file mode 100644 index 0000000..38abd66 --- /dev/null +++ b/ls-bus-guide/4____network_abstraction.adoc @@ -0,0 +1,131 @@ +== Network Abstraction ("low cut") +This chapter contains details on common topics of the network abstraction layer. + +=== Differences between System Compositions +The principles of communication is closely linked with the introduced System Compositions. +Within the `Direct Communication` use case in combination with network abstraction, exactly two FMUs communicate with each other. +No Bus Simulation is required. +<<#figure-example-network-simulation-direct>> illustrates this communication, whereby FMU 1 transmits network data to FMU 2.After that, the transmission is directly confirmed by FMU 1 itself, whereby FMU 1 handles that self confirmation internally. + +.Direct communication between two FMUs. +[#figure-example-network-simulation-direct] +image::principles_of_communication_direct.svg[width=40%, align="center"] + +Within `Composition with dedicated Bus Simulation FMU` and `Importer with Integrated Bus Simulation` communication case there exists always a Bus Simulation and two or more FMUs can be connected for communication. +Bus connections between FMUs are then redirected via the Bus Simulation (FMU). +This means that the bus simulation model sets the level of accuracy and feature support for the respective bus type. + +<<#figure-example-network-simulation-complex>> shows the communication of two FMUs which are connected via a Bus Simulation. +All in all FMU 1 transmits network data to FMU 2. +First FMU 1 commits the baud rate to the Bus Simulation. +This information can be used for timing calculations during the transmission of a message. +In a second operation FMU 1 transmits network data to the Bus Simulation. +Inside the Bus Simulation a calculation of the transmission time for the specified network data is done. +After this the Bus Simulation transmits the network data to FMU 2 and confirms the successful transmission to FMU 1. + +.Communication between two FMUs by using a Bus Simulation FMU. +[#figure-example-network-simulation-complex] +image::principles_of_communication_complex.svg[width=70%, align="center"] + +=== Creating Bus Operations ahead of the next Simulation Step +#TODO dSPACE# + +=== Data and Time Synchronization +#TODO dSPACE# + +=== Decoupling of Fixed and Variable Step Size FMUs [[low-cut-decoupling-of-fixed-and-variable-step-size-fmus]] +#TODO dSPACE# + +=== CAN, CAN FD, CAN XL +This chapter contains details on CAN, CAN FD, CAN XL specific topics. + +==== Sequence Diagrams [[low-cut-can-sequence-diagrams]] +This section contains sample sequences to clarify the facts in the CAN, CAN FD, CAN XL part. + +===== Transmission [[low-cut-can-example-transmission]] +<<#figure-can-transmission-acknowledge>> illustrates the two possible results of a `Transmit` operation, whereby the transition from FMU 1 -> FMU 2 represents the successful case and FMU 2 -> FMU 1 represents the unsuccessful case. +For the second transmission, the Bus Simulation injects a failure of transmission. +In step (1), a `Transmit` operation will be delivered to the Bus Simulation. +Within step (2), the `Transmit` operation will transferred to FMU 2, so the transmission was successful. +Also in step (2), FMU 1 receives a `Confirm` operation, which means the transmission was successful. +In step (3), FMU 2 wants to transmit network data to FMU 1: +A `Transmit` operation will be delivered from FMU 2 to the Bus Simulation. +In step (4), we see that the transmission results in an `Bus Error` operation, because the Bus Simulation injects a failure of transmission. +Based on the `Bus Error` operation FMU 2 knows that the transmission was not successful. +Within this `Bus Error` operation, the `Is Sender` argument is set to `TRUE` for FMU 2, because it provides the failing `Transmit` operation. +Another `Bus Error` operation instance is provided by the Bus Simulation to FMU 1. +For FMU 1, the `Error Flag` argument is set to `PRIMARY_ERROR_FLAG`, which means that FMU detects the specified transmission error. + +.Successful and unsuccessful cases of a CAN transmission. +[#figure-can-transmission-acknowledge] +image::can_transmission_acknowledge.svg[width=60%, align="center"] + +Normally, transmission failure cannot occur during a simulated bus transmission. +Most common kinds of errors are used to inject transmission errors, for example using the Bus Simulation FMU, for advanced test scenarios. + +===== CAN Arbitration without Buffering [[low-cut-can-example-can-arbitration-without-buffering]] +<<#figure-can-arbitration-overview>> shows the realization of a CAN arbitration by using the `Arbitration Lost Behavior` option `DISCARD_AND_NOTIFY` within the `Configuration` operation. +At the beginning, FMU 1 and FMU 2 each send network data at the same time. +In this situation, an arbitration is necessary to decide which frame should be sent in this case. +Both frames are transferred to the Bus Simulation. +Arbitration takes place within the Bus Simulation. +In the example given, the two frames with CAN ID = 15 and CAN ID = 16 are analyzed and it is decided that CAN ID = 15 wins the arbitration. +The Bus Simulation then calculates the transmission time for the CAN frame with CAN ID = 15. +The next time the FMI `Event Mode` is called up for the Bus Simulation, the corresponding CAN frame is transmitted to FMU 2 and FMU 3. +For CAN ID 16, FMU 2 is informed via an `Arbitration Lost` operation that this frame cannot be sent. +FMU 1 gets a `Confirm` operation, because the specified frame with CAN ID 15 was successfully transmitted. + +.Arbitration of CAN frames within Bus Simulation. +[#figure-can-arbitration-overview] +image::can_arbitration_overview.svg[width=80%, align="center"] + +===== CAN Arbitration with Buffering [[low-cut-can-example-can-arbitration-with-buffering]] +<<#figure-can-arbitration-overview-with-buffer>> shows the realization of a CAN arbitration by using the `Arbitration Lost Behavior` option `BUFFER_AND_RETRANSMIT` within the `Configuration` operation. +At the beginning, FMU 1 and FMU 2 each send network data at the same time. +In this situation, an arbitration is necessary to decide which frame should be sent in this case. +Both frames are transferred to the Bus Simulation. +Arbitration takes place within the Bus Simulation. +In the example given, the two frames with CAN ID = 15 and CAN ID = 16 are analyzed and it is decided that CAN ID = 15 wins the arbitration. +The Bus Simulation then calculates the transmission time for the CAN frame with CAN ID = 15. +The next time the FMI `Event Mode` is called up for the Bus Simulation, the corresponding CAN frame is transmitted to FMU 2 and FMU 3. +The `Transmit` operation of CAN ID 16 is buffered by the Bus Simulation and will be sent within the next time slot. +The Bus Simulation does not return an `Arbitration Lost` operation to FMU 2. +FMU 1 gets a `Confirm` operation, because the specified frame with CAN ID 15 was successfully transmitted. + +.Arbitration of CAN frames with buffering within Bus Simulation. +[#figure-can-arbitration-overview-with-buffer] +image::can_arbitration_overview_with_buffer.svg[width=80%, align="center"] + +==== Realization of CAN Error Handling +This chapter describes a possible implementation of the CAN error handling within Network FMUs using a rule set based on `Bus Error` operations. +Each Network FMU will provide its own Transmit Error Counter (TEC), Receive Error Counter (REC) and current CAN node state. +The values for TEC and REC will be increased and decreased with respect to the `Error Code`, `Is Sender` and `Error Flag` arguments of a `Bus Error` operation and are inherited from the original CAN error confinement rules. +Based on the values of TEC and REC, the CAN controller moves in the following state machine: + +.CAN node state machine. +[#figure-can-error-state-machine] +image::can_error_state_machine.svg[width=60%, align="center"] + +This CAN node state machine and the related TEC and REC values have to be included within the Network FMUs. +`Bus Error` operations shall be directly used to maintain the TEC and REC values. +The Network FMU shall react on the `Bus Error` operations that the Bus Simulation provides, based on the following rule set: + +* When an FMU gets a `Bus Error` operation where the arguments `Is Sender = FALSE` and `Error Flag = SECONDARY_ERROR_FLAG` and also `Error Code != BROKEN_ERROR_FRAME`, the REC shall be increased by 1. +* When an FMU gets a `Bus Error` operation where the arguments (`Is Sender = FALSE` and `Error Flag = PRIMARY_ERROR_FLAG`) or `Error Code = BROKEN_ERROR_FRAME`, the REC shall be increased by 8. +* When an FMU gets a `Bus Error` operation where the arguments `Is Sender = TRUE` or `Error Code = BROKEN_ERROR_FRAME`, the TEC shall be increased by 8. +Exception: `Status = ERROR_PASSIVE` and `Error Code = ACK_ERROR`. +* When an FMU provides a `Transmit` operation and receives a `Confirm` operation for it, the TEC shall be decreased by 1 unless it was already 0. +* When an FMU gets a `Transmit` operation, the REC shall be decreased by 1, if it was between 1 and 127. +If the REC was 0, it stays 0, and if it was greater than 127, then it will be set to the value between 119 and 127. + +A Network FMU communicates its current CAN node state via the `Status` operation by using the following rule set: + +* After the initialization of a Network FMU, the current CAN node state shall be set to `ERROR_ACTIVE` and communicate via `Status` operation to the Bus Simulation. +* The current CAN node state of a Network FMU shall be set to `ERROR_PASSIVE` if the value of REC > 127 or TEC > 127 and communicate via `Status` operation to the Bus Simulation. +* The current CAN node state of a Network FMU shall be set to `ERROR_ACTIVE` if the value of REC < 128 and TEC < 128 and communicate via `Status` operation to the Bus Simulation. +* The current CAN node state of a Network FMU shall be set to `BUS_OFF` if the value of TEC > 255 and communicate via `Status` operation to the Bus Simulation. +* The `BUS_OFF` status shall be set to `ERROR_ACTIVE` again when the Network FMU simulates a controller reset (optional) and has received in total 128 `Transmit` operations or `Bus Error` operations from the network. + +If `org.fmi_standard.fmi_ls_bus.WaitForBusNotification` is set to `false`, the `Confirm` operation cannot be directly used as indicator to set the TEC value and will be incorrect under the rules outlined above. +Also `Bus Error` operations are not available in this scenario, so that the values for TEC and REC automatically remain zero in this case. +It is recommended to solve the error handling differently in this case or to disabling it completely within the specified Network FMU. diff --git a/ls-bus-guide/images/bus_simulation_example.drawio b/ls-bus-guide/images/bus_simulation_example.drawio new file mode 100644 index 0000000..7ecba99 --- /dev/null +++ b/ls-bus-guide/images/bus_simulation_example.drawio @@ -0,0 +1,433 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/bus_simulation_example.svg b/ls-bus-guide/images/bus_simulation_example.svg new file mode 100644 index 0000000..165a9b0 --- /dev/null +++ b/ls-bus-guide/images/bus_simulation_example.svg @@ -0,0 +1,3 @@ + + +
FMU1
FMU1
FMU2
FMU2
Bus Simulation
(FMU)
Bus Simulation...
step size
step size
time (step)
time (step)
0 (0)
0 (0)
0.1 (1)
0.1 (1)
0.1008 (2)
0.1008 (2)
nBits / Baud
nBits / Baud
0.1
0.1
0.008
0.008
Transmit [0.1, 1]
Transmit [0.1, 1]
Confirm [0.1008, 2]
Confirm [0.1008, 2]
Transmit [0.1008, 1]
Transmit [0.1008, 1]
0.9992
0.9992
1.1 (3)
1.1 (3)
1.1008 (4)
1.1008 (4)
nBits / Baud
nBits / Baud
0.008
0.008
Transmit [1.1, 1]
Transmit [1.1, 1]
Confirm  [1.1008, 2]
Confirm  [1.1008, 2]
Transmit [1.1008, 1]
Transmit [1.1008, 1]
t
t
Next FMU event time calculation
given to the importer in advance
Next FMU event time calculation...
Next bus event time calculated
by the bus simulation
Next bus event time calculated...
Bus event (e.g., Transmit,
Confirm)
Bus event (e.g., Transmit,...
FMU event (e.g., Timing)
FMU event (e.g., Timing)
FMU1       FMU2
FMU1       FMU2
FMU2       FMU1
FMU2       FMU1
Importer
Importer
Text is not SVG - cannot display
\ No newline at end of file diff --git a/ls-bus-guide/images/can_arbitration_overview.drawio b/ls-bus-guide/images/can_arbitration_overview.drawio new file mode 100644 index 0000000..4d53abf --- /dev/null +++ b/ls-bus-guide/images/can_arbitration_overview.drawio @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/can_arbitration_overview.svg b/ls-bus-guide/images/can_arbitration_overview.svg new file mode 100644 index 0000000..772ea05 --- /dev/null +++ b/ls-bus-guide/images/can_arbitration_overview.svg @@ -0,0 +1,3 @@ + + +:Bus SimulationCompute transmission time (ID = 15):FMU 1:FMU 2Arbitration (ID = 15, ID = 16)Transmit (ID = 15)Transmit (ID = 16):FMU 3Transmit (ID = 15)Arbitration Lost (ID = 16)Event ModeTransmit (ID = 15)Confirm(ID = 15)Super-densetime iteration(1)Super-densetime iteration(2)Event ModeStep ModeSuper-densetime iteration(3)Super-densetime iteration(1) \ No newline at end of file diff --git a/ls-bus-guide/images/can_arbitration_overview_with_buffer.drawio b/ls-bus-guide/images/can_arbitration_overview_with_buffer.drawio new file mode 100644 index 0000000..f295a47 --- /dev/null +++ b/ls-bus-guide/images/can_arbitration_overview_with_buffer.drawio @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg b/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg new file mode 100644 index 0000000..a096dbb --- /dev/null +++ b/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg @@ -0,0 +1,3 @@ + + +:Bus SimulationCompute transmissiontime (ID = 15):FMU 1:FMU 2Arbitration (ID = 15, ID = 16)Transmit (ID = 15)Transmit (ID = 16):FMU 3Transmit (ID = 15)Event ModeTransmit (ID = 15)Confirm(ID = 15)Super-densetime iteration(1)Super-densetime iteration(1)Event ModeStep ModeSuper-densetime iteration(2)Step ModeCompute transmissiontime (ID = 16)Transmit (ID = 16)Event ModeTransmit (ID = 16)Confirm (ID = 16)Super-densetime iteration(1)Super-densetime iteration(2) \ No newline at end of file diff --git a/ls-bus-guide/images/can_error_state_machine.drawio b/ls-bus-guide/images/can_error_state_machine.drawio new file mode 100644 index 0000000..6fb007e --- /dev/null +++ b/ls-bus-guide/images/can_error_state_machine.drawio @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/can_error_state_machine.svg b/ls-bus-guide/images/can_error_state_machine.svg new file mode 100644 index 0000000..91279b8 --- /dev/null +++ b/ls-bus-guide/images/can_error_state_machine.svg @@ -0,0 +1,3 @@ + + +
Error Active
Error Active
Error Passive
Error Passive
Bus Off
Bus Off

TEC > 255

TEC > 255

Reset and
128 Transmit or Bus Error Operations received

Reset and...
REC > 127 or
TEC > 127

REC > 127 or...
REC < 128 and
TEC < 128
REC < 128 and...

Initialization

Initializati...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/ls-bus-guide/images/can_transmission_acknowledge.drawio b/ls-bus-guide/images/can_transmission_acknowledge.drawio new file mode 100644 index 0000000..61260ca --- /dev/null +++ b/ls-bus-guide/images/can_transmission_acknowledge.drawio @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/can_transmission_acknowledge.svg b/ls-bus-guide/images/can_transmission_acknowledge.svg new file mode 100644 index 0000000..138fa1f --- /dev/null +++ b/ls-bus-guide/images/can_transmission_acknowledge.svg @@ -0,0 +1,3 @@ + + +:FMU 1:Bus SimulationTransmitTransmitBus Error(Is Sender = TRUE,Error Flag = SECONDARY_ERROR_FLAG)Bus Error(Is Sender = FALSE,Error Flag = PRIMARY_ERROR_FLAG):FMU 2TransmitConfirm \ No newline at end of file diff --git a/ls-bus-guide/images/principles_of_communication_complex.drawio b/ls-bus-guide/images/principles_of_communication_complex.drawio new file mode 100644 index 0000000..67d0865 --- /dev/null +++ b/ls-bus-guide/images/principles_of_communication_complex.drawio @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/principles_of_communication_complex.svg b/ls-bus-guide/images/principles_of_communication_complex.svg new file mode 100644 index 0000000..97922b6 --- /dev/null +++ b/ls-bus-guide/images/principles_of_communication_complex.svg @@ -0,0 +1,3 @@ + + +:FMU 1:Bus SimulationTransmitConfigure baudrate:FMU 2Computetransmission timeTransmitConfirm transmission \ No newline at end of file diff --git a/ls-bus-guide/images/principles_of_communication_direct.drawio b/ls-bus-guide/images/principles_of_communication_direct.drawio new file mode 100644 index 0000000..c56ff92 --- /dev/null +++ b/ls-bus-guide/images/principles_of_communication_direct.drawio @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ls-bus-guide/images/principles_of_communication_direct.svg b/ls-bus-guide/images/principles_of_communication_direct.svg new file mode 100644 index 0000000..935e0a5 --- /dev/null +++ b/ls-bus-guide/images/principles_of_communication_direct.svg @@ -0,0 +1,3 @@ + + +:FMU 1Confirm transmission:FMU 2Transmit \ No newline at end of file diff --git a/ls-bus-guide/images/queuing_bus_operations.drawio b/ls-bus-guide/images/queuing_bus_operations.drawio new file mode 100644 index 0000000..d515e91 --- /dev/null +++ b/ls-bus-guide/images/queuing_bus_operations.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/ls-bus-guide/images/queuing_bus_operations.svg b/ls-bus-guide/images/queuing_bus_operations.svg new file mode 100644 index 0000000..839201e --- /dev/null +++ b/ls-bus-guide/images/queuing_bus_operations.svg @@ -0,0 +1,3 @@ + + +
FMU
FMU
FMU
FMU
Bus Simulation
Bus Simulation
 1 Transmit
operation
1 Transmi...
1 Confirm
operation
1 Confirm...
(Variable-Step Size)
(Variable-Step Size)
(Variable-Step Size)
(Variable-Step Size)
FMU
FMU
(Fixed-Step Size)
(Fixed-Step Size)
Tx Buffer 1
...
Tx Buffer n
Tx Buffer 1...
Rx Buffer 1
...
Rx Buffer n
Rx Buffer 1...
n Transmit
operations
n Transmit...
m Transmit
operations
m Transmit...
Tx Buffer 1
...
Tx Buffer n
Tx Buffer 1...
Rx Buffer 1
...
Rx Buffer n
Rx Buffer 1...
Tx Buffer 1
...
Tx Buffer n
Tx Buffer 1...
Rx Buffer 1
...
Rx Buffer n
Rx Buffer 1...
 1 Transmit
operation
1 Transmi...
1 Confirm
operation
1 Confirm...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/ls-bus-guide/index.adoc b/ls-bus-guide/index.adoc index ac1f495..710fe89 100644 --- a/ls-bus-guide/index.adoc +++ b/ls-bus-guide/index.adoc @@ -18,4 +18,10 @@ include::0___preamble.adoc[] include::1___introduction.adoc[] +include::2___common.adoc[] + +include::3____physical_signal_abstraction.adoc[] + +include::4____network_abstraction.adoc[] + include::A___literature.adoc[]