Средства отладкиРассматриваемые в этом разделе 8–разрядные микроконтроллеры (МК) ис­пользуются во встраиваемых системах управления, разработка которых затраги­вает все этапы проектирования: составление алгоритма функционирования и исход­ного текста программы, выбор элементной базы, автономную и полную отладку аппаратных средств и программного обеспечения системы, вплоть до совмест­ной отладки с объектом управления в реальном времени. Ниже рассматриваются основные средства и способы, используемые для отладки микроконтроллерных систем управления.

Программные симуляторы. Назначение. Программный симулятор пред­назначен для имитации на инструментальном (персональном) компьютере ра­боты контроллера при выполнении разработанной программы управления и представляет собой программно–логическую модель проектируемого устройства. Симуляция, или тестирование программы на компьютере, предоставляет разра­ботчику широкие возможности для контроля ее исполнения, выявления алгорит­мических неточностей и требуемых ресурсов проектируемой системы. Для ими­тации внешних условий и ситуаций используются файлы входных воздействий, которые задают последовательность сигналов, поступающих на моделируемое устройство. Входные сигналы имитируют воздействие на устройство и позволяют при выполнении программы контролировать его состояние в различные моменты времени.

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

Полноэкранный графический интерфейс пользователя современных симуляторов позволяет:

●     быстро проверить правильность алгоритма выполнения программы и отдель­ных операций;

●     вести наблюдение за исполнением любого фрагмента программы и реакцией микроконтроллера на различные события;

●     исследовать ситуации, трудно воспроизводимые на реальной аппаратуре.



Особенность программных симуляторов: исполнение программ, загружен­ных в симулятор, происходит в масштабе времени, отличном от реального.

Основные функции. Основными функциями программных симуляторов являются:

●     загрузка файлов программ управления в широко распространенных форматах,

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

●     контроль и модификация состояния ресурсов симулируемого микроконтрол­лера, содержимого ячеек памяти и регистров; встроенных периферийных устройств (таймеров, портов, АЦП, систем прерываний и др.). В процессе вы­полнения программы на экране компьютера отображается текущее состояние модели;

●     высокоуровневая символьная отладка программ при условии использования компиляторов, поставляющих необходимую отладочную информацию. Такую возможность предоставляют высокоуровневые симуляторы–отладчики (HighLevel Debuggers);

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

Дополнительные возможности. К ним следует отнести:

●     использование специальных файлов входных воздействий, которые позволяют задать симулятору различные комбинации входных потоков данных и формы сигналов. Входные сигналы изменяют состояние устройства в различные мо­менты времени и позволяют контролировать выполнение операций в течение определенного числа машинных циклов. Для понимания работы устройства эти файлы обычно пишутся в текстовом формате, поэтому на их создание затрачивается много времени;

●     интерфейс внешней среды, позволяющий пользователю создавать и гибко использовать модель внешней среды микроконтроллера, функционирующую и взаимодействующую с отлаживаемой программой по заданному алгоритму;

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

Основными характеристиками, определяющими качество и функциональ­ность симулятора, являются:

●     перечень поддерживаемых микроконтроллеров и встроенных узлов периферии, а также компиляторов и форматов;

●     скорость, детальность и точность симуляции.

К достоинствам программной симуляции следует отнести:

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

●     отсутствие в ограничении ресурсов МК при отладке программы управления;

●     использование при симуляции исходного текста программы, а не файлов, сгенерированных компилятором (объектного кода) значительно упрощает контроль выполнения программы;

    сравнительно низкая стоимость;

●     расширение воспроизводимости путем использования файлов входных воз­действий.

Недостатки программной симуляции:

●     невозможность использования реальных источников входных сигналов и фор­мирования реальных выходных сигналов управления. Разработка файла вход­ных воздействий может потребовать много времени и больших затрат;

●     использование виртуального микроконтроллера не позволяет получить пол­ностью достоверных результатов и требует дополнительной отладки реально­го устройства.

Таким образом, программный симулятор можно использовать как виртуальный микроконтроллер, алгоритмы работы которого полностью совпадают с алгорит­мами работы реального контроллера, при этом:

●     имеются широкие дополнительные возможности по вмешательству в процесс исполнения тестируемой программы управления;

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

Этап моделирования на программном симуляторе проводится на самой ран­ней стадии работы над проектом, когда аппаратная часть находится еще в стадии проектирования.

