Рис. 11. Окно "Create new Project"
определить опции проекта: Debug Platform - AVR Simulator, тип мик роконтроллера Device - AT90S8535. Если проект уже существует, можно открыть его для работы тем же меню Project (или меню File). Окно с открытым для работы проектом появится в рабочем поле.
2.Если в открытом проекте уже есть файлы программ на ассемблере (с расширением .asm), они будут отображены в окне "Workspace" и их можно открыть в рабочем поле двойным щелчком левой кнопки мыши. Создать новые файлы (Create new file) или добавить к проекту создан
ные ранее файлы (Add existing file) можно с помощью контекстного меню (или меню Project), доступ к контекстному меню открывается щелчком правой кнопки мыши в окне Workspace (рис. 10). Каждый файл на рабочем поле отображается отдельным окном. Работа с окна ми, подготовка и редактирование текстов выполняются стандартными средствами Window's-приложений.
Компилятор ассемблера может работать только с одним файлом, поэто му необходимо указать для компилятора исходный файл в контекстном ме ню (Set as Entry File). После этого можно выполнить запуск компилятора из меню Project - пункт Build (F7) или соответствующей кнопкой панели инструментов. По завершении ассемблирования компилятор сформирует в окне "Output" (рис. 10) сообщение о результатах. Если синтаксических ошибок нет, выходной файл сформирован.
Обнаруженные ошибки будут указаны компилятором (окно "Output"), в сообщении указываются тип ошибки и номер строки в исходной програм ме. Отметить строку с ошибкой в исходном тексте можно двойным щелч ком левой кнопки мыши на сообщении об ошибке.
125
Предварительная проверка подготовленной программы после устране ния синтаксических ошибок производится с помощью симулятора (Debug Platform - AVR Simulator). Запуск симулятора производится из меню Pro ject - пункт Build and Run (Ctrl+F7) или соответствующей кнопкой пане ли инструментов. Включение различных функций симулятора, режимы их моделирования определяются различными меню пакета AVR Studio или кнопками панели инструментов (более подробную информацию об этом можно найти в меню Help).
Рис. 12. Окно I/O
126
Отображение результатов работы программы в симуляторе производит ся в окне "Workspace" переключением в режим I/O (рис. 12). В этом окне можно отображать содержимое всех регистров и ячеек памяти микрокон троллера. При использовании пошагового режима выполнения программ на любом этапе можно производить изменение данных вводом с клавиату ры PC новых значений в двоичном, шестнадцатеричном или десятичном формате. Аналогичные операции можно выполнять с помощью окон "Watch", формируя в этих окнах произвольный и более удобный для рабо ты с программой набор отображаемых элементов микроконтроллера.
После проверки корректности программы симулятором можно с помо щью программатора произвести запись подготовленного Hex-файла в па мять микроконтроллера. Необходимо учитывать, что симулятор не позво ляет моделировать все необходимые функции. Окончательное тестирова ние программы может проводиться только на лабораторном стенде с мик роконтроллером [2].
Для записи подготовленного Hex-файла в микроконтроллер необходимо подключить лабораторный стенд к СОМ-порту компьютера (в стенде ис пользуется разъем DB15F с надписью AVR studio Prog) и включить пита ние. После включения стенда программатор AVR Studio может работать, его запуск производится из меню Tools пунктом AVR Prog. Управление программатором производится в открывшемся после запуска окне AVRprog на рабочем поле.
В окне программатора необходимо выбрать записываемый в микрокон троллер Нех-файл (кнопка Browse, файл после компиляции находится в папке проекта, с которым Вы работаете). В строке Device выбрать тип мик роконтроллера (AT90S8515) и запустить программатор в режиме програм мирования флэш-памяти программ кнопкой Program в области Flash окна программатора. Для управления программированием EEPROM в окне про грамматора предусмотрена специальная область. Устройство начинает ра ботать сразу после завершения программирования.
5.4. Особенности применения микроконтроллеров AVR
Как устройство управления микроконтроллер должен обеспечивать при ем сигналов, характеризующих состояние объекта управления, обрабаты вать эти сигналы в соответствии с реализуемым алгоритмом управления, формировать и передавать управляющие воздействия, отображать в уст ройствах индикации информацию о текущем состоянии объекта и режимах его работы. Кроме этого, практически всегда необходимо управление па раметрами и режимами работы, которое производится с пульта управления, содержащего кнопки пуска, останова, сброса, изменения заданных значе ний рабочих параметров и т.п. Все необходимые элементы должны проек тироваться параллельно с разработкой общего алгоритма работы микро-
127
контроллерной системы управления. Пример такого решения задачи рас смотрен в разделе 5,2.
Рекомендации по применению программно-аппаратных средств микро контроллера приведены ранее. Подключение к микроконтроллеру допол нительных внешних элементов и устройств должно производиться с согла сованием электрических и временных параметров сигналов, алгоритмов обмена, нагрузочной способности и т.п. Если в сигнальных цепях возможна передача напряжений, превышающих напряжение питания микроконтрол лера, применение устройств гальванической развязки обязательно. Приве денные далее параметры сигналов соответствуют стандартному напряже нию питания микроконтроллера +5 В.
При выборе портов ввода-вывода микроконтроллера для приема или вы дачи логических сигналов необходимо учитывать альтернативные функции этих портов. Если определенные аппаратные средства применяются при решении задачи, соответствующие их функциям входы и выходы портов жестко закреплены. Поэтому перед распределением функций портов необ ходимо определить функции и режимы аппаратных средств микроконтрол лера и используемые ими линии ввода-вывода.
Уровни сигналов микроконтроллера соответствуют стандартным логи ческим сигналам для напряжения питания +5 В. Нагрузочная способность портов в режиме вывода - 20 мА, однако не рекомендуется нагружать этим максимальным током более трех выходов одновременно. Входное сопро тивление в режиме ввода высокое, даже при использовании внутренних ре зисторов портов для задания пассивного высокого уровня сигнала допол нительный ток входных цепей не превышает нескольких мкА. Если требу ются логические сигналы с другими параметрами на входах или выходах микроконтроллера, должны использоваться схемы сопряжения (транзи сторные ключи, интегральные схемы преобразователей уровня, усилители мощности и т.п.) с необходимыми характеристиками преобразования.
Логические сигналы для управления параметрами и режимами работы удобно формировать кнопками с замыкающими контактами. Если на входе управления задать пассивный высокий уровень и второй контакт кнопки подключить к общему проводу, то замыкание контактов кнопки легко идентифицируется низким уровнем сигнала на входе порта и не требуется подключения никаких дополнительных элементов. При обработке сигналов кнопок или других устройств с механическими контактами (реле, концевые выключатели, клавиатура и т.п.) необходимо учитывать "дребезг" контак тов- В микроконтроллере устранение "дребезга" можно выполнить без применения дополнительных внешних устройств, установив период по вторного опроса этих линий ввода около 100 мс с помощью одного из тай меров.
Индикацию простых логических сигналов можно выполнить подключе нием светодиодов через токоограничивающие резисторы непосредственно
128
к выходам портов микроконтроллера. Отображение более сложной инфор мации (цифровые, символьные или матричные индикаторы) целесообраз нее обеспечивать с помощью дополнительных внешних устройств и вы полнять вывод необходимых данных в последовательном формате, напри мер, через интерфейс SPI.
Преобразование аналоговых сигналов, поступающих на линии ввода порта А, в цифровой формат производится 8-канальным десятиразрядным АЦП. Диапазон преобразуемых напряжений зависит от опорного напряже ния UREF, подаваемого на вход AREF микроконтроллера. Цифровой код N и амплитуда входного сигнала UBX определяются следующим образом:
U -и I
U B X - U R E F 2 l o '
Рекомендуется значение UR£F ОКОЛО 4 В, тогда при изменении амплиту ды сигнала UBX от 0 до 4 В цифровой код N будет изменяться от $000 до $3FF, соответствие между амплитудой сигнала и цифровым кодом можно найти по приведенной выше формуле. Так как точность формирования UREF существенно влияет на точность преобразования АЦП, в качестве источни ков опорного напряжения необходимо применение специализированных прецизионных интегральных микросхем. Например, микросхема REF198E (Analog Devices) при напряжении питания 5 В позволяет получить напря жение 4,096 В с точностью ±2 мВ и весьма низким температурным и вре менным дрейфом.
Нельзя подавать на входы микроконтроллера напряжение более 4,7 В, использование же слишком низких значений опорного напряжения приве дет к снижению точности преобразования особенно при малых уровнях сигналов. Рекомендуемое значение тактовой частоты АЦП 50 кГц - 200 кГц, при более высоких тактовых частотах работа возможна, но снижается точность преобразования.
ЦАП для формирования аналоговых выходных сигналов в составе мик роконтроллера не предусмотрен. При необходимости можно использовать только внешний ЦАП, передавая для него цифровые сигналы через интер фейсы микроконтроллера. Однако в большинстве применений необходи мые аналоговые сигналы можно формировать с помощью таймеров микро контроллера в режиме модуляторов ШИМ. Как известно, при использова нии ШИМ усиление сигналов по мощности производится более простыми средствами, необходимы только дополнительные силовые сглаживающие фильтры для получения приемлемых уровней пульсаций аналоговых вы ходных сигналов.
129