Skip to content

Commit 55dd217

Browse files
Benedikt MenneBenedikt Menne
authored andcommitted
Aggregating LIN Transmit operations
1 parent ccc5b0a commit 55dd217

File tree

1 file changed

+46
-85
lines changed

1 file changed

+46
-85
lines changed

docs/4_4_2_lin.adoc

Lines changed: 46 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ It shows all operations and the arguments they contain.
1919

2020
.Overview of the available operations for LIN.
2121
[#table-operation-content-lin]
22-
[cols="9,1,6,5,5,5,5,5,5,5,5"]
22+
[cols="9,1,6,7,5,5,5,5,5,5,5"]
2323
|====
2424
.2+h|Operation Name
2525
10+h|Operation Content
@@ -37,37 +37,17 @@ h|Length
3737
7+|Data +
3838
(n bytes)
3939

40-
|Header
40+
|Transmit
4141
|0x10
42-
|:= 10 +
43-
(4 bytes)
44-
|PID +
45-
(1 byte)
46-
7+|Response Data Length +
47-
(1 byte)
48-
49-
|Response
50-
|0x11
5142
|:= 11 + DL +
5243
(4 bytes)
53-
|PID +
44+
|Frame Type +
5445
(1 byte)
55-
2+|Response Error +
56-
(1 byte)
57-
|DL +
58-
(1 byte)
59-
4+|Data +
60-
(n bytes)
61-
62-
|Header Response
63-
|0x12
64-
|:= 10 + DL +
65-
(4 bytes)
6646
|PID +
6747
(1 byte)
6848
|DL +
6949
(1 byte)
70-
6+|Data +
50+
5+|Data +
7151
(n bytes)
7252

7353
|Confirm
@@ -107,78 +87,59 @@ This section defines the allowed operations for LIN.
10787
The following tables provide an overview of all operations and specifies the position and length of the corresponding arguments, as well as the respective flow direction.
10888

10989
====== Transmit [[low-cut-lin-transmit-operation]]
110-
There are three types of <<low-cut-lin-transmit-operation, `Transmit`>> operations, each representing the transmission of a LIN header, a response and a combination of a header and response.
90+
The <<low-cut-lin-transmit-operation, `Transmit`>> operation is used to simulate the transmission of LIN frames.
91+
All three LIN cases, in detail a LIN header, a response and a combination of a header and response are considered here.
11192

112-
.Detailed description of the LIN Header operation.
113-
[#table-lin-header-operation]
93+
.Detailed description of the Transmit operation.
94+
[#table-lin-transmit-operation]
11495
[cols="5,4,3,20"]
11596
|====
116-
h|Name 3+| Header
117-
h|Description 3+| Represents an operation for the transmission of a LIN header from a LIN Master to LIN slaves.
97+
h|Name 3+| Transmit
98+
h|Description 3+| Represents an operation for the transmission of a LIN message, aggregating a representation for a Frame Header and a Frame Response.
11899
h|OP Code [hex] 3+| 0x10
119-
.5+h|Content h|Argument h|Length h|Description
120-
| OP Code | 4 bytes | Contains the OP Code of the specified operation.
121-
For this operation the OP Code always has the value 0x10.
122-
| Length | 4 bytes | Defines the cumulative length of all arguments in bytes.
123-
For this operation always applies: `Length = 10`.
124-
| PID | 1 byte | The specified protected ID (PID) of the LIN message.
125-
The maximum length of a PID is 8-bit.
126-
| Response Data Length | 1 byte | The size of the response in bytes.
127-
h|Behavior
128-
3+|The Header operation shall be provided by Network FMUs to initiate the transmission of a LIN header.
129-
In case of direct connected Network FMUs (see <<common-concepts-direct-communication>>), the FMU importer forwards the operation directly to the receiving Network FMUs.
130-
If a Bus Simulation is involved (see <<common-concepts-composition-with-dedicated-bus-simulation-fmu>> and <<common-concepts-importer-with-integrated-bus-simulation>>), the FMU importer forwards the operation initially to the Bus Simulation, where the operation is distributed with respect to the simulated bus behavior.
131-
Depending on the simulation details, the Bus Simulation might respond with a <<low-cut-lin-bus-error-operation, `Bus Error`>> or <<low-cut-lin-format-error-operation, `Format Error`>> operation.
132-
133-
|====
134-
135-
.Detailed description of the LIN Response operation.
136-
[#table-lin-response-operation]
137-
[cols="5,4,3,20"]
138-
|====
139-
h|Name 3+| Response
140-
h|Description 3+| Represents an operation for the transmission of a LIN response from a LIN Slave to the LIN Master.
141-
h|OP Code [hex] 3+| 0x11
142100
.7+h|Content h|Argument h|Length h|Description
143101
| OP Code | 4 bytes | Contains the OP Code of the specified operation.
144-
For this operation the OP Code always has the value 0x11.
102+
For this operation the OP Code always has the value 0x10.
145103
| Length | 4 bytes | Defines the cumulative length of all arguments in bytes.
146104
For this operation always applies: `Length = 11 + Data Length`.
105+
| Frame Type | 1 byte | Indicates the type of the specified LIN frame (see <<#table-lin-frame-types-values>>).
147106
| PID | 1 byte | The specified protected ID (PID) of the LIN message.
148107
The maximum length of a PID is 8-bit.
149-
| Response Error | 1 byte | Represents the Response Error field of a LIN frame.
150-
For specification the boolean values `TRUE` and `FALSE` (see <<table-boolean-value-kinds>>) shall be used.
151108
| Data Length | 1 byte | Specifies the length of the Data argument in bytes.
109+
Regarding to the `Frame Type` specified, a different approach for `Data Length` argument value specification is required.
110+
See <<#table-lin-frame-types-values>> for details.
152111
| Data | n bytes | Stores the given frame data to transfer, whereby the valid length of the data depends on the LIN Format.
153112
h|Behavior
154-
3+|The Response operation shall be provided by Network FMUs to initiate a response to a given LIN header.
113+
3+|The Transmit operation shall be provided by Network FMUs to initiate the transmission of a LIN frame that contains the specified header, response or a combination of both cases.
155114
In case of direct connected Network FMUs (see <<common-concepts-direct-communication>>), the FMU importer forwards the operation directly to the receiving Network FMUs.
156115
If a Bus Simulation is involved (see <<common-concepts-composition-with-dedicated-bus-simulation-fmu>> and <<common-concepts-importer-with-integrated-bus-simulation>>), the FMU importer forwards the operation initially to the Bus Simulation, where the operation is distributed with respect to the simulated bus behavior.
157116
Depending on the simulation details, the Bus Simulation might respond with a <<low-cut-lin-bus-error-operation, `Bus Error`>> or <<low-cut-lin-format-error-operation, `Format Error`>> operation.
158117

159118
|====
160119

161-
.Detailed description of the LIN Header Response operation.
162-
[#table-lin-header-response-operation]
163-
[cols="5,4,3,20"]
120+
The following frame types can be used:
121+
122+
.Overview of the available frame type values.
123+
[#table-lin-frame-types-values]
124+
[cols="1,1,5"]
164125
|====
165-
h|Name 3+| Header Response
166-
h|Description 3+| Represents an operation for the transmission of a LIN header and response from a LIN Master to LIN slaves.
167-
h|OP Code [hex] 3+| 0x12
168-
.6+h|Content h|Argument h|Length h|Description
169-
| OP Code | 4 bytes | Contains the OP Code of the specified operation.
170-
For this operation the OP Code always has the value 0x12.
171-
| Length | 4 bytes | Defines the cumulative length of all arguments in bytes.
172-
For this operation always applies: `Length = 10 + Data Length`.
173-
| PID | 1 byte | The specified protected ID (PID) of the LIN message.
174-
The maximum length of a PID is 8-bit.
175-
| Data Length | 1 byte | Specifies the length of the Data argument in bytes.
176-
| Data | n bytes | Stores the given frame data to transfer, whereby the valid length of the data depends on the LIN Format.
177-
h|Behavior
178-
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.
179-
In case of direct connected Network FMUs (see <<common-concepts-direct-communication>>), the FMU importer forwards the operation directly to the receiving Network FMUs.
180-
If a Bus Simulation is involved (see <<common-concepts-composition-with-dedicated-bus-simulation-fmu>> and <<common-concepts-importer-with-integrated-bus-simulation>>), the FMU importer forwards the operation initially to the Bus Simulation, where the operation is distributed with respect to the simulated bus behavior.
181-
Depending on the simulation details, the Bus Simulation might respond with a <<low-cut-lin-bus-error-operation, `Bus Error`>> or <<low-cut-lin-format-error-operation, `Format Error`>> operation.
126+
127+
h|Kind h|Value h|Description
128+
129+
|HEADER
130+
|0x00
131+
|Indicates a LIN frame header.
132+
In this case the `Data Length` argument of a <<low-cut-lin-transmit-operation, `Transmit`>> operation is always set to zero.
133+
134+
|RESPONSE
135+
|0x01
136+
|Indicates a LIN frame response.
137+
In this case the `Data Length` argument of a <<low-cut-lin-transmit-operation, `Transmit`>> operation contains the length of the `Data` argument value.
138+
139+
|HEADER RESPONSE
140+
|0x02
141+
|Indicates a LIN frame header response.
142+
In this case the `Data Length` argument of a <<low-cut-lin-transmit-operation, `Transmit`>> operation contains the length of the `Data` argument value.
182143

183144
|====
184145

@@ -271,50 +232,50 @@ h|State h|Error Code h|Description
271232
|BIT_ERROR
272233
|0x01
273234
|A BIT_ERROR means that a received bit does not match the expected value.
274-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-header-operation, `Header`>> operation and shall be delivered to the Network FMU that is configured as <<table-lin-configuration-node-definition-kinds, `LIN_MASTER`>> within the specified LIN network.
235+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `HEADER`) and shall be delivered to the Network FMU that is configured as <<table-lin-configuration-node-definition-kinds, `LIN_MASTER`>> within the specified LIN network.
275236

276237
|CHECKSUM_ERROR
277238
|0x02
278239
|Represents a CRC error.
279240
The error can occur during a collision of multiple response frames when Event-Triggered-Frames are used.
280-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-response-operation, `Response`>> operation and shall be delivered to the Network FMU that is configured as <<table-lin-configuration-node-definition-kinds, `LIN_MASTER`>> of the specified LIN network.
241+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `RESPONSE`) and shall be delivered to the Network FMU that is configured as <<table-lin-configuration-node-definition-kinds, `LIN_MASTER`>> of the specified LIN network.
281242

282243
|IDENTIFIER_PARITY_ERROR
283244
|0x03
284245
|Represents an Identifier Parity Error.
285246
The error can occur during a collision of multiple LIN headers.
286-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-header-operation, `Header`>> operation and shall be delivered to all Network FMUs of the specified LIN network.
247+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `HEADER`) and shall be delivered to all Network FMUs of the specified LIN network.
287248

288249
|SLAVE_NOT_RESPONDING_ERROR
289250
|0x04
290251
|Represents a Slave Not Responding Error.
291252
The error can occur if LIN Slaves does not respond to a specified LIN header.
292-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-header-operation, `Header`>> operation and shall be delivered to the Network FMU that is configured as <<table-lin-configuration-node-definition-kinds, `LIN_MASTER`>> within the specified LIN network.
253+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `HEADER`) and shall be delivered to the Network FMU that is configured as <<table-lin-configuration-node-definition-kinds, `LIN_MASTER`>> within the specified LIN network.
293254

294255
|SYNCH_FIELD_ERROR
295256
|0x05
296257
|Represents an Inconsistent-Synch Field Error.
297-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-header-operation, `Header`>> operation and shall be delivered to the Network FMUs that are configured as <<table-lin-configuration-node-definition-kinds, `LIN_SLAVE`>> within the specified LIN network.
258+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `HEADER`) and shall be delivered to the Network FMUs that are configured as <<table-lin-configuration-node-definition-kinds, `LIN_SLAVE`>> within the specified LIN network.
298259

299260
|SYNCH_TOLERANCE_ERROR
300261
|0x06
301262
|The calculated baud rate deviates too much from the original baud rate after clock synchronization (tolerance exceeded).
302-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-header-operation, `Header`>> operation and shall be delivered to the Network FMUs that are configured as <<table-lin-configuration-node-definition-kinds, `LIN_SLAVE`>> within the specified LIN network.
263+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `HEADER`) and shall be delivered to the Network FMUs that are configured as <<table-lin-configuration-node-definition-kinds, `LIN_SLAVE`>> within the specified LIN network.
303264

304265
|HEADER_TIMEOUT_ERROR
305266
|0x07
306267
|A header timeout error means that a slave node did not receive a complete header from the master within the specified time frame.
307-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<#table-lin-header-operation, `Header`>> operation and shall be delivered to the Network FMUs that are configured as <<table-lin-configuration-node-definition-kinds, `LIN_SLAVE`>> within the specified LIN network.
268+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-error-operation, `Transmit`>> operation (`Frame Type` is set to `HEADER`) and shall be delivered to the Network FMUs that are configured as <<table-lin-configuration-node-definition-kinds, `LIN_SLAVE`>> within the specified LIN network.
308269

309270
|FRAME_ERROR
310271
|0x08
311272
|This represents an error in the stop bit or in the frame format.
312-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to any <<low-cut-lin-transmit-operation, `Transmit`>> operation and shall be delivered to all Network FMUs of the specified LIN network.
273+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-operation, `Transmit`>> operation and shall be delivered to all Network FMUs of the specified LIN network.
313274

314275
|PHYSICAL_BUS_ERROR
315276
|0x09
316277
|Represents a Physical Bus Error.
317-
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to any <<low-cut-lin-transmit-operation, `Transmit`>> operation and shall be delivered to all Network FMUs of the specified LIN network.
278+
This <<low-cut-lin-bus-error-operation, `Bus Error`>> operation is a direct reaction to a <<low-cut-lin-transmit-operation, `Transmit`>> operation and shall be delivered to all Network FMUs of the specified LIN network.
318279

319280
|====
320281

0 commit comments

Comments
 (0)