Для иллюстрации возможностей внутрисхемных эмуляторов, приведем крат­кое описание программного отладчика–симулятора PDSPIC, разработанного и поставляемого российской фирмой «Фитон».

Программный отладчик–симулятор PDSPIC. Отладчик–симулятор PDSPIC работает в среде Windows® и предназначен для написания и отладки программ, ориентированных на микроконтроллеры PICMicro фирмы Microchip. В его состав входят:

●     встроенный многооконный редактор, поддерживающий операции с блоками текста поиск/замену, цветовое выделение синтаксических конструкций ас­семблера;

●     встроенный менеджер проектов, поддерживающий автоматическую компиля­цию программ, написанных для макроассемблера PASMPIC и для макроас­семблера MPASM фирмы Microchip;

●     средства отладки программ, обеспечивающие отслеживание выполнения программы по ее исходному тексту, просмотр и изменение значений любых переменных, анализ эффективности программного кода, точку останова по условию и доступу к ячейкам памяти, просмотр стека вызовов подпрограмм, точный подсчет интервалов времени, выполнение программы назад в поша­говом и непрерывном режиме и многое другое;

●     средства моделирования встроенных в микроконтроллер периферийных уст­ройств (таймеров, АЦП, системы прерываний, портов и др.) и внешней среды (например, можно задавать различные периодические и непериодические внешние сигналы на выводах микроконтроллера, моделировать работу внеш­ней логики, наглядно отображать различные индикаторы, строить графики, моделировать клавиатуру);

●     средства пользовательского интерфейса, обеспечивающего:

•      сохранение конфигурации окон и параметров настройки;

•      сохранение и восстановление неограниченного количества файлов конфи­гурации;

•      настройку цветов, шрифтов и других параметров для всех окон одновре­менно и для каждого окна в отдельности;

•      получение справки, относящейся к текущему меню, окну или диалогу.

Внутрисхемные симуляторы. Назначение и состав симулятора. От­личительная особенность внутрисхемного симулятора состоит в том, что они по­зволяют провести отладку не только программного обеспечения, но и аппаратной части разрабатываемого устройства с использованием реального микроконтрол­лера. Тестирование проводится с реальными входными и выходными сигналами, однако программа управления работает в масштабе замедленного времени.

Внутрисхемный симулятор содержит:

● программное обеспечение для инструментального (обычно персонального) компьютера, который имитирует программно–логическую модель целевого МК, включая алгоритмы работы периферийных модулей. На основе целевого МК ведется разработка устройства управления;

●     аппаратные средства, размещенные на отдельной плате. Основным элемен­том платы является реальный МК, в качестве которого может быть использо­ван как целевой (разрабатываемый) контроллер, так и замещающий контрол­лер. В последнем (более распространенном) случае периферийные модули должны быть идентичны модулям целевого контроллера. Число линий портов ввода/вывода замещающего МК может превышать аналогичное число целе­вого МК. Дополнительные линии используются для обмена с инструменталь­ным компьютером. Выводы замещающего контроллера, которые по функцио­нальному назначению совпадают с выводами целевого МК, должны быть вы­ведены на разъем с цоколевкой последнего. Разъем служит для подключения целевого (разрабатываемого) контроллера.

Особенности отладки. Обмен данными между инструментальным компью­тером и платой внутрисхемного симулятора осуществляется в большинстве слу­чаев посредством интерфейса 138–232.

Так же, как и в программном симуляторе, отлаживаемая программа управле­ния, или прикладная программа, выполняется инструментальным компьютером под управлением специальной программы монитора, которая осуществляет:

●     загрузку и выполнение (в пошаговом или непрерывном режимах) прикладной программы;

●     остановку в контрольных точках;

●     модификацию прикладной программы;

●     чтение/запись памяти и регистров.

Программа монитора хранится в ПЗУ замещающего МК. При прогонке прикладной программы:

●     состояния входов целевого МК считываются с входов замещающего МК и пе­редаются в инструментальный компьютер;

●     сформированные в инструментальном компьютере выходные сигналы посту­пают на соответствующие выводы замещающего МК, а затем на одноимен­ные контакты разъема целевого МК.

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

Достоинство внутрисхемных симуляторов: возможность совместной отладки аппаратной и программной частей устройства с объектом управления при сохра­нении доступа разработчика ко всем внутренним ресурсам МК; недостаток — замедленное исполнение алгоритма управления, что заставляет предъявлять оп­ределенные требования к быстродействию объекта управления и МК.

Отладочные платы. Особенности отладочных плат. Основные особенности отладочных плат (Evaluation Board), или оценочных модулей, состоят в следующем:

●     подлежащую отладке программу управления исполняет реальный целевой микроконтроллер (МК), используемый в разрабатываемом устройстве;

●     отладка программного обеспечения и аппаратной части разрабатываемого устройства (приложения) реализуется в реальном времени;

●     параметры входных и выходных сигналов МК отладочной платы совпадают с аналогичными параметрами целевого МК на плате конечного изделия.

Отладочные платы включают аппаратные и программные средства.

Аппаратные средства отладки содержат:

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

●     память программ, состоящая из постоянной и оперативной памяти. В посто­янной памяти размещаются программа обмена с персональным компьюте­ром и программа монитора отладки, в оперативной памяти — разрабатывае­мая программа управления;

●     набор периферийных средств: простейшая клавиатура, индикаторы в виде светодиодов и др.;

●     последовательный интерфейс для связи с инструментальным (персональным) компьютером.

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

●     загрузить код прикладной программы из инструментального компьютера в оперативную память отладочной платы, а также внутренние регистры микро­контроллера требуемыми данными (с консоли);

●     запустить прикладную программу на исполнение в непрерывном режиме, по шагам или с остановом в контрольных точках;

●     передавать в инструментальный компьютер состояния внутренних программ­но доступных регистров и ячеек памяти контроллера после останова в конт­рольных точках для отображения их состояния на экране дисплея.

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

Недостаток состоит в том, что часть ресурсов МК (например, контроллер последовательного интерфейса, таймер, ячейки оперативной памяти) задейство­вана для выполнения программы монитора отладки и не может быть использова­на разработчиком при моделировании прикладной программы.

Схемные эмуляторы. Назначение. Схемный (внутрисхемный) эмулятор (lnCircuit EmulatorICE) представляет собой программно–аппаратный комплекс, предназначенный для отладки программного обеспечения и аппаратной части разрабатываемого устройства в реальном времени. При эмуляции связь с инст­рументальным компьютером и управление режимами отладки возложены на за­мещающий контроллер, входящий в состав схемного эмулятора, благодаря чему:

●     при отладке разрабатываемой программы отсутствуют ограничения в исполь­зовании внутренних ресурсов моделируемого микроконтроллера;

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

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

●     для проведения отладки в непрерывном режиме и между точками останова;

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

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

Функциональные возможности. Схемный эмулятор позволяет:

●     загружать отлаживаемую программу в память системы и выполнять ее в по­шаговом или непрерывном режиме, останавливать программу при выполне­нии заданных условий;

●     выводить на монитор состояния и содержимое всех регистров и памяти и при необходимости модифицировать их;

●     вести символьную отладку, т. е. одновременно контролировать ход выполнения программы и наблюдать соответствие между исходным текстом программы и состоянием всех ресурсов эмулируемого микроконтроллера. Символьная отладка позволяет оперировать с более приемлемыми для человека символь­ными именами, не требуя запоминания машинных кодов команд и адресов;

●     выполнять трассировку, т. е. вести для последующего анализа запись внеш­них сигналов и (или) состояния внутренних регистров микроконтроллера;

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

Наличие в программной оболочке эмулятора встроенного редактора, встроенного менеджера проектов и системы управления облегчает отладку, избавляет разработчика от множества рутинных действий. При этом предоставляется воз­можность управлять не только процессом эмуляции, но и поддерживать в целом процесс отладки, начиная от написания исходного текста программы до ее компиляции и отладки, обеспечивается простое и быстрое взаимодействие с другими инструментальными средствами (программным отладчиком–симулятором и программатором).

Состав и устройство эмулятора. В состав эмулятора входят следующие блоки:

●     замещающий контроллер (эмуляторный кристалл), размещенный в эмуляторной головке. Замещающий контроллер работает под управлением компьютера. Для работы с семейством микроконтроллеров используется определенный тип эмуляторов, причем для эмуляции каждой модели семейства предусмот­рена соответствующая эмуляторная головка;

    блок памяти трассы, в котором хранятся значения сигналов, устанавливаемых на выводах микроконтроллера в процессе выполнения программы (возможно содержимое некоторых регистров);

●     блок контрольных прерываний для останова в контрольных точках, заданных пользователем с клавиатуры компьютера;

●     оперативная память (ОЗУ), которая заменяет в процессе отладки внутреннее ПЗУ команд микроконтроллеров (возможно, другие разделы памяти, внешний доступ к которым в процессе отладки ограничен). Благодаря такой замене можно в процессе отладки производить оперативное изменение содержимо­го этой памяти. После отладки содержимое эмуляционного ОЗУ переносится в рабочее ПЗУ системы;

●     таймер для контроля времени выполнения отлаживаемых фрагментов про­граммы.

Конструктивно схемный эмулятор представляет собой прибор, размещенный в отдельном корпусе с автономным источником питания. С инструментальным компьютером он связан через последовательный или параллельный порт. Эмуляторная головка с помощью плоского кабеля соединена с корпусом прибора. За­мещающий контроллер, подключается:

●     с одной стороны к внешней памяти программ ОЗУ, используемой вместо внутренней памяти EPROM или ROM целевого МК, и схеме управления. Внеш­няя память ОЗУ подключена к инструментальному компьютеру;

●     с другой стороны к отлаживаемому устройству (схеме приложения), заменяя в нем целевой микроконтроллер.

рис. 5.4.1

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

Процесс отладки. С помощью схемного эмулятора в систему вводится те­стовая (или рабочая) программа и контролируется ее выполнение путем преры­ваний в контрольных точках. Условиями прерываний служат различные комбина­ции значений адреса, данных и управляющих сигналов, поступающих на выводы эмулирующего микроконтроллера. Эти комбинации могут быть заданы пользова­телем с клавиатуры управляющего компьютера. После останова на экран выво­дится полная информация о текущем состоянии любых регистров и ячеек памяти системы. Используя память трассы, можно просмотреть состояния системной шины для определенного числа предыдущих циклов выполнения программы. Па­мять трассы работает аналогично памяти рассмотренных ниже логических анали­заторов. Число устанавливаемых контрольных точек обычно составляет несколь­ко десятков. Время выполнения фрагментов программы задает таймер с учетом реальной тактовой частоты системы. Дизассемблер дает возможность анализи­ровать выполнение программы в соответствии с ее исходным текстом на языке ассемблера.

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

●     служебную программу (монитор), которая обеспечивает работу всех блоков под управлением базового компьютера;

●     компилятор (или ассемблер), который позволяет программировать работу си­стемы на языке высокого уровня (или ассемблера);

●     отладчик.

Эти программные средства обычно функционируют в составе интегрирован­ной среды проектирования/отладки и обеспечивают в процессе отладки выдачу данных на экран монитора в удобном для пользователя многооконном формате. Большинство современных эмуляторов используют символьные отладчики и дизас­семблеры, применение которых делает процесс отладки более простым и на­глядным.

Упрощенные модели эмуляторов. Схемные эмуляторы с набором пе­речисленных выше функций называют отладочными комплексами, или системами развития (Development System). Наряду с такими сложными и дорогими моделя­ми выпускаются упрощенные варианты схемных эмуляторов, реализованные на одной печатной плате. Они позволяют выполнять отладку систем малой и сред­ней сложности, имеют на порядок более низкую стоимость, поэтому находят до­статочно широкое практическое применение.


Рекомендуйте эту статью другим!



Электродвигатели в системе СН электростанций
июнь 20, 2013 2363

Электродвигатели в собственных нуждах электростанций, самозапуск, типы двигателей

Положительные свойства асинхронных электродвигателей с короткозамкнутым ротором…
рис. 1.55
сен 01, 2016 922

Устройство и основные физические процессы биполярных транзисторов

Устройство транзистора. Биполярный транзистор в своей основе содержит три слоя…
Максимальная токовая отсечка
янв 01, 2014 3544

Максимальная токовая отсечка при защите электродвигателей.

Согласно ПУЭ с целью эффективной защиты двигателей от междуфазных коротких замыканий с…
дек 23, 2012 10797

Выбор силовых трансформаторов по мощности, нагрузке и режимам работы

Расчетный срок службы трансформатора обеспечивается при соблюдений условий: При…
янв 29, 2013 3289

Результаты диагностики/испытаний кабельных линий 6 - 25 кВ, статистика, сводная таблица

Фактические результаты по диагностике кабелей 6…25 кВ. Испытания изоляции кабелей…