DEENESPTFRRUARHIKOZHNL

LIN Transceiver Driver (LinTrcv)

ModulLinTrcv (LIN Transceiver Driver)
BSW-Modul-ID64
Standard-Header#include "LinTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_LINTransceiverDriver.pdf
ClusterLIN

ModulegidsAI-GEGENEREERD

Stuurt LIN-transceivercomponenten aan: bedrijfsmodi instellen en opvragen, wake-ups detecteren en melden aan de LIN-interface.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 4cf0c894f837 Herkomst Open vragen (4)
Causaal anker: R20-11 Geldig vanaf R20-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stuurt LIN-transceivercomponenten aan: bedrijfsmodi instellen en opvragen, wake-ups detecteren en melden aan de LIN-interface.

De LIN Transceiver Driver bestuurt de fysieke LIN-transceiver van een kanaal en ontkoppelt LinIf van de hardware. Volgens LinTrcv_Init is de uitgangsmodus SLEEP. LinTrcv_SetOpMode schakelt tussen NORMAL, STANDBY en SLEEP en retourneert bij een mislukte wissel E_NOT_OK [SWS_LinTrcv_00002]. Externe wake-ups worden gedetecteerd via de ICU en gemeld wanneer LinIf LinTrcv_CheckWakeup aanroept. In R20-11 betekent E_OK hierbij „wake-up gedetecteerd” [SWS_LinTrcv_00012]. Wachttijden voor toestandswissels moeten worden gerealiseerd met Tm_BusyWait1us16bit.

De LIN Transceiver Driver bestuurt de fysieke LIN-transceiver van een kanaal en ontkoppelt de LIN-interface van de hardware. LinIf roept zijn services direct aan: LinIf_SetTrcvMode roept bijvoorbeeld LinTrcv_SetOpMode aan en retourneert het resultaat daarvan ongewijzigd [SWS_LinTrcv_00002] LinIf-SWS p. 90. Software- en hardwaretoestanden zijn gescheiden. Welke hardwaretoestanden door een softwaremodus worden gedekt, bepaalt de implementatie LinTrcv-SWS p. 16.

Het stuurprogramma kent de modi LINTRCV_TRCV_MODE_NORMAL, LINTRCV_TRCV_MODE_STANDBY en LINTRCV_TRCV_MODE_SLEEP [SWS_LinTrcv_00168]. Na het inschakelen is het inactief. LinTrcv_Init activeert het met een configuratieset [SWS_LinTrcv_00001]; de uitgangsmodus is SLEEP LinTrcv-SWS p. 1. STANDBY is optioneel en kan een louter interne toestand zijn LinTrcv-SWS Afb. 7.1 p. 15.

LinTrcvModi cluster_power_on POWER_ON cluster_active ACTIVE PowerOn Power On NOT_ACTIVE NOT_ACTIVE PowerOn->NOT_ACTIVE [Power On] PowerOff Power Off NOT_ACTIVE->PowerOff [Power Off] SLEEP LINTRCV_TRCV_MODE_SLEEP NOT_ACTIVE->SLEEP LinTrcv_Init(ConfigPtr) Ausgangsmodus SLEEP NORMAL LINTRCV_TRCV_MODE_NORMAL SLEEP->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL) NORMAL->SLEEP LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY LINTRCV_TRCV_MODE_STANDBY (optioneel, evt. alleen intern) NORMAL->STANDBY optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_STANDBY) STANDBY->SLEEP optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL)

Toestandsdiagram: Levenscyclus vanaf power-on via LinTrcv_Init tot de moduswissels met LinTrcv_SetOpMode. De optionele overgangen zijn gereconstrueerd (interpretatie). Bronnen: LinTrcv-SWS Afb. 7.1 p. 15 [SWS_LinTrcv_00168]

Externe wake-ups detecteert het stuurprogramma niet via een eigen ISR, maar via de ICU LinTrcv-SWS p. 17. LinIf vraagt deze op met LinTrcv_CheckWakeup. In R20-11 betekent E_OK hierbij „wake-up gedetecteerd” [SWS_LinTrcv_00012]. Latere releases definiëren dit anders. Een gedetecteerde wake-up wordt gemeld via LinIf_WakeupConfirmation [SWS_LinTrcv_91002]. LinTrcv_SetWakeupMode geeft de notificatie vrij, blokkeert deze of wist opgeslagen gebeurtenissen [SWS_LinTrcv_00169].

Externe wake-up (retourwaarden volgens R20-11)LIN-Bus / TransceiverIcuLinTrcvLinIfUse Case: VorbereitungIcu_EnableNotification(bij de overgang naar STANDBY)Use Case: Wakeup-EreignisWakeup-Ereignis (dominanter Buspegelof flank op de wake-up-pin)Het pad van de ICU-notificatie tot de aanroepdoor LinIf ligt buiten LinTrcv(niet beschreven in de payload)LinTrcv_CheckWakeup(LinNetwork)Wake-up op deadressierten Netz auswertenaltWakeup erkanntLinIf_WakeupConfirmation(WakeupSource)Wake-up-vlag van het kanaal instellenE_OKkein Wakeup erkanntE_NOT_OKUse Case: Wake-up-reden opvragen (via LinIf_GetTrcvWakeupReason)LinTrcv_GetBusWuReason(LinNetwork, Reason)E_OK, Reason z. B.LINTRCV_WU_BY_BUS

