Выпуск #8/2017
А.Бороздин
Гетерогенная система на основе сигнального процессора и процессора ARM под управлением одной операционной системы
Гетерогенная система на основе сигнального процессора и процессора ARM под управлением одной операционной системы
Просмотры: 2762
Рассмотрена система на основе цифрового сигнального процессора и процессора ARM, работающих под управлением одной операционной системы реального времени. Отмечены особенности и преимущества такого решения.
УДК 004.031.6
ВАК 05.27.00
DOI: 10.22184/1992-4178.2017.169.8.94.97
УДК 004.031.6
ВАК 05.27.00
DOI: 10.22184/1992-4178.2017.169.8.94.97
Теги: digital signal processor microcontroller real-time operating system микроконтроллер операционная система реального времени цифровой сигнальный процессор
Исходя из требований к системе программное обеспечение может строиться как на базе ОС, так и без нее. Как правило, во встраиваемых системах применяются ОС реального времени (ОСРВ), поскольку для таких систем важно иметь гарантированное время отклика на события. Для микроконтроллеров с вычислительными ядрами ARM существует множество ОСРВ (FreeRTOS, Keil RTX, Micrium µC/OS, QNX и др.),[1] что обусловлено популярностью данной архитектуры. Многие ОСРВ портированы не только на архитектуру ARM, но и на более простые 8-битные микроконтроллеры. Для DSP-процессоров выбор ОСРВ существенно ограничен, поскольку, во‑первых, зачастую DSP-приложения не требуют ОСРВ, а во‑вторых, портирование ОСРВ на DSP-процессор – нетривиальная задача, требующая проработки многих нюансов. Как правило, используется одна ОСРВ для данной архитектуры, зачастую ОСРВ поставляется производителем процессора.
ОСРВ МАКС – операционная система реального времени для мультиагентных когерентных систем – разработана отечественной компанией АстроСофт. ОСРВ МАКС реализует классический функционал операционных систем реального времени для встраиваемых систем, а также имеет ряд особенностей, которые облегчают построение масштабируемых систем из нескольких устройств (агентов). Механизм разделяемой памяти на уровне устройств (Shared Memory) обеспечивает синхронизацию контекста задач между устройствами, а также обмен сообщениями внутри группы устройств [1]. ОСРВ МАКС официально поддерживает микроконтроллеры производства АО "ПКК Миландр" на базе ядер Cortex M0, M3/M4 и процессоры сигнальной обработки серии 1967ВН0хх [2].
Рассмотрим задачу организации взаимодействия микроконтроллера серии 1986 на базе ядра Cortex M0 и цифрового сигнального процессора 1967ВН044. Структурная схема такой системы показана на рис.1.
К микроконтроллеру подключены микрофон, датчики температуры и освещенности, а также датчики тока и напряжения. Задача микроконтроллера – собрать первичные данные с датчиков и передать их на DSP-процессор, который выполняет функции обработки и визуализации данных.
Для обмена данными в состав программного обеспечения (ПО) микроконтроллера, как и ПО процессора DSP, должны входить драйверы портов (здесь это UART или SPI), а также автомат, реализующий протокол обмена данными. Протокол обмена в общем случае разрабатывается с учетом задачи и имеющихся коммуникационных ресурсов. Если для решения задачи необходимо применить ОСРВ, то типичное решение может выглядеть, как показано на рис.2. Микроконтроллер функционирует под управлением FreeRTOS, DSP-процессор – под управлением ОС VDK, а программные компоненты, перечисленные выше, разрабатываются и внедряются на уровне приложений.
Альтернативный вариант – применение ОСРВ МАКС на микроконтроллере и DSP-процессоре и задействование встроенных механизмов межпроцессорной коммуникации (рис.3).
Использование встроенных средств коммуникации ОСРВ МАКС позволяет разработчику сосредоточиться на основной задаче – сборе и обработке данных, сократив временные затраты. Кроме этого, на обеих платформах программист работает в единообразном программном окружении. Внешний вид отладочной платы с микроконтроллером серии 1986 и процессором цифровой обработки сигналов 1967ВН044 под управлением ОСРВ МАКС показан на рис.4.
Еще одним вероятным сценарием применения встроенных средств межпроцессорной коммуникации ОСРВ МАКС может быть организация связи между DSP-процессорами серии 1967. На рис.5 показана структурная схема вычислительного блока, в состав которого входят процессор 1967ВН044 с подключенными АЦП серии 5101, выполняющими роль Front-end системы, и вычислительный кластер из восьми процессоров 1967ВН028. При этом данные между Front-еnd и кластером передаются через LINK-порты. Перечисленные компоненты входят в состав микросборок "Осведомленность" и "Флип-Чип".
В текущей версии ОСРВ МАКС поддерживает организацию механизмов разделяемой памяти и очередей сообщений через внешнюю параллельную системную шину процессоров. Кроме того, межпроцессорные очереди сообщений реализованы поверх скоростных последовательных LINK-портов. Конфигурация системы и топология LINK-портов описываются в заголовочном файле. Стоит отметить, что механизмы межпроцессорного взаимодействия в ОСРВ МАКС расширяемы. Для использования иного физического канала необходимо написать драйвер для работы через соответствующий интерфейс и включить его в состав сборки. Это позволяет использовать в качестве коммуникационного интерфейса практически любую среду передачи данных – последовательные или параллельные шины, а также логические каналы поверх высокоуровневых протоколов типа IP.
В настоящее время компания "Миландр" внедряет ОСРВ МАКС в своих разработках. Операционную систему планируется также включить в поставку интегрированной среды разработки наряду с другими библиотеками.
ЛИТЕРАТУРА
1. ОСРВ МАКС. Руководство программиста.
https://www.astrosoft.ru/upload/rtos-macs/
rtos-macs-rukovodstvo-programmista.pdf
2. Процессор цифровой обработки сигналов 1967ВН044. Спецификация. http://ic.milandr.ru/products/mikrokontrollery_i_protsessory/1967bh034/?tab=DOCS
ОСРВ МАКС – операционная система реального времени для мультиагентных когерентных систем – разработана отечественной компанией АстроСофт. ОСРВ МАКС реализует классический функционал операционных систем реального времени для встраиваемых систем, а также имеет ряд особенностей, которые облегчают построение масштабируемых систем из нескольких устройств (агентов). Механизм разделяемой памяти на уровне устройств (Shared Memory) обеспечивает синхронизацию контекста задач между устройствами, а также обмен сообщениями внутри группы устройств [1]. ОСРВ МАКС официально поддерживает микроконтроллеры производства АО "ПКК Миландр" на базе ядер Cortex M0, M3/M4 и процессоры сигнальной обработки серии 1967ВН0хх [2].
Рассмотрим задачу организации взаимодействия микроконтроллера серии 1986 на базе ядра Cortex M0 и цифрового сигнального процессора 1967ВН044. Структурная схема такой системы показана на рис.1.
К микроконтроллеру подключены микрофон, датчики температуры и освещенности, а также датчики тока и напряжения. Задача микроконтроллера – собрать первичные данные с датчиков и передать их на DSP-процессор, который выполняет функции обработки и визуализации данных.
Для обмена данными в состав программного обеспечения (ПО) микроконтроллера, как и ПО процессора DSP, должны входить драйверы портов (здесь это UART или SPI), а также автомат, реализующий протокол обмена данными. Протокол обмена в общем случае разрабатывается с учетом задачи и имеющихся коммуникационных ресурсов. Если для решения задачи необходимо применить ОСРВ, то типичное решение может выглядеть, как показано на рис.2. Микроконтроллер функционирует под управлением FreeRTOS, DSP-процессор – под управлением ОС VDK, а программные компоненты, перечисленные выше, разрабатываются и внедряются на уровне приложений.
Альтернативный вариант – применение ОСРВ МАКС на микроконтроллере и DSP-процессоре и задействование встроенных механизмов межпроцессорной коммуникации (рис.3).
Использование встроенных средств коммуникации ОСРВ МАКС позволяет разработчику сосредоточиться на основной задаче – сборе и обработке данных, сократив временные затраты. Кроме этого, на обеих платформах программист работает в единообразном программном окружении. Внешний вид отладочной платы с микроконтроллером серии 1986 и процессором цифровой обработки сигналов 1967ВН044 под управлением ОСРВ МАКС показан на рис.4.
Еще одним вероятным сценарием применения встроенных средств межпроцессорной коммуникации ОСРВ МАКС может быть организация связи между DSP-процессорами серии 1967. На рис.5 показана структурная схема вычислительного блока, в состав которого входят процессор 1967ВН044 с подключенными АЦП серии 5101, выполняющими роль Front-end системы, и вычислительный кластер из восьми процессоров 1967ВН028. При этом данные между Front-еnd и кластером передаются через LINK-порты. Перечисленные компоненты входят в состав микросборок "Осведомленность" и "Флип-Чип".
В текущей версии ОСРВ МАКС поддерживает организацию механизмов разделяемой памяти и очередей сообщений через внешнюю параллельную системную шину процессоров. Кроме того, межпроцессорные очереди сообщений реализованы поверх скоростных последовательных LINK-портов. Конфигурация системы и топология LINK-портов описываются в заголовочном файле. Стоит отметить, что механизмы межпроцессорного взаимодействия в ОСРВ МАКС расширяемы. Для использования иного физического канала необходимо написать драйвер для работы через соответствующий интерфейс и включить его в состав сборки. Это позволяет использовать в качестве коммуникационного интерфейса практически любую среду передачи данных – последовательные или параллельные шины, а также логические каналы поверх высокоуровневых протоколов типа IP.
В настоящее время компания "Миландр" внедряет ОСРВ МАКС в своих разработках. Операционную систему планируется также включить в поставку интегрированной среды разработки наряду с другими библиотеками.
ЛИТЕРАТУРА
1. ОСРВ МАКС. Руководство программиста.
https://www.astrosoft.ru/upload/rtos-macs/
rtos-macs-rukovodstvo-programmista.pdf
2. Процессор цифровой обработки сигналов 1967ВН044. Спецификация. http://ic.milandr.ru/products/mikrokontrollery_i_protsessory/1967bh034/?tab=DOCS
Отзывы читателей