LIN Driver (Lin)
Controls hardware LIN controllers on the ECU.
Funktionen — Übersicht
void Lin_Init (const Lin_ConfigType* Config);Initializes the LIN module.Std_ReturnType Lin_CheckWakeup (uint8 Channel);This function checks if a wakeup has occurred on the addressed LIN channel.void Lin_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType Lin_SendFrame (uint8 Channel, const Lin_PduType* PduInfoPtr);Sends a LIN header and a LIN response, if necessary.Std_ReturnType Lin_GoToSleep (uint8 Channel);The service instructs the driver to transmit a go - to - sleep - command on the addressed LIN channel.Std_ReturnType Lin_GoToSleepInternal (uint8 Channel);Sets the channel state to LIN_ CH_ SLEEP, enables the wake - up detection and optionally sets the LIN hardware unit to reduced...Std_ReturnType Lin_Wakeup (uint8 Channel);Generates a wake up pulse and sets the channel state to LIN_ CH_ OPERATIONAL.Std_ReturnType Lin_WakeupInternal (uint8 Channel);Sets the channel state to LIN_ CH_ OPERATIONAL without generating a wake up pulse.Lin_StatusType Lin_GetStatus (uint8 Channel, const uint8* * Lin_SduPtr);Service Lin_GetStatus.
Typen — Übersicht
struct Lin_ConfigTypeThis is the type of the external data structure containing the overall initialization data for the LIN driver and the SFR...Lin_FramePidTypeRepresents all valid protected identifier used by Lin_ Send Frame().Lin_FrameCsModelTypeThis type is used to specify the Checksum model to be used for the LIN Frame.Lin_FrameResponseTypeThi s type is used to specify whether the frame processor is required to transmit the response part of the LIN frame.Lin_FrameDlTypeThis type is used to specify the number of SDU data bytes to copy.Lin_PduTypeThis Type is used to provide PID, checksum model, data length and SDU pointer from the LIN Interface to the LIN driver.enum Lin_StatusTypeLIN operation states for a LIN channel or frame, as returned by the API service Lin_ Get Status().enum Lin_SlaveErrorTypeThis type represents the slave error types that are detected during header reception and response transmission / reception.
Funktionen & Typen — Detailansicht
functie Lin_Init [SWS_Lin_00006] 📄 PDF
void Lin_Init (const Lin_ConfigType* Config);
Initializes the LIN module.
De synchrone functie Lin_Init dient voor de initialisatie van de LIN-drivermodule van het AUTOSAR Classic Platform conform specificatie [SWS_Lin_00006]. De interface wordt beschikbaar gesteld via de header Lin.h en intern geadresseerd via het service-ID 0x00 [SWS_Lin_00006].
Voor het gebruik en de aanroep van de functie gelden de volgende parameter- en interfacevoorwaarden:
- Invoerparameter: Als enige overdrachtsparameter wordt
Configverwacht [SWS_Lin_00006]. Dit betreft een pointer naar de configuratiedataset van de LIN-driver van het typeconst Lin_ConfigType*[SWS_Lin_00006]. Er zijn voor deze interface noch invoer-/uitvoerparameters noch zuivere uitvoerparameters voorzien [SWS_Lin_00006]. - Retourwaarde: De functie levert geen retourwaarde op (
void) [SWS_Lin_00006]. - Uitvoeringssemantiek: De verwerking verloopt volledig synchroon (
Synchronous), zodat de initialisatiestappen van de driver direct tijdens de functie-aanroep worden afgehandeld [SWS_Lin_00006].
Met betrekking tot de aanroepcontext en de gelijktijdigheid is vastgelegd dat Lin_Init niet-reentrant (Non Reentrant) is [SWS_Lin_00006]. Interpretatie: Aangezien de functie de LIN-drivermodule fundamenteel initialiseert en niet-reentrant is ontworpen, zal deze doorgaans tijdens de opstartfase van het totale systeem worden aangeroepen, voordat andere diensten van de LIN-driver worden gebruikt. Vraag Q-d535602a0d4708ce (open) Een gelijktijdige of meervoudige aanroep vanuit verschillende uitvoeringscontexten is daarbij vermoedelijk niet toegestaan.
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Lin_CheckWakeup [SWS_Lin_00160] 📄 PDF
Std_ReturnType Lin_CheckWakeup (uint8 Channel);
This function checks if a wakeup has occurred on the addressed LIN channel.
De synchrone functie Lin_CheckWakeup dient ter controle of op een geadresseerd LIN-kanaal een wakeup-gebeurtenis is opgetreden [SWS_Lin_00160]. De interface is beschikbaar via het headerbestand Lin.h en heeft het service-ID 0x0a [SWS_Lin_00160]. Ter identificatie van het kanaal accepteert de functie de parameter Channel van het gegevenstype uint8 [SWS_Lin_00160]. Verdere invoer- of uitvoerparameters zijn niet voorzien voor deze interface [SWS_Lin_00160].
Het resultaat van de uitvoering wordt synchroon teruggemeld via het retourtype Std_ReturnType [SWS_Lin_00160]. De statuswaarde E_OK geeft aan dat er tijdens de uitvoering van de API-aanroep geen fout is opgetreden [SWS_Lin_00160]. Treedt er daarentegen tijdens de uitvoering een fout op, dan levert de service de retourwaarde E_NOT_OK op [SWS_Lin_00160]. Specifieke foutcodes en meldingen aan DET of DEM zijn in de bronnen niet gespecificeerd voor dit element.
Met betrekking tot het concurrencygedrag is Lin_CheckWakeup gedefinieerd als niet-reentrant (Non Reentrant) [SWS_Lin_00160]. Oproepers moeten er daarom voor zorgen dat aanroepen sequentieel plaatsvinden en dat er geen gelijktijdige uitvoering plaatsvindt. Aangezien de exacte aanroepcontext in de specificatie niet nader is gedefinieerd, zal de aanroep vermoedelijk worden geïnitieerd door bovenliggende lagen zoals het wakeup-management of de ECU State Manager. Vraag Q-40221056a2e2c042 (open)
Deze tekst is opgesteld door een AI; alle verklaringen zijn afkomstig uit de richtlijnen van de AUTOSAR-standaard.
functie Lin_GetVersionInfo [SWS_Lin_00161] 📄 PDF
void Lin_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
functie Lin_SendFrame [SWS_Lin_00191] 📄 PDF
Std_ReturnType Lin_SendFrame (uint8 Channel, const Lin_PduType* PduInfoPtr);
Sends a LIN header and a LIN response, if necessary. The direction of the frame response (master response, slave response, slave - to - slave communication) is provided by the Pdu Info Ptr. Only used for LIN master nodes.
De functie Lin_SendFrame dient voor het verzenden van een LIN-header en, indien nodig, de bijbehorende LIN-response, en is uitsluitend bedoeld voor LIN-master-nodes [SWS_Lin_00191]. Via de pointer PduInfoPtr wordt de transmissierichting van de frame-response vastgelegd, die een master-response, een slave-response of een slave-to-slave-communicatie kan weergeven [SWS_Lin_00191].
Aanroep en parameters: De uitvoering van de functie vindt asynchroon plaats [SWS_Lin_00191]. Bij de aanroep worden de volgende ingangsparameters overgedragen:
Channel: Bepaalt het aan te spreken LIN-kanaal alsuint8[SWS_Lin_00191].PduInfoPtr: Pointer naar een structuur van het typeLin_PduType, die de beschermde identifier (PID), het checksum-model (Checksum Model), het response-type, de datalengte (Dl) en de datapointer naar de SDU bevat [SWS_Lin_00191].
Retourwaarden en foutgedrag: De functie levert het retourtype Std_ReturnType op [SWS_Lin_00191]:
E_OK: De verzendopdracht is succesvol aangenomen en geaccepteerd voor asynchrone uitvoering [SWS_Lin_00191].E_NOT_OK: De verzendopdracht is afgewezen omdat er sprake is van een ontwikkelingsfout (Development Error) of een productiefout (Production Error) [SWS_Lin_00191].
Gelijktijdigheid en integratie: De interface is gespecificeerd als niet-reentrant (Non Reentrant), waardoor parallelle aanroepen op hetzelfde kanaal moeten worden vermeden [SWS_Lin_00191]. De functie heeft het service-ID 0x04 en wordt via het headerbestand Lin.h opgenomen [SWS_Lin_00191].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie R20-11.
functie Lin_GoToSleep [SWS_Lin_00166] 📄 PDF
Std_ReturnType Lin_GoToSleep (uint8 Channel);
The service instructs the driver to transmit a go - to - sleep - command on the addressed LIN channel. Only used for LIN master nodes.
Functie en aanroepcontext
De functie Lin_GoToSleep draagt de LIN-driver op om een Go-to-Sleep-commando op het geadresseerde LIN-kanaal te verzenden [SWS_Lin_00166]. Deze driverdienst heeft service-ID 0x06 en wordt via het headerbestand Lin.h beschikbaar gesteld [SWS_Lin_00166]. De uitvoering van de dienst vindt voor de aanroeper asynchroon plaats [SWS_Lin_00166]. De functiedeclaratie luidt Std_ReturnType Lin_GoToSleep (uint8 Channel) [SWS_Lin_00166].
Parameters en retourwaarden
Als enige overdrachtsparameter wordt Channel van het type uint8 meegegeven, die het aan te spreken LIN-kanaal identificeert [SWS_Lin_00166]. Er bestaan geen aanvullende in- of uitgangsparameters [SWS_Lin_00166].
De retourwaarde van het type Std_ReturnType geeft uitsluitsel over de acceptatie van de aanvraag [SWS_Lin_00166]:
E_OK: Het Go-to-Sleep-commando is succesvol geaccepteerd door de driver [SWS_Lin_00166].E_NOT_OK: Het commando is niet geaccepteerd doordat een ontwikkelingsfout of een productiefout is opgetreden [SWS_Lin_00166].
Beperkingen en concurrency
Wat betreft de concurrency is de functie gedeclareerd als niet re-entrant (Non Reentrant) [SWS_Lin_00166]. Als essentiële functionele beperking is Lin_GoToSleep uitsluitend bedoeld voor LIN-master-nodes [SWS_Lin_00166].
Deze gebruiksinstructie is automatisch gegenereerd aan de hand van de AUTOSAR-specificatie R20-11.
functie Lin_GoToSleepInternal [SWS_Lin_00167] 📄 PDF
Std_ReturnType Lin_GoToSleepInternal (uint8 Channel);
Sets the channel state to LIN_ CH_ SLEEP, enables the wake - up detection and optionally sets the LIN hardware unit to reduced power operation mode (if supported by HW).
De synchrone functie Lin_GoToSleepInternal stelt de toestand van het geadresseerde LIN-kanaal in op LIN_CH_SLEEP, activeert de wake-updetectie en brengt de LIN-hardware-eenheid optioneel in een gereduceerde energiebesparingsmodus, voor zover dit door de hardware wordt ondersteund [SWS_Lin_00167]. De adressering van het gewenste LIN-kanaal vindt plaats via de ingangsparameter Channel van het type uint8, terwijl er geen verdere in- of uitgangsparameters aanwezig zijn [SWS_Lin_00167].
Het resultaat van de uitvoering wordt synchroon gesignaleerd via de retourwaarde van het type Std_ReturnType [SWS_Lin_00167]:
E_OK: Het commando voor het overgaan naar de slaapmodus is succesvol geaccepteerd [SWS_Lin_00167].E_NOT_OK: Het commando is afgewezen doordat een ontwikkelings- of een productiefout is opgetreden [SWS_Lin_00167].
Wat betreft concurrency en aanroepcontext is Lin_GoToSleepInternal gespecificeerd als niet re-entrant (Non Reentrant) [SWS_Lin_00167]. Aanroepende software-eenheden moeten er daarom voor zorgen dat aanroepen sequentieel plaatsvinden en niet gelijktijdig overlappen. De functie is gedefinieerd onder service-ID 0x09 en beschikbaar via het headerbestand Lin.h [SWS_Lin_00167].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie.
Implementer's Guide volgt (complexiteit I1)
functie Lin_Wakeup [SWS_Lin_00169] 📄 PDF
Std_ReturnType Lin_Wakeup (uint8 Channel);
Generates a wake up pulse and sets the channel state to LIN_ CH_ OPERATIONAL.
Gebruik en aanroepcontext
De functie Lin_Wakeup behoort tot de drivermodule Lin van het AUTOSAR-Classic-platform [SWS_Lin_00169]. Het doel ervan is om een wekimpuls (wake-up pulse) op het geadresseerde buskanaal te genereren en de kanaaltoestand direct over te brengen naar LIN_CH_OPERATIONAL [SWS_Lin_00169]. De interface wordt beschikbaar gesteld via het headerbestand Lin.h met het service-ID 0x07 en de signatuur Std_ReturnType Lin_Wakeup (uint8 Channel) [SWS_Lin_00169].
Als invoerparameter accepteert de functie Channel van het type uint8, waarmee het aan te sturen LIN-kanaal wordt gespecificeerd [SWS_Lin_00169]. In-/uitvoerparameters of zuivere uitvoerparameters zijn niet aanwezig [SWS_Lin_00169]. Het uitvoeringsgedrag is asynchroon (asynchronous); terugkeer uit de functie bevestigt derhalve uitsluitend de acceptatie van de opdracht, terwijl de fysieke wekpuls achteraf op de bus wordt gegenereerd [SWS_Lin_00169].
Retourwaarden en foutafhandeling
Via het retourtype Std_ReturnType wordt het resultaat van de opdrachtacceptatie gemeld [SWS_Lin_00169]:
E_OK: Het wekverzoek is geaccepteerd door de LIN-driver en wordt verwerkt [SWS_Lin_00169].E_NOT_OK: Het verzoek is afgewezen omdat er een ontwikkelings- of productiefout is opgetreden [SWS_Lin_00169].
Gelijktijdigheid en beperkingen
Volgens de specificatie is de functie geclassificeerd als niet-re-entrant (non-reentrant) [SWS_Lin_00169]. Oproepen mogen daarom niet onderbrekend of gelijktijdig vanuit verschillende uitvoeringscontexten voor dezelfde driverinstantie plaatsvinden. Oproepende componenten moeten zorgen voor passende synchronisatie.
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Lin_WakeupInternal [SWS_Lin_00256] 📄 PDF
Std_ReturnType Lin_WakeupInternal (uint8 Channel);
Sets the channel state to LIN_ CH_ OPERATIONAL without generating a wake up pulse.
De via de header Lin.h beschikbaar gestelde functie Lin_WakeupInternal brengt een LIN-kanaal asynchroon in de bedrijfstoestand LIN_CH_OPERATIONAL, zonder daarbij een wekimpuls op de fysieke LIN-bus uit te sturen [SWS_Lin_00256]. Deze verwerkt interne wekverzoeken van de bovenliggende LIN-interface waarbij geen bus-wake-up-signaal mag worden verzonden [SWS_Lin_00262]. De aanroep geschiedt via de parameter Channel van het type uint8. De functie retourneert E_OK wanneer het wekverzoek is geaccepteerd, of E_NOT_OK wanneer het verzoek is afgewezen dan wel er een ontwikkelings- of productiefout optreedt [SWS_Lin_00256].
Voor de aanroepcontext en de gelijktijdigheid geldt dat Lin_WakeupInternal niet-reentrant (Non Reentrant) is [SWS_Lin_00256]. Als strikte volgordevoorwaarde moet de toestandsmachine van het geadresseerde kanaal zich op het moment van aanroepen in de rusttoestand LIN_CH_SLEEP bevinden [SWS_Lin_00260].
Bij geactiveerde detectie van ontwikkelingsfouten bewaakt de module de volgende foutvoorwaarden en meldt deze de overeenkomstige ontwikkelingsfouten:
LIN_E_UNINIT: Aanroep van de functie vóór de initialisatie van de LIN-drivermodule [SWS_Lin_00258].LIN_E_INVALID_CHANNEL: De doorgegeven kanaalparameter is ongeldig of het geadresseerde kanaal is inactief [SWS_Lin_00259].LIN_E_STATE_TRANSITION: Er is sprake van een ontoelaatbare toestandsovergang, aangezien het LIN-kanaal zich niet in de toestandLIN_CH_SLEEPbevindt [SWS_Lin_00260].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I1)
functie Lin_GetStatus [SWS_Lin_00168] 📄 PDF
Lin_StatusType Lin_GetStatus (uint8 Channel, const uint8* * Lin_SduPtr);
Service Lin_GetStatus.
type Lin_ConfigType [SWS_Lin_00227] 📄 PDF
This is the type of the external data structure containing the overall initialization data for the LIN driver and the SFR settings affecting the LIN channels. A pointe r to such a structure is provided to the LIN driver initialization routine for configuration of the driver, LIN hardware unit and LIN hardware channels.
type Lin_FramePidType [SWS_Lin_00228] 📄 PDF
Represents all valid protected identifier used by Lin_ Send Frame().
type Lin_FrameCsModelType [SWS_Lin_00229] 📄 PDF
This type is used to specify the Checksum model to be used for the LIN Frame.
Het enumeratietype Lin_FrameCsModelType dient conform [SWS_Lin_00229] voor het vastleggen van het checksum-model dat voor een individueel LIN-frame wordt gebruikt. De typedefinitie is standaard beschikbaar via de header Lin_GeneralTypes.h [SWS_Lin_00229].
Voor de configuratie staan conform [SWS_Lin_00229] twee waarden ter beschikking:
LIN_ENHANCED_CS: Selecteert het uitgebreide checksum-model (Enhanced checksum model) [SWS_Lin_00229].LIN_CLASSIC_CS: Selecteert het klassieke checksum-model (Classic checksum model) [SWS_Lin_00229].
Als zuiver gegevenstype definieert Lin_FrameCsModelType zelf geen functie-interfaces, retourwaarden of DET-/DEM-foutmeldingen [SWS_Lin_00229]. Het gebruik zal primair als parameter of element binnen configuratie- en frame-descriptors in de module Lin plaatsvinden (interpretatie), om de driver te laten weten volgens welk algoritme de frame-checksum bij verzending of ontvangst wordt geverifieerd. Vraag Q-6d3354059d0641df (open) Een foutafhandeling voor ongeldige waarden moet daarom vermoedelijk op het niveau van de verwerkende driver-API's dan wel de moduleconfiguratie worden opgevangen (interpretatie). Vraag Q-06e26f4bcff1e520 (open)
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
type Lin_FrameResponseType [SWS_Lin_00230] 📄 PDF
Thi s type is used to specify whether the frame processor is required to transmit the response part of the LIN frame.
type Lin_FrameDlType [SWS_Lin_00231] 📄 PDF
This type is used to specify the number of SDU data bytes to copy.
type Lin_PduType [SWS_Lin_00232] 📄 PDF
This Type is used to provide PID, checksum model, data length and SDU pointer from the LIN Interface to the LIN driver.
type Lin_StatusType [SWS_Lin_00233] 📄 PDF
LIN operation states for a LIN channel or frame, as returned by the API service Lin_ Get Status().
Het enumeratietype Lin_StatusType wordt via Lin_GeneralTypes.h beschikbaar gesteld en definieert de bedrijfs- en overdrachtstoestanden voor LIN-kanalen en LIN-frames, die als retourwaarde van de API-dienst Lin_GetStatus() worden gemeld [SWS_Lin_00233].
De toestandswaarden zijn onderverdeeld in kanaaltoestanden en frame-operatiewaarden [SWS_Lin_00233]:
- Kanaalstatus:
LIN_OPERATIONALrepresenteert het normale bedrijf waarin het LIN-kanaal gereed is voor overdracht van de volgende header en er geen gegevens van een voorafgaand frame aanwezig zijn (bijv. na initialisatie). Daartegenover staatLIN_CH_SLEEPvoor de rusttoestand van het kanaal, waarin de wake-up-detectie voor slave-nodes is geactiveerd [SWS_Lin_00233]. - Lopende overdrachten:
LIN_TX_BUSYduidt op een lopende verzending van header of response.LIN_RX_BUSYsignaleert een lopend ontvangstproces waarbij al ten minste één response-byte, maar nog niet de afsluitende controlesom-byte is binnengekomen [SWS_Lin_00233]. - Succesvolle voltooiing:
LIN_TX_OKbevestigt de succesvolle overdracht, terwijlLIN_RX_OKde foutloze ontvangst van een volledige response aangeeft [SWS_Lin_00233]. - Fouttoestanden en time-outs:
LIN_NOT_OKgeeft ontwikkelings- of productiefouten aan. Bij zendoperaties maakt het type onderscheid tussenLIN_TX_HEADER_ERROR(fout bij het verzenden van de header door datamismatch, identifier-pariteitsfouten of fysieke busfouten) enLIN_TX_ERROR(fout bij de responsieoverdracht door datamismatch of busfouten). Aan de ontvangstzijde duidtLIN_RX_ERRORop receptiefouten zoals framing-, overrun-, controlesomfouten of onvolledige responses;LIN_RX_NO_RESPONSEmeldt het volledig uitblijven van response-bytes [SWS_Lin_00233].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
type Lin_SlaveErrorType [SWS_Lin_91140] 📄 PDF
This type represents the slave error types that are detected during header reception and response transmission / reception.
Het opsommingstype Lin_SlaveErrorType representeert de specifieke fouttypen van een LIN-slave die worden gedetecteerd tijdens de ontvangst van de header en tijdens de overdracht of ontvangst van de response [SWS_Lin_91140]. De typedefinitie wordt via het headerbestand Lin_GeneralTypes.h ter beschikking gesteld [SWS_Lin_91140].
Fouttoestanden en waardebereik
De enumeratie dekt fouten tijdens de verschillende fasen van de LIN-communicatie af [SWS_Lin_91140]:
LIN_ERR_HEADER: Signaleert een fout bij de ontvangst van de LIN-header [SWS_Lin_91140].LIN_ERR_RESP_STOPBIT: Geeft een framing-fout respectievelijk stopbit-fout in de response aan [SWS_Lin_91140].LIN_ERR_RESP_CHKSUM: Duidt op een controlesomfout van de ontvangen response [SWS_Lin_91140].LIN_ERR_RESP_DATABIT: Meldt een bit-monitoringfout van een verzonden databit in de response [SWS_Lin_91140].LIN_ERR_NO_RESP: Wijst erop dat er geen antwoord op de header is ontvangen [SWS_Lin_91140].LIN_ERR_INC_RESP: Treedt op wanneer een onvolledige response is ontvangen of verzonden [SWS_Lin_91140].
Gebruik en beperkingen
Interpretatie: Aangezien het onderhavige specificatie-uittreksel geen concrete functiesignaturen bevat, dient het type vermoedelijk als retourwaarde of statusparameter in meldingen aan bovenliggende modules zoals het LIN-interface. Vraag Q-6a9c54976345ca2b (open) Verdere details over re-entrantie, aanroepcontexten of synchrone respectievelijk asynchrone uitvoering zijn niet in het uittreksel opgenomen.
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR R20-11.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Lin- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Lin@rel:R20-11#2c54747d- Content hash
2c54747d- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINDriver.pdf#nameddest=SWS_Lin_00006
gemini-3.8-flash-low· 2026-10-13 · Duits origineel