Sequentiediagram: Externe wake-up vanaf de ICU-detectie via LinTrcv_CheckWakeup en LinIf_WakeupConfirmation tot aan het opvragen van de reden. Bronnen: [SWS_LinTrcv_00012] [SWS_LinTrcv_91002] LinTrcv-SWS p. 17

Voor de werking gelden de volgende randvoorwaarden:

  • Wachttijden bij toestandswissels moeten worden gerealiseerd met Tm_BusyWait1us16bit [SWS_LinTrcv_00171].
  • Op multi-coresystemen moeten LinTrcvChannel en LinChannel van een kanaal naar dezelfde partitie verwijzen [SWS_LinTrcv_00177].
  • Bij verstoorde communicatie met de transceiver leveren de opvragingen E_NOT_OK op LinTrcv-SWS p. 26.

De DET-foutcodes zijn alleen aangetoond vanuit latere releases. Aangezien R21-11 de foutcodes heeft opgeschoond, kunnen hun namen in R20-11 afwijken LinTrcv-SWS p. 1.

Rol tussen LIN-interface en transceivercomponent

De LIN Transceiver Driver (LinTrcv) kapselt de aansturing van de fysieke LIN-transceiver in. Zijn interface bestaat uit zeven services:

Alle services zijn synchroon. De softwaretoestanden van het stuurprogramma zijn gescheiden van de hardwaretoestanden van de component. De component mag meer overgangen kennen dan het stuurprogramma. Welke hardwaretoestanden door een softwaretoestand worden gedekt, bepaalt de implementatie. Deze moet echter de beschreven functionaliteit volledig leveren LinTrcv-SWS p. 16.

Naar boven toe is de LIN-interface (LinIf) de in de payload vastgelegde gebruiker. De LinIf-services roepen telkens een LinTrcv-service aan:

  • LinIf_SetTrcvMode roept LinTrcv_SetOpMode aan en retourneert de retourwaarde daarvan ongewijzigd LinIf-SWS p. 90.
  • LinIf_GetTrcvMode roept LinTrcv_GetOpMode aan LinIf-SWS p. 91.
  • LinIf_GetTrcvWakeupReason roept LinTrcv_GetBusWuReason aan LinIf-SWS p. 92.
  • LinIf_SetTrcvWakeupMode roept LinTrcv_SetWakeupMode aan LinIf-SWS p. 93.

De typen LinTrcv_TrcvModeType en LinTrcv_TrcvWakeupModeType zijn beschikbaar via Lin_GeneralTypes.h [SWS_LinTrcv_00168] [SWS_LinTrcv_00169]. LinIf gebruikt ze direct in zijn signaturen. Het eerdere eigen type LinIf_TrcvModeType werd in versie 3.1.5 vervangen door LinTrcv_TrcvModeType LinIf-SWS p. 4.

Naar beneden toe maakt het stuurprogramma gebruik van de volgende services:

Gedetecteerde wake-ups meldt het stuurprogramma via LinIf_WakeupConfirmation aan LinIf [SWS_LinTrcv_91002]. LinIf zet vervolgens de wake-upvlag van het desbetreffende kanaal LinIf-SWS p. 98.

LinTrcvKontext LinIf LinIf LinTrcv LinTrcv LinIf->LinTrcv LinTrcv_SetOpMode, LinTrcv_GetOpMode, LinTrcv_GetBusWuReason, LinTrcv_SetWakeupMode, LinTrcv_CheckWakeup LinTrcv->LinIf LinIf_WakeupConfirmation Dio Dio LinTrcv->Dio Dio-Lese-/Schreibdienste (LinTrcvDioAccess) Spi Spi LinTrcv->Spi SPI-Sequenz (LinTrcvSpiSequence) Icu Icu LinTrcv->Icu Icu_EnableNotification / Icu_DisableNotification Tm Tm LinTrcv->Tm Tm_BusyWait1us16bit Det DET LinTrcv->Det Det_ReportError EcuM EcuM LinTrcv->EcuM EcuM_SetWakeupEvent HW LIN-Transceiver-Baustein Dio->HW Pins Spi->HW SPI HW->Icu Wakeup-Signal

Contextdiagram: LinTrcv bevindt zich tussen LinIf en de hardwarenabije services Dio/Spi, Icu en Tm en meldt wake-ups terug aan LinIf. Bronnen: [SWS_LinTrcv_91001] [SWS_LinTrcv_91002] [SWS_LinTrcv_91003] [SWS_LinTrcv_00171] LinTrcv-SWS p. 17 LinTrcv-SWS Afb. 10.3 p. 45

Levenscyclus van de bedrijfsmodi van power-on tot sleep

Het stuurprogramma kent drie software-bedrijfsmodi: LINTRCV_TRCV_MODE_NORMAL, LINTRCV_TRCV_MODE_STANDBY en LINTRCV_TRCV_MODE_SLEEP [SWS_LinTrcv_00168]. Afbeelding 7.1 van de specificatie plaatst deze in een levenscyclus LinTrcv-SWS Afb. 7.1 p. 15:

  • Na het inschakelen bevindt het stuurprogramma zich in de toestand NOT_ACTIVE.
  • LinTrcv_Init brengt het over naar de toestand ACTIVE. De drie modi liggen binnen ACTIVE.
  • Spanningsverlies beëindigt de levenscyclus.

