LIN State Manager (LinSM)
Manages state transitions of LIN networks.
Funktionen — Übersicht
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);This function initializes the Lin SM.Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);The upper layer requests a schedule table to be changed on one LIN network.void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);-Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);Function to query the current communication mode.Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);Requesting of a communication mode.void LinSM_MainFunction (void);Periodic function that runs the timers of different request timeoutsvoid LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);The Lin If module will call this callback when the new requested schedule table is active.void LinSM_GotoSleepIndication (NetworkHandleType Channel);The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs.void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.
Typen — Übersicht
enum LinSM_ModeTypeType used to report the current mode to the Bsw Mstruct LinSM_ConfigTypeData structure type for the post - build configuration parameters.
Funktionen & Typen — Detailansicht
функция LinSM_Init [SWS_LinSM_00155] 📄 PDF
void LinSM_Init (const LinSM_ConfigType* ConfigPtr);
This function initializes the Lin SM.
Функция LinSM_Init служит для инициализации программного модуля LIN State Manager (LinSM) в платформе AUTOSAR Classic [SWS_LinSM_00155].
Использование и параметры интерфейса:
- Синхронизация вызова: выполнение функции инициализации специфицировано как синхронное (
Synchronous) [SWS_LinSM_00155]. - Входные параметры: в качестве единственного параметра передается
ConfigPtrтипаconst LinSM_ConfigType*[SWS_LinSM_00155]. Он выступает в роли указателя на конфигурационные данные post-build для LinSM [SWS_LinSM_00155]. - Другие параметры и возвращаемое значение: интерфейс не возвращает значения (
void) [SWS_LinSM_00155]. Дополнительные входные/выходные параметры или чисто выходные параметры отсутствуют [SWS_LinSM_00155]. - Заголовочный файл и идентификатор сервиса: объявление предоставляется через заголовочный файл
LinSM.hи содержит идентификатор сервиса0x01[SWS_LinSM_00155].
Параллелизм и ограничения:
Для выполнения LinSM_Init определено, что функция является неревентрантной (Non reentrant) [SWS_LinSM_00155]. Следовательно, вызов не должен выполняться ни параллельно из нескольких потоков, ни с прерыванием более приоритетными контекстами [SWS_LinSM_00155].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция LinSM_ScheduleRequest [SWS_LinSM_00113] 📄 PDF
Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);
The upper layer requests a schedule table to be changed on one LIN network.
Использование
Функция LinSM_ScheduleRequest вызывается верхним уровнем для запроса смены таблицы расписания на указанном канале LIN [SWS_LinSM_00113]. Интерфейс определен в заголовочном файле LinSM.h, имеет идентификатор сервиса 0x10 и работает асинхронно, а также ревентрантно [SWS_LinSM_00113]. При вызове соответствующий канал передается через параметр network (NetworkHandleType), а требуемая новая таблица — через schedule (LinIf_SchHandleType) [SWS_LinSM_00113].
Обработка ошибок и возвращаемые значения
Если запрос на переключение таблицы был принят модулем, функция возвращает E_OK [SWS_LinSM_00113]. Если же вызов не может быть выполнен — например, из-за того, что модуль еще не инициализирован, — функция возвращает значение E_NOT_OK [SWS_LinSM_00113]. Специфические коды ошибок для DET или DEM для этого сервиса не приведены.
Граничные условия и взаимодействие
Предоставление функции существенно зависит от конфигурационного параметра LinSMNodeType: LinSM_ScheduleRequest доступна исключительно тогда, когда модуль сконфигурирован как мастер-узел LIN хотя бы на одном канале, и опускается в конфигурациях только с LIN-слейвами [SWS_LinSM_00241]. Точно так же соответствующая функция подтверждения LinSM_ScheduleRequestConfirmation требует конфигурации мастер-узла [SWS_LinSM_00242]. Уведомление верхнего уровня об успешно выполненной асинхронной смене таблицы, предположительно, осуществляется через эту функцию подтверждения. Вопрос Q-34c3ec02381c72ca (открытый)
Этот текст был создан ИИ; определяющей является спецификация AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinSM_GetVersionInfo [SWS_LinSM_00117] 📄 PDF
void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
-
функция LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF
Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);
Function to query the current communication mode.
функция LinSM_RequestComMode [SWS_LinSM_00126] 📄 PDF
Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);
Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.
Использование и контекст вызова
Объявленная в заголовочном файле LinSM.h функция LinSM_RequestComMode (Service-ID 0x12) служит для асинхронного запроса режима связи для переданной LIN-сети [SWS_LinSM_00126]. Через параметр network типа NetworkHandleType идентифицируется соответствующий LIN-канал, тогда как mode типа ComM_ModeType специфицирует желаемый режим связи [SWS_LinSM_00126]. Фактическая смена режима происходит не мгновенно; LinSM уведомляет вызывающую сторону только после того, как переход режима успешно завершен [SWS_LinSM_00126]. Интерпретация: в качестве основного вызывающего компонента, вероятно, выступает ComM, поскольку переключение режима запрашивается и квитируется на уровне канала. Вопрос Q-0fcce16df8a29149 (открытый)
Возвращаемые значения и параллелизм
Интерфейс специфицирован как реентерабельный и возвращает значение статуса типа Std_ReturnType [SWS_LinSM_00126]:
E_OK: запрос успешно принят модулем LinSM [SWS_LinSM_00126].E_NOT_OK: выполнение запроса невозможно, например, если модуль LinSM еще не инициализирован [SWS_LinSM_00126].
Обработка ошибок и взаимодействие
В рамках обработки ошибок определено взаимодействие с LIN-интерфейсом: если нижележащий вызов LinIf_GotoSleep возвращает значение E_NOT_OK, LinSM_RequestComMode обязательно должна также возвращать E_NOT_OK [SWS_LinSM_00177]. Если функция возвращает E_NOT_OK, в LinSM должно оставаться или устанавливаться то же самое состояние, обеспечивая передачу соответствующих уведомлений в ComM_BusSM_ModeIndication и BswM_LinSM_CurrentState [SWS_LinSM_00177].
Этот текст сгенерирован автоматически. Все технические утверждения основаны исключительно на данных спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF
void LinSM_MainFunction (void);
Periodic function that runs the timers of different request timeouts
Использование
Функция LinSM_MainFunction выступает в качестве центральной периодической главной функции модуля LIN State Manager (LinSM) в рамках архитектуры AUTOSAR Classic [SWS_LinSM_00156]. Согласно спецификации она имеет синтаксис void LinSM_MainFunction (void) и шестнадцатеричный идентификатор сервиса 0x30 [SWS_LinSM_00156]. Поскольку она не принимает параметров и не возвращает значения, она работает в модуле исключительно на основе состояний [SWS_LinSM_00156]. Ее основной функциональной задачей является непрерывное поддержание работы и обновление внутренних таймеров, отвечающих за контроль различных таймаутов запросов (Request Timeouts) [SWS_LinSM_00156].
Контекст вызова и диспетчеризация
Объявление интерфейса осуществляется через заголовочный файл SchM_LinSm.h [SWS_LinSM_00156]. Интерпретация: из-за этой интеграции в диспетчер расписания (Schedule Manager) функция, вероятно, циклически вызывается планировщиком BSW (BSW Scheduler) в контексте задачи операционной системы. Вопрос Q-d83f7b3f0b251f4f (открытый) Этот регулярный цикл критически важен для детерминированного распознавания и обработки возникающих условий таймаута при запросах каналов и состояний LIN. Специфические механизмы обработки ошибок, такие как коды ошибок DET или события DEM, а также формальные критерии ревентрантности для данного сервиса в настоящем объеме спецификации не специфицированы и поэтому отсутствуют.
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] 📄 PDF
void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);
The Lin If module will call this callback when the new requested schedule table is active.
Использование
Функция LinSM_ScheduleRequestConfirmation служит callback-интерфейсом модуля LinSM и имеет идентификатор сервиса 0x20 [SWS_LinSM_00129]. Она доступна через заголовочный файл LinSM.h и вызывается интерфейсом LIN (LinIf), как только ранее запрошенная новая таблица расписания активируется на шине LIN [SWS_LinSM_00129].
Интерфейс не имеет возвращаемого значения (void) и передает два входных параметра в LinSM [SWS_LinSM_00129]:
network(NetworkHandleType): служит для однозначной идентификации соответствующего коммуникационного канала LIN [SWS_LinSM_00129].schedule(LinIf_SchHandleType): передает идентификатор или указатель на вновь активированную таблицу расписания [SWS_LinSM_00129].
Параллелизм и взаимодействие
Выполнение LinSM_ScheduleRequestConfirmation специфицировано как синхронное и ревентрантное [SWS_LinSM_00129]. Входные и выходные параметры (inout или out) отсутствуют [SWS_LinSM_00129]. Взаимодействие осуществляется в тесной связке с модулем LinIf, который вызывает эту callback-функцию для подтверждения смены состояния таблицы расписания в LinSM [SWS_LinSM_00129]. Интерпретация: поскольку LinIf действует как вызывающая сторона, контекст вызова, вероятно, привязан к процессу обработки в драйвере или интерфейсе LinIf. Вопрос Q-500d6a653bfbaac0 (открытый)
Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinSM_GotoSleepIndication [SWS_LinSM_91000] 📄 PDF
void LinSM_GotoSleepIndication (NetworkHandleType Channel);
The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.
Функция обратного вызова LinSM_GotoSleepIndication ([SWS_LinSM_91000]) служит для уведомления LIN State Manager о переводе канала в состояние покоя. Вызов осуществляется через LIN Interface (LinIf), как только в сети принимается команда Go-to-Sleep или наступает тайм-аут Bus-Idle.
Использование и контекст вызова
Функция выполняется синхронно и не имеет возвращаемого значения ([SWS_LinSM_91000]). Она предоставляется через заголовочный файл LinSM.h и имеет идентификатор сервиса Service-ID 0x03. Ее единственный параметр служит для идентификации канала:
Channel(In): идентифицирует соответствующий LIN-канал через типNetworkHandleType([SWS_LinSM_91000]).
Не специфицированы ни входные/выходные параметры (inout), ни выходные параметры (out) ([SWS_LinSM_91000]).
Параллелизм и ограничения
В отношении параллелизма интерфейс определен как реентерабельный ([SWS_LinSM_91000]). Существенное функциональное ограничение касается роли узла: данный callback предназначен и применим исключительно для slave-узлов LIN ([SWS_LinSM_91000]).
Это указание по использованию основано исключительно на данных спецификации релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinSM_GotoSleepConfirmation [SWS_LinSM_00135] 📄 PDF
void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);
The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.
Callback-функция LinSM_GotoSleepConfirmation в соответствии с [SWS_LinSM_00135] вызывается интерфейсом LIN (LinIf), как только команда Go-to-Sleep была передана в сети LIN или передача завершилась сбоем.
Использование и параметры
Callback имеет идентификатор сервиса 0x22, объявляется через заголовочный файл LinSM.h и не имеет возвращаемого значения [SWS_LinSM_00135]. Для идентификации и передачи статуса используются два передаваемых параметра:
network: идентифицирует соответствующий канал LIN через типNetworkHandleType[SWS_LinSM_00135].success: указывает в виде логического значения, удалось ли успешно отправить команду Go-to-Sleep на шине (true) или нет (false) [SWS_LinSM_00135].
Контекст выполнения и параллелизм
Спецификация определяет вызов как синхронный и ревентрантный [SWS_LinSM_00135]. Интерпретация: модуль LinSM, вероятно, на основе параметра success обновляет свое внутреннее состояние для соответствующей сети и определяет, был ли подтвержден переход в состояние покоя на шине. Вопрос Q-b5dfd51188b9ff0b (открытый) Обработка ошибок, возвращаемые значения или специфические сообщения DET либо DEM для этого интерфейса в полезной нагрузке не специфицированы [SWS_LinSM_00135].
Этот текст был сгенерирован ИИ; обязательной является исключительно спецификация AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinSM_WakeupConfirmation [SWS_LinSM_00132] 📄 PDF
void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);
The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.
Функция обратного вызова LinSM_WakeupConfirmation служит в LIN State Manager для подтверждения отправки сигнала пробуждения в сети LIN [SWS_LinSM_00132]. Она вызывается LIN-интерфейсом (LinIf), как только команда на передачу сигнала Wakeup в сети передана успешно либо неуспешно [SWS_LinSM_00132].
Для контекста вызова, параллелизма и передачи параметров действуют следующие характеристики спецификации [SWS_LinSM_00132]:
- Поведение синхронизации и реентерабельность: выполнение функции является синхронным (Synchronous) и классифицируется как реентерабельное (Reentrant) [SWS_LinSM_00132].
- Идентификация канала (
network): переданный входной параметр типаNetworkHandleTypeобозначает соответствующий LIN-канал, на котором выполнялась операция отправки [SWS_LinSM_00132]. - Статус успеха (
success): логический параметр указывает, удалось ли успешно отправить сигнал Wakeup (true) или передача завершилась сбоем (false) [SWS_LinSM_00132]. - Возвращаемое значение и входные/выходные параметры: функция не имеет возвращаемого значения (
void) и не определяет ни выходных, ни входных/выходных параметров [SWS_LinSM_00132].
Интерфейс имеет Service-ID 0x21 и предоставляется через заголовочный файл LinSM.h [SWS_LinSM_00132]. Специфические коды ошибок, а также требования к обработке ошибок через модуль Default Error Tracer (DET) или Diagnostic Event Manager (DEM) в элементе спецификации не задаются [SWS_LinSM_00132].
Это указание по использованию основано на спецификации AUTOSAR Classic Release R20-11.
тип LinSM_ModeType [SWS_LinSM_00220] 📄 PDF
Type used to report the current mode to the Bsw M
Тип данных LinSM_ModeType является стандартным типом LIN State Manager, который базируется на базовом типе uint8 и предоставляется через заголовочный файл LinSM.h [SWS_LinSM_00220]. Основная задача этого типа заключается в передаче текущего режима связи сети LIN в BSW Mode Management (BswM) [SWS_LinSM_00220].
Для LinSM_ModeType в диапазоне значений специфицированы два состояния [SWS_LinSM_00220]:
LINSM_FULL_COM(числовое значение0x01): сигнализирует о состоянии неограниченной полной связи (Full communication) [SWS_LinSM_00220].LINSM_NO_COM(числовое значение0x02): обозначает состояние без текущей связи (No communication) [SWS_LinSM_00220].
Что касается обработки ошибок и параллелизма, определение типа не содержит собственных кодов ошибок, сообщений DET или событий DEM, поскольку представляет собой элементарное объявление типа [SWS_LinSM_00220]. Интерпретация: передача значений этого типа в BswM, вероятно, происходит в рамках вышестоящих смен состояний LinSM, при этом вызывающие компоненты должны гарантировать, что недопустимые значения вне определенных состояний передаваться не будут. Вопрос Q-fe193732b8be2388 (открытый)
Данное указание по использованию было создано ИИ.
Руководство разработчика реализации в подготовке (сложность I1)
тип LinSM_ConfigType [SWS_LinSM_00221] 📄 PDF
Data structure type for the post - build configuration parameters.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_LinSM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_LinSM@rel:R20-11#45de1dc9- Content hash
45de1dc9- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал