Смекни!
smekni.com

Разработка устройства автоматического регулирования света на микроконтроллере (стр. 2 из 18)

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

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

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

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

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

1.2 Разработка и отладка аппаратных средств

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


1.3 Разработка и отладка программного обеспечения

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

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

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

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

1.4 Методы и средства совместной отладки аппаратных и программных средств

Этап совместной отладки аппаратных и программных средств в реальном масштабе времени является самым трудоемким и требует использования инструментальных средств отладки. К числу основных инструментальных средств отладки относятся:

- внутрисхемные эмуляторы;

- платы развития (оценочные платы);

- мониторы отладки;

- эмуляторы ПЗУ.

Внутрисхемный эмулятор – программно-аппаратное средство, способное заменить эмулируемый МК в реальной схеме.

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

Платы развития, или, как принято их называть в зарубежной литературе, оценочные платы (Evaluation Boards), являются своего рода конструкторами для макетирования электронных устройств. Обычно это печатная плата с установленным на ней МК и всей необходимой ему стандартной периферией. На этой плате также устанавливают схемы связи с внешним компьютером. Как правило, там же имеется свободное поле для монтажа прикладных схем пользователя. Иногда предусмотрена уже готовая разводка для установки дополнительных устройств, рекомендуемых фирмой. Например, ПЗУ, ОЗУ, ЖКИ- дисплей, клавиатура, АЦП и др.

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

В последнее время появились модели интеллектуальных эмуляторов ПЗУ, которые позволяют "заглядывать" внутрь МК на плате пользователя.

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

1.5 Выбор микроконтроллера

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

Все эти особенности можно отнести к микроконтроллерам корпорации ATMEL (ATMega 16L).

Корпорация ATMEL, основанная в 1984, является в настоящее время признанным мировым лидером в областях разработки, производства и маркетинга современных электронных компонентов.

Рисунок 1.2 – Общий вид микроконтроллера ATMega 16L

ATMega16 обладает очень большим количеством самых разнообразных функций. Вот некоторые его характеристики:

* Максимальная тактовая частота – 16 МГц (8 МГц для ATMega16L)

* Большинство команд выполняются за один такт

* 32 8-битных рабочих регистра

* 4 полноценных 8-битных порта ввода/вывода

* два 8-битных таймера/счетчика и один 16-битный

* 10-разрядный аналогово-цифровой преобразователь (АЦП)

* внутренний тактовый генератор на 1 МГц

* аналоговый компаратор

* интерфейсы SPI, I2C, TWI, RS-232, JTAG

* внутрисхемное программирование и самопрограммирование

* модуль широтно-импульсной модуляции (ШИМ)

* 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением

* Прогрессивная RISC архитектура


Рисунок 1.3 – Расположение выводов микроконтроллера ATMega 16L

130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл

32 8-разрядных рабочих регистра общего назначения

Полностью статическая работа

Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)

Встроенный 2-цикловый перемножитель

* Энергонезависимая память программ и данных

16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)

Обеспечивает 1000 циклов стирания/записи

Дополнительный сектор загрузочных кодов с независимыми битами блокировки

Внутрисистемное программирование встроенной программой загрузки

Обеспечен режим одновременного чтения/записи (Read-While-Write)

512 байт EEPROM

Обеспечивает 100000 циклов стирания/записи

1 Кбайт встроенной SRAM

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

* Интерфейс JTAG (совместимый с IEEE 1149.1)

Возможность сканирования периферии, соответствующая стандарту JTAG

Расширенная поддержка встроенной отладки

Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки

* Встроенная периферия

Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения

Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения

Счетчик реального времени с отдельным генератором

Четыре канала PWM

8-канальный 10-разрядный аналого-цифровой преобразователь

8 несимметричных каналов