LinTrcv_Init ontvangt een pointer naar de gekozen configuratieset [SWS_LinTrcv_00001]. De structuur LinTrcv_ConfigType is implementatiespecifiek [SWS_LinTrcv_00172]. Sinds versie 4.3.1 is de uitgangsmodus na de initialisatie beperkt tot LINTRCV_TRCV_MODE_SLEEP LinTrcv-SWS p. 1.

In de toestand ACTIVE schakelt LinTrcv_SetOpMode de interne toestand van het geadresseerde kanaal naar de meegegeven modus [SWS_LinTrcv_00002] LinTrcv-SWS p. 25. De modus LINTRCV_TRCV_MODE_STANDBY is optioneel. Dit kan een louter interne toestand zijn die de hardware gebruikt voor overgangen. Een concrete hardware heeft mogelijk niet alle interfaces nodig LinTrcv-SWS Afb. 7.1 p. 15. De specificatie noemt bovendien voorwaarden waaronder LinTrcv_SetOpMode het kanaal naar STANDBY schakelt. Deze voorwaarden zijn in het onderhavige fragment afgekapt en worden hier niet verder uitgewerkt LinTrcv-SWS p. 25.

LinTrcv_GetOpMode levert in de uitvoerparameter OpMode de actuele softwaretoestand van het stuurprogramma op [SWS_LinTrcv_00005] LinTrcv-SWS p. 26. Dat is niet noodzakelijkerwijs de toestand van de component. Een aanroeper kan hiermee vóór een moduswissel controleren in welke modus het kanaal zich bevindt. Via LinIf is deze opvraag beschikbaar als LinIf_GetTrcvMode LinIf-SWS p. 91.

LinTrcvModi cluster_power_on POWER_ON cluster_active ACTIVE PowerOn Power On NOT_ACTIVE NOT_ACTIVE PowerOn->NOT_ACTIVE [Power On] PowerOff Power Off NOT_ACTIVE->PowerOff [Power Off] SLEEP LINTRCV_TRCV_MODE_SLEEP NOT_ACTIVE->SLEEP LinTrcv_Init(ConfigPtr) Ausgangsmodus SLEEP NORMAL LINTRCV_TRCV_MODE_NORMAL SLEEP->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL) NORMAL->SLEEP LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY LINTRCV_TRCV_MODE_STANDBY (optioneel, evt. alleen intern) NORMAL->STANDBY optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_STANDBY) STANDBY->SLEEP optional: LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_SLEEP) STANDBY->NORMAL LinTrcv_SetOpMode( LINTRCV_TRCV_MODE_NORMAL)

Toestandsdiagram: Na power-on is het stuurprogramma inactief. LinTrcv_Init leidt naar het actieve bereik met de uitgangsmodus SLEEP, LinTrcv_SetOpMode schakelt tussen de modi. De optionele overgangen zijn gereconstrueerd uit de bijschriften van afb. 7.1 (interpretatie). Voorwaardelijke overgangen naar STANDBY zijn niet weergegeven. Bronnen: LinTrcv-SWS Afb. 7.1 p. 15 [SWS_LinTrcv_00168] [SWS_LinTrcv_00001] LinTrcv-SWS p. 1

Moduswissels en opvragingen via de LIN-interface

Elke service adresseert een kanaal via de parameter LinNetwork van het type uint8 [SWS_LinTrcv_00002] [SWS_LinTrcv_00005]. In LinIf heet de overeenkomstige parameter Channel en heeft deze het type NetworkHandleType LinIf-SWS p. 90.

LinTrcv_SetOpMode is synchroon en niet-re-entrant, het service-ID is 0x01. De retourwaarden betekenen [SWS_LinTrcv_00002]:

  • E_OK: De transceivertoestand is gewisseld naar de aangevraagde modus.
  • E_NOT_OK: De wissel is niet geaccepteerd, is mislukt, of de parameter valt buiten het toegestane bereik.

LinIf moet de aanroep voor alle transceivers en alle modi toestaan, zelfs als de hardware een modus niet ondersteunt LinIf-SWS p. 90. De vertaling naar de hardware blijft daarmee een taak van LinTrcv.

Wachttijden bij toestandswissels realiseert het stuurprogramma met Tm_BusyWait1us16bit [SWS_LinTrcv_00171]. Aangezien LinTrcv_SetOpMode synchroon werkt [SWS_LinTrcv_00002], zal deze actieve wachttijd vermoedelijk binnen de aanroep vallen en de uitvoeringstijd ervan verlengen (interpretatie). Vraag Q-54fe21bbe7c737d9 (open) Bij het wisselen naar de stand-bymodus activeert het stuurprogramma bovendien de ICU-kanalen voor wake-updetectie LinTrcv-SWS p. 17.

De opvraagservices zijn re-entrant. LinTrcv_GetBusWuReason levert de gedetecteerde wake-upreden op in het type LinTrcv_TrcvWakeupReasonType [SWS_LinTrcv_00007]. Tot de waarden daarvan behoren LINTRCV_WU_ERROR, LINTRCV_WU_NOT_SUPPORTED, LINTRCV_WU_BY_BUS en LINTRCV_WU_BY_PIN [SWS_LinTrcv_00170]. Hoe nauwkeurig wake-upredenen kunnen worden onderscheiden, hangt sterk af van de transceiverhardware LinTrcv-SWS p. 28. LinTrcv_GetVersionInfo geeft de versie-informatie terug als Std_VersionInfoType [SWS_LinTrcv_00008] LinTrcv-SWS p. 29.

