Фильтр по тематике

Моделирование МК с использованием объектно-ориентированных языков высокого уровня

Статья посвящена составлению имитационной модели микроконтроллера на языке Java. Объектом исследования является взаимодействие ядра микроконтроллера с АЦП и последовательным портом (UART, SPI, I2C и др.) Приведены результаты работы модели.

20.11.2013 190 0
Моделирование МК с использованием объектно-ориентированных языков высокого уровня

Проблема исследования микропроцессорных систем

Анализ литературы [1–3] показывает, насколько многогранной может быть задача описания характеристик работы микропроцессорной системы в целом и микроконтроллера в частности. Как правило, разработанные методики сводятся к представлению процессорной системы в качестве системы массового обслуживания (СМО) или более сложной структуры – сети массового обслуживания (СеМО). Затем каждый процесс микроконтроллера представляется в виде потока заявок, который в классической теории СМО рассматривается как Марковский поток либо как композиция Марковских потоков.

Более прогрессивными методами анализа являются асимптотические методы расчёта циклических систем [2]. В этом случае микроконтроллер рассматривается как циклически функционирующая система, внутри которой действуют несколько потоков, обладающих разными приоритетами. Достоинством этого метода является простота расчёта среднего времени прерывания неприоритетной заявки, общего времени выполнения заявки, а также дисперсии и коэффициентов вариации этих величин.

На практике существенной проблемой становится ограничение на вид потока заявок: Марковский поток близок к реальному, но не воспроизводит поток системы, а рассмотрение более сложных видов потоков требует специальных знаний в области теории вероятностей, высшей математики, прикладной теории СМО и занимает много времени, поскольку все методы содержат множество вычислений параметров.

Казалось бы, проще сделать систему без каких-либо вычислений, однако современные архитектуры процессоров ARM и Cortex обладают такой развитой периферией, что расчёт делать придётся. И тут вспоминается ещё один инструмент – имитационное моделирование, которое позволяет наглядно представить функционирование системы в целом и выделить места, оказывающие наибольшее влияние на производительность.

Имитационное моделирование поз­воляет разработчику заранее провести оптимизацию системы с целью повышения её быстродействия. Однако сложности возникают и здесь. Среди наиболее распространённых средств имитационного моделирования можно выделить специализированный язык GPSS, а также среду Matlab+Simulink. Основным преимуществом специализированных средств является набор готовых конструкций и функций, например, генераторов случайных чисел, подходящих для всех моделей.

Как отмечено в [4], среди десятков языков моделирования невозможно выделить лучший, который превосходил бы остальные по всем показателям, – каждый имеет свои достоинства и недостатки, а также узкую область применения. Кроме того, большинство языков моделирования являются коммерческими продуктами, что накладывает ограничение на их использование.

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

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

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

Автором в качестве средства был выбран язык Java по причине его сходства с языком Си. Кроме того, Java – объектно-ориентированный язык, что предоставляет опредёленные удобства в работе с проектом. Однако автор не настаивает на использовании именно этого языка в качестве основного средства моделирования.

 

Основные понятия

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

Под заявкой мы будем понимать процесс или последовательность действий, которые микроконтроллер выполняет при наступлении соответствующего события. Трудоёмкость заявки будет равна длительности выполнения этих операций. Например, заявкой будет сообщение, пришедшее по протоколу обмена, а трудоёмкостью – длительность его обработки.

Очередь является интуитивно понятным термином. Заявки могут накапливаться в очереди. Уходом заявки из очереди является момент начала её обслуживания. Примером реальной очереди в микроконтроллерах может быть накопление присылаемых байтов в буфере до получения сообщения целиком.

Загрузкой системы r называется отношение трудоёмкости заявок к общему времени наблюдения за системой. Загрузка может быть рассчитана как для каждого отдельного элемента, так и для системы в целом. В последнем случае загрузка определяется как сумма загрузок всех элементов системы. При этом суммарная загрузка не может быть больше 1.

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

Событием будем считать изменение состояния какого-либо элемента системы в соответствующий момент времени. В модели событие характеризуется временем его возникновения и источником события – элементом, изменившим своё состояние.

Подробные определения этих терминов, а также математические основы теории СМО изложены в [3].

 

Описание моделируемой системы

Рассмотрим микроконтроллер, в со­­став которого входит многоканальный АЦП, опрашивающий измерительные каналы с частотой F0. Существует некоторое расписание опроса каналов, состоящее из k тактов длительностью 1/F0 (с). Следует отметить, что процесс составления расписания опроса является одним из предметов исследования многоканальных измерительных систем, его подробное описание можно найти в [1].

Система подключена к шине передачи данных, по которой поступают информационно-управляющие сообщения, являющиеся командами системы управления, передаваемыми по шине передачи данных. Интервал поступления и длительность обслуживания этих сообщений являются случайными величинами. Предположим, что приблизительно оценена средняя трудоёмкость информационно-управляющей заявки, равная j (мкс), а также известна средняя интенсивность поступления заявок l.

