exponenta event banner

Модель связи AUTOSAR

В Simulink ® для классической платформы можно моделировать отправителя-получателя AUTOSAR (S-R), клиент-сервер (C-S), переключатель режима (M-S), энергонезависимые (NV) данные, параметры и связь триггеров.

Сведения о связи AUTOSAR

Программные компоненты AUTOSAR обеспечивают четко определенные точки соединения, называемые портами. Существует три типа портов AUTOSAR:

  • Require (В)

  • Provide из

  • Объединенный Provide-Require (InOut - представлен в схеме AUTOSAR версии 4.1)

Порты AUTOSAR могут ссылаться на следующие типы интерфейсов:

  • Отправитель-получатель

  • Клиент-сервер

  • Переключатель режима

  • Энергонезависимые данные

  • Параметр

  • Спусковой механизм

На следующем рисунке показан программный компонент AUTOSAR с четырьмя портами, представляющими комбинации портов и интерфейсов для интерфейсов отправитель-получатель и клиент-сервер.

A Require порт, который ссылается на интерфейс Mode-Switch, называется портом mode-receiver.

Интерфейс отправитель-получатель

При связи отправитель-получатель (S-R) на основе порта AUTOSAR компоненты программного обеспечения AUTOSAR считывают и записывают данные в другие компоненты или службы. Для реализации связи S-R программные компоненты AUTOSAR определяют:

  • Интерфейс отправитель-получатель AUTOSAR с элементами данных.

  • AUTOSAR предоставляет и требует порты, которые отправляют и принимают данные.

В Simulink можно:

  1. Создайте интерфейсы и порты AUTOSAR S-R с помощью словаря AUTOSAR.

  2. Модель AUTOSAR предоставляет и требует порты, используя порты и порты корневого уровня Simulink.

  3. Сопоставьте выходы и входы с АВТОЗАР, предоставляющими и требующими порты, с помощью редактора сопоставлений кодов.

Интерфейс отправителя-получателя состоит из одного или нескольких элементов данных. Хотя Require, Provide, или Provide-Require порт может ссылаться на интерфейс отправителя-получателя, программный компонент AUTOSAR не обязательно имеет доступ ко всем элементам данных. Например, рассмотрим следующий рисунок.

Программный компонент AUTOSAR имеет Require и Provide порт, который ссылается на тот же интерфейс отправителя-получателя, Interface1. Хотя этот интерфейс содержит элементы данных DE1, DE2, DE3, DE4, и DE5, компонент не использует все элементы данных.

На следующем рисунке показан пример моделирования в Simulink программного компонента AUTOSAR, получающего доступ к элементам данных.

ASWC доступ к элементам данных DE1 и DE2. Доступ к элементу данных моделируется следующим образом:

  • Для Require порты, используйте Simulink inports. Например, RPort1_DE1 и RPort1_DE2.

  • Для Provide порты, используйте выходы Simulink. Например, PPort1_DE1 и PPort1_DE2.

  • Для Provide-Require порты (схема 4.1 или выше), используйте пару портов ввода и вывода Simulink с соответствующими типом данных, измерением и типом сигнала. Дополнительные сведения см. в разделе Настройка порта предоставления-требования AUTOSAR.

ErrorStatus - это значение, возвращаемое средой выполнения AUTOSAR (RTE) для указания ошибок, обнаруженных системой связи для каждого элемента данных. Для моделирования состояния ошибки можно использовать вход Simulink, например: RPort1_DE1 (ErrorStatus).

Используйте словарь AUTOSAR и редактор сопоставления кодов для задания параметров AUTOSAR для каждого порта ввода и вывода. Дополнительные сведения см. в разделе Настройка связи отправителя и получателя AUTOSAR.

Интерфейс отправителя-получателя в очереди

При обмене данными между отправителем и получателем (S-R) в очереди AUTOSAR компоненты программного обеспечения AUTOSAR считывают и записывают данные в другие компоненты или службы. Данные, отправленные программным компонентом отправителя AUTOSAR, добавляются в очередь, предоставляемую средой выполнения AUTOSAR (RTE). Вновь полученные данные не перезаписывают существующие непрочитанные данные. Позднее программный компонент приемника считывает данные из очереди.

