Образцовая коммуникация AUTOSAR

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

О коммуникации AUTOSAR

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

  • Require (В)

  • Provide

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

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

  • Получатель отправителя

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

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

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

  • Параметр

  • Триггер

  • Сервис (адаптивная платформа)

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

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

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

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

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

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

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

  • Для портов Require используйте импорт Simulink. Например, 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 Sender-Receiver.

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

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

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

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

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

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

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

  • К клиентским вызовам модели AUTOSAR используйте Функциональные блоки Вызывающей стороны.

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

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

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

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

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

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

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

Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию Клиент-сервер AUTOSAR.

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

Переключатель режима AUTOSAR (M-S) коммуникация полагается на менеджера по режиму и соединенных пользователей режима. Менеджер по режиму является авторитетным источником для компонентов программного обеспечения, чтобы запросить текущий режим и получить уведомление, когда режим изменяется. Менеджеру по режиму может предоставить AUTOSAR Basic Software (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. В этом диалоговом окне блока Inport перечислимый тип mdgModes задан как тип данных импорта.

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

    В следующем примере, во вкладке Inports редактора Отображений Кода, импорт Simulink mode_receiver сопоставлен с элементом порта current_mode и AUTOSAR получателя режима AUTOSAR mgMirrorAdjust.

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

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

  2. В вашей модели выберите или добавьте выполнимое, которое вы хотите, чтобы событие переключателя режима активировало.

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

Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.

Менеджер по режиму приложения

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

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

В Simulink вы можете:

  • Импортируйте коммуникационные элементы переключателя режима AUTOSAR из кода arxml.

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

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

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

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

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

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

    • В редакторе Отображений Кода, набор режим доступа к данным выходного порта к ModeSend и карта выходной порт к порту отправителя режима AUTOSAR.

  • Сгенерируйте arxml и код С для портов отправителя режима AUTOSAR и связанного AUTOSAR M-S коммуникационные элементы.

    • Код arxml включает, сослался на ModeSwitchPoints, ModeSwitchInterfaces и ModeDeclarationGroups.

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

Для получения дополнительной информации смотрите, Конфигурируют Коммуникацию AUTOSAR Mode-Switch.

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

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

В Simulink вы можете:

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

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

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

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

Для получения дополнительной информации смотрите, Конфигурируют Энергонезависимую Передачу данных AUTOSAR.

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

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

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

Для получения дополнительной информации смотрите, Конфигурируют Получатель для Коммуникации Параметра AUTOSAR.

Триггерный интерфейс

Релиз 4.0 AUTOSAR ввел внешнюю триггерную коммуникацию события, в которой компонент программного обеспечения AUTOSAR или сервис сигнализируют, что внешний триггер произошел событие (ExternalTriggerOccurredEvent) с другим компонентом. Компонент получения активирует выполнимое в ответ на событие.

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

Для получения дополнительной информации смотрите, Конфигурируют Получатель для Внешней Триггерной Коммуникации События AUTOSAR.

Сервисный интерфейс (адаптивная платформа)

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

  • Алгоритм, который выполняет задачи в ответ на полученные события.

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

  • Сервисные интерфейсы, которые служат основой для основанной на событии коммуникации.

Чтобы смоделировать адаптивную сервисную коммуникацию в Simulink, вы можете:

  • Создайте AUTOSAR требуемые и обеспеченные порты, сервисные интерфейсы, сервисные события интерфейса и C++ namepaces.

  • Создайте импорт корневого уровня и выходные порты и сопоставьте их с AUTOSAR требуемые и обеспеченные порты и сервисные события интерфейса.

  • Если вам лицензируют для Simulink Coder™ и Embedded Coder®, генерируете Код С++ и описания arxml для сервисной коммуникации AUTOSAR.

Для получения дополнительной информации смотрите, Конфигурируют Адаптивную Сервисную Коммуникацию AUTOSAR.

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

Больше о