Moduswissel via LinIf_SetTrcvModeAufrufer oberhalb LinIfLinIfLinTrcvDio / SpiTmIcuLinIf_SetTrcvMode(Channel,TransceiverMode)Channel controleren(ggf. LINIF_E_NONEXISTENT_CHANNEL)LinTrcv_SetOpMode(LinNetwork, OpMode)Baustein ansteuern (Interpretation:DIO-pinnen of SPI-sequentie)Tm_BusyWait1us16bit(Wartezeit Zustandswechsel)Wartezeit abgelaufenoptOpMode == LINTRCV_TRCV_MODE_STANDBYIcu_EnableNotification(ICU-kanalen voor wake-up activeren)E_OK / E_NOT_OKRetourwaarde vanLinTrcv_SetOpMode

Sequentiediagram: Een moduswissel verloopt van LinIf naar LinTrcv. LinTrcv wacht via Tm, activeert bij de overgang naar STANDBY de ICU-notificatie en geeft zijn resultaat via LinIf ongewijzigd terug. De aansturing via Dio/Spi en de plaatsing van de wachttijd binnen de aanroep zijn interpretatie. Bronnen: [SWS_LinTrcv_00002] [SWS_LinTrcv_00171] LinIf-SWS p. 90 LinTrcv-SWS p. 17

Wake-up detecteren, melden en aansturen

Het stuurprogramma onderscheidt twee soorten wake-ups LinTrcv-SWS p. 17:

  • Interne wake-up: Een hogere laag triggert deze, bijvoorbeeld door LinTrcv_Init of LinTrcv_SetOpMode.
  • Externe wake-up: Het stuurprogramma detecteert deze op het LIN-kanaal. LinIf moet LinTrcv_CheckWakeup aanroepen om de wake-up naar boven te melden.

Het stuurprogramma voorziet niet in een eigen ISR voor de wake-up. De detectie verloopt via de ICU met Icu_EnableNotification en Icu_DisableNotification. Het type wake-up wordt geselecteerd via de configuratieparameter LinTrcvWakeUpSupport. Met LinTrcvWakeupByBusUsed kan de wake-upondersteuning per kanaal worden in- en uitgeschakeld LinTrcv-SWS p. 17.

LinTrcv_CheckWakeup evalueert de wake-up op het geadresseerde netwerk, zoals een dominant busniveau of een neergaande flank op de wake-uppin LinTrcv-SWS p. 30. In R20-11 betekenen de retourwaarden [SWS_LinTrcv_00012]:

  • E_OK: Er is een wake-up gedetecteerd.
  • E_NOT_OK: Er is geen wake-up gedetecteerd.

De documentpassage uit latere releases definieert de waarden anders, namelijk als „aanroep geaccepteerd/niet geaccepteerd”. Deze wijziging werd geïntroduceerd met R22-11 en geldt niet voor R20-11 LinTrcv-SWS p. 1 LinTrcv-SWS p. 30. Na een succesvolle detectie meldt het stuurprogramma de wake-upbron via LinIf_WakeupConfirmation [SWS_LinTrcv_91002]. LinTrcv biedt geen eigen callback-notificaties aan LinTrcv-SWS p. 32. Daarom moet LinTrcv_CheckWakeup actief worden aangeroepen.

LinTrcv_SetWakeupMode is synchroon en niet-re-entrant. Het bestuurt de wake-upnotificatie per netwerk via LinTrcv_TrcvWakeupModeType [SWS_LinTrcv_00009] [SWS_LinTrcv_00169]:

  • LINTRCV_WUMODE_ENABLE geeft de notificatie vrij.
  • LINTRCV_WUMODE_DISABLE blokkeert deze.
  • LINTRCV_WUMODE_CLEAR wist een opgeslagen wake-upgebeurtenis.

Als er bij het vrijgeven al een opgeslagen gebeurtenis aanwezig is, voert het stuurprogramma de notificatie nog binnen de aanroep of onmiddellijk daarna uit LinTrcv-SWS p. 31. LinIf biedt deze besturing aan als LinIf_SetTrcvWakeupMode LinIf-SWS p. 93.

Externe wake-up (retourwaarden volgens R20-11)LIN-Bus / TransceiverIcuLinTrcvLinIfUse Case: VorbereitungIcu_EnableNotification(bij de overgang naar STANDBY)Use Case: Wakeup-EreignisWakeup-Ereignis (dominanter Buspegelof flank op de wake-up-pin)Het pad van de ICU-notificatie tot de aanroepdoor LinIf ligt buiten LinTrcv(niet beschreven in de payload)LinTrcv_CheckWakeup(LinNetwork)Wake-up op deadressierten Netz auswertenaltWakeup erkanntLinIf_WakeupConfirmation(WakeupSource)Wake-up-vlag van het kanaal instellenE_OKkein Wakeup erkanntE_NOT_OKUse Case: Wake-up-reden opvragen (via LinIf_GetTrcvWakeupReason)LinTrcv_GetBusWuReason(LinNetwork, Reason)E_OK, Reason z. B.LINTRCV_WU_BY_BUS