Для реализации связи S-R в очереди программные компоненты AUTOSAR определяют:

  • Интерфейс отправитель-получатель AUTOSAR с элементами данных.

  • AUTOSAR предоставляет и требует порты, которые отправляют и получают данные из очереди.

В Simulink можно:

  1. Создайте интерфейсы и порты S-R в очереди AUTOSAR с помощью словаря AUTOSAR.

  2. Модель AUTOSAR предоставляет и требует порты, используя порты и порты корневого уровня Simulink.

  3. Сопоставьте выходы и входы с АВТОЗАР, предоставляющими и требующими порты, с помощью редактора сопоставлений кодов. Установите режимы доступа к данным AUTOSAR в значение QueuedExplicitSend или QueuedExplicitReceive.

Для моделирования отправки и получения данных AUTOSAR с использованием очереди используйте блоки Simulink Send и Receive. Если реализация связи S-R в очереди включает состояния или требует логики принятия решений, используйте диаграммы Stateflow ®. Можно обрабатывать ошибки, возникающие, когда очередь пуста или заполнена. Можно указать размер очереди. Дополнительные сведения см. в разделе Обзор сообщений Simulink.

Можно смоделировать связь отправителя-получателя (S-R) в очереди AUTOSAR между моделями компонентов, например, при моделировании на уровне композиции. Отправители и получатели данных могут работать с разными скоростями. Несколько отправителей данных могут взаимодействовать с одним приемником данных.

Чтобы начать работу, можно импортировать компоненты с установленными в очередь интерфейсами S-R и портами из файлов ARXML в Simulink или использовать Simulink для создания интерфейсов и портов. Дополнительные сведения см. в разделе Настройка связи отправителя и получателя в очереди AUTOSAR.

Интерфейс клиент-сервер

AUTOSAR обеспечивает связь между клиентом и сервером между:

  • Компоненты прикладного программного обеспечения

  • Компонент прикладного программного обеспечения и базовое программное обеспечение

Интерфейс клиент-сервер AUTOSAR определяет взаимодействие между программным компонентом, обеспечивающим интерфейс, и программным компонентом, требующим интерфейса. Компонентом, обеспечивающим интерфейс, является сервер. Компонентом, требующим интерфейса, является клиент.

Для моделирования клиентов и серверов AUTOSAR в Simulink, для моделирования и генерации кода:

  • Для моделирования серверов AUTOSAR используйте функциональные блоки Simulink на корневом уровне модели.

  • Для моделирования вызовов клиента AUTOSAR используйте блоки вызова функции.

  • Используйте стиль моделирования на основе вызова функции для создания взаимосвязанных функций Simulink, вызовов функций и вводов и выводов корневой модели на верхнем уровне модели.

Эта диаграмма иллюстрирует структуру вызова функции, в которой функция Simulink блокирует выполняемые функции сервера AUTOSAR, вызывающая функция блокирует вызовы клиента AUTOSAR модели и линия передачи данных Simulink моделирует выполняемые между собой переменные (IRV).

Высокоуровневый рабочий процесс разработки клиентов и серверов AUTOSAR в Simulink:

  1. Моделирование функций сервера и блоков вызывающих абонентов в Simulink. Например, создайте блоки Simulink Function на корневом уровне модели с соответствующими блоками Function Caller, вызывающими функции. Используйте набор инструментов Simulink для моделирования и разработки блоков.

  2. В контексте модели, настроенной для AUTOSAR, сопоставьте и настройте функции Simulink с выполняемыми серверами AUTOSAR. Проверьте конфигурацию, смоделируйте и создайте код C и ARXML из модели.

  3. В контексте другой модели, настроенной для AUTOSAR, сопоставьте и сконфигурируйте блоки вызывающих функций с клиентскими портами AUTOSAR и операциями AUTOSAR. Проверьте конфигурацию, смоделируйте и создайте код C и ARXML из модели.

  4. Интеграция сгенерированного кода C в тестовую структуру для тестирования, например, с моделированием SIL. (В конечном итоге сгенерированные коды C и ARXML интегрируются в среду выполнения AUTOSAR (RTE).)

