diff --git a/docs/4_4_2_lin.adoc b/docs/4_4_2_lin.adoc deleted file mode 100644 index c15a0cb..0000000 --- a/docs/4_4_2_lin.adoc +++ /dev/null @@ -1,471 +0,0 @@ -==== LIN [[low-cut-lin]] -This chapter describes the <> for LIN. - -===== Overview [[low-cut-lin-overview]] -To simulate LIN buses, LIN-specific operations are specified based on the <>. -Overall, the following groups of operations exists: - -* Transmit: This group of operations is used to simulate a frame transmission. -There are three specific operations that represent the different communication options between a LIN Master and one or more LIN Slaves. -* Error: This group of operations is used for protocol format errors and to simulate bus failures. -For example, the failure of a transmission can be indicated. -* Configuration: This operation enables the configuration of bus-specific parameters and options that are required to simulate the bus behavior properly. -For example, it allows the specification of the baud rate. -* Status: This operation is used by Networked FMUs to inform Bus Simulations about the internal state (Power Off/Initialization/Operation/Sleep) which concerns the reaction on bus errors. -* Wake up: LIN supports wake up and sleep scenarios. -Normally there are two ways to wake up from sleep mode: a local wake up on a specified wake-up pin, or a wake up on the LIN bus via a LIN specific wake-up pulse. -This operation is used to simulate triggering a wake up from bus side. - -The following table gives a detailed overview of the available operations. -It shows all operations and the arguments they contain. - -.Overview of the available operations for LIN. -[#table-operation-content-lin] -[cols="9,1,6,5,5,5,5,5,5,5,5"] -|==== -.2+h|Operation Name -10+h|Operation Content - -h|OP Code -h|Length -8+h|Specific Content - -|Format Error -|0x00 -|:= 5 + n + -(4 byte) -8+|Data + -(n byte) - -|Header -|0x10 -|:= 7 + -(4 byte) -|PID + -(1 byte) -7+|Response Data Length + -(1 byte) - -|Response -|0x11 -|:= 8 + DL + -(4 byte) -|PID + -(1 byte) -2+|Response Error + -(1 byte) -|DL + -(1 byte) -4+|Data + -(n byte) - -|Header Response -|0x12 -|:= 7 + DL + -(4 byte) -|PID + -(1 byte) -|DL + -(1 byte) -6+|Data + -(n byte) - -|Bus Error -|0x20 -|:= 12 + -(4 byte) -|ID + -(4 byte) -7+|Error Code + -(1 byte) - -|Configuration -|0x30 -| + -(4 byte) -|Kind + -(1 byte) -7+|_Dynamic Part_ - -|Status -|0x40 -|:= 6 + -(4 byte) -8+|Status + -(1 byte) - -|Wakeup -|0x41 -|:= 5 + -(4 byte) -8+|--- - -|==== - -===== Operations [[low-cut-lin-operations]] -This section defines the allowed operations for LIN. -The following tables provides an overview of all operations and specifies the position and length of the corresponding arguments, as well as the respective flow direction. - -====== Transmit [[low-cut-lin-transmit-operation]] -There are three types of <> operations, each representing the transmission of a LIN header, a response and a combination of a header and response. - -.Detailed description of the LIN Header operation. -[#table-lin-header-operation] -[cols="5,4,3,20"] -|==== -h|Name 3+| Header -h|Description 3+| Represents an operation for the transmission of a LIN header from a LIN Master to LIN slaves. -h|OP Code [hex] 3+| 0x10 -.5+h|Content h|Argument h|Length h|Description -| OP Code | 1 byte | Contains the OP Code of the specified operation. -For this operation the OP Code always has the value 0x10. -| Length | 4 byte | Defines the cumulative length of all arguments in bytes. -For this operation always applies: `Length = 7`. -| PID | 1 byte | The specified protected ID (PID) of the LIN message. -The maximum length of a PID is 8-bit. -| Response Data Length | 1 byte | The size of the response in byte. -h|Behavior -3+|The Header operation shall be provided by Network FMUs to initiate the transmission of a LIN header. -In case of direct connected Network FMUs (see <>), the FMU importer forwards the operation directly to the receiving Network FMUs. -If a Bus Simulation is involved (see <> and <>), the FMU importer forwards the operation initially to the Bus Simulation, where the operation is distributed with respect to the simulated bus behavior. -Depending on the simulation details, the Bus Simulation might response with a <> or <> operation. - -|==== - -.Detailed description of the LIN Response operation. -[#table-lin-response-operation] -[cols="5,4,3,20"] -|==== -h|Name 3+| Response -h|Description 3+| Represents an operation for the transmission of a LIN response from a LIN Slave to the LIN Master. -h|OP Code [hex] 3+| 0x11 -.7+h|Content h|Argument h|Length h|Description -| OP Code | 1 byte | Contains the OP Code of the specified operation. -For this operation the OP Code always has the value 0x11. -| Length | 4 byte | Defines the cumulative length of all arguments in bytes. -For this operation always applies: `Length = 8 + Data Length`. -| PID | 1 byte | The specified protected ID (PID) of the LIN message. -The maximum length of a PID is 8-bit. -| Response Error | 1 byte | Represents the Response Error field of a LIN frame. -For specification the boolean values `TRUE` and `FALSE` (see <>) shall be used. -| Data Length | 1 byte | Specifies the length of the Data argument in bytes. -| Data | n byte | Stores the given frame data to transfer, whereby the valid length of the data depends on the LIN Format. -h|Behavior -3+|The Response operation shall be provided by Network FMUs to initiate a response to a given LIN header. -In case of direct connected Network FMUs (see <>), the FMU importer forwards the operation directly to the receiving Network FMUs. -If a Bus Simulation is involved (see <> and <>), the FMU importer forwards the operation initially to the Bus Simulation, where the operation is distributed with respect to the simulated bus behavior. -Depending on the simulation details, the Bus Simulation might response with a <> or <> operation. - -|==== - -.Detailed description of the LIN Header Response operation. -[#table-lin-header-response-operation] -[cols="5,4,3,20"] -|==== -h|Name 3+| Header Response -h|Description 3+| Represents an operation for the transmission of a LIN header and response from a LIN Master to LIN slaves. -h|OP Code [hex] 3+| 0x12 -.6+h|Content h|Argument h|Length h|Description -| OP Code | 1 byte | Contains the OP Code of the specified operation. -For this operation the OP Code always has the value 0x12. -| Length | 4 byte | Defines the cumulative length of all arguments in bytes. -For this operation always applies: `Length = 7 + Data Length`. -| PID | 1 byte | The specified protected ID (PID) of the LIN message. -The maximum length of a PID is 8-bit. -| Data Length | 1 byte | Specifies the length of the Data argument in bytes. -| Data | n byte | Stores the given frame data to transfer, whereby the valid length of the data depends on the LIN Format. -h|Behavior -3+|The Header Response operation shall be provided by Network FMUs to initiate the transmission of a LIN frame that contains the specified header and response. -In case of direct connected Network FMUs (see <>), the FMU importer forwards the operation directly to the receiving Network FMUs. -If a Bus Simulation is involved (see <> and <>), the FMU importer forwards the operation initially to the Bus Simulation, where the operation is distributed with respect to the simulated bus behavior. -Depending on the simulation details, the Bus Simulation might response with a <> or <> operation. - -|==== - -====== Format Error [[low-cut-lin-format-error-operation]] -Represents a format error that indicates a syntax or content error of receiving operations. -See <> for definition. - -====== Bus Error [[low-cut-lin-bus-error-operation]] -The <> represents special bus communication errors, which are delivered to the LIN Master node in the network. - -.Detailed description of the Bus Error operation. -[#table-lin-bus-error-operation] -[cols="5,4,3,20"] -|==== -h|Name -3+|Bus Error -h|Description -3+|Represents an operation for bus communication error handling. -h|OP Code [hex] -3+|0x20 -.5+h|Content h|Argument h|Length h|Description -|OP Code -|1 byte -|Contains the OP Code of the specified operation. -For this operation the OP Code always has the value 0x20. - -|Length -|4 byte -|Defines the cumulative length of all arguments in bytes. -For this operation always applies: `Length = 10`. - -|ID -|4 byte -|The specified ID of the LIN message which triggers the error. - -|Error Code -|1 byte -|The specified error code, basing on the table below. - -h|Behavior -3+|The specified operation shall be produced by the Bus Simulation and consumed by Network FMUs. -An Error operation is always a reaction from the Bus Simulation to a <> operation that was produced by a Network FMU. -Out of this Error operations are available in the <> and <> communication use case only. - -|==== - -The following codes are allowed to use as Error Code: - -.Overview of the available error states and codes. -[#table-lin-bus-error-codes] -[cols="1,3,20"] -|==== - -h|State h|Error Code h|Description - -|BIT_ERROR -|0x01 -|Represents a bit error. -The given error is always related to a specific <> operation. - -|CHECKSUM_ERROR -|0x02 -|Represents a CRC error. -The error can occurs during a collision of multiple response frames when Event-Triggered-Frames are used. -The given error is always related to a specific <> operation. - -|IDENTIFIER_PARITY_ERROR -|0x03 -|Represents an Identifier Parity Error. -The error can occurs during a collision of multiple LIN headers. -The given error is always related to a specific <> operation. - -|SLAVE_NOT_RESPONDING_ERROR -|0x04 -|Represents a Slave Not Responding Error. -The error can occurs if LIN Slaves does not response to a specified LIN header. -The given error is always related to a specific <> operation. - -|SYNCH_FIELD_ERROR -|0x05 -|Represents a Inconsistent-Synch Field Error. -The given error is always related to a specific <> operation. - -|PHYSICAL_BUS_ERROR -|0x06 -|Represents a Physical Bus Error. -The given error is always related to a specific <> operation. - -|==== - -====== Configuration [[low-cut-lin-configuration-operation]] -The <> operation allows Network FMUs the configuration of the Bus Simulation with parameters like baud rate information and further options. -The following information are included within this operation: - - -.Detailed description of the Configuration operation. -[#table-lin-configuration-operation] -[cols="5,1,10,4,3,20"] -|==== -h|Name -5+|Configuration -h|Description -5+|Represents an operation for the configuration of a Bus Simulation. -In detail the configuration of a LIN baud rate is possible. -Also the configuration of further options, like LIN Master or LIN Slave representation, is supported by this operation. -h|OP Code [hex] -5+|0x30 -.7+h|Content 3+h|Argument h|Length h|Description -3+|OP Code -|1 byte -|Contains the OP Code (0x30) of the operation. - -3+|Length -|4 byte -|Defines the cumulative length of all arguments in bytes. -The following applies for this operation: `Length = 6 + Length of parameter arguments in bytes`. - -3+|Parameter Type -|1 byte -|Defines the current configuration parameter. -Note that only one parameter can be set per <> operation. - -.3+h| -4+h|Parameters - -|LIN_BAUDRATE -|Baud Rate -|4 byte -|The specified baud rate value to configure, whereby the specified ranges are defined by the LIN standard. -The required unit for the baud rate value is bit/s. - -|LIN_NODE_DEFINITION -|Node Definition -|1 byte -|Configures the required node type (Master or Slave) within a Bus Simulation. -Possible values are: `LIN_MASTER` and `LIN_SLAVE` (see <>). - -h|Behavior -5+|The specified operation shall be produced by a Network FMU and consumed by the Bus Simulation. -The operation shall not be routed to other Network FMUs by the Bus Simulation. -A Network FMU shall ignored this operation on consumer side. -The configuration shall be completed by a specified Network FMU before it produces any <> operations. -The configuration must not be repeated multiple times during the runtime of a Network FMU. -A Bus Simulation should stop as soon as more than one `LIN_MASTER` is configured in a network. -If required configuration parameters are not adjusted by a Network FMU the Bus Simulation shall choose a default behavior by itself. -|==== - -The following Kind values are allowed to be used: - -.Overview of the available configuration kinds and values. -[#table-lin-configuration-kinds] -[cols="1,1,5"] -|==== - -h|Kind h|Value h|Description -|LIN_BAUDRATE|0x01|This code indicates that a LIN baud rate should be configured for the Bus Simulation. -|LIN_NODE_DEFINITION|0x02|This code configures the specified node type (Master or Slave) within a Bus Simulation. - -|==== - -The following values for the Arbitration Lost Behavior option are defined: - -.Overview of the available node definition values for LIN. -[#table-lin-configuration-node-definition-kinds] -[cols="2,1,5"] -|==== - -h|Node Definition h|Value h|Description -|LIN_MASTER|0x01|Configuration of a LIN Master node within a specified Bus Simulation. -|LIN_SLAVE|0x02|Configuration of a LIN Slave node within a specified Bus Simulation. - -|==== - -====== Status [[low-cut-lin-status-operation]] -By using the <> operation a Network FMU can communicate the current LIN node state of the simulated LIN Controller within the Network FMU to the Bus Simulation. -The following information are included within this operation: - -.Detailed description of the Status operation. -[#table-lin-status-operation] -[cols="5,4,3,20"] -|==== -h|Name -3+|Status -h|Description -3+|Represents an operation for status handling. -h|OP Code [hex] -3+|0x40 -.4+h|Content h|Argument h|Length h|Description -|OP Code -|1 byte -|Contains the OP Code of the specified operation. -For this operation the OP Code always has the value 0x40. - -|Length -|4 byte -|Defines the cumulative length of all arguments in bytes. -For this operation always applies: `Length = 6`. - -|Status -|1 byte -|The specified status code, basing on the table below. - -h|Behavior -3+|The specified operation shall be produced by Network FMUs and consumed by the Bus Simulation. -The operation shall not be routed to other Network FMUs by the Bus Simulation. -A Network FMU shall ignore this operation on the consumer side. -A Network FMU shall report its status to the Bus Simulation after it changes. - -|==== - -The following status values are allowed to use: - -.Overview of the available status values. -[#table-lin-status-values] -[cols="1,1,5"] -|==== - -h|Kind h|Value h|Description -|POWER_OFF|0x01|Indicates that a simulated LIN controller within the Network FMU has currently the LIN node state: Power Off. -|INITIALIZATION|0x02|Indicates that a simulated LIN controller within the Network FMU has currently the LIN node state: Initialization. -|OPERATION|0x03|Indicates that a simulated LIN controller within the Network FMU has currently the LIN node state: Operation. -|SLEEP|0x04|Indicates that a simulated LIN controller within the Network FMU has currently the LIN node state: Sleep. -|==== - -====== Wake Up [[low-cut-lin-wake-up-operation]] -By using the <> operation the underlying Bus Simulation can trigger a bus-specific wake up. - -.Detailed description of the Wakeup operation. -[#table-lin-wakeup-operation] -[cols="5,4,3,20"] -|==== -h|Name -3+|Wakeup -h|Description -3+|Represents an operation for triggering a bus-specific wake up. -h|OP Code [hex] -3+|0x41 -.3+h|Content h|Argument h|Length h|Description -|OP Code -|1 byte -|Contains the OP Code of the specified operation. -For this operation the OP Code always has the value 0x41. - -|Length -|4 byte -|Defines the cumulative length of all arguments in bytes. -For this operation always applies: `Length = 5`. - -h|Behavior -3+|The specified operation shall be produced by a Network FMU and distributed to all participants, except the wake-up initiator, of the bus by using the Bus Simulation. -If a Network FMU does not support wake-up this operation can be ignored on consumer side. - -|==== - -===== Transmission and Reception [[low-cut-lin-transmission-and-reception]] -#TODO# - -===== Detection of Collisions [[low-cut-lin-detection-of-collisions]] -#TODO# - -===== Configuration of Bus Simulation [[low-cut-lin-configuration-of-bus-simulation]] -The configuration of the Bus Simulation is done by the Network FMUs itself. -For this purpose, the <> operation provides several configuration parameters. -<> operations can be produced multiple times during the runtime of a Network FMU. -Because the Bus Simulation shall choose a default behavior, it might be useful in several scenarios that Network FMUs finish configuration before the production of <> operations. - -====== Baud Rate Handling [[low-cut-lin-baud-rate-handling]] -In order to calculate the time required for the transmission of a bus message, it is necessary to inform the Bus Simulation about the specified baud rate from a Network FMU. -This baud rate information can be configured by using `LIN_BAUDRATE` configuration kind of the <> operation. -If the baud rate information is not adjusted by a specified Network FMU, the Bus Simulation shall choose a default behavior by itself. - -====== Node Definition [[low-cut-lin-node-definition]] -By using the `LIN_NODE_DEFINITION` configuration kind of a <> operation, the specified node type `LIN_MASTER` or `LIN_SLAVE` needs to be adjusted. -This configuration must be done before the first exchange of <> operations. -A Bus Simulation should stop as soon as more than one LIN Master is configured in a network. - -===== Error Handling [[low-cut-lin-error-handling]] -#TODO# - -===== Wake Up/Sleep [[low-cut-lin-wakeup-sleep]] -This standard supports wake up and sleep for the LIN bus, whereby only the bus-specific parts are taken into account. -This means that the realization of local virtual ECU wake-up and sleeping processes are internal parts of the respective FMU, which is not covered by this document. -Because entering sleep state is a virtual ECU internal process always within LIN bus, this can be ignored. -Also, the virtual ECU local wake-up process is ignored as well. -The LIN-specific wake-up pulse can be simulated by using the <> operation. -A <> operation is initiated by one Network FMU and shall be distributed to all participants of the bus,except the wake-up initiator, by the Bus Simulation. - -.Wake up initiated by FMU 1 wakes up FMU 2 and FMU 3 via bus. -[#figure-lin-wake-up] -image::lin_wake_up.svg[width=70%, align="center"] diff --git a/docs/4_4_3_flexray.adoc b/docs/4_4_3_flexray.adoc deleted file mode 100644 index 6550ab2..0000000 --- a/docs/4_4_3_flexray.adoc +++ /dev/null @@ -1,3 +0,0 @@ -==== FlexRay - -#TODO# diff --git a/docs/4_4_4_ethernet.adoc b/docs/4_4_4_ethernet.adoc deleted file mode 100644 index c82edd4..0000000 --- a/docs/4_4_4_ethernet.adoc +++ /dev/null @@ -1,3 +0,0 @@ -==== Ethernet - -#TODO dSPACE# diff --git a/docs/4____network_abstraction.adoc b/docs/4____network_abstraction.adoc index 0d2a86a..872e4f8 100644 --- a/docs/4____network_abstraction.adoc +++ b/docs/4____network_abstraction.adoc @@ -276,7 +276,7 @@ The following table lists the MIME types to use for the Tx/Rx data variables wit .Overview of the available MIME types for the supported several bus types. [#table-mime-types] -[cols="4,5",options="header"] +[cols="4,3",options="header"] |==== |MIME type |Description @@ -284,15 +284,6 @@ The following table lists the MIME types to use for the Tx/Rx data variables wit |application/org.fmi-standard.fmi-ls-bus.can; version="1.0.0-beta.1" |Binary variables simulating a CAN network including CAN, CAN FD and CAN XL -|application/org.fmi-standard.fmi-ls-bus.lin; version="1.0.0-alpha.1" -|Binary variables simulating a LIN network - -|application/org.fmi-standard.fmi-ls-bus.flexray; version="1.0.0-alpha.1" -|Binary variables simulating a FlexRay network - -|application/org.fmi-standard.fmi-ls-bus.ethernet; version="1.0.0-alpha.1" -|Binary variables simulating an Ethernet network - |==== As in the table, above the version of a specified bus type is integrated within the MIME type. @@ -351,9 +342,3 @@ For each supported bus type, the <> to enable the simulation of supported bus types. include::4_4_1_can.adoc[] - -include::4_4_2_lin.adoc[] - -include::4_4_3_flexray.adoc[] - -include::4_4_4_ethernet.adoc[] diff --git a/docs/5____additional_content.adoc b/docs/5____additional_content.adoc index d95dfea..cb74949 100644 --- a/docs/5____additional_content.adoc +++ b/docs/5____additional_content.adoc @@ -1,10 +1,3 @@ -== Contributions -#TODO: Add contributions here# - -- ... - -Contributions to this layered standard to the FMI standard are covered by the https://github.com/modelica/fmi-standard.org/blob/main/static/assets/FMI_CCLA_v1.0_2016_06_21.pdf[Corporate Contributors License Agreement (CCLA)] of the Modelica Association Project FMI. - [bibliography] == References