From 91651a366e192438d9e088c44e279c05343927bf Mon Sep 17 00:00:00 2001 From: Benedikt Menne Date: Tue, 2 Jan 2024 13:58:41 +0100 Subject: [PATCH] Clarify usage of super-dense time instants --- ls-bus-guide/4____network_abstraction.adoc | 6 ++++++ .../images/can_arbitration_overview.drawio | 18 +++++++++--------- .../images/can_arbitration_overview.svg | 2 +- ...can_arbitration_overview_with_buffer.drawio | 14 +++++++------- .../can_arbitration_overview_with_buffer.svg | 2 +- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/ls-bus-guide/4____network_abstraction.adoc b/ls-bus-guide/4____network_abstraction.adoc index d6ed60c..4b21d30 100644 --- a/ls-bus-guide/4____network_abstraction.adoc +++ b/ls-bus-guide/4____network_abstraction.adoc @@ -355,6 +355,9 @@ FMU 1 receives a `Confirm` operation, because the specified frame with CAN ID 15 [#figure-can-arbitration-overview] image::can_arbitration_overview.svg[width=80%, align="center"] +_[Note: The number and use of super-dense time instants may differ depending on the implementation. +Only one possible path is given here, which is permitted by the FMI specification.]_ + ===== 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. @@ -371,6 +374,9 @@ FMU 1 gets a `Confirm` operation, because the specified frame with CAN ID 15 was [#figure-can-arbitration-overview-with-buffer] image::can_arbitration_overview_with_buffer.svg[width=80%, align="center"] +_[Note: The number and use of super-dense time instants may differ depending on the implementation. +Only one possible path is given here, which is permitted by the FMI specification.]_ + ==== Realization of CAN Error Handling [[low-cut-can-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. According to the original CAN error confinement rules, each Network FMU provides its own Transmit Error Counter (TEC), Receive Error Counter (REC) and current CAN node state. diff --git a/ls-bus-guide/images/can_arbitration_overview.drawio b/ls-bus-guide/images/can_arbitration_overview.drawio index 4d53abf..0ff6c3d 100644 --- a/ls-bus-guide/images/can_arbitration_overview.drawio +++ b/ls-bus-guide/images/can_arbitration_overview.drawio @@ -1,6 +1,6 @@ - + - + @@ -50,7 +50,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -109,14 +109,14 @@ - + - + - + @@ -127,13 +127,13 @@ - + - + diff --git a/ls-bus-guide/images/can_arbitration_overview.svg b/ls-bus-guide/images/can_arbitration_overview.svg index 772ea05..2b7fa43 100644 --- a/ls-bus-guide/images/can_arbitration_overview.svg +++ b/ls-bus-guide/images/can_arbitration_overview.svg @@ -1,3 +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 +: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(t, 1)Super-densetime iteration(t, 2)Event ModeStep ModeSuper-densetime iteration(t, 3)Super-densetime iteration(t, 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 index f295a47..7abe4f1 100644 --- a/ls-bus-guide/images/can_arbitration_overview_with_buffer.drawio +++ b/ls-bus-guide/images/can_arbitration_overview_with_buffer.drawio @@ -1,6 +1,6 @@ - + - + @@ -103,10 +103,10 @@ - + - + @@ -121,7 +121,7 @@ - + @@ -173,13 +173,13 @@ - + - + diff --git a/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg b/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg index a096dbb..18b1183 100644 --- a/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg +++ b/ls-bus-guide/images/can_arbitration_overview_with_buffer.svg @@ -1,3 +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 +: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(t, 1)Super-densetime iteration(t, 1)Event ModeStep ModeSuper-densetime iteration(t, 2)Step ModeCompute transmissiontime (ID = 16)Transmit (ID = 16)Event ModeTransmit (ID = 16)Confirm (ID = 16)Super-densetime iteration(t, 1)Super-densetime iteration(t, 2) \ No newline at end of file