Дополнительные сведения см. в разделе Настройка связи клиента с сервером AUTOSAR.

Интерфейс переключения режимов

Обмен данными между переключателями режимов AUTOSAR (M-S) осуществляется на основе менеджера режимов и подключенных пользователей режимов. Менеджер режимов является авторитетным источником для компонентов программного обеспечения для запроса текущего режима и получения уведомления при изменении режима. Менеджер режимов может быть предоставлен основным программным обеспечением AUTOSAR (BSW) или реализован как программный компонент AUTOSAR. Менеджер режимов, реализованный как программный компонент, называется менеджером режимов приложений. Программный компонент, который запрашивает диспетчер режимов и принимает уведомления об изменениях режимов, является пользователем режима.

Пользователь режима

Для моделирования пользовательского программного компонента режима AUTOSAR в Simulink:

  • Создайте интерфейс переключения режимов AUTOSAR.

  • Создайте порт приемника режима AUTOSAR и сопоставьте его с входным портом Simulink.

  • Для инициализации или другой функции AUTOSAR, выполняемой в модели, укажите событие переключения режимов для запуска функции запуска.

Для моделирования порта «режим-приемник» компонента программного обеспечения AUTOSAR можно выполнить следующие шаги:

  1. Объявите группу объявления режима - группу значений режима - с помощью перечисления Simulink. Например, можно создать перечисляемый тип mdgModes, с перечисленными значениями MANUAL_ADJUST и AUTO_ADJUST. Укажите тип склада как целое число без знака.

    Simulink.defineIntEnumType('mdgModes', ...
      {'MANUAL_ADJUST', 'AUTO_ADJUST'}, ...
      [18 28], ...
      'Description', 'Type definition of mdgModes.', ...
      'HeaderFile', 'Rte_Type.h', ...
      'DefaultValue', 'MANUAL_ADJUST', ...
      'AddClassNameToEnumNames', false,...
      'StorageType', 'uint16'...
    );

  2. Примените тип данных перечисления к входному порту Simulink, который представляет порт-приемник режима AUTOSAR. В этом диалоговом окне «Блок ввода» перечисляемый тип mdgModes указывается как тип данных для ввода.

  3. Чтобы задать сопоставление входного порта Simulink с портом-приемником режима AUTOSAR, используйте редактор сопоставления кодов (или эквивалентные функции сопоставления AUTOSAR).

    В следующем примере на вкладке «Inports» редактора «Code Mappings» выберите «Simulink inport». mode_receiver сопоставляется с портом-приемником режима AUTOSAR current_mode и элемент AUTOSAR mgMirrorAdjust.

Чтобы указать событие mode-switch, запускающее инициализацию, выполняемую или экспортируемую, можно выполнить следующие шаги:

  1. Для редактирования, добавления или удаления интерфейсов переключения режимов AUTOSAR и портов приемника режимов используйте словарь AUTOSAR (или эквивалентные функции свойств AUTOSAR).

  2. В модели выберите или добавьте выполняемую возможность активации события переключения режимов.

  3. В представлении Runnables словаря AUTOSAR выберите запускаемую возможность активации события переключения режимов. Настройте событие. В следующем примере добавляется событие переключения режимов для Runnable_Autoи сконфигурирован для активации при входе (по сравнению с выходом или переходом). Он сопоставляется с ранее сконфигурированным портом-приемником режима и значением объявления режима, которое является действительным для выбранного порта.

Дополнительные сведения см. в разделе Настройка связи между коммутаторами в режиме AUTOSAR.

Диспетчер режима приложения

Чтобы смоделировать программный компонент диспетчера режима приложения в Simulink, используйте порт отправителя режима AUTOSAR. Порты отправителя режима выводят переключатель режима на пользовательские компоненты подключенного режима. Например, вот менеджер режима приложения, смоделированный в Simulink, который использует порт отправителя режима для вывода текущего значения EngineMode.

Порт отправителя режима моделируется как корневой порт модели, который сопоставляется с портом отправителя режима AUTOSAR и интерфейсом переключения режимов (M-S). Тип данных outport является классом перечисления с неподписанным целочисленным типом хранения, представляющим собой группу объявления режима AUTOSAR.

