SNIP_CLASSIC_CAN_SECTION_7_5_1_Priority_Inversion
Wortlaut
7.5.1 Priority Inversion
Multiplexed transmission can be used to avoid outer/inner priority inversion (see chapter 2.1).
[SWS_Can_00277] Upstream requirements: SRS_Can_01134
⌈The Can module shall allow that the functionality ”Multiplexed Transmission” is statically configurable (ON | OFF) at pre-compile time.⌋
[SWS_Can_00401] Upstream requirements: SRS_Can_01134
⌈Several transmit hardware objects (defined by ”CanHwObjectCount”) shall be assigned by one HTH to represent one transmit entity to the upper layer.⌋
[SWS_Can_00402] Upstream requirements: SRS_Can_01134
⌈The Can module shall support multiplexed transmission mechanisms for devices where either
• Multiple transmit hardware objects, which are grouped to a transmit entity can be filled over the same register set, and the microcontroller stores the L-PDU into a free buffer autonomously, or
• The Hardware provides registers or functions to identify a free transmit hardware object within a transmit entity.
⌋
[SWS_Can_00403] Upstream requirements: SRS_Can_01134
⌈The Can module shall support multiplexed transmission for devices, which send L-PDUs in order of L-PDU priority.⌋ Note: Ordering of L-PDUs by priority avoids inner priority inversion of the L-PDUs assigned to a Basic-CAN configured for multiplexed transmission. Another possibility to avoid inner priority inversion is the configuration of all HTHs to be Full-CAN if the CAN hardware is able to prioritize upon transmission using the CAN ID or related priority field. Note: Software emulation of priority handling should be avoided, because the overhead would void the advantage of the multiplexed transmission. Figure 7.4: Example of assignment of HTHs and HRHs to the Hardware Objects with multiplexed transmission. The numbering of HTHs and HRHs are implementation specific. The chosen numbering is only an example.
[SWS_Can_00011] Upstream requirements: SRS_SPAL_12075, SRS_Can_01059
⌈The Can module shall directly copy the data from the upper layer buffers. It is the responsibility of the upper layer to keep the buffer consistent until return of function call (Can_Write).⌋
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Cited verbatim in the snippet (deterministic citation).
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | SWS_CANDriver.pdf |
|---|---|
| Dokumentseite | Seite 40 |
| Ziel-Modul | can (classic) |
| Ziel-Anforderung | SWS_Can_00403 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |