СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2013

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 58 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2013 Моделирование МК с использованием объектно-ориентированных языков высокого уровня Статья посвящена составлению имитационной модели микроконтроллера на языке Java. Объектом исследования является взаимодействие ядра микроконтроллера с АЦП и последовательным портом (UART, SPI, I 2 C и др.) Приведены результаты работы модели. Константин Оськин (г. Пермь) П РОБЛЕМА ИССЛЕДОВАНИЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ Анализ литературы [1–3] показывает, насколько многогранной может быть задача описания характеристик работы микропроцессорной системы в целом и микроконтроллера в частности. Как правило, разработанные методики сво- дятся к представлению процессорной системы в качестве системы массо- вого обслуживания (СМО) или более сложной структуры – сети массового обслуживания (СеМО). Затем каждый процесс микроконтроллера представ- ляется в виде потока заявок, который в классической теории СМО рассматри- вается как Марковский поток либо как композиция Марковских потоков. Более прогрессивными методами анализа являются асимптотические методы расчёта циклических систем [2]. В этом случае микроконтроллер рас- сматривается как циклически функци- онирующая система, внутри которой действуют несколько потоков, облада- ющих разными приоритетами. Досто- инством этого метода является просто- та расчёта среднего времени прерыва- ния неприоритетной заявки, общего времени выполнения заявки, а также дисперсии и коэффициентов вариа- ции этих величин. На практике существенной пробле- мой становится ограничение на вид потока заявок: Марковский поток бли- зок к реальному, но не воспроизводит поток системы, а рассмотрение более сложных видов потоков требует спе- циальных знаний в области теории вероятностей, высшей математики, прикладной теории СМО и занимает много времени, поскольку все мето- ды содержат множество вычислений параметров. Казалось бы, проще сделать систему без каких-либо вычислений, однако современные архитектуры процессо- ров ARM и Cortex обладают такой раз- витой периферией, что расчёт делать придётся. И тут вспоминается ещё один инструмент – имитационное модели- рование, которое позволяет наглядно представить функционирование систе- мы в целом и выделить места, оказыва- ющие наибольшее влияние на произ- водительность. Имитационное моделирование поз- воляет разработчику заранее прове- сти оптимизацию системы с целью повышения её быстродействия. Одна- ко сложности возникают и здесь. Среди наиболее распространённых средств имитационного моделиро- вания можно выделить специализи- рованный язык GPSS, а также среду Matlab+Simulink. Основным преиму- ществом специализированных средств является набор готовых конструкций и функций, например, генераторов слу- чайных чисел, подходящих для всех моделей. Как отмечено в [4], среди десятков языков моделирования невозможно выделить лучший, который превос- ходил бы остальные по всем показате- лям, – каждый имеет свои достоинства и недостатки, а также узкую область применения. Кроме того, большинство языков моделирования являются ком- мерческими продуктами, что наклады- вает ограничение на их использование. Вторым фактором является слож- ность практического использования специализированных языков. В луч- шем случае, познания среднестатисти- ческого инженера в области языка GPSS ограничены вводным курсом, прослу- шанным в вузе. Третий, и, пожалуй, самый главный недостаток заключается в том, что соз- даваемая при помощи специализиро- ванного языка модель оказывается жёстко ограниченной рамками дан- ного средства, что снижает гибкость её описания. В отличие от моделирования с использованием специализирован- ных средств, моделирование с исполь- зованием универсальных языков про- граммирования высокого уровня позволяет организовать гибкий подход к исследуемой модели. Вторым досто- инством, актуальным при решении практических задач, является распро- странённость таких языков и богатый опыт программирования, описанный в литературе. Побочным продуктом процесса моделирования системы могут стать алгоритмы и коды, кото- рые можно перенести в рабочий про- ект системы. Автором в качестве средства был выбран язык Java по причине его сход- ства с языком Си. Кроме того, Java – объектно-ориентированный язык, что предоставляет опредёленные удобства в работе с проектом. Однако автор не настаивает на использовании именно этого языка в качестве основного сред- ства моделирования. О СНОВНЫЕ ПОНЯТИЯ Прежде чем приступить к рассмотре- нию процесса моделирования, требу- ется определить основные понятия, которые будут использованы в дан- ной статье. Под заявкой мы будем понимать про- цесс или последовательность действий, которые микроконтроллер выполня- ет при наступлении соответствующе- го события. Трудоёмкость заявки будет равна длительности выполнения этих операций. Например, заявкой будет сообщение, пришедшее по протоколу обмена, а трудоёмкостью – длитель- ность его обработки. Очередь является интуитивно понят- ным термином. Заявки могут накапли- ваться в очереди. Уходом заявки из оче- реди является момент начала её обслу- живания. Примером реальной очереди в микроконтроллерах может быть нако- пление присылаемых байтов в буфере до получения сообщения целиком. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy