Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Особенности программирования и отладки

Поиск

Анализ архитектуры микроконтроллеров PIC с точки зрения их программирования и отладки систем позволяет сделать следующие выводы:

  • RISC-система команд обеспечивает высокую скорость выполнения инструкций, но вызывает затруднения и снижение производительности при программировании нетривиальных алгоритмов. Поскольку все инструкции в системе команд являются одноадресными, загрузка константы в любой из регистров требует двух инструкций. Вначале нужно загрузить константу в рабочий регистр w, а затем переслать его содержимое в нужную ячейку памяти данных:
· movlw k· movwf f

Аналогично, все бинарные арифметико-логические операции приходится выполнять с привлечением рабочего регистра w;

  • высокое быстродействие достигается в значительной степени за счет применения конвейера команд. Инструкции ветвления, изменяющие счетчик команд (безусловный переход, вычисляемый переход), не используют инструкцию из очереди, поэтому выполняются за два машинных цикла и снижают темп выполнения программы. Кроме того, сам анализ условий в архитектуре PIC требует выполнения «лишних» команд;
  • наличие одного вектора прерываний, отсутствие развитого механизма обработки запросов по приоритетам и вложенных прерываний затрудняют решение сколько-нибудь сложных задач управления. При приходе запроса от любого из источников выполняется переход на процедуру обработки по единственному вектору. В процедуре приходится по битам признаков определять источник, причем условия ветвления, как указывалось выше, анализируются сложно, и все это увеличивает время реакции. После обработки прерывания нужно самостоятельно очистить бит запроса. Из-за отсутствия вложенных прерываний возможно длительное ожидание обработки запросом от источника с более высоким приоритетом;
  • аппаратный стек глубиной 8 слов не имеет признака переполнения и ограничивает вложенность процедур. За тем, чтобы он не переполнялся, программист должен следить самостоятельно;
  • память данных состоит из банков, для определения текущего банка используются биты регистров STATUS (для PIC16) или BSR (для PIC17). На этапе трансляции принадлежность указанного регистра текущему активному банку проверить невозможно, для этого требуется моделирование хода выполнения программы;
  • память программ разбита на страницы размером 2К слов. Для перехода на нужный адрес по командам CALL и GOTO должны быть правильно установлены биты выбора текущей страницы в регистре PCLATH. На этапе трансляции невозможно проверить корректность передачи управления во время выполнения, для этого также требуется моделирование выполнения программы;
  • ограниченность ресурсов МК серии PIC делает проблематичным их программирование на языках высокого уровня.

Указанные особенности архитектуры микроконтроллеров PIC компенсируются чрезвычайно низкой ценой, поэтому такие изделия (особенно семейства PIC16) весьма популярны. В настоящее время их используют даже вместо логических ИС средней степени интеграции. Но реализовать все преимущества этих МК можно только при наличии средств программирования и отладки, адекватных по цене и функциональным возможностям решаемым задачам. Важнейшие требования к инструментальным средствам для МК, ориентированным на выполнение функций ввода-вывода, можно сформулировать следующим образом:

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

Разработка микропроцессорной системы на основе микроконтроллера

Основные этапы разработки

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

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

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


Рис. 6.1. Основные этапы разработки контроллера.

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

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

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

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

При выборе типа МК учитываются следующие основные характеристики:

  • разрядность;
  • быстродействие;
  • набор команд и способов адресации;
  • требования к источнику питания и потребляемая мощность в различных режимах;
  • объем ПЗУ программ и ОЗУ данных;
  • возможности расширения памяти программ и данных;
  • наличие и возможности периферийных устройств, включая средства поддержки работы в реальном времени (таймеры, процессоры событий и т.п.);
  • возможность перепрограммирования в составе устройства;
  • наличие и надежность средств защиты внутренней информации;
  • возможность поставки в различных вариантах конструктивного исполнения;
  • стоимость в различных вариантах исполнения;
  • наличие полной документации;
  • наличие и доступность эффективных средств программирования и отладки МК;
  • количество и доступность каналов поставки, возможность замены изделиями других фирм.

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

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

Однако для реализации на практике возможности выбора оптимального МК необходима достаточно глубокая проработка алгоритма управления, оценка объема исполняемой программы и числа линий сопряжения с объектом на этапе выбора МК. Допущенные на данном этапе просчеты могут впоследствии привести к необходимости смены модели МК и повторной разводки печатной платы макета контроллера. В таких условиях целесообразно выполнять предварительное моделирование основных элементов прикладной программы с использованием программно-логической модели выбранного МК.

При отсутствии МК, обеспечивающего требуемые по ТЗ характеристики проектируемого контроллера, необходим возврат к этапу разработки алгоритма управления и пересмотр выбранного соотношения между объемом программного обеспечения и аппаратных средств. Отсутствие подходящего МК чаще всего означает, что для реализации необходимого объема вычислений (алгоритмов управления) за отведенное время нужна дополнительная аппаратная поддержка. Отрицательный результат поиска МК с требуемыми характеристиками может быть связан также с необходимостью обслуживания большого числа объектов управления. В этом случае возможно использование внешних схем обрамления МК.

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

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

Нельзя не упомянуть здесь о новой идеологии разработки устройств на базе МК, предложенной фирмой «Scenix». Она основана на использовании высокоскоростных RISC-микроконтроллеров серии SX с тактовой частотой до 100 МГц. Эти МК имеют минимальный набор встроенной периферии, а все более сложные периферийные модули эмулируются программными средствами. Такие модули программного обеспечения называются «виртуальными периферийными устройствами», они обеспечивают уменьшение числа элементов контроллера, времени разработки, увеличивают гибкость исполнения. К настоящему времени разработаны целые библиотеки виртуальных устройств, содержащие отлаженные программные модули таких устройств как модули ШИМ и ФАПЧ, последовательные интерфейсы, генераторы и измерители частоты, контроллеры прерываний и многие другие.



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 409; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.55.63 (0.007 с.)