Sequentiediagram: Een externe wake-up wordt gedetecteerd via de ICU. LinIf controleert deze met LinTrcv_CheckWakeup, LinTrcv bevestigt deze via LinIf_WakeupConfirmation en de reden kan daarna worden opgevraagd (retourwaarden volgens R20-11). Bronnen: [SWS_LinTrcv_00012] [SWS_LinTrcv_91002] [SWS_LinTrcv_00007] LinTrcv-SWS p. 17 LinIf-SWS p. 98

SetWakeupMode Start LinTrcv_SetWakeupMode(LINNetwork, TrcvWakupMode) Modus TrcvWakupMode? Start->Modus Gespeichert Wakeup-Ereignis gespeichert? Modus->Gespeichert LINTRCV_WUMODE_ENABLE Gesperrt Notificatie voor wake-up-gebeurtenissen geblokkeerd Modus->Gesperrt LINTRCV_WUMODE_DISABLE Geloescht opgeslagen wake-up-gebeurtenis gewist Modus->Geloescht LINTRCV_WUMODE_CLEAR Sofort Notificatie tijdens de aanroep of direct daarna Gespeichert->Sofort ja Frei Notificatie voor wake-up-gebeurtenissen vrijgegeven Gespeichert->Frei nein Ende Teruggave van E_OK (E_NOT_OK, indien modus niet ingesteld) Sofort->Ende Frei->Ende Gesperrt->Ende Geloescht->Ende

Activiteitendiagram: LinTrcv_SetWakeupMode vertakt op basis van de gevraagde modus. Alleen bij ENABLE met een opgeslagen gebeurtenis volgt direct een notificatie. Bronnen: [SWS_LinTrcv_00009] [SWS_LinTrcv_00169] LinTrcv-SWS p. 31

Hardwaretoegang, kanaalconfiguratie en partitionering

Hoe het stuurprogramma de component bereikt, wordt bepaald door de selectiecontainer LinTrcvAccess LinTrcv-SWS Afb. 10.3 p. 45. Precies één van twee varianten moet worden gekozen:

  • LinTrcvDioAccess: De transceiverpinnen worden toegewezen aan DIO-kanalen.
  • LinTrcvSpiSequence: Een SPI-compatibele component wordt aangesproken via een SPI-sequentie.

Het schema is afkomstig uit R23-11 en latere releases. De DIO-lees- en schrijfdiensten en de SPI-typen worden echter al in R20-11 genoemd als gebruikte interfaces respectievelijk geïmporteerde typen [SWS_LinTrcv_91003] [SWS_LinTrcv_91001].

Voor multi-coresystemen gelden in R20-11 de volgende regels:

  • Het stuurprogramma moet configuraties met niet-ondersteunde partitietoewijzingen afwijzen [SWS_LinTrcv_00174].
  • De via LinTrcvChannelEcucPartitionRef gerefereerde partities moeten een deelverzameling zijn van de via LinTrcvEcucPartitionRef gerefereerde partities. Indien de module naar partities verwijst, moet elk kanaal naar precies één daarvan verwijzen [SWS_LinTrcv_00176].
  • LinTrcvChannel en LinChannel van hetzelfde communicatiekanaal moeten naar dezelfde partitie verwijzen [SWS_LinTrcv_00177].

De multicoredistributie is toegevoegd met R19-11 en werd gepreciseerd in R24-11 LinTrcv-SWS p. 1.

Gedrag in het foutgeval

Runtimefouten blijken uit de retourwaarde:

  • Bij ontbrekende of verstoorde communicatie met de transceiver leveren LinTrcv_GetOpMode LinTrcv-SWS p. 26 en LinTrcv_GetBusWuReason LinTrcv-SWS p. 28 E_NOT_OK op.
  • LinTrcv_SetOpMode levert E_NOT_OK op wanneer een overgang niet is geaccepteerd of is mislukt [SWS_LinTrcv_00002].
  • LinTrcv_SetWakeupMode levert E_NOT_OK op wanneer de wakeupmodus niet kon worden ingesteld LinTrcv-SWS p. 31.
  • Als een wakeupreden wegens een fout niet kan worden bepaald, staat daarvoor de waarde LINTRCV_WU_ERROR ter beschikking [SWS_LinTrcv_00170].

Ontwikkelfouten meldt de driver via Det_ReportError [SWS_LinTrcv_91003]. In R20-11 leiden ze bij LinTrcv_GetOpMode en LinTrcv_GetBusWuReason tot E_NOT_OK [SWS_LinTrcv_00005] [SWS_LinTrcv_00007]. De documentpassages uit latere releases noemen concrete controles LinTrcv-SWS p. 26 LinTrcv-SWS p. 30 LinTrcv-SWS p. 29:

  • Aanroep vóór de initialisatie: LINTRCV_E_UNINIT
  • ongeldig netwerknummer: LINTRCV_E_INVALID_LIN_NETWORK
  • Null-pointer bij LinTrcv_GetVersionInfo: LINTRCV_E_PARAM_POINTER

Deze controles gelden inhoudelijk vermoedelijk ook voor R20-11 (interpretatie). Vraag Q-58e3d310b525b810 (open) R20-11 heeft echter de foutclassificatie gesaneerd en R21-11 de foutcodes. De identifiers kunnen in R20-11 daarom afwijken LinTrcv-SWS p. 1.

Een deel van de bedieningsfouten vangt LinIf al af. Bij een ongeldige Channel melden LinIf_SetTrcvMode en LinIf_GetTrcvMode de fout LINIF_E_NONEXISTENT_CHANNEL LinIf-SWS p. 90. LinIf_GetTrcvMode levert bij een ongeldig kanaal of een null-pointer bovendien E_NOT_OK LinIf-SWS p. 91 op. Ontvangt LinIf_WakeupConfirmation een ongeldige wakeupbron, dan triggert deze bij geactiveerde foutdetectie LINIF_E_PARAM_WAKEUPSOURCE LinIf-SWS p. 98.

Verdere gedetailleerde bewijzen

AI-gegenereerde handleiding. Basis vormen de normatieve requirements voor R20-11 en toegewezen documentpassages, deels uit R23-11 tot R25-11. Afwijkingen tussen de releases worden in de tekst benoemd. Bindend is uitsluitend de specificatie.

LIN Transceiver Driver (LinTrcv)

Controls physical bus transceiver states and wakeup on LIN lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

functie LinTrcv_Init [SWS_LinTrcv_00001] 📄 PDF

void LinTrcv_Init (const LinTrcv_ConfigType* ConfigPtr);

Initializes the Lin Transceiver Driver module.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a6b1d693304d Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie LinTrcv_Init dient voor de fundamentele initialisatie van de LIN-transceiverdrivermodule conform de specificatie in [SWS_LinTrcv_00001]. De interface wordt via het headerbestand LinTrcv.h gedeclareerd en heeft de numerieke service-ID 0x00 [SWS_LinTrcv_00001].

Gebruik en parameters

De aanroep van LinTrcv_Init wordt synchroon uitgevoerd en heeft geen retourwaarde (void) [SWS_LinTrcv_00001]. Als enige doorgifteparameter wordt de ingangspointer ConfigPtr van het type const LinTrcv_ConfigType* meegegeven, die verwijst naar de geselecteerde configuratiedataset van de LIN-transceiver [SWS_LinTrcv_00001]. Verdere parameters zoals in-/uitgangs- of zuivere uitgangsparameters zijn voor deze routine niet aanwezig [SWS_LinTrcv_00001].

Gelijktijdigheid en beperkingen

Met betrekking tot het gelijktijdigheidsgedrag is LinTrcv_Init bindend geclassificeerd als niet-re-entrant (Non Reentrant) [SWS_LinTrcv_00001]. Daarom moeten parallelle of onderbrekende aanroepen van deze functie in het systeem worden uitgesloten. Bovendien mogen er tijdens de initialisatie geen concurrerende toegangen plaatsvinden. Interpretatie: De uitvoering van de initialisatiefunctie zal typisch centraal plaatsvinden in het kader van de systeemstartfase, nog voordat andere services van de LIN-transceiverdriver worden aangeroepen. Vraag Q-9845a0c76e3146fa (open)

Deze tekst is opgesteld door een AI; alle gegevens zijn gebaseerd op de eisen van de AUTOSAR-standaard.

Implementer's Guide volgt (complexiteit I1)

functie LinTrcv_SetOpMode [SWS_LinTrcv_00002] 📄 PDF

Std_ReturnType LinTrcv_SetOpMode (uint8 LinNetwork, LinTrcv_TrcvModeType OpMode);

The internal state of the LIN transceiver driver is switched to mode given in the parameter Op Mode.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 2b8c06203f94 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie LinTrcv_SetOpMode dient voor het omschakelen van de interne toestand van de LIN-transceiverdriver naar de meegegeven bedrijfsmodus conform [SWS_LinTrcv_00002].

Gebruik en semantiek

  • Aanroepcontext en parameters: De aanroep adresseert via parameter LinNetwork het betreffende LIN-netwerk, terwijl OpMode (type LinTrcv_TrcvModeType) de doelbedrijfsmodus aangeeft ([SWS_LinTrcv_00002]). De interface is beschikbaar via LinTrcv.h.
  • Retourwaarden: De functie levert E_OK op zodra de toestand van de transceiver succesvol naar de aangevraagde modus is gewisseld. Mislukt de toestandsverandering, wordt deze niet geaccepteerd of bevindt een parameter zich buiten het toelaatbare bereik, dan wordt E_NOT_OK geretourneerd ([SWS_LinTrcv_00002]).
  • Synchrone uitvoering: De service werkt synchroon (Sync/Async: Synchronous) onder service-ID 0x01 ([SWS_LinTrcv_00002]).

Gelijktijdigheid en beperkingen

De interface is gespecificeerd als niet re-entrant (Non Reentrant) ([SWS_LinTrcv_00002]). Aanroepers moeten er daarom voor zorgen dat parallelle aanroepen voor dezelfde module resp. hetzelfde netwerk worden vermeden.

Deze tekst is opgesteld door een AI. Deze vervangt niet het bestuderen van de desbetreffende AUTOSAR-specificaties.

Implementer's Guide volgt (complexiteit I1)

functie LinTrcv_GetBusWuReason [SWS_LinTrcv_00007] 📄 PDF

Std_ReturnType LinTrcv_GetBusWuReason (uint8 LinNetwork, LinTrcv_TrcvWakeupReasonType* Reason);

This API provides the reason for the wakeup that the LIN transceiver has detected in the parameter "Reason". The ability to dete ct and differentiate the possible wakeup reasons depends strongly on the LIN transceiver hardware.

functie LinTrcv_CheckWakeup [SWS_LinTrcv_00012] 📄 PDF

Std_ReturnType LinTrcv_CheckWakeup (uint8 LinNetwork);

Service LinTrcv_CheckWakeup.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: d95f71801283 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie LinTrcv_CheckWakeup dient ter controle of op een geadresseerd LIN-netwerk een wekgebeurtenis is gedetecteerd [SWS_LinTrcv_00012]. Deze informeert de aanroepende instantie direct over de aanwezigheid van een overeenkomstige wekvoorwaarde [SWS_LinTrcv_00012].

Aanroep en parameters

De functie heeft het service-ID 0x07 en wordt via het headerbestand LinTrcv.h beschikbaar gesteld [SWS_LinTrcv_00012]:

  • LinNetwork (ingangsparameter, uint8): Duidt het LIN-netwerk aan waarop de API-aanroep moet worden toegepast [SWS_LinTrcv_00012].

Retourwaarden

De retourwaarde van het type Std_ReturnType signaleert het resultaat van de wekcontrole [SWS_LinTrcv_00012]:

  • E_OK: Een wekgebeurtenis is succesvol gedetecteerd op het gespecificeerde LIN-netwerk [SWS_LinTrcv_00012].
  • E_NOT_OK: Er is geen wekgebeurtenis vastgesteld op het gespecificeerde LIN-netwerk [SWS_LinTrcv_00012].

Concurrency

De uitvoering van LinTrcv_CheckWakeup vindt volledig synchroon plaats en is gespecificeerd als reentrant [SWS_LinTrcv_00012]. Het synchrone verloop waarborgt dat het resultaat direct bij de functieretour beschikbaar is.

Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie voor de LIN Transceiver Driver in AUTOSAR CP R20-11.

functie LinTrcv_SetWakeupMode [SWS_LinTrcv_00009] 📄 PDF

Std_ReturnType LinTrcv_SetWakeupMode (uint8 LINNetwork, LinTrcv_TrcvWakeupModeType TrcvWakupMode);

This API enables, disables and clears the notification for wakeup events on the addressed network. A vailable via Lin Trcv.h

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 85db2195cf25 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie LinTrcv_SetWakeupMode dient voor het activeren, deactiveren en wissen van notificaties voor wakeup-events op het geadresseerde LIN-netwerk [SWS_LinTrcv_00009]. Deze is via het headerbestand LinTrcv.h gedeclareerd en heeft de service-ID 0x05 [SWS_LinTrcv_00009].

Parameters en retourwaarden

De functie verwacht twee ingangsparameters [SWS_LinTrcv_00009]:

  • LINNetwork (uint8): Duidt het concrete LIN-netwerk aan waarop de API moet worden toegepast [SWS_LinTrcv_00009].
  • TrcvWakupMode (LinTrcv_TrcvWakeupModeType): Geeft de aangevraagde wakeup-modus resp. reden voor de transceiver door [SWS_LinTrcv_00009].

Als retourwaarde wordt een status van het type Std_ReturnType geleverd [SWS_LinTrcv_00009]:

  • E_OK: Geeft aan dat de toestand van de transceiver succesvol is overgebracht naar de aangevraagde modus [SWS_LinTrcv_00009].
  • E_NOT_OK: Signaleert dat de aanroep is mislukt als gevolg van ontwikkelingsfouten of dat de gewenste wakeup-modus niet kon worden ingesteld [SWS_LinTrcv_00009].

Gelijktijdigheid en beperkingen

De interface is gespecificeerd als niet-reentrant (non Reentrant) en voert de toestandsverandering synchroon uit [SWS_LinTrcv_00009]. Aanroepende componenten moeten er daarom voor zorgen dat er geen parallelle aanroepen voor dezelfde interface plaatsvinden.

Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.

Implementer's Guide volgt (complexiteit I1)

type LinTrcv_ConfigType [SWS_LinTrcv_00172] 📄 PDF

Configuration data structure of the Lin Trcv module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_LINTransceiverDriver

type LinTrcv_TrcvModeType [SWS_LinTrcv_00168] 📄 PDF

Operating modes of the LIN Transceiver Driver

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 304001f922be Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het opsommingstype LinTrcv_TrcvModeType definieert de bedrijfsmodi voor de LIN-transceiverdriver conform [SWS_LinTrcv_00168]. De typedefinitie is vastgelegd in het headerbestand Lin_GeneralTypes.h en staat daarmee ter beschikking van bovenliggende softwarelagen [SWS_LinTrcv_00168].

Het waardebereik omvat drie gestandaardiseerde toestanden voor de transceiver [SWS_LinTrcv_00168]:

  • LINTRCV_TRCV_MODE_NORMAL: Markeert de reguliere bedrijfsmodus (Transceiver mode NORMAL) van de LIN-transceiver [SWS_LinTrcv_00168].
  • LINTRCV_TRCV_MODE_STANDBY: Representeert de stand-bymodus (Transceiver mode STANDBY) van de transceiver [SWS_LinTrcv_00168].
  • LINTRCV_TRCV_MODE_SLEEP: Beschrijft de slaapmodus (Transceiver mode SLEEP) voor de LIN-transceiver [SWS_LinTrcv_00168].

Wat betreft het gebruik en het functionele samenspel dient dit enumeratietype voor de eenduidige modellering van transceivertoestanden [SWS_LinTrcv_00168]. Vermoedelijk wordt het type gebruikt als parameter of retourwaarde in driverfuncties om gerichte toestandswisselingen tussen normaal bedrijf, paraatheid en stroombesparende slaaptoestand aan te vragen of op te vragen. Vraag Q-8966f1299f224eff (open) Specifieke aanroepcontexten, foutcodes en gelijktijdigheids- en reentrantie-eigenschappen zijn niet verankerd in dit gegevenstype zelf, maar zijn afhankelijk van de desbetreffende API's van de transceiverdriver [SWS_LinTrcv_00168].

Deze tekst is gegenereerd door een AI en dient voor technische oriëntatie.

Implementer's Guide volgt (complexiteit I1)

type LinTrcv_TrcvWakeupModeType [SWS_LinTrcv_00169] 📄 PDF

Wake up operating modes of the LIN Transceiver Driver.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e813afb11b1a Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en waardebereik

Het type LinTrcv_TrcvWakeupModeType is een enumeratie die de bedrijfsmodi voor wakeup-gebeurtenissen van de LIN-transceiverdriver definieert [SWS_LinTrcv_00169]. Het wordt beschikbaar gesteld via het headerbestand Lin_GeneralTypes.h [SWS_LinTrcv_00169].

De enumeratie omvat de volgende waarden voor de aansturing van het geadresseerde netwerk [SWS_LinTrcv_00169]:

  • LINTRCV_WUMODE_ENABLE: Activeert de melding voor wakeup-gebeurtenissen op het geadresseerde netwerk [SWS_LinTrcv_00169].
  • LINTRCV_WUMODE_DISABLE: Deactiveert de melding voor wakeup-gebeurtenissen op het geadresseerde netwerk [SWS_LinTrcv_00169].
  • LINTRCV_WUMODE_CLEAR: Wist een eerder opgeslagen wakeup-gebeurtenis op het geadresseerde netwerk [SWS_LinTrcv_00169].

Foutafhandeling en randvoorwaarden

Voor het type zelf zijn in de specificatie geen specifieke foutcodes, retourwaarden of DET-/DEM-foutmeldingen gedefinieerd [SWS_LinTrcv_00169]. Als gegevenstype is het niet onderhevig aan directe reentrantie- of uitvoeringsbeperkingen.

Samenspel

Interpretatie: Het type dient vermoedelijk in API-functies van de LIN-transceiverdriver als overdrachtsparameter om de wakeup-detectie netwerkspecifiek in of uit te schakelen of de wakeup-status te resetten [SWS_LinTrcv_00169]. Vraag Q-cfb3e28d7baefc72 (open)

Deze tekst is opgesteld door een AI. Deze is uitsluitend gebaseerd op de specificatiegegevens uit SWS_LinTrcv_00169.

Implementer's Guide volgt (complexiteit I1)

type LinTrcv_TrcvWakeupReasonType [SWS_LinTrcv_00170] 📄 PDF

This type denotes the wake up reason detected by the LIN transceiver in detail.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_LinTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinTrcv@rel:R20-11#5664d383
Content hash
5664d383
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINTransceiverDriver.pdf#nameddest=SWS_LinTrcv_00001

Initialisatie en status

This service provides the version information of this module through the parameter "versioninfo".

void LinTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinTrcv_Init functie

Initializes the Lin Transceiver Driver module.

void LinTrcv_Init (const LinTrcv_ConfigType* ConfigPtr);

Diensten

Service LinTrcv_CheckWakeup.

Std_ReturnType LinTrcv_CheckWakeup (uint8 LinNetwork);

This API provides the reason for the wakeup that the LIN transceiver has detected in the parameter "Reason". The ability to dete ct and differentiate the possible wakeup reasons depends strongly on the LIN transceiver hardware.

Std_ReturnType LinTrcv_GetBusWuReason (uint8 LinNetwork, LinTrcv_TrcvWakeupReasonType* Reason);

API detects the actual software state of LIN transceiver driv er.

Std_ReturnType LinTrcv_GetOpMode (uint8 LinNetwork, LinTrcv_TrcvModeType* OpMode);

The internal state of the LIN transceiver driver is switched to mode given in the parameter Op Mode.

Std_ReturnType LinTrcv_SetOpMode (uint8 LinNetwork, LinTrcv_TrcvModeType OpMode);

This API enables, disables and clears the notification for wakeup events on the addressed network. A vailable via Lin Trcv.h

Std_ReturnType LinTrcv_SetWakeupMode (uint8 LINNetwork, LinTrcv_TrcvWakeupModeType TrcvWakupMode);

Typen

Configuration data structure of the Lin Trcv module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_LINTransceiverDriver

Operating modes of the LIN Transceiver Driver

Wake up operating modes of the LIN Transceiver Driver.

This type denotes the wake up reason detected by the LIN transceiver in detail.