Выделим в рассматриваемой системе следующие блоки: n-канальный АЦП, многоканальный буфер заявок, процессор, источник информационно-управляющих заявок и буфер информационно-управляющих заявок. В процессе моделирования нас будет интересовать время обработки неприоритетных заявок. Кроме того, потребуется определить влияние общей загрузки на характеристики системы.

Составим алгоритм работы каждого элемента системы. С точки зрения объектно-ориентированного подхода каждый элемент системы представляет собой объект, обладающий своими свойствами и методами. Так, АЦП является объектом, генерирующим измерительные заявки с частотой коммутации F0. Время генерации заявки (время преобразования АЦП) составляет m (мкс). Поскольку АЦП является управляемым устройством, номер канала АЦП, сгенерировавшего заявку, преобразователь получает в качестве входного аргумента.

После генерации заявка передаётся на обработку процессору либо, если он занят, попадает в буфер, где под каждую заявку в канале отведено заранее определённое количество мест. Следовательно, каждая входящая заявка характеризуется номером канала АЦП, временем генерации и временем постановки в буфер. Если место в буфере занято, более ранняя заявка удаляется и её место занимает другая. Алгоритм функционирования буфера заявок может быть представлен в виде блок-схемы, приведённой на рисунке 1.

Аналогичным образом функционирует буфер информационно-управляющих заявок. Отличия заключаются в наличии одного канала буфера информационных заявок и вариации времени обслуживания процессором. Таким образом, дополнительным параметром, характеризующим поступившую заявку, является время обработки процессором, распредёленное по заранее определённому закону.

Теперь рассмотрим работу микроконтроллера. При моделировании будем считать, что после приостановки обслуживания заявки её обработка возобновляется с места остановки. Прерывание обработки неприоритетной заявки увеличивает время её обслуживания на суммарное время прерывания. Также допустим, что загрузка процессора фоновыми операциями распределена равномерно на всей длительности цикла опроса каналов и равна y (мкс) за такт. Время обработки измерительной заявки будем считать постоянной величиной, равной t (мкс).

В процессе работы процессор выбирает заявки из буферов измерительных и информационных заявок. Если в буфере приоритетных заявок появляется элемент, то обслуживание текущей неприоритетной заявки приостанавливается до тех пор, пока не освободится буфер приоритетных заявок. С точки зрения моделирования, объект «процессор» характеризуется набором состояний: «занят приоритетной заявкой», «занят неприоритетной заявкой», «свободен» и т.д. Входными параметрами процессора являются тип поступившей заявки, трудоёмкость и время поступления. Исходя из описания функционирования процессора, составлен алгоритм его работы, показанный в виде блок-схемы на рисунке 2.

Одним из важных вопросов имитационного моделирования является выбор модельного времени [4]. Ряд событий системы наступает случайным образом, следовательно, целесообразно применять событийно-ориентированный подход, но тогда возможно нарушение причинно-следственных связей (causality error) [4]. Суть проблемы заключается в том, что при параллельном моделировании событий может возникнуть ситуация, когда в календарь ставится событие с более ранним моментом начала, а моделирующая система на данном шаге сделала выбор в пользу более позднего события. Таким образом, происходит нарушение причинно-следственных связей.

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

На каждом шаге моделирования требуется выбирать из календаря событие, которое наступит раньше остальных, что снижает производительность системы моделирования. Решением может стать конвейер операций, на который будут поступать несколько ближайших событий в порядке их следования. Новые события, вычисленные на текущем шаге, будут устанавливаться в конвейер в том случае, если они наступят раньше, чем установленное событие. Описание конвейера представлено в листинге 1.

Алгоритм управления модельными событиями показан на рисунке 3. Он объединяет все описанные элементы моделируемой системы и фактически является алгоритмом её функцио­нирования. Поскольку при описании каждого элемента был использован объектно-ориентированный подход, то блоки в представленном алгоритме являются объектами, реализующими свои процедуры с входными аргументами и возвращающие выходные параметры. В данном случае проявляется достоинство объектно-ориентированного подхода – наглядное представление системы в виде совокупности составляющих элементов, а также оперирование объектом, а не набором его свойств, при составлении алгоритма функционирования.

Ещё один момент, на котором следует остановиться, – генерация случайных чисел. На практике генераторы экспоненциально распределённых случайных величин (ГЭСВ) нередко вступают в противоречие со здравым смыслом. Так, например, в системе существует наименьшая и наибольшая трудоёмкость заявки. Тем не менее, ГЭСВ способен сгенерировать как крайне малую, так и неразумно большую величину трудоёмкости, при этом среднее значение выдаваемых величин будет равно требуемому. Решением проблемы может стать описание собственного закона распределения, отвечающего условиям решаемой задачи.

В листинге 2 представлен генератор случайных чисел, генерирующий заявки по сложному закону распределения. Листинг 3 иллюстрирует ГСВ, выбирающий случайным образом число из детерминированного набора. Приведённые примеры иллюстрируют ещё одно достоинство моделирования систем на языке Java: гибкость реализации процедур и прозрачность получаемых результатов.

 

Место для творчества

