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
функция Lin_Init [SWS_Lin_00006] 📄 PDF
void Lin_Init (const Lin_ConfigType* Config);
Initializes the LIN module.
Синхронная функция Lin_Init служит для инициализации модуля драйвера LIN платформы AUTOSAR Classic согласно спецификации [SWS_Lin_00006]. Интерфейс предоставляется через заголовочный файл Lin.h и внутренне адресуется через Service ID 0x00 [SWS_Lin_00006].
Для использования и вызова функции действуют следующие условия на параметры и интерфейс:
- Входные параметры: в качестве единственного входного параметра ожидается
Config[SWS_Lin_00006]. Он представляет собой указатель на набор конфигурационных данных драйвера LIN типаconst Lin_ConfigType*[SWS_Lin_00006]. Для этого интерфейса не предусмотрены ни входные/выходные параметры, ни чисто выходные параметры [SWS_Lin_00006]. - Возвращаемое значение: функция не возвращает значения (
void) [SWS_Lin_00006]. - Семантика выполнения: обработка выполняется полностью синхронно (
Synchronous), поэтому шаги инициализации драйвера отрабатываются непосредственно во время вызова функции [SWS_Lin_00006].
В отношении контекста вызова и параллелизма определено, что Lin_Init не является реентерабельной (Non Reentrant) [SWS_Lin_00006]. Интерпретация: поскольку функция выполняет базовую инициализацию модуля драйвера LIN и не рассчитана на реентерабельность, она, вероятно, обычно вызывается на этапе запуска всей системы до использования других сервисов драйвера LIN. Вопрос Q-d535602a0d4708ce (открытый) При этом одновременный или многократный вызов из различных контекстов выполнения, по-видимому, недопустим.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция 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.
Синхронная функция Lin_CheckWakeup служит для проверки того, произошло ли событие пробуждения на адресуемом канале LIN [SWS_Lin_00160]. Интерфейс доступен через заголовочный файл Lin.h и имеет Service ID 0x0a [SWS_Lin_00160]. Для идентификации канала функция принимает параметр Channel типа данных uint8 [SWS_Lin_00160]. Другие входные или выходные параметры для этого интерфейса не предусмотрены [SWS_Lin_00160].
Результат выполнения возвращается синхронно через тип возвращаемого значения Std_ReturnType [SWS_Lin_00160]. Значение статуса E_OK указывает на то, что во время выполнения вызова API ошибки не возникло [SWS_Lin_00160]. Если же во время выполнения возникает ошибка, сервис возвращает значение E_NOT_OK [SWS_Lin_00160]. Специфические коды ошибок, а также уведомления в DET или DEM для этого элемента в источниках не специфицированы.
В отношении параллелизма Lin_CheckWakeup определена как нереентерабельная (Non Reentrant) [SWS_Lin_00160]. Поэтому вызывающие компоненты должны гарантировать последовательное выполнение вызовов и отсутствие одновременного выполнения. Поскольку точный контекст вызова в спецификации подробно не определён, вызов, вероятно, инициируется вышележащими уровнями, такими как управление пробуждением или ECU State Manager. Вопрос Q-40221056a2e2c042 (открытый)
Этот текст создан ИИ; все утверждения основаны на требованиях стандарта AUTOSAR.
функция Lin_GetVersionInfo [SWS_Lin_00161] 📄 PDF
void Lin_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция 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.
Функция Lin_SendFrame служит для отправки заголовка LIN, а также при необходимости соответствующего ответа LIN и предназначена исключительно для master-узлов LIN [SWS_Lin_00191]. Через указатель PduInfoPtr задаётся направление передачи ответа кадра, которое может соответствовать ответу master-узла, ответу slave-узла или обмену данными между slave-узлами [SWS_Lin_00191].
Вызов и параметры: выполнение функции происходит асинхронно [SWS_Lin_00191]. При вызове передаются следующие входные параметры:
Channel: определяет адресуемый канал LIN какuint8[SWS_Lin_00191].PduInfoPtr: указатель на структуру типаLin_PduType, которая содержит защищённый идентификатор (PID), модель контрольной суммы (Checksum Model), тип ответа, длину данных (Dl), а также указатель на данные SDU [SWS_Lin_00191].
Возвращаемые значения и обработка ошибок: функция возвращает значение типа Std_ReturnType [SWS_Lin_00191]:
E_OK: запрос на отправку успешно принят и утверждён к асинхронному выполнению [SWS_Lin_00191].E_NOT_OK: запрос на отправку отклонён из-за наличия ошибки разработки (Development Error) или производственной ошибки (Production Error) [SWS_Lin_00191].
Параллелизм и интеграция: интерфейс специфицирован как нереентерабельный (Non Reentrant), в связи с чем необходимо избегать параллельных вызовов для одного и того же канала [SWS_Lin_00191]. Функция имеет Service ID 0x04 и подключается через заголовочный файл Lin.h [SWS_Lin_00191].
Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.
функция 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.
Функция и контекст вызова
Функция Lin_GoToSleep дает указание LIN-драйверу отправить команду Go-to-Sleep на адресованном LIN-канале [SWS_Lin_00166]. Эта служба драйвера имеет Service-ID 0x06 и предоставляется через заголовочный файл Lin.h [SWS_Lin_00166]. Выполнение службы происходит асинхронно для вызывающей стороны [SWS_Lin_00166]. Объявление функции выглядит как Std_ReturnType Lin_GoToSleep (uint8 Channel) [SWS_Lin_00166].
Параметры и возвращаемые значения
В качестве единственного входного параметра передается Channel типа uint8, который идентифицирует адресуемый LIN-канал [SWS_Lin_00166]. Дополнительные входные или выходные параметры отсутствуют [SWS_Lin_00166].
Возвращаемое значение типа Std_ReturnType информирует о принятии запроса [SWS_Lin_00166]:
E_OK: команда Go-to-Sleep была успешно принята драйвером [SWS_Lin_00166].E_NOT_OK: команда не была принята из-за возникновения ошибки разработки или ошибки производства [SWS_Lin_00166].
Ограничения и параллелизм
В отношении параллелизма функция объявлена как нереентерабельная (Non Reentrant) [SWS_Lin_00166]. В качестве важного функционального ограничения Lin_GoToSleep предусмотрена исключительно для master-узлов LIN [SWS_Lin_00166].
Данное указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
функция 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).
Синхронная функция Lin_GoToSleepInternal устанавливает состояние адресуемого LIN-канала в LIN_CH_SLEEP, активирует распознавание Wake-up и опционально переводит аппаратный блок LIN в режим пониженного энергопотребления, если это поддерживается аппаратным обеспечением [SWS_Lin_00167]. Адресация требуемого LIN-канала осуществляется через входной параметр Channel типа uint8, тогда как другие входные или выходные параметры отсутствуют [SWS_Lin_00167].
Результат выполнения синхронно сигнализируется через возвращаемое значение типа Std_ReturnType [SWS_Lin_00167]:
E_OK: команда перехода в спящий режим была успешно принята [SWS_Lin_00167].E_NOT_OK: команда была отклонена, так как возникла ошибка разработки или ошибка производства [SWS_Lin_00167].
Касательно параллелизма и контекста вызова функция Lin_GoToSleepInternal специфицирована как нереентерабельная (Non Reentrant) [SWS_Lin_00167]. Вызывающие программные модули должны гарантировать, что вызовы выполняются последовательно и не накладываются друг на друга параллельно. Функция определена под Service-ID 0x09 и доступна через заголовочный файл Lin.h [SWS_Lin_00167].
Это указание по использованию было сгенерировано автоматически на основе спецификации.
Руководство разработчика реализации в подготовке (сложность I1)
функция 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.
Использование и контекст вызова
Функция Lin_Wakeup относится к модулю драйвера Lin платформы AUTOSAR Classic [SWS_Lin_00169]. Её назначение заключается в том, чтобы генерировать импульс пробуждения (Wake-up Pulse) на адресуемом канале шины и непосредственно переводить состояние канала в LIN_CH_OPERATIONAL [SWS_Lin_00169]. Интерфейс предоставляется через заголовочный файл Lin.h с идентификатором сервиса (Service ID) 0x07 и сигнатурой Std_ReturnType Lin_Wakeup (uint8 Channel) [SWS_Lin_00169].
В качестве входного параметра функция принимает Channel типа uint8, с помощью которого задаётся управляемый LIN-канал [SWS_Lin_00169]. Входные/выходные параметры или чисто выходные параметры отсутствуют [SWS_Lin_00169]. Поведение при выполнении является асинхронным (Asynchronous); таким образом, возврат из функции лишь подтверждает принятие запроса, тогда как физический импульс пробуждения формируется на шине позже [SWS_Lin_00169].
Возвращаемые значения и обработка ошибок
Через тип возвращаемого значения Std_ReturnType передаётся результат принятия запроса [SWS_Lin_00169]:
E_OK: запрос на пробуждение был принят драйвером LIN и обрабатывается [SWS_Lin_00169].E_NOT_OK: запрос был отклонён из-за возникновения ошибки разработки или производственной ошибки [SWS_Lin_00169].
Параллелизм и ограничения
Согласно спецификации функция классифицируется как нереентерабельная (Non Reentrant) [SWS_Lin_00169]. Поэтому вызовы не должны выполняться с прерыванием или параллельно из различных контекстов выполнения для одного и того же экземпляра драйвера. Вызывающие компоненты должны обеспечить соответствующую синхронизацию.
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция 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.
Предоставляемая через заголовочный файл Lin.h функция Lin_WakeupInternal асинхронно переводит канал LIN в рабочее состояние LIN_CH_OPERATIONAL без выдачи импульса пробуждения на физическую шину LIN [SWS_Lin_00256]. Она обрабатывает внутренние запросы пробуждения от вышележащего интерфейса LIN, при которых передача сигнала пробуждения по шине запрещена [SWS_Lin_00262]. Вызов выполняется через параметр Channel типа uint8. Функция возвращает E_OK, если запрос пробуждения был принят, или E_NOT_OK, если запрос был отклонён либо присутствует ошибка разработки или производственная ошибка [SWS_Lin_00256].
В отношении контекста вызова и параллелизма действует правило, что Lin_WakeupInternal не является реентерабельной (Non Reentrant) [SWS_Lin_00256]. В качестве строгого условия очерёдности конечный автомат адресуемого канала в момент вызова должен находиться в состоянии покоя LIN_CH_SLEEP [SWS_Lin_00260].
При включённом обнаружении ошибок разработки модуль контролирует следующие ошибочные условия и сообщает о соответствующих ошибках разработки:
LIN_E_UNINIT: вызов функции до инициализации модуля драйвера LIN [SWS_Lin_00258].LIN_E_INVALID_CHANNEL: переданный параметр канала недействителен или адресуемый канал неактивен [SWS_Lin_00259].LIN_E_STATE_TRANSITION: имеет место недопустимый переход состояния, так как канал LIN не находится в состоянииLIN_CH_SLEEP[SWS_Lin_00260].
Это указание по использованию было сгенерировано автоматически на основе требований спецификации.
Руководство разработчика реализации в подготовке (сложность I1)
функция Lin_GetStatus [SWS_Lin_00168] 📄 PDF
Lin_StatusType Lin_GetStatus (uint8 Channel, const uint8* * Lin_SduPtr);
Service Lin_GetStatus.
тип 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.
тип Lin_FramePidType [SWS_Lin_00228] 📄 PDF
Represents all valid protected identifier used by Lin_ Send Frame().
тип Lin_FrameCsModelType [SWS_Lin_00229] 📄 PDF
This type is used to specify the Checksum model to be used for the LIN Frame.
Тип перечисления Lin_FrameCsModelType согласно [SWS_Lin_00229] служит для задания модели контрольной суммы, используемой для отдельного кадра LIN. Определение типа стандартно доступно через заголовочный файл Lin_GeneralTypes.h [SWS_Lin_00229].
Для конфигурации согласно [SWS_Lin_00229] доступны два значения:
LIN_ENHANCED_CS: выбирает расширенную модель контрольной суммы (Enhanced checksum model) [SWS_Lin_00229].LIN_CLASSIC_CS: выбирает классическую модель контрольной суммы (Classic checksum model) [SWS_Lin_00229].
Будучи чистым типом данных, Lin_FrameCsModelType сам по себе не определяет функциональных интерфейсов, возвращаемых значений или сообщений об ошибках DET/DEM [SWS_Lin_00229]. Использование, вероятно, происходит преимущественно в качестве параметра или элемента внутри дескрипторов конфигурации и кадров в модуле Lin (интерпретация), чтобы сообщить драйверу, по какому алгоритму проверяется контрольная сумма кадра при передаче или приёме. Вопрос Q-6d3354059d0641df (открытый) Поэтому обработка ошибок для недопустимых значений должна, по-видимому, перехватываться на уровне обрабатывающих API драйвера или конфигурации модуля (интерпретация). Вопрос Q-06e26f4bcff1e520 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип 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.
тип Lin_FrameDlType [SWS_Lin_00231] 📄 PDF
This type is used to specify the number of SDU data bytes to copy.
тип 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.
тип Lin_StatusType [SWS_Lin_00233] 📄 PDF
LIN operation states for a LIN channel or frame, as returned by the API service Lin_ Get Status().
Перечислимый тип Lin_StatusType предоставляется через Lin_GeneralTypes.h и определяет рабочие состояния и состояния передачи для LIN-каналов и LIN-кадров, возвращаемые в качестве значения API-сервиса Lin_GetStatus() [SWS_Lin_00233].
Значения состояния подразделяются на состояния канала и операционные значения кадров [SWS_Lin_00233]:
- Статус канала:
LIN_OPERATIONALпредставляет собой штатный режим работы, при котором LIN-канал готов к передаче следующего заголовка (Header) и данные предыдущего кадра отсутствуют (например, после инициализации). В противоположность этомуLIN_CH_SLEEPобозначает состояние покоя канала, в котором для slave-узлов активировано распознавание пробуждения [SWS_Lin_00233]. - Текущие передачи:
LIN_TX_BUSYобозначает выполняющуюся передачу заголовка или ответа (Response).LIN_RX_BUSYсигнализирует о текущем процессе приёма, при котором поступил уже по меньшей мере один байт ответа, однако ещё не получен завершающий байт контрольной суммы [SWS_Lin_00233]. - Успешное завершение:
LIN_TX_OKподтверждает успешную передачу, тогда какLIN_RX_OKуказывает на безошибочный приём полного ответа [SWS_Lin_00233]. - Состояния ошибок и тайм-ауты:
LIN_NOT_OKуказывает на ошибки разработки или производственные ошибки. При операциях передачи тип различаетLIN_TX_HEADER_ERROR(ошибка при отправке заголовка из-за несовпадения данных, ошибки чётности идентификатора или физических ошибок шины) иLIN_TX_ERROR(ошибка при передаче ответа из-за несовпадения данных или ошибок шины). На стороне приёмаLIN_RX_ERRORобозначает ошибки приёма, такие как ошибки кадрирования (Framing), переполнения (Overrun), контрольной суммы или неполные ответы;LIN_RX_NO_RESPONSEсообщает о полном отсутствии байтов ответа [SWS_Lin_00233].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип Lin_SlaveErrorType [SWS_Lin_91140] 📄 PDF
This type represents the slave error types that are detected during header reception and response transmission / reception.
Перечислимый тип Lin_SlaveErrorType представляет специфические типы ошибок LIN-slave-узла, обнаруживаемые во время приёма заголовка, а также во время передачи или приёма ответа [SWS_Lin_91140]. Определение типа предоставляется через заголовочный файл Lin_GeneralTypes.h [SWS_Lin_91140].
Состояния ошибок и диапазон значений
Перечисление охватывает ошибки во время различных фаз LIN-коммуникации [SWS_Lin_91140]:
LIN_ERR_HEADER: сигнализирует об ошибке при приёме заголовка LIN [SWS_Lin_91140].LIN_ERR_RESP_STOPBIT: указывает на ошибку кадрирования (Framing) или ошибку стоп-бита в ответе [SWS_Lin_91140].LIN_ERR_RESP_CHKSUM: обозначает ошибку контрольной суммы принятого ответа [SWS_Lin_91140].LIN_ERR_RESP_DATABIT: сообщает об ошибке мониторинга битов (Bit Monitoring) переданного бита данных в ответе [SWS_Lin_91140].LIN_ERR_NO_RESP: указывает на то, что ответ на заголовок не был получен [SWS_Lin_91140].LIN_ERR_INC_RESP: возникает, если был принят или передан неполный ответ [SWS_Lin_91140].
Использование и ограничения
Интерпретация: поскольку в данном фрагменте спецификации отсутствуют конкретные сигнатуры функций, этот тип, вероятно, служит в качестве возвращаемого значения или параметра состояния в уведомлениях для вышестоящих модулей, таких как интерфейс LIN. Вопрос Q-6a9c54976345ca2b (открытый) Дополнительные сведения о реентерабельности, контекстах вызова либо синхронном или асинхронном выполнении во фрагменте не приводятся.
Это указание по использованию было автоматически сгенерировано на основе спецификации 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#624ae8ee- Content hash
624ae8ee- 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 · Немецкий оригинал