В Simulink можно:

  • Импорт элементов связи с переключателем режимов AUTOSAR из кода ARXML.

    • Программное обеспечение импортирует ModeSwitchPoints, ModeSwitchInterfaces и ModeDeclarationGroups.

    • Для каждого порта поставщика AUTOSAR, который ссылается на интерфейс M-S, импортер создает корневой порт с ModeSend доступ к данным и с классом перечисления групп объявления режима AUTOSAR.

    • Импортер сопоставляет выходной порт модели порту отправителя в режиме AUTOSAR с интерфейсом M-S.

  • Создайте элементы связи с переключателем режимов AUTOSAR.

    • Создайте корневой исходящий порт модели и задайте для типа данных исходящего порта класс перечисления, представляющий группу объявления режима AUTOSAR.

    • Создайте порт отправителя в режиме AUTOSAR со связанным интерфейсом M-S.

    • В редакторе сопоставлений кодов установите режим доступа к данным исходящего порта в значение ModeSendи сопоставьте исходящий порт с портом отправителя в режиме AUTOSAR.

  • Создайте код ARXML и C для портов отправителя режима AUTOSAR и связанных элементов связи AUTOSAR M-S.

    • Код ARXML включает в себя ссылочные «Точки управления», «Интерфейсы управления» и «Группы управления».

    • Код C включает Rte_Switch Вызовы API для связи переключателей режимов с другими компонентами программного обеспечения.

Дополнительные сведения см. в разделе Настройка связи между коммутаторами в режиме AUTOSAR.

Интерфейс энергонезависимых данных

Стандарт AUTOSAR определяет энергонезависимую (NV) передачу данных на основе портов, при которой программный компонент AUTOSAR считывает и записывает данные в энергонезависимые компоненты AUTOSAR. Для реализации передачи данных NV компоненты программного обеспечения AUTOSAR определяют предоставление и требование к портам, которые отправляют и принимают данные NV.

В Simulink можно:

  • Импорт интерфейсов и портов данных NV AUTOSAR из кода ARXML.

  • Создание интерфейсов и портов AUTOSAR NV и сопоставление входов и выходов Simulink с портами AUTOSAR NV.

    Порты AUTOSAR NV моделируются с помощью входов и выходов Simulink таким же образом, как описано в разделе Интерфейс отправителя и получателя.

  • Создайте код C и ARXML для интерфейсов и портов данных NV AUTOSAR.

Дополнительные сведения см. в разделе Настройка энергонезависимой передачи данных AUTOSAR.

Интерфейс параметров

Стандарт AUTOSAR определяет параметры на основе портов для передачи параметров. Связь параметров AUTOSAR основана на программном компоненте параметров (ParameterSwComponent) и один или несколько компонентов атомарного программного обеспечения, которые требуют доступа к данным параметров на основе портов. ParameterSwComponent представляет собой память, содержащую параметры AUTOSAR, и предоставляет данные параметров подключенным атомарным компонентам программного обеспечения.

В Simulink можно моделировать часть приемника связи параметров на основе порта AUTOSAR. В компоненте atomic software AUTOSAR создается интерфейс параметров с элементами данных и портом приемника параметров.

Дополнительные сведения см. в разделе Настройка параметров порта AUTOSAR для связи с компонентом параметров.

Интерфейс триггера

Стандарт AUTOSAR определяет связь событий внешнего триггера, в которой программный компонент или служба AUTOSAR сигнализирует о возникновении события внешнего триггера (ExternalTriggerOccurredEvent) к другому компоненту. Принимающий компонент активирует возможность выполнения в ответ на событие.

В Simulink можно моделировать часть приемника связи событий внешнего триггера AUTOSAR. В компоненте, который должен реагировать на внешний триггер, создается интерфейс триггера, порт приемника триггера для получения ExternalTriggerOccurredEventи возможность выполнения, которую активирует событие.

Дополнительные сведения см. в разделе Настройка получателя для связи событий внешнего триггера AUTOSAR.

Связанные примеры

Подробнее