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
fonction Lin_Init [SWS_Lin_00006] 📄 PDF
void Lin_Init (const Lin_ConfigType* Config);
Initializes the LIN module.
La fonction synchrone Lin_Init sert à l’initialisation du module pilote LIN de la plateforme AUTOSAR Classic conformément à la spécification [SWS_Lin_00006]. L’interface est fournie via l’en-tête Lin.h et adressée en interne via l’ID de service 0x00 [SWS_Lin_00006].
Pour l’utilisation et l’appel de la fonction, les conditions de paramètres et d’interface suivantes s’appliquent :
- Paramètre d’entrée : comme unique paramètre de transmission,
Configest attendu [SWS_Lin_00006]. Il s’agit ici d’un pointeur vers le jeu de données de configuration du pilote LIN de typeconst Lin_ConfigType*[SWS_Lin_00006]. Ni paramètres d’entrée/sortie ni paramètres de sortie pure ne sont prévus pour cette interface [SWS_Lin_00006]. - Valeur de retour : la fonction ne renvoie aucune valeur de retour (
void) [SWS_Lin_00006]. - Sémantique d’exécution : le traitement s’effectue de manière entièrement synchrone (
Synchronous), de sorte que les étapes d’initialisation du pilote sont directement exécutées pendant l’appel de fonction [SWS_Lin_00006].
Concernant le contexte d’appel et la concurrence, il est défini que Lin_Init n’est pas réentrante (Non Reentrant) [SWS_Lin_00006]. Interprétation : étant donné que la fonction initialise fondamentalement le module pilote LIN et qu’elle est conçue pour être non réentrante, elle devrait généralement être appelée pendant la phase de démarrage de l’ensemble du système, avant que d’autres services du pilote LIN ne soient utilisés. Un appel simultané ou multiple depuis différents contextes d’exécution est alors probablement inadmissible. Question Q-d535602a0d4708ce (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction synchrone Lin_CheckWakeup sert à vérifier si un événement de réveil s’est produit sur un canal LIN adressé [SWS_Lin_00160]. L’interface est disponible via le fichier d’en-tête Lin.h et possède l’ID de service 0x0a [SWS_Lin_00160]. Pour l’identification du canal, la fonction reçoit le paramètre Channel du type de données uint8 [SWS_Lin_00160]. Aucun autre paramètre d’entrée ou de sortie n’est prévu pour cette interface [SWS_Lin_00160].
Le résultat de l’exécution est renvoyé de manière synchrone via le type de retour Std_ReturnType [SWS_Lin_00160]. La valeur d’état E_OK indique qu’aucune erreur ne s’est produite pendant l’exécution de l’appel d’API [SWS_Lin_00160]. Si, en revanche, une erreur survient pendant l’exécution, le service fournit la valeur de retour E_NOT_OK [SWS_Lin_00160]. Aucun code d’erreur spécifique ni aucune notification transmise au DET ou au DEM ne sont spécifiés pour cet élément dans les sources.
Concernant le comportement en matière de concurrence, Lin_CheckWakeup est définie comme non réentrante (Non Reentrant) [SWS_Lin_00160]. Les appelants doivent par conséquent s’assurer que les appels s’effectuent de manière séquentielle et qu’aucune exécution simultanée n’a lieu. Comme le contexte d’appel exact n’est pas défini plus en détail dans la spécification, l’appel devrait probablement être initié par des couches supérieures telles que la gestion du réveil ou l’ECU State Manager. Question Q-40221056a2e2c042 (ouverte)
Ce texte a été généré par une IA ; toutes les affirmations proviennent des exigences du standard AUTOSAR.
fonction Lin_GetVersionInfo [SWS_Lin_00161] 📄 PDF
void Lin_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
fonction 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.
La fonction Lin_SendFrame sert à envoyer un en-tête LIN ainsi que, si nécessaire, la réponse LIN associée, et elle est exclusivement prévue pour les nœuds maîtres LIN [SWS_Lin_00191]. Le sens de transmission de la réponse de trame est défini via le pointeur PduInfoPtr, lequel peut représenter une réponse de maître, une réponse d’esclave ou une communication d’esclave à esclave [SWS_Lin_00191].
Appel et paramètres : l’exécution de la fonction s’effectue de manière asynchrone [SWS_Lin_00191]. Lors de l’appel, les paramètres d’entrée suivants sont transmis :
Channel: définit le canal LIN à adresser en tant queuint8[SWS_Lin_00191].PduInfoPtr: pointeur vers une structure de typeLin_PduType, qui contient l’identifiant protégé (PID), le modèle de somme de contrôle (Checksum Model), le type de réponse, la longueur des données (Dl) ainsi que le pointeur de données vers la SDU [SWS_Lin_00191].
Valeurs de retour et comportement en cas d’erreur : la fonction fournit le type de retour Std_ReturnType [SWS_Lin_00191] :
E_OK: la demande d’émission a été reçue avec succès et acceptée pour une exécution asynchrone [SWS_Lin_00191].E_NOT_OK: la demande d’émission a été rejetée, car une erreur de développement (Development Error) ou une erreur de production (Production Error) est présente [SWS_Lin_00191].
Concurrence et intégration : l’interface est spécifiée comme non réentrante (Non Reentrant), raison pour laquelle les appels parallèles sur le même canal doivent être évités [SWS_Lin_00191]. La fonction possède l’ID de service 0x04 et est intégrée via le fichier d’en-tête Lin.h [SWS_Lin_00191].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.
fonction 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.
Fonction et contexte d'appel
La fonction Lin_GoToSleep ordonne au pilote LIN d'envoyer une commande Go-to-Sleep sur le canal LIN adressé [SWS_Lin_00166]. Ce service de pilote possède l'ID de service 0x06 et est mis à disposition via le fichier d'en-tête Lin.h [SWS_Lin_00166]. L'exécution du service s'effectue de manière asynchrone pour l'appelant [SWS_Lin_00166]. La déclaration de la fonction est Std_ReturnType Lin_GoToSleep (uint8 Channel) [SWS_Lin_00166].
Paramètres et valeurs de retour
L'unique paramètre transmis est Channel de type uint8, qui identifie le canal LIN à adresser [SWS_Lin_00166]. Aucun paramètre d'entrée ou de sortie supplémentaire n'existe [SWS_Lin_00166].
La valeur de retour de type Std_ReturnType renseigne sur l'acceptation de la demande [SWS_Lin_00166] :
E_OK: la commande Go-to-Sleep a été acceptée avec succès par le pilote [SWS_Lin_00166].E_NOT_OK: la commande n'a pas été acceptée en raison de la survenance d'une erreur de développement ou d'une erreur de production [SWS_Lin_00166].
Restrictions et concurrence
En ce qui concerne la concurrence, la fonction est déclarée non réentrante (Non Reentrant) [SWS_Lin_00166]. Comme restriction fonctionnelle essentielle, Lin_GoToSleep est exclusivement prévue pour les nœuds maîtres LIN [SWS_Lin_00166].
Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R20-11.
fonction 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).
La fonction synchrone Lin_GoToSleepInternal définit l'état du canal LIN adressé sur LIN_CH_SLEEP, active la détection du réveil et fait passer de manière optionnelle l'unité matérielle LIN dans un mode d'économie d'énergie réduit, pour autant que le matériel le prenne en charge [SWS_Lin_00167]. L'adressage du canal LIN souhaité s'effectue via le paramètre d'entrée Channel de type uint8, tandis qu'aucun autre paramètre d'entrée ou de sortie n'est présent [SWS_Lin_00167].
Le résultat de l'exécution est signalé de façon synchrone via la valeur de retour de type Std_ReturnType [SWS_Lin_00167] :
E_OK: la commande de passage en mode sommeil a été acceptée avec succès [SWS_Lin_00167].E_NOT_OK: la commande a été rejetée en raison de la survenance d'une erreur de développement ou d'une erreur de production [SWS_Lin_00167].
Concernant la concurrence et le contexte d'appel, Lin_GoToSleepInternal est spécifiée comme non réentrante (Non Reentrant) [SWS_Lin_00167]. Les entités logicielles appelantes doivent donc garantir que les appels se font séquentiellement et ne se chevauchent pas de manière concurrente. La fonction est définie sous l'ID de service 0x09 et est disponible via le fichier d'en-tête Lin.h [SWS_Lin_00167].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation et contexte d'appel
La fonction Lin_Wakeup appartient au module de pilote Lin de la plateforme AUTOSAR Classic [SWS_Lin_00169]. Son but consiste à générer une impulsion de réveil (Wake-up Pulse) sur le canal de bus adressé et à faire passer immédiatement l'état du canal à LIN_CH_OPERATIONAL [SWS_Lin_00169]. L'interface est mise à disposition via le fichier d'en-tête Lin.h avec l'ID de service 0x07 et la signature Std_ReturnType Lin_Wakeup (uint8 Channel) [SWS_Lin_00169].
Comme paramètre d'entrée, la fonction prend Channel de type uint8, ce qui permet de spécifier le canal LIN à piloter [SWS_Lin_00169]. Aucun paramètre d'entrée/sortie ou de sortie pure n'est présent [SWS_Lin_00169]. Le comportement d'exécution est asynchrone (Asynchronous) ; le retour de la fonction confirme donc seulement l'acceptation de la requête, tandis que l'impulsion physique de réveil est générée ultérieurement sur le bus [SWS_Lin_00169].
Valeurs de retour et gestion des erreurs
Le résultat de l'acceptation de la requête est signalé via le type de retour Std_ReturnType [SWS_Lin_00169] :
E_OK: la demande de réveil a été acceptée par le pilote LIN et est en cours de traitement [SWS_Lin_00169].E_NOT_OK: la requête a été rejetée, car une erreur de développement ou de production est survenue [SWS_Lin_00169].
Concurrence et restrictions
Selon la spécification, la fonction est classée comme non réentrante (Non Reentrant) [SWS_Lin_00169]. Les appels ne doivent donc pas être effectués avec interruption ou de manière concurrente depuis différents contextes d'exécution pour la même instance de pilote. Les composants appelants doivent veiller à une synchronisation appropriée.
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction Lin_WakeupInternal, mise à disposition via l’en-tête Lin.h, fait passer de manière asynchrone un canal LIN à l’état de fonctionnement LIN_CH_OPERATIONAL, sans émettre d’impulsion de réveil sur le bus LIN physique [SWS_Lin_00256]. Elle traite les demandes de réveil internes de l’interface LIN supérieure, pour lesquelles aucun signal de réveil de bus ne doit être émis [SWS_Lin_00262]. L’appel s’effectue via le paramètre Channel de type uint8. La fonction renvoie E_OK si la demande de réveil a été acceptée, ou E_NOT_OK si la demande a été rejetée ou si une erreur de développement ou de production est présente [SWS_Lin_00256].
Pour le contexte d’appel et la concurrence, Lin_WakeupInternal est non réentrante (Non Reentrant) [SWS_Lin_00256]. Comme condition stricte d’ordonnancement, la machine d’état du canal adressé doit se trouver au moment de l’appel dans l’état de repos LIN_CH_SLEEP [SWS_Lin_00260].
Lorsque la détection des erreurs de développement est activée, le module surveille les conditions d’erreur suivantes et signale les erreurs de développement correspondantes :
LIN_E_UNINIT: appel de la fonction avant l’initialisation du module pilote LIN [SWS_Lin_00258].LIN_E_INVALID_CHANNEL: le paramètre de canal transmis est non valide ou le canal adressé est inactif [SWS_Lin_00259].LIN_E_STATE_TRANSITION: une transition d’état non autorisée est présente, car le canal LIN ne se trouve pas dans l’étatLIN_CH_SLEEP[SWS_Lin_00260].
Cette note d'utilisation a été générée automatiquement sur la base des exigences de la spécification.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Le type d’énumération Lin_FrameCsModelType sert, conformément à [SWS_Lin_00229], à définir le modèle de somme de contrôle utilisé pour une trame LIN individuelle. La définition de type est disponible par défaut via l’en-tête Lin_GeneralTypes.h [SWS_Lin_00229].
Pour la configuration, deux valeurs sont disponibles conformément à [SWS_Lin_00229] :
LIN_ENHANCED_CS: sélectionne le modèle de somme de contrôle étendu (Enhanced checksum model) [SWS_Lin_00229].LIN_CLASSIC_CS: sélectionne le modèle de somme de contrôle classique (Classic checksum model) [SWS_Lin_00229].
En tant que simple type de données, Lin_FrameCsModelType ne définit lui-même aucune interface de fonction, valeur de retour ou message d’erreur DET/DEM [SWS_Lin_00229]. L’utilisation devrait principalement avoir lieu en tant que paramètre ou élément au sein de descripteurs de configuration et de trame dans le module Lin (interprétation), afin d’indiquer au pilote selon quel algorithme la somme de contrôle de trame est vérifiée lors de l’émission ou de la réception. Question Q-6d3354059d0641df (ouverte) Un traitement des erreurs pour les valeurs non valides doit donc probablement être pris en charge au niveau des API de traitement du pilote ou de la configuration du module (interprétation). Question Q-06e26f4bcff1e520 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité 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().
Le type d'énumération Lin_StatusType est fourni via Lin_GeneralTypes.h et définit les états de fonctionnement ainsi que de transmission pour les canaux LIN et les trames LIN, qui sont signalés en tant que valeur de retour du service API Lin_GetStatus() [SWS_Lin_00233].
Les valeurs d'état se divisent en états de canal et en valeurs d'opérations de trame [SWS_Lin_00233] :
- État du canal :
LIN_OPERATIONALreprésente le fonctionnement normal, dans lequel le canal LIN est prêt pour la transmission de l'en-tête suivant et aucune donnée d'une trame précédente n'est présente (par exemple après l'initialisation). En revanche,LIN_CH_SLEEPreprésente l'état de repos du canal, dans lequel la détection de réveil (Wake-up) est activée pour les nœuds esclaves [SWS_Lin_00233]. - Transmissions en cours :
LIN_TX_BUSYcaractérise un envoi en cours de l'en-tête ou de la réponse.LIN_RX_BUSYsignale une opération de réception en cours, dans laquelle au moins un octet de réponse est déjà arrivé, mais pas encore l'octet final de somme de contrôle [SWS_Lin_00233]. - Achèvement réussi :
LIN_TX_OKconfirme la transmission réussie, tandis queLIN_RX_OKindique la réception sans erreur d'une réponse complète [SWS_Lin_00233]. - États d'erreur et délais d'attente (timeouts) :
LIN_NOT_OKindique des erreurs de développement ou de production. Lors d'opérations d'émission, le type fait la distinction entreLIN_TX_HEADER_ERROR(erreur lors de l'envoi de l'en-tête due à une discordance de données, une erreur de parité d'identifiant ou des erreurs physiques de bus) etLIN_TX_ERROR(erreur lors de la transmission de la réponse due à une discordance de données ou des erreurs de bus). Côté réception,LIN_RX_ERRORcaractérise des erreurs de réception telles que des erreurs de cadrage (framing), de dépassement de capacité (overrun), de somme de contrôle ou des réponses incomplètes ;LIN_RX_NO_RESPONSEsignale l'absence totale d'octets de réponse [SWS_Lin_00233].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité 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.
Le type énuméré Lin_SlaveErrorType représente les types d'erreurs spécifiques d'un esclave LIN qui sont détectés pendant la réception de l'en-tête ainsi que pendant la transmission ou la réception de la réponse [SWS_Lin_91140]. La définition du type est mise à disposition via le fichier d'en-tête Lin_GeneralTypes.h [SWS_Lin_91140].
États d'erreur et plage de valeurs
L'énumération couvre les erreurs pendant les différentes phases de la communication LIN [SWS_Lin_91140] :
LIN_ERR_HEADER: signale une erreur lors de la réception de l'en-tête LIN [SWS_Lin_91140].LIN_ERR_RESP_STOPBIT: indique une erreur de cadrage (framing) ou une erreur de bit d'arrêt dans la réponse [SWS_Lin_91140].LIN_ERR_RESP_CHKSUM: caractérise une erreur de somme de contrôle de la réponse reçue [SWS_Lin_91140].LIN_ERR_RESP_DATABIT: signale une erreur de surveillance de bit (bit monitoring) d'un bit de données émis dans la réponse [SWS_Lin_91140].LIN_ERR_NO_RESP: signale qu'aucune réponse à l'en-tête n'a été reçue [SWS_Lin_91140].LIN_ERR_INC_RESP: survient lorsqu'une réponse incomplète a été reçue ou transmise [SWS_Lin_91140].
Utilisation et restrictions
Interprétation : étant donné que l'extrait de spécification présent ne contient aucune signature de fonction concrète, le type devrait servir de valeur de retour ou de paramètre d'état dans les notifications adressées aux modules de niveau supérieur tels que le LIN Interface. Question Q-6a9c54976345ca2b (ouverte) D'autres détails concernant la réentrance, les contextes d'appel ou l'exécution synchrone ou asynchrone ne figurent pas dans l'extrait.
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification d'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#2bc85c56- Content hash
2bc85c56- 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 · Original allemand