logo
Лаб раб №1 и2 Отладочный комплект STK500

4.1 Разъемы портов

Расположение выводов разъемов и их соответствие линиям портов ввода-вывода показано на рисунке 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.

SW0-SW7- Кнопка 0-7 Рисунок 3.7- Расположение и назначение выводов разъема кнопок

LED0-LED7 – Светодиод 0-7 Рисунок 3.8 – Расположение и назначение выводов разъема светодиодов

5. Использование AVR Studio

5.1 Программное обеспечение под Windows

В данном разделе представляется программа, поддерживающая STK500, и даются подробные описания по программируемым параметрам.

5.2 Запуск программы AVR Studio

В качестве программного приложения, используемого для связи с платой STK500, используется AVR Studio версии не ниже 3.2. Информация по инсталляции данной программы представлена в разделе 4. После завершения инсталляции запуск AVR Studio осуществляется двойным щелчком на иконке . Если в процессе инсталляции приняты рекомендуемые параметры, то ярлык для запуска программы находиться в Пуск?Программы?Atmel AVR Tools.

5.2.1 Запуск STK500

Нажатие на кнопку на панели инструментов AVR Studio приводит к запуску пользовательского интерфейса STK500 , как показано на рисунке 5.1.

Рисунок 5.1 - AVR Studio с пользовательским интерфейсом STK500

5.3 Пользовательский интерфейс STK500

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

5.3.1 Установки окна “Program” (программирование)

Установки программирования разделены на 5 областей.

5.3.1.1 Поле программируемого устройства «Device»

В данном поле из раскрывающегося списка необходимо выбрать тип целевого микроконтроллера. Сюда же входит кнопка стирания памяти микроконтроллера «Erase Device» (флэш-память и ЭССПЗУ).

5.3.1.2 Поле задания режима программирования «Programming Mode»

В данном поле задается режим программирования. Для устройств, поддерживающих возможность только программирования повышенным напряжением, опция ISP-программирования будет отделена серым цветом. Если оба режима программирования доступны, то укажите необходимый режим. Установка флажка “Erase Device Before Programming” активизирует полезную функцию стирания памяти программ перед программированием, а при установке флажка “Verify Device After Programming” STK500 будет выполнять проверку правильности записанной информации (распространяется не только на флэш-память, но и на ЭСППЗУ).

5.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”.

Рисунок 5.2 – Окно программирования

5.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”.

5.3.2 Окно “Fuses” установки бит конфигурации

В окне “Fuses” представлены доступные для выбранного типа микроконтроллера конфигурационные биты. Некоторые из них становятся доступными только в режиме программирования повышенным напряжением. Тем не менее даже в режиме ISP-программирования данные биты отображаются, но воздействовать на них не имеется возможности. При нажатии кнопки “Read” считываются текущие установки доступных бит из микроконтроллера, а при нажатии “Write” происходит запись текущих установок окна в микроконтроллер. Наличие флажка возле бита конфигурации означает, что данная конфигурация разрешена, а в памяти значение этого бита запрограммировано как 0. Обратите внимание, что на состояние бит конфигурации не влияет команда стирания памяти микроконтроллера (“Erase Device”). Детальная информация о доступных конфигурационных битах в различных режимах программирования, а также их назначении приведена в документации на соответствующий микроконтроллер.

Рисунок 5.3 – Окно конфигурационных бит

5.3.3 Окно “LockBits” установки бит защиты программы

По аналогии с окном “Fuses” окно “LockBits” показывает какие режимы защиты программы доступны для выбора при заданном типе микроконтроллера. Все биты защиты доступны как в режиме ISP-программирования, так и в режиме программирования повышенным напряжением. Режим защиты задается комбинацией нескольких бит защиты. Над данными битами позволяет манипулировать пользовательский интерфейс STK500 автоматически, при выборе желаемого режима защиты. Как только указан режим защиты, в дальнейшем нет возможности снижения уровня защиты. При возникновении такой потребности необходимо стереть все биты защиты путем выполнения стирания памяти Erase Device в окне Program, что дополнительно вызовет стирание и флэш-памяти программ и ЭСППЗУ. Существует одно исключение: Если у целевого микроконтроллера запрограммирован конфигурационный бит “EESAVE”, то содержимое ЭСППЗУ будет сохраняться даже при выполнении команды стирания памяти.

Рисунок 5.4 – Окно бит защиты программы

5.3.4 Окно прочих установок “Advanced”

Окно “Advanced” представляет собой два поля для идентификации параметров микроконтроллера, не вошедших в предыдущие окна.

5.3.4.1 Поле сигнатурных байт «Signature Bytes»

Нажатие на кнопку считывания сигнатуры “Read Signature” приводит к считыванию из микроконтроллера и отображению сигнатурных байт. Сигнатурные байты используются для идентификации микросхемы и ее производителя. После считывания сигнатуры программа проверяет ее на соответствие выбранному типу микроконтроллеру. Детальная расшифровка сигнатурных байт приводиться в документации на микроконтроллер.

Рисунок 5.5 – Окно прочих параметров

5.3.4.2 Поле калибровочного байта генератора «Oscillator Calibration Byte»

Калибровочный байт записывается в микроконтроллер на стадии производства и, поэтому, доступен только для чтения. Данное значение используется в программе для записи в регистр OSCCAL для подстройки на номинальную частоту встроенного RC-генератора.

5.3.4.3 Считывание калибровочного байта

Нажатие на кнопку “Read Cal. Byte” приводит к отображению на экране его значения в текстовом поле “Value”. Обратите внимание, что значение данного байта не возможно определить автоматически при выполнении программы, а необходимо вручную записать по указанному адресу в памяти микроконтроллера. Если данная опция отделена серым цветом, то это означает, что в выбранном микроконтроллере нет встроенного подстраиваемого RC-генератора.

5.3.4.4 Запись калибровочного байта

Поскольку значение калибровочного байта не возможно определить автоматически при выполнении программы, то пользователь должен вручную записать его, предварительно указав адрес во флэш-памяти или ЭСППЗУ. Адрес задается в текстовом поле “Write Address”. С помощью переключателя “Flash” , “Eeprom” выбирается получатель данных, а затем нажимается кнопка “Write to Memory” для записи калибровочного байта по указанному адресу.

5.3.5 Окно настроек платы “Board”

Окно “Board” позволяет изменить рабочие условия на плате STK500. Для изменения доступны следующие параметры: VTARGET, AREF и частота генератора.

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

Рисунок 5.6 – Окно управления платой

5.3.5.1 VTARGET

VTARGET управляет напряжением питания целевой платы (микроконтроллера). Задать напряжение питания можно в диапазоне 0…6В с шагом 0.1В путем перемещения ползунка либо заданием числового значения в текстовом окне. См. документацию на микроконтроллер для уточнения диапазона рабочего напряжения. Для считывания установленного на плате напряжения необходимо нажать кнопку “Read Voltages”, а для установки нового значения нажать кнопку “Write Voltages”.

Физическое подключение напряжения VTARGET показано на рисунке 3.22.

5.3.5.2 AREF

AREF управляет аналоговым опорным напряжением, которое используется встроенным в микроконтроллер аналогово-цифровым преобразователем. Данный параметр необходимо настраивать только для микроконтроллеров, имеющих встроенный АЦП. Данное напряжение задается в диапазоне 0..6В с шагом 0.1В путем перемещения ползунка или путем введения числового значения в текстовом поле. Перед установкой уточните в документации на микроконтроллер рабочий диапазон для данного напряжения. Значения как VTARGET, так и AREF считываются путем нажатия кнопки “Read Voltages”, а записываются нажатием кнопки “Write Voltages”.

Не возможно установить напряжение AREF выше напряжения VTARGET, т.к. это может привести к выходу из строя микроконтроллера.

Физическое подключение AREF показано на рисунке 3.24.

5.3.5.3 Поле настроек генератора «Oscillator»

Плата STK500 использует схему программируемого генератора, которая формирует широкий диапазон тактовых частот для целевого микроконтроллера.

Т.к. невозможно генерировать сигнал с произвольно заданным числовым значением частоты, то пользовательский интерфейс STK500 позволяет вычислить ближайшую доступную частоту при введении желаемой, что отображается в текстовом поле «Closest Attainable Freq.». Также из раскрывающегося списка можно выбрать фиксированные частоты 32.7 кГц, 1.23 МГц, 1.84 МГц, 3.69 МГц (макс. частота) или вообще остановить генератор (stopped). Чтение/запись частот генератора осуществляется нажатием соответствующих кнопок Read Osc./Write Osc..

5.3.6 Окно управления функциями автоматизации “Auto”

При программировании нескольких микроконтроллеров одним и тем же программным кодом функция “Auto” выступает в качество полезного инструмента по автоматизации последовательности действий при программировании. Действия представлены в виде списка в порядке очередности их выполнения (при активизации). Для разрешения выполнения действия его необходимо пометить флажком. Например, если отмечено только действие “Program FLASH” , то после нажатия кнопки “Start” будет произведена запись во флэш-память в соответствии с настройками в окне “Program”. Все действия используют настройки в пределах пользовательского интерфейса STK500.

Рисунок 5.7 – Окно управления функциями автоматизации

Проверка выполненных действий может быть осуществлена использованием функции записи в журнал “Log to file”, которые в этом случае записываются в текстовый файл.

5.3.6.1 Настройка функции автопрограммирования

Укажите действия, желаемые для исполнения STK500. Типичная последовательность действий, при которой сначала стирается память, а затем выполняется программирование, показана на рисунке 5.7. Вначале произведено стирание, затем программирование обоих видов памяти с проверкой после записи и в завершение программируются биты защиты и конфигурации. Для повторного выполнения заданной последовательности достаточно нажать на кнопку “Start”. Это позволяет исключить ошибки, возникающие при многократном выполнении повторяющихся действий.

5.3.6.2 Запись процесса автопрограммирования в журнал

При активизации функции “Log to file” все выполняемые действия будут записаны в текстовый файл. Выбрать или создать файл можно нажатием кнопки “Browse” и в дальнейшем указать путь и имя имеющегося или создаваемого файла. Последовательность выполняемых действий будет фиксироваться в указанном файле, который в дальнейшем можно просмотреть и отредактировать простым текстовым редактором.

5.3.7 Поле истории

Поле истории находится внизу пользовательского интерфейса STK500. В этом окне отображен диалог между AVR Studio и STK500. При выполнении каждой команды содержимое данного поля обновляется.

Рисунок 5.8 – Окно истории

5.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|?]

5.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 или ?

 

Вызов справки (перечисление вышеописанных параметров)

Рисунок 5.9 – Пример задания параметров