Разумеется, процесс моделирования не ограничивается указанными методами. Модель может быть усложнена для решения любой практической задачи. Например, можно ввести в неё второй АЦП. Также среди всех процессов микроконтроллера можно выделить ряд задач, обладающих своим приоритетом и требующих решения в определённое время. Таким образом, в системе возникает дополнительный поток заявок, требующих обработки по отдельному алгоритму.

Экспериментальные
данные

При помощи составленной автором моделирующей программы были проведены эксперименты с моделью информационно-измерительной системы. В качестве закона распределения времени обработки информационной заявки и частоты возникновения информационных заявок использовался экспоненциальный закон распределения. Были определены времена обработки заявок в зависимости от загрузки процессора информационными, измерительными и фоновыми заявками. Полученные данные представлены в таблице. Видно, что на время выполнения заявки влияет загрузка системы приоритетными заявками, а также собственное время выполнения заявки. Изменение загрузки системы информационными, измерительными и фоновыми заявками не влияет на время обработки этих заявок системой.

 

Выводы

Моделирование микропроцессорных систем на языках высокого уровня обладает рядом достоинств, ярко выраженных при использовании результатов моделирования на практике. Применение этих языков при моделировании микропроцессорных систем предоставляет разработчику новые возможности по исследованию системы на ранней стадии проектирования. Полученные с помощью имитационного моделирования результаты могут быть использованы для качественного анализа характеристик разрабатываемой системы.

 

Литература

Цифровые адаптивные информационно-измерительные системы / Под ред. Б.Я. Авдеева и Е.А. Черняховского / СПб.: Энергоатомиздат, 1997.

Задорожный В.Н. Распределение календарного времени обслуживания неприоритетных заявок в системах с абсолютными приоритетами / Омский научный вестник, 2006. № 8(1). С.124–132.

Алиев Т.И. Основы моделирования дискретных систем. СПбГУ ИТМО, 2009.

Труб И.И. Объектно-ориентированное моделирование на С++. Учебный курс. Питер, 2006.

© СТА-ПРЕСС

Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

20.11.2013 190 0
Комментарии
Рекомендуем
К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения  концепции поляритонов

К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения концепции поляритонов

В прошлом году в журнале «Современная электроника» были опубликованы три статьи, посвящённые юбилею выдающегося российского физика-теоретика Игоря Евгеньевича Тамма (СОЭЛ № 7–9, 2025). В частности, были описаны современные быстродействующие электрооптические модуляторы, поверхностные состояния Тамма, запрещённые фотонные зоны и фотонные кристаллы. В этих статьях умышленно не затрагивались темы поляритонов, оптических состояний Тамма (ОСТ) и плазмон-поляритонов Тамма (ППТ). Поскольку ключевой вклад в раннюю разработку этих явлений в основном принадлежит российским учёным, целесообразно посвятить их открытию более подробные отдельные статьи. Ниже рассмотрены два основных типа гибридных фотонных частиц: экситон-поляритоны и фонон-поляритоны.  
24.04.2026 СЭ №4/2026 244 0
Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

«…Наступит время… когда миллионы таких приборов, таких "электрических глаз" будут всесторонне обслуживать общественную и частную жизнь, науку, технику и промышленность…» Б. Розинг Семён Исидорович Катаев (1904–1991 гг.), советский учёный и изобретатель в области телевидения, доктор технических наук, профессор, заслуженный деятель науки и техники – незаслуженно обделён вниманием популяризаторами истории электроники и телевидения в нашей стране. Тем не менее И.С. Катаев внёс значительный вклад в развитие инженерной мысли в СССР при разработке и усовершенствовании электронно-лучевых трубок (ЭЛТ), ставших на многие годы ключевой технологией, лежащей в основе экранов телевизоров и оборудования различного назначения. Катаев дополнил изобретение Зворыкина и по праву может считаться ещё одним «отцом» отечественного телевидения. В найденных документах роль Катаева прослеживается чётко, и в статье мы хотим это показать.
23.04.2026 СЭ №4/2026 243 0
Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления –  на примере AE-Skin

Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления – на примере AE-Skin

Путь будущих разработок в области современной электроники пролегает от визуального отображения окружающего пространства до тактильного. В этой связи представляют интерес система Bioinspired Adaptable Multiplanar mechano-vibrotactile Haptic (BAMH) – пневматически активируемый роботизированный электронный комплекс с интерфейсом из мягкого материала и система AE-Skin, обеспечивающая интерфейс между кожей человека и физическими поверхностями. Принцип её действия достаточно известен и заложен в управлении интерактивными экранами. В первой части статьи рассматриваются особенности новых разработок в области медицинской электроники и перспективы тактильного воздействия на кожу человека для лечения и изменения настроения. Во второй части представлен подробный разбор AE-Skin и примеры её совершенствования во всех сферах жизни человека: от управления посредством электронных тактильных датчиков миниатюрной формы до устройств на основе новых технологий, воспринимающих движения руками без прикосновения и без применения пироэлектрических детекторов, как управляющие сигналы для РЭА.
17.04.2026 СЭ №4/2026 261 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjdWbKyt
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnje2F5cn
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться