Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Московский Государственный Технический Университет им. Н.Э. Баумана
Факультет Информатики и Систем Управления
Кафедра: «Компьютерные системы и сети»
Утверждаю
Зав. кафедрой ИУ-6
д.т.н., проф. В.В. Сюзев
Микропроцессорные системы
Лабораторная работа №1
Исследование функций стартового набора
STK500 фирмы Atmel
В.Я. Хартов
В.С. Козлов
А.В. Лысенков
Москва
2005
Цель работы: ознакомление с набором STK500 фирмы Atmel, программным обеспечением AVRStudio и правилами работы с STK500.
Теоретическая часть
1. Введение
1.1 Отличительные особенности
Рисунок 1 Набор STK500
1.2 Поддерживаемые типы микроконтроллеров
Системное программное обеспечение в настоящее время поддерживает следующие типы микроконтроллеров с учетом их быстродействия:
ATtiny11 |
AT90S1200 |
AT86RF401 |
Примечание:
Кроме того, STK500 поддерживает ISP-программирование микроконтроллеров AT89S51 и AT89S52.
2. Начинаем работу
2.1 Системные требования
Для нормальной работы с набором требуется ПК, отвечающий следующим требованиям:
2.2 Быстрый старт
Набор STK500 поставляется с микроконтроллером AT90S8515-8PC на панели с маркировкой SCKT3000D3. Исходные установки перемычек обеспечивают работу микроконтроллера совместно с тактовым генератором и стабилизатором напряжения, установленных на плате STK500.
В микроконтроллере запрограммирована тестовая программа, которая управляет светодиодами. Для запуска тестовой программы в AT90S8515 необходимо подключить светодиоды и кнопки, как описано в разделах 3.1, 3.2, 3.3, а затем подать питание.
Используйте 10-проводной шлейф из комплекта для подключения штырьков разъема с маркировкой “PORTB” с разъемом с маркировкой “LEDS”, а затем аналогично соедините разъемы “PORTD” с “SWITCHES”. Результат выполнения соединений представлен на рис.2.1.
Рисунок 2.1 Начальные установки набора STK500
Для работы требуется внешний источник питания 10 15В. Входная схема выполнена как двухполупериодный выпрямитель и STK500 распознает полярность приложенного напряжения. Если к центральному штырьку разъема приложен положительный полюс источника, то это может привести к невозможности выключения STK500, т.к. переключатель питания разрывает цепь GND, а она может быть организована через кабель порта RS-232 или через другое альтернативное подключение. Подключите кабель питания между источником питания и STK500. Подайте 10-15В постоянного напряжения на кабель питания. Перемещением переключателя питания можно включить или отключить STK500. Свечение красного светодиода сигнализирует о подаче питания, а состояние статусного светодиода будет изменяться от красного к желтому, а затем к зеленому. Зеленый цвет светодиода сигнализирует о наличии напряжения VCC (питание микроконтроллера). Программа в AT90S8515 начинает работать, изменяя состояние светодиодов при нажатии на кнопки.
Стартовый набор может настраиваться на различные частоты тактирования и источники питания.
2.2.1 Соединение аппаратных средств
Рисунок 2.2 Подключение к STK500
Для программирования AT90S8515 подключите 6-проводной шлейф из комплекта между разъемами ISP6PIN и SPROG3 (см. рис. 2.1). В разделе 3.7.1 описывается подключение шлейфа программирования.
Соедините кабелем последовательной связи разъем с маркировкой “RS232 CTRL” на оценочной плате и разъем COM-порта персонального компьютера, как показано на рис.2.2. Проинсталлируйте программу AVR Studio на персональном компьютере. После запуска AVR Studio автоматически определяется COM-порт с подключенным STK500.
2.2.2 Программирование целевого AVR-микроконтроллера
AVR Studio интегрированная среда проектирования (IDE), предназначенная для разработки и отладки AVR-приложений. AVR Studio содержит средства управления проектом, редактор исходных файлов, симулятор, интерфейс внутрисхемного эмулятора и интерфейс программирования для STK500.
Для того, чтобы запрограммировать hex-файл в AVR-микроконтроллер, выполните команду “STK500” из меню “Tools” программы AVR Studio.
Выберите тип AVR-микроконтроллера из раскрывающегося списка на закладе “Program” и укажите путь к записываемому intel-hex-файлу в поле «Input HEX File».
Нажмите кнопку “Erase Device” (стирание), расположенную на закладке программирования “Program”. Статусный светодиод светится желтым цветом во время программирования, а после успешного завершения загорается зеленым цветом. После выявления ошибки программирования светодиод загорается красным цветом.
Рисунок 2.3 Меню программирования STK500 в AVR Studio
Рисунок 3.1 - Компоненты STK500
3.1 Описание светодиодов общего назначения
В набор STK500 входят 8 желтых светодиодов и 8 кнопок без фиксации. Светодиоды и кнопки электрически отделены от остальной части платы за счет подключения к собственным разъемам. Таким образом, они могут быть подключены к AVR-микроконтроллерам через 10-проводной шлейф и разъемы портов ввода-вывода. На рисунке 3.4 показано, как светодиоды и кнопки могут быть подключены к разъемам портов ввода-вывода. Шлейфы должны быть подключены непосредственно между разъемами портов и разъемами светодиодов или кнопок. Шлейф не должен скручиваться. Красный проводник шлейфа соединен с выводом 1 разъемов. Следите, чтобы шлейф был правильно подключен к выводам каждого разъема платы. На рисунке 3.2 показано как реализовано управление светодиодом. Данное решение позволяет получить одинаковую интенсивность свечения светодиода при нахождении напряжения питания микроконтроллера в диапазоне 1.8В…6.0В.
Рисунок 3.2- Схема включения светодиода и подключения светодиодов к разъему
Примечание: Порты AVR-микроконтроллеров могут управлять непосредственно светодиодной нагрузкой, как втекающим током, так и вытекающим. Однако в STK500 используются транзистор и два резистора для поддержания постоянной яркости свечения светодиодов при любом значении напряжения питания микроконтроллера (VTG), а также для выключении светодиодов, когда VTG отсутствует.
3.2 Описание кнопок общего назначения
Кнопки подключены к разъему по схеме, изображенной на рисунке 3.3. При нажатии на кнопку на выводе SWn будет низкий уровень напряжения, а при отпускании высокий (VTG). Рабочий диапазон напряжения VTG =1.8…6.0В.
Рисунок 3.3 Схема включения кнопок и подключения к разъему
Прим.: На линиях портов ввода-вывода AVR-микроконтроллеров имеется возможность активизации встроенных подтягивающих резисторов к плюсу питания. Это свойство можно использовать в целях исключения внешнего подтягивающего резистора. В STK500 добавлены внешние подтягивающие резисторы 10 кОм для формирования лог. «1» на выводах SWn при отжатом состоянии кнопок. Резистор 150 Ом выполняет функцию защитного токоограничения, например, в случае ошибочной настройки линий ввода-вывода, связанных с кнопками, на вывод.
3.3 Подключение светодиодов и кнопок
Любой порт ввода-вывода AVR-микроконтроллера может быть подключен к светодиодам и кнопкам, используя 10-проводной шлейф, входящий в состав набора. На разъемы в дополнение к линиям портов выводятся напряжение питания целевого микроконтроллера VTG (VCC) и общий провод GND.
Рисунок 3.4 Подключение светодиодов и кнопок к портам ввода-вывода
3.4 Разъемы портов
Расположение выводов разъемов и их соответствие линиям портов ввода-вывода показано на рисунке 3.5. Вывод с квадратной маркировкой указывает на вывод 1.
Рисунок 3.5 Расположение и назначение выводов разъемов портов ввода-вывода
Разъем порта Е (PORTE/AUX) содержит специальные сигналы и функции в дополнение к линиям порта Е. Расположение и назначение выводов этого разъема показано на рисунке 3.6.
Рисунок 3.6 Расположение и назначение выводов разъема порта Е
Ниже приведены специальные функции порта Е:
Таблица 3.1- Функции выводов PE0 - PE2
|
ATmega161 |
AT90S4414/AT90S8515 |
PE0 |
PE0/ICP/INT2 |
ICP |
PE1 |
PE1/ALE |
ALE |
PE2 |
PE2/OC1B |
OC1B |
Разъемы подключения кнопок и светодиодов имеют аналогичное разъемам портов ввода-вывода расположение и назначение выводов, которое представлено на рисунках 3.7 и 3.8, соответственно. Квадратная маркировка указывает на вывод 1.
Рисунок 3.7- Расположение и назначение выводов разъема кнопок
Рисунок 3.8 Расположение и назначение выводов разъема светодиодов
3.5 Описание интерфейса RS-232 для нужд пользователя
STK500 содержит два порта RS-232. Один порт RS-232 используется для связи с AVR Studio. Другой порт RS-232 можно использовать для связи AVR-микроконтроллера, установленного на панели, с компьютером через его последовательный порт RS-232 (СОМ-порт). Для использования порта RS-232 необходимо выводы УАПП микроконтроллера физически соединить с портом RS-232. Для этого имеется 2-штырьковый разъем с маркировкой “RS232 SPARE” (резервный), связанный с преобразователем уровней интерфейса RS-232. Для соединения этого разъема с выводами УАПП необходимо использовать 2-проводной шнур, как показано на рисунке 3.9. Блок-схема подключения порта RS-232 показана на рисунке 3.10.
Рисунок 3.9-Подключение линий ввода-вывода к УАПП
Рисунок 3.10-Схема подключений выводов УАПП
3.6 Описание выводов флэш-памяти DataFlash
В состав платы набора STK500 входит микросхема флэш-памяти AT45D021 емкостью 2 Мбит из семейства DataFlash, которая может быть использована для энергонезависимого хранения данных. DataFlash флэш-память высокой плотности с последовательным программированием через SPI-интерфейс. Микросхема DataFlash может быть подключена к линиям порта ввода-вывода микроконтроллера. Для чего необходимо использовать 4штырьковый разъем с маркировкой “DATAFLASH”, который связан с SPI-интерфейсом DataFlash. Для соединения этого разъема с линиями портов ввода-вывода необходимо использовать 2-проводные шнуры из комплекта набора STK500. Также может быть использован 10-проводный шлейф, если DataFlash подключается к аппаратному SPI-интерфейсу на порте В (PORTB), встроенного в AVR-микроконтроллер. Подключение линий ввода-вывода показано на рисунке 3.13. Функциональная схема подключения DataFlash к аппаратному SPI-интерфейсу показана на рисунке 3.14. Расположение выводов SPI-интерфейса показано на рисунках 3.11 и 3.12.
Рисунок 3.11- Расположение выводов SPI-интерфейса порта В (для 40-выв. МК)
Рисунок 3.12 - Расположение выводов SPI-интерфейса порта В (для 28-выв. МК с аналоговыми компонентами)
Рисунок 3.13 Подключение линий ввода-вывода к DataFlash для AT90S8515
Рисунок 3.14 - Функциональная схема подключения DataFlash
3.7 Секция целевых панелей
Модуль программирования состоит из 8 панелей в центре платы набора. В одну из данных панелей необходимо установить целевой AVR-микроконтроллер для программирования и дальнейшего использования в приложении.
Примечание 1: Только один микроконтроллер может быть установлен в секции целевых панелей. Для флэш-памяти AVR-микроконтроллеров гарантированная износостойкость составляет 1000 циклов программирования, однако, фактический срок службы флэш-памяти намного больше.
Примечание 2: Во время установки микроконтроллера в панель обратите внимание на правильность ориентации корпуса. Ключи на коротких сторонах как микроконтроллера, так и панели, должны быть рядом. Неправильная установка может повредить как сам микроконтроллер, так и стартовый набор. Секция панелей используется и для программирования и для запуска и тестирования приложения.
Рисунок 3.15 Модуль программирования STK500
После установки микроконтроллера в панель может быть выполнено программирование, для чего необходимо использовать AVR Studio и один из предлагаемых методов:
В следующем подразделе описывается методика использования обоих методов программирования.
3.7.1 Внутрисистемное программирование (ISP)
Внутрисистемное программирование использует встроенный в AVR-микроконтроллеры последовательный периферийный интерфейс SPI для загрузки кода во флэш-память и ЭСППЗУ микроконтроллера. ISP-программирование требует подключения цепей VCC, GND, RESET и трех сигналов программирования. Все AVR-микроконтроллеры, за исключением AT90C8534, ATtiny11 и ATtiny28, поддерживают ISP-программирование. Программирование может быть выполнено при нормальном рабочем напряжении, обычно 2.7-6.0В. Сигналы с повышенными уровнями в данном случае не требуются. ISP-программатор программирует, как встроенную флэш-память программ, так и ЭСППЗУ для хранения данных. Он также позволяет программировать конфигурационные биты (fuse) для выбора настроек тактирования, длительности задержки при старте и порога детектора понижения напряжения (BOD) для большинства микроконтроллеров.
Программирование повышенным напряжением используют для микроконтроллеров, не поддерживающих ISP-программирование. Некоторые микроконтроллеры требуют такое программирование для программирования некоторых конфигурационных бит (см. инструкции по программированию повышенным напряжением).
Поскольку интерфейс программирования размещается на различных выводах для разных типов микроконтроллеров, то реализовано три разъема для корректной разводки сигналов программирования. 6-проводный шлейф из комплекта используется для соединения ISP-сигналов с разъемом ISP-программирования целевого МК. Цветная кодировка и номер разъема используются для определения, какой разъем ISP-программирования целевого МК используется для каждой панели.
В процессе ISP-программирования 6-пров. шлейф должен быть постоянно связан с разъемом, обозначенного как “ISP6PIN”. Если программируемое устройство находится в синей панели, то соедините другой конец шлейфа к синему разъему целевого ISP-программирования SPROG1. Если программируемое устройство находится в зеленой панели, то используйте зеленый разъем SPROG2. Аналогично для красной панели используйте SPROG3. В таблице 3.2 показано соответствие AVR-микроконтроллеров разъемам SPROG целевого ISP-программирования.
6-проводный шлейф должен соединять непосредственно разъем ISP6PIN с разъемом целевого ISP-программирования SPROG. Шлейф не должен скручиваться. Цветная маркировка провода шлейфа указывает на вывод 1. Убедитесь в правильности соединений разъемов.
При программировании 8-выводных микроконтроллеров обратите внимание, что вывод 1 используется и как сброс (RESET), и как линия ввода-вывода PB5 (ATtiny11, ATtiny12 и ATtiny15). Выводы 1 на 8-выводных панелях SCKT3400D1 и SCKT3400D1 подключены к PB5. Поэтому, сигнал RESET, используемый при ISP-программировании, оказывается не подключенным к выводу 1 этих панелей. Подключение данного сигнала должно быть выполнено проводником, соединяющим вывод RST разъема порта Е (PORTE) и вывод PB5 разъема порта В (PORTB).
Таблица 3.2 Описание панелей AVR-микроконтроллеров
Тип микроконтроллера |
Панель STK500 |
Цвет |
Номер |
Разъем целевого ISP-программирования |
AT90S1200 |
SCKT3300D3 |
Красный |
3 |
SPROG3 |
AT90S2323 |
SCKT3400D1 |
Синий |
1 |
SPROG1. Подключите RST на порте Е (PORTE) к PB5 на порте В (PORTB). |
ATtiny11 |
SCKT3400D1 |
Синий |
1 |
Программирование только повышенным напряжением |
ATtiny28 |
SCKT3500D002D |
нет |
- |
Программирование только повышенным напряжением |
AT90S4414 |
SCKT3000D3 |
Красный |
3 |
SPROG3 |
AT90S4434 |
SCKT3100A3 |
Красный |
3 |
SPROG3 |
AT90S2333 |
SCKT3200A2 |
Зеленый |
2 |
SPROG2 |
ATtiny15 |
SCKT3600A1 |
Синий |
1 |
SPROG1. Подключите RST на порте Е (PORTE) к PB5 на порте В (PORTB). |
Резерв |
SCKT3700A1 |
Синий |
1 |
Панель не используется в данной версии STK500 |
ATmega103 |
Используйте модуль надстройки STK501 |
Рисунок 3.16 иллюстрирует пример соединений для внутрисистемного программирования AT90S2313. 6-проводный шлейф связывает разъем ISP6PIN с красным разъемом SPROG3 целевого ISP-программирования, а сам микроконтроллер AT90S2313 установлен на панели с красной маркировкой и обозначением “SCKT3100D3”.
Рисунок 3-16 Пример подключения для программирования AT90S2313
Нет необходимости извлекать 6-проводный шлейф по окончании программирования, т.к. при завершении программирования ISP-программатор не влияет на работу вашей схемы, а связанные с ним сигналы микроконтроллера могут выполнять задуманные Вами функции.
3.7.2 Программирование повышенным напряжением
В режиме программирования повышенным напряжением на вход сброса (RESET) микроконтроллера подается напряжение 12В. Все AVR-микроконтроллеры поддерживают данный режим программирования, поэтому, после установки микроконтроллера в целевую панель он может быть запрограммирован таким образом. Программирование повышенным напряжением (ППН) реализуется двумя способами: 8-выводные микроконтроллеры используют последовательный интерфейс программирования, а остальные - параллельный. Правильность подключения сигналов программирования к целевому микроконтроллеру обеспечивается шлейфом из комплекта STK500.
В таблице 3.3 обобщены способы программирования и условия при использовании ППН.
3.7.2.1 Программирование повышенным напряжением в параллельном формате
Для использования ППН необходимо соединить сигналы программирования с линиями ввода-вывода целевого микроконтроллера. Два 10-проводных шлейфа могут использоваться для этой цели. С помощью шлейфов необходимо соединить разъем с маркировками «PROG DATA» и «PORTB», а также «PROG CTRL» и «PORTD», как показано на рисунке 3.17.
Таблица 3.3- Установки при программировании повышенным напряжением
Тип микроконтроллера |
Панель STK500 |
Цвет |
Номер |
Разъем целевого ISP-программирования |
AT90S1200 |
SCKT3300D3 |
Красный |
3 |
Параллельное ППН. |
AT90S4414 |
SCKT3300D3 |
Красный |
3 |
|
AT90S4434 |
SCKT3100A3 |
Красный |
3 |
|
ATtiny28 |
SCKT3500D- |
нет |
- |
|
ATmega161 |
SCKT3000D3 |
Красный |
3 |
То же, но требуется установка перемычки BSEL2. См. раздел 3.8 |
ATmega16 |
SCKT3100A3 |
Красный |
3 |
|
AT90S2333 |
SCKT3200A2 |
Зеленый |
2 |
То же, но требуется установка перемычки PJUMP. См. раздел 3.8 |
ATmega103 |
Используйте модуль надстройки STK501 |
- |
- |
То же, но требуется установка перемычки BSEL2. См. раздел 3.8 |
ATmega8 |
SCKT3200A2 |
Зеленый |
2 |
То же, но требуется установка перемычки PJUMP и соединения вывода BSEL2 с PC2. См. разделы 3.8.5 и 3.8.6 |
AT90S2323 |
SCKT3400D1 |
Синий |
1 |
Последовательное ППН |
ATtiny15 |
SCKT3600A1 |
Синий |
1 |
|
Резерв |
SCKT3700A1 |
Синий |
1 |
Панель используется в данной версии STK500 |
Рисунок 3.17 Подключения для программирования повышенным напряжением
Некоторые установки перемычек в STK500 должны быть изменены при использовании ППН. На рисунке 3.18 отображены необходимые установки.
Рисунок 3.18 - Установки перемычек для программирования повышенным напряжением (см. далее)
Последовательность действий при ППН:
Примечание: Удалите аппаратные установки для программирования повышенным напряжением перед началом сессии отладки.
3.7.2.2 Последовательное программирование повышенным напряжением
8-выв. AVR-микроконтроллеры имеют очень мало линий ввода-вывода, что не позволяет использовать параллельный формат программирования. Поэтому, они программируются в последовательном формате.
Это означает, что для программирования необходимо малое количество подключений. Последовательность аппаратных настроек для последовательного программирования повышенным напряжением следующая:
Рисунок 3.19- Подключения при последовательном программировании повышенным напряжением
3.8 Установки перемычек
Управляющий микроконтроллер и 8 перемычек определяют работу данного стартового набора. В обычном применении эти перемычки должны быть установлены в исходном состоянии. Продвинутый уровень использования набора предполагает задание конфигурации набора, а, следовательно, и снятия/установки различных перемычек. В следующих подразделах описываются установки перемычек и их назначение. Исходные установки перемычек показаны на рисунке 3.20.
Рисунок 3.20 Начальные установки перемычек
Таблица 3.4 Описание перемычек
Перемычка |
Описание начальной установки |
VTARGET |
Подключение внутреннего источника VTARGET |
AREF |
Использование внутриплатного источника опорного напряжения |
RESET |
Подключение внутриплатной системы сброса |
XTAL1 |
Подключение внутриплатной системы тактирования |
OSCSEL |
Выбор внутриплатного генератора |
BSEL2 |
Не устанавливается. Используется для программирования повышенным напряжением ATmega8, ATmega16, ATmega161, ATmega163, ATmega128, and ATmega323 |
PJUMP |
Не устанавливается. Используется для программирования повышенным напряжением AT90S2333, AT90S4433 и ATmega8 |
3.8.1 Установка целевого напряжения VTARGET
Напряжение VTARGET напряжение питания целевого AVR-микроконтроллера. Оно может программироваться из AVR Studio или подаваться от внешнего источника питания. Если перемычка VTARGET установлена, то используется встроенный источник питания. Встроенный источник питания имеет регулируемый выход в диапазоне 0 6В и управляется из AVR Studio. Перед изменение данного напряжения всегда проверяйте в документации на микроконтроллер диапазон рабочего напряжения.
Встроенный источник питания может быть нагружен на ток до 0.5А.
Если перемычка VTARGET снята, то питание микроконтроллера (VCC) должно быть подано от внешнего источника через штырек VTG любого разъема «PORTх». Рисунок 3.21 иллюстрирует назначение перемычки VTARGET.
При использовании внешнего источника VTARGET, пользователь должен установить VTARGET больше уровня аналогового опорного напряжения AREF. Не забудьте подключить общий провод (GND) при использовании внешнего источника VTARGET.
Рисунок 3.21- Назначение перемычки VTARGET
Управляющий микроконтроллер (МК) в STK500 регулирует целевое напряжение используя встроенную широтно-импульсную модуляцию (ШИМ). На рисунке 3.22 показана внутренняя организация для получения сигнала VTARGET.
Рисунок 3.22- Функциональная схема формирования VTARGET
Прим. Зеленый светодиод светится при наличии напряжения на линии VTG. Программирование и отладка микроконтроллера невозможно без напряжения VTG.
Встроенный источник VTarget имеет защиту от короткого замыкания. Если для VTarget установлено значение выше 0.3В, а АЦП управляющего МК определяет, что фактически оно меньше 0.3В, то с задержкой 80 мс микроконтроллер выключит стабилизатор напряжения VTarget и встроенный источник AREF. При этом статусный светодиод быстро мигает.
При использовании внешнего источника VTarget STK500 также определяет отключение, как ложное короткое замыкание. Возможно исключить данную сигнализацию, если в AVR Studio установить уровень встроенного VTarget ниже 0.3В.
3.9 Разъемы расширения
STK500 имеет два разъема расширения, установленных по обе стороны от модуля программирования. Все порты ввода-вывода AVR-микроконтроллера, сигналы программирования и управляющие сигналы присутствуют на выводах этих разъемов. Разъемы расширения позволяют легко подключить макеты приложений к STK500. Размещение и назначение выводов данных разъемов показано на рисунках 3.34 и 3.35.
Рисунок 3.33 - Разъемы расширения
Рисунок 3.34 Расположение выводов разъема расширения 0
Рисунок 3.35 Расположение выводов разъема расширения 1
3.9.1 Описание сигналов
Сигналы AUXI1, AUXI0, AUXO1 и AUXO0 зарезервированы для будущих функций. Не подключайте эти сигналы к Вашему приложению.
Сигналы DATA[7:0] и CT[7:1] также доступны на разъемах программируемых данных «Prog Data» и управления программированием «Prog Ctrl». Данные сигналы и разъемы описываются в разделе 3.10.
Сигнал BSEL2 тот же, что и на перемычке BSEL2. Данный сигнал описан в параграфе 3.8.5.
Сигналы SI, SO, SCK и CS подключены к флэш-памяти DataFlash. Использование DataFlash описано в параграфе 3.6.
NC означает, что данный вывод ни к чему не подключен.
Остальные сигналы эквивалентны сигналам, присутствующим на разъемах портов PORTA-E (см. раздел 3.4).
Прим.: Сигналы DATA, CT и AUX имеют уровни 5В КМОП логики. Для этих сигналов не выполняется преобразование уровня к VTG.
3.10 Разъемы Prog Ctrl и Prog Data
Разъемы Prog Ctrl (управление программированием) и Prog Data (программируемые данные) используются для программирования повышенным напряжением целевого AVR-микроконтроллера. Расположение разъемов показано на рисунке 3.33. При параллельном программировании повышенным напряжением сигналы Prog Ctrl подключаются к порту D целевого микроконтроллера. Сигналы Prog Data подключаются к порту B. См. параграф 3.7.2 для изучения программирования повышенным напряжением. Расположение выводов разъемов Prog Ctrl и Prog Data показано на рисунках 3.36 и 3.37. Детальная информация о программировании микроконтроллеров повышенным напряжением смотрите в разделе «Программирование» документации на используемый микроконтроллер.
Прим.: Сигналы Prog Ctrl и Data подключаются непосредственно к управляющему микроконтроллеру без преобразования уровней. Это означает, что эти сигналы имеют уровень 5В-логики.
Рисунок 3.36 Расположение выводов разъема управления программированием «Prog Ctrl»
Сигналы Prog Ctrl обычно используются как управляющие сигналы при параллельном программировании повышенным напряжением AVR-микроконтроллеров.
Прим.: Все сигналы Prog Ctrl имеют уровни 5В КМОП-логики. Для них не выполняется преобразование к уровню VTG.
Рисунок 3.37 Расположение выводов разъема программируемых данных «Prog Data»
Сигналы Prog Data используются как шина данных при параллельном программировании повышенным напряжением AVR-микроконтроллеров. При ISP-программировании сигнал DATA5 используется как MOSI, DATA6 как MISO, а DATA7 как SCK.
Прим.: Все сигналы Prog Data имеют уровни 5В КМОП-логики. Для не выполняется преобразование к уровню VTG.
3.11 Прочие аппаратные компоненты
STK500 имеет 2 кнопки специального назначения и 3 светодиода для индикации состояния. В следующих подразделах описываются их особенности. Рисунок 3.38 показывает место установки данных компонентов.
Рисунок 3.38 Специальные кнопки и светодиоды индикации состояния
3.11.1 Кнопка сброса «RESET»
Нажатие на кнопку RESET приводит к сбросу целевого микроконтроллера. Кнопка RESET не влияет на управляющий микроконтроллер. Если перемычка RESET не установлена, то кнопка RESET не влияет на работу целевого МК.
3.11.2 Кнопка «PROGRAM» для обновления ПО
Новые версии AVR Studio могут обновить программу управляющего микроконтроллера STK500. При обнаружении старой версии программы STK500 AVR Studio обновить флэш-память управляющего микроконтроллера. Для инициации этой функции пользователю необходимо нажать на кнопку PROGRAM после подачи питания на STK500.
3.11.3 Основной индикатор питания
Основной индикатор питания - красный светодиод, непосредственно подключенный к основному источнику питания STK500. Данный индикатор должен непрерывно светиться после подачи питания на STK500.
3.11.4 Индикатор целевого напряжения
Индикатор целевого напряжения- светодиод, связанный с линией питания VCC (VTG) целевого микроконтроллера. Индикатор непрерывно светиться , когда на целевых панелях присутствует напряжением питания микроконтроллера.
3.11.5 Статусный светодиод
Статусный светодиод 3-цветный светодиод. При программировании он желтый . После успешного завершения программирования он становится зеленым . Красный цвет свечения индицирует, что программирование было прервано . Если программирование не может успешно завершиться, то см. раздел 7. При старте статусный светодиод меняет свое состояние от красного, через желтый, к зеленому для индикации готовности управляющего микроконтроллера.
4. Использование AVR Studio
4.1 Программное обеспечение под Windows
В данном разделе представляется программа, поддерживающая STK500, и даются подробные описания по программируемым параметрам.
4.2 Запуск программы AVR Studio
В качестве программного приложения, используемого для связи с платой STK500, используется AVR Studio версии не ниже 3.2. Информация по инсталляции данной программы представлена в разделе 4. После завершения инсталляции запуск AVR Studio осуществляется двойным щелчком на иконке . Если в процессе инсталляции приняты рекомендуемые параметры, то ярлык для запуска программы находиться в Пуск->Программы->Atmel AVR Tools.
4.2.1 Запуск STK500
Нажатие на кнопку на панели инструментов AVR Studio приводит к запуску пользовательского интерфейса STK500 , как показано на рисунке 4.1.
Рисунок 4.1 - AVR Studio с пользовательским интерфейсом STK500
4.3 Пользовательский интерфейс STK500
Пользовательский интерфейс STK500 выполняет функции управления платой STK500. Доступные настройки разделены на 6 окон, каждое из которых вызывается щелчком на соответствующей закладке. В зависимости от выбранного типа микроконтроллера определяется доступный набор функций по выбору и установкам. Недоступные функции отделяются серым цветом.
4.3.1 Установки окна “Program” (программирование)
Установки программирования разделены на 5 областей.
4.3.1.1 Поле программируемого устройства «Device»
В данном поле из раскрывающегося списка необходимо выбрать тип целевого микроконтроллера. Сюда же входит кнопка стирания памяти микроконтроллера «Erase Device» (флэш-память и ЭССПЗУ).
4.3.1.2 Поле задания режима программирования «Programming Mode»
В данном поле задается режим программирования. Для устройств, поддерживающих возможность только программирования повышенным напряжением, опция ISP-программирования будет отделена серым цветом. Если оба режима программирования доступны, то укажите необходимый режим. Установка флажка “Erase Device Before Programming” активизирует полезную функцию стирания памяти программ перед программированием, а при установке флажка “Verify Device After Programming” STK500 будет выполнять проверку правильности записанной информации (распространяется не только на флэш-память, но и на ЭСППЗУ).
4.3.1.3 Поле программирования флэш-памяти «Flash»
Если при запуске пользовательского интерфейса STK500 в AVR Studio не был загружен какой-либо проект, то опция “Use Current Simulator/Emulator FLASH Memory” (использовать текущий эмулятор/симулятор флэш-памяти) будет отделена серым цветом. Если проект был открыт, то данная опция позволит записать во флэш-память содержимое окна Flash Memory view (просмотр флэш-памяти) из AVR Studio. Более детальную информацию о просмотре содержимого памяти в AVR Studio можно найти в файле помощи к AVR Studio.
Если не было запущено проекта или необходимый hex-файл хранится отдельно, используйте кнопку “Input HEX File” (входной hex-файл). После нажатия укажите путь к файлу и его имя. Файл должен быть создан в формате “Intel-hex” или “extended Intel-hex”.
Рисунок 4.2 Окно программирования
4.3.1.4 Поле программирования ЭСППЗУ «EEPROM» (ЭСППЗУ- электрически стираемое перепрограммируемое запоминающее устройство)
Если пользовательский интерфейс STK500 открыт без предварительного открытия проекта AVR Studio, то опция “Use Current Simulator/Emulator EEPROM Memory” будет не доступна. Если проект был открыт, то данная опция позволит записать в ЭСППЗУ содержимое окна EEPROM Memory view (просмотр ЭСППЗУ). Более подробная информация о данном окне приведена в файле помощи AVR Studio.
Если не было запущено проекта или необходимый hex-файл хранится отдельно, используйте кнопку “Input HEX File” (входной hex-файл). После нажатия укажите путь к файлу и его имя. Файл должен быть создан в формате “Intel-hex” или “extended Intel-hex”.
4.3.2 Окно “Fuses” установки бит конфигурации
В окне “Fuses” представлены доступные для выбранного типа микроконтроллера конфигурационные биты. Некоторые из них становятся доступными только в режиме программирования повышенным напряжением. Тем не менее даже в режиме ISP-программирования данные биты отображаются, но воздействовать на них не имеется возможности. При нажатии кнопки “Read” считываются текущие установки доступных бит из микроконтроллера, а при нажатии “Write” происходит запись текущих установок окна в микроконтроллер. Наличие флажка возле бита конфигурации означает, что данная конфигурация разрешена, а в памяти значение этого бита запрограммировано как 0. Обратите внимание, что на состояние бит конфигурации не влияет команда стирания памяти микроконтроллера (“Erase Device”). Детальная информация о доступных конфигурационных битах в различных режимах программирования, а также их назначении приведена в документации на соответствующий микроконтроллер.
Рисунок 4.3 Окно конфигурационных бит
4.3.3 Окно “LockBits” установки бит защиты программы
По аналогии с окном “Fuses” окно “LockBits” показывает какие режимы защиты программы доступны для выбора при заданном типе микроконтроллера. Все биты защиты доступны как в режиме ISP-программирования, так и в режиме программирования повышенным напряжением. Режим защиты задается комбинацией нескольких бит защиты. Над данными битами позволяет манипулировать пользовательский интерфейс STK500 автоматически, при выборе желаемого режима защиты. Как только указан режим защиты, в дальнейшем нет возможности снижения уровня защиты. При возникновении такой потребности необходимо стереть все биты защиты путем выполнения стирания памяти Erase Device в окне Program, что дополнительно вызовет стирание и флэш-памяти программ и ЭСППЗУ. Существует одно исключение: Если у целевого микроконтроллера запрограммирован конфигурационный бит “EESAVE”, то содержимое ЭСППЗУ будет сохраняться даже при выполнении команды стирания памяти.
Рисунок 4.4 Окно бит защиты программы
4.3.4 Окно прочих установок “Advanced”
Окно “Advanced” представляет собой два поля для идентификации параметров микроконтроллера, не вошедших в предыдущие окна.
4.3.4.1 Поле сигнатурных байт «Signature Bytes»
Нажатие на кнопку считывания сигнатуры “Read Signature” приводит к считыванию из микроконтроллера и отображению сигнатурных байт. Сигнатурные байты используются для идентификации микросхемы и ее производителя. После считывания сигнатуры программа проверяет ее на соответствие выбранному типу микроконтроллеру. Детальная расшифровка сигнатурных байт приводиться в документации на микроконтроллер.
Рисунок 5.5 Окно прочих параметров
4.3.4.2 Поле калибровочного байта генератора «Oscillator Calibration Byte»
Калибровочный байт записывается в микроконтроллер на стадии производства и, поэтому, доступен только для чтения. Данное значение используется в программе для записи в регистр OSCCAL для подстройки на номинальную частоту встроенного RC-генератора.
4.3.4.3 Считывание калибровочного байта
Нажатие на кнопку “Read Cal. Byte” приводит к отображению на экране его значения в текстовом поле “Value”. Обратите внимание, что значение данного байта не возможно определить автоматически при выполнении программы, а необходимо вручную записать по указанному адресу в памяти микроконтроллера. Если данная опция отделена серым цветом, то это означает, что в выбранном микроконтроллере нет встроенного подстраиваемого RC-генератора.
4.3.4.4 Запись калибровочного байта
Поскольку значение калибровочного байта не возможно определить автоматически при выполнении программы, то пользователь должен вручную записать его, предварительно указав адрес во флэш-памяти или ЭСППЗУ. Адрес задается в текстовом поле “Write Address”. С помощью переключателя “Flash” , “Eeprom” выбирается получатель данных, а затем нажимается кнопка “Write to Memory” для записи калибровочного байта по указанному адресу.
4.3.5 Окно настроек платы “Board”
Окно “Board” позволяет изменить рабочие условия на плате STK500. Для изменения доступны следующие параметры: VTARGET, AREF и частота генератора.
Интерфейс задания параметров очень гибкий и позволяет задать рабочие условия, выходящие за рамки рекомендуемых параметров для микроконтроллера. Выполнять это не рекомендуется, т.к. может привести к выходу микроконтроллера из строя. Узнать информацию о рекомендуемых рабочих условиях можно в документации на интересующий тип микроконтроллера.
Рисунок 4.6 Окно управления платой
4.3.5.1 VTARGET
VTARGET управляет напряжением питания целевой платы (микроконтроллера). Задать напряжение питания можно в диапазоне 0…6В с шагом 0.1В путем перемещения ползунка либо заданием числового значения в текстовом окне. См. документацию на микроконтроллер для уточнения диапазона рабочего напряжения. Для считывания установленного на плате напряжения необходимо нажать кнопку “Read Voltages”, а для установки нового значения нажать кнопку “Write Voltages”.
Физическое подключение напряжения VTARGET показано на рисунке 3.22.
4.3.5.2 AREF
AREF управляет аналоговым опорным напряжением, которое используется встроенным в микроконтроллер аналогово-цифровым преобразователем. Данный параметр необходимо настраивать только для микроконтроллеров, имеющих встроенный АЦП. Данное напряжение задается в диапазоне 0..6В с шагом 0.1В путем перемещения ползунка или путем введения числового значения в текстовом поле. Перед установкой уточните в документации на микроконтроллер рабочий диапазон для данного напряжения. Значения как VTARGET, так и AREF считываются путем нажатия кнопки “Read Voltages”, а записываются нажатием кнопки “Write Voltages”.
Не возможно установить напряжение AREF выше напряжения VTARGET, т.к. это может привести к выходу из строя микроконтроллера.
Физическое подключение AREF показано на рисунке 3.24.
4.3.5.3 Поле настроек генератора «Oscillator»
Плата STK500 использует схему программируемого генератора, которая формирует широкий диапазон тактовых частот для целевого микроконтроллера.
Т.к. невозможно генерировать сигнал с произвольно заданным числовым значением частоты, то пользовательский интерфейс STK500 позволяет вычислить ближайшую доступную частоту при введении желаемой, что отображается в текстовом поле «Closest Attainable Freq.». Также из раскрывающегося списка можно выбрать фиксированные частоты 32.7 кГц, 1.23 МГц, 1.84 МГц, 3.69 МГц (макс. частота) или вообще остановить генератор (stopped). Чтение/запись частот генератора осуществляется нажатием соответствующих кнопок Read Osc./Write Osc..
4.3.6 Окно управления функциями автоматизации “Auto”
При программировании нескольких микроконтроллеров одним и тем же программным кодом функция “Auto” выступает в качество полезного инструмента по автоматизации последовательности действий при программировании. Действия представлены в виде списка в порядке очередности их выполнения (при активизации). Для разрешения выполнения действия его необходимо пометить флажком. Например, если отмечено только действие “Program FLASH” , то после нажатия кнопки “Start” будет произведена запись во флэш-память в соответствии с настройками в окне “Program”. Все действия используют настройки в пределах пользовательского интерфейса STK500.
Рисунок 4.7 Окно управления функциями автоматизации
Проверка выполненных действий может быть осуществлена использованием функции записи в журнал “Log to file”, которые в этом случае записываются в текстовый файл.
4.3.6.1 Настройка функции автопрограммирования
Укажите действия, желаемые для исполнения STK500. Типичная последовательность действий, при которой сначала стирается память, а затем выполняется программирование, показана на рисунке 4.7. Вначале произведено стирание, затем программирование обоих видов памяти с проверкой после записи и в завершение программируются биты защиты и конфигурации. Для повторного выполнения заданной последовательности достаточно нажать на кнопку “Start”. Это позволяет исключить ошибки, возникающие при многократном выполнении повторяющихся действий.
4.3.6.2 Запись процесса автопрограммирования в журнал
При активизации функции “Log to file” все выполняемые действия будут записаны в текстовый файл. Выбрать или создать файл можно нажатием кнопки “Browse” и в дальнейшем указать путь и имя имеющегося или создаваемого файла. Последовательность выполняемых действий будет фиксироваться в указанном файле, который в дальнейшем можно просмотреть и отредактировать простым текстовым редактором.
4.3.7 Поле истории
Поле истории находится внизу пользовательского интерфейса STK500. В этом окне отображен диалог между AVR Studio и STK500. При выполнении каждой команды содержимое данного поля обновляется.
Рисунок 4.8 Окно истории
4.4 Поддержка параметров в командной строке
Программа для STK500 с поддержкой командной строки DOS полезна для программирования STK500 через внешний редактор или при программировании в производственных условиях. Простой bat-файл позволит автоматизировать процесс программирования. Для вызова помощи необходимо выполнить “STK500 -?”.
Программа возвращает ERRORCODE 0, если указанные действия выполнены успешно или ERRORCODE 1, если действие прервано.
Ключи командной строки:
[-d device name] [-m s|p] [-if infile] [-ie infile] [-of outfile]
[-oe outfile] [-s] [-O] [-Sf addr] [-Seaddr] [-e] [-p f|e|b]
[-r f|e|b] [-v f|e|b] [-l value] [-L value] [-y] [-f value] [-E value]
[-F value] [-G value] [-q] [-x value] [-af start,stop] [-ae start,stop]
[-c port] [-ut value] [-ua value] [-wt] [-wa] [-b h|s] [-! freq] [-t]
[-g] [-z] [-h|?]
4.5 Параметры
d |
|
Наименование МК. Указывается при программировании. См. список ниже. |
m |
|
Режим программирования |
s |
Последовательный (по умолчанию) |
|
p |
Параллельный |
|
if |
|
Имя hex-файла для записи во флэш-память |
ie |
|
Имя hex-файла для записи в ЭСППЗУ |
of |
|
Имя записываемого hex-файла при чтении из флэш-памяти |
oe |
|
Имя записываемого hex-файла при чтении из ЭСППЗУ |
s |
|
Чтение сигнатуры |
O |
|
Чтение калибровочного байта встроенного генератора |
Sf |
addr |
Запись калибровочного байт во флэш-память по адресу «addr» |
Se |
addr |
Запись калибровочного байт в ЭСППЗУ по адресу «addr» |
e |
|
Стирание памяти |
p |
|
Программирование |
f |
флэш-памяти |
|
e |
ЭСППЗУ |
|
b |
флэш-памяти и ЭСППЗУ |
|
r |
|
Чтение |
f |
флэш-памяти |
|
e |
ЭСППЗУ |
|
b |
флэш-памяти и ЭСППЗУ |
|
v |
|
Проверка после записи |
f |
флэш-памяти |
|
e |
ЭСППЗУ |
|
b |
флэш-памяти и ЭСППЗУ |
|
l |
value |
Установка байта защиты по значению «value» в 8-разрядном 16-ричном формате (00-FF) |
L |
value |
Сравнение байта защиты с значением «value» в 8-разрядном 16-ричном формате (00-FF) |
f |
value |
Установка конфигурационных байт по значению «value» в 16-разрядном 16-ричном формате (0000-FFFF) |
E |
value |
Установка расширенного конфигурационного байта по значению «value» в 8-разрядном 16-ричном формате (00-FF) |
F |
value |
Сравнение конфигурационных байт со значением «value» в 16-разрядном 16-ричном формате (0000- FFFF) |
G |
value |
Сравнение расширенного конфигурационного байта со значением «value» в 8-разрядном 16-ричном формате (00- FF) |
q |
|
Чтение конфигурационных байт |
x |
0x00-0xff |
Заполнить неиспользуемое пространство памяти значением 0x00-0xff. По умолчанию свободное пространство не программируется |
af |
start,stop |
Диапазон адреса флэш-памяти. Определяет диапазон адреса для дальнейших действий (по умолчанию вся флэш-память) |
ae |
start,stop |
Диапазон адреса ЭСППЗУ. Определяет диапазон адреса для дальнейших действий (по умолчанию все ЭСППЗУ) |
c |
com1… com8 |
Выбор коммуникационного порта. По умолчанию ищется порт с подключенным STK500 |
ut |
0.0-6.0 |
Установка целевого напряжения VTARGET в вольтах. |
ua |
0.0-6.0 |
Установка опорного аналогового напряжения AREF в вольтах. |
wt |
|
Считать текущее значение VTARGET |
wa |
|
Считать текущее значение AREF |
b |
|
Определить код версии |
h |
аппаратного обеспечения |
|
s |
программного обеспечения |
|
! |
0…3690000 |
Установка частоты тактового генератора в Гц |
t |
|
Считывание частоты тактового генератора |
g |
|
Работа без выдачи сообщений |
z |
|
Не показывать индикатор прогресса |
h или ? |
|
Вызов справки (перечисление вышеописанных параметров) |
Рисунок 4.9 Пример задания параметров
Рисунок А.1 Блок-схема набора STK500
24