Во время конструирования микроконтроллерных устройств постоянно возникает вопрос: "Как быстро записать программу в микроконтроллер, и каковы новые достижения в этом направлении?". В продаже доступны универсальные программаторы и эмуляторы. Компания Atmel установила новый стандарт для дешевых инструментальных средств разработки. Одно из новшеств в области программирования микрокон-
троллеров — это плата программатора AVRDragon (рис. 1.25). Она про дается в фирменной коробке без принадлежностей. Программатор AVRDragon поддерживает программирование всего семейства устройств AVR, а также поддерживает эмуляцию для устройств с памятью программ на 32 Кбайт и более. Его можно обновлять программным обеспечением производства Atmel.
Программатор позволяет работать с современными компьютерами и операционными системами. Рассмотрим его возможности.
Поддерживаемые протоколы программирования микроконтроллера:
• Программный интерфейс (рис. 1.26).
1. Программирование по последовательному каналу (1SP).
2. Параллельное программирование при высоком напряжении (HVSP).
3. Параллельное программирование (РР).
4. JTAG-программирование (JTAG).
• Интерфейс эмуляции для приборов с памятью 32 Кбайт и более.
1. JTAG
2. Отладка (debugWIRE dW).
Плата AVRDragon позволяет программировать микроконтроллеры через кабель связи или путем установки устройства непосредственно на саму плату (рис. 1.27).
Соединение платы с компьютером и ее питание осуществляют через кабель USB, аналогичный используемому для принтеров (рис. 1.28).
Подробная инструкция пользователя AVRDragon выложена на сайте http://www.atmel.com/avrdragon.
Для программирования микроконтроллеров можно использовать среду AVR Studio версии 4.12 с Service Pack 3; 4.13 и выше. Для работы с платой необходим компьютер со следующими минимальными характеристиками:
• процессор: Pentium (Pentium II);
• операционная система: Windows 98/МЕ/2000/ХР;
• оперативная память: 128 Мбайт;
• AVR Studio 4.12 с Service Pack 3;
• USB-порт с выходным током 500 мА;
• связь с Internet для обновления программного обеспечения.
При наличии всего необходимого можно установить программу AVR Studio 4 (распространяется компанией Atmel бесплатно). Для ее получения необходимо зарегистрироваться на сайте www.atmel.com. Установка программы не позволяет сразу подключить программатор. После установки AVR Studio 4 к компьютеру через порт USB подключается плата AVRDragon, после чего необходимо войти в панель управления Windows и выбрать элемент Установка оборудования. Для установки AVRDragon на экране появится окно, показанное на рис. 1.29.
Выберите верхний переключатель, соответствующий автоматической установке драйвера, и нажмите кнопку Next (Далее). Драйвер для работы с программатором установится, если в следующем окне мастера установить флажок (рис. 1.30).
После инсталляции выполните перезагрузку компьютера. Состояние программатора определяют по светодиодам, расположенным рядом с разъемом USB (табл. 1.1).
Таблица 1.1. Определение состояния программатора по светодиодам
Светодиод | Цвет | Состояние |
2 | Зеленый | Индикация USB-трафика |
1 | Красный | Устройство не соединено с AVR Studio |
Темный | Устройство соединено с AVR Studio |
Зеленый | Передача данных |
Желтый | Линия изменяется или инициализируется |
При запуске программы AVR Studio версии 4.13 и выше программатор будет опрошен и при выборе соединения (рис. 1.31) — готов к работе с микроконтроллером.
Связь программатора с микроконтроллерами
Для дальнейшей работы с программатором необходимо изготовить соединительные кабели. В зависимости от режима программирования, у них будут разные разъемы, они и будут отличаться друг от друга.
Режим программирования ISP
Для ISP-программирования между платой программатора и платой, на которой микроконтроллер, устанавливают связь в виде кабеля с распайкой, показанной на рис. 1.32. Напряжение питания — 1,8-5,5 В.
Режим программирования JTAG
Для JTAG-программирования между платой программатора и платой, на которой микроконтроллер, устанавливают связь в виде кабеля с распайкой, показанной на рис. 1.33. Напряжение питания — от 5,0 В.
Параллельный режим программирования
Для программирования на плате программатора устанавливается соединение с микроконтроллером (см. рис. 1.27 и рис. 1.34).
Пример соединения платы программатора с рабочей платой разъемом ISP показан на рис. 1.35.
При соединении двух плат необходимо проверить цепи передачи данных на замыкание, а также — питание схемы. Во время программирования микроконтроллера питание берется от платы программатора, однако эта плата имеет ограниченный ток до 200 мА, поэтому во время программирования питание рабочей платы должно быть отсоединено от питания микроконтроллера.
Микроконтроллеры, программируемые с помощью AVRDragon, перечислены в табл. 1.2.
Таблица 1.2. Микроконтроллеры, программируемые с помощью AVRDragon
Устройство | Программирование | Отладка |
ISP | HVSP | pp | JTAG | JTAG | dW |
ATtinyl 1 | | X | | | | |
ATtiny12 | X | X | | | | |
ATtinyl 3 | X | X | | | | X |
ATtinyl 5 | X | X | | | | |
ATtiny2313 | X | X | | | | X |
ATtiny24 | X | X | | | | X |
ATtiny44 | X | X | | | | X |
ATtiny84 | X | X | | | | X |
ATtiny25 | X | X | | | | X |
ATtiny45 | X | X | | | | X |
ATtiny85 | X | X | | | | X |
Устройство | Программирование | Отладка |
ISP | HVSP | pp | JTAG | JTAG | dW |
ATtiny26 | X | | X | | • | |
ATtiny261 | X | | X | | | X |
ATtiny461 | X | | X | | | X |
ATtiny861 | X | | X | | | X |
ATtiny28 | | | X | | | |
ATtiny43U | X | X | - | | | X |
ATtiny48 | X | | X | | | X |
ATtiny88 | X | | X | | | X |
ATtiny167 | X | | X | | | X |
ATmega8515 | X | | X | | | |
ATmega8535 | X | | X | | | |
ATmega48(P) | X | | X | | | X |
ATmega88(P) | X | | X | | | X |
ATmega168(P) | X | | X | | | X |
ATmega328P | X | | X | | | X |
ATmega8 | X | | X | | | |
ATmega16 | X | | X | X | X | |
ATmega164P | X | | X | X | X | |
ATmega324P | X | | X | X | X | |
ATmega644(P) | X | | X | X | | |
ATmega1284P | X | | X | X | | |
ATmega162 | X | | X | X | X | |
ATmega32 | X | | X | X | X | |
ATmega32C1 | X | | X | X | | X |
ATmega32M1 | X | | X | X | | X |
ATmega32U4 | X | | X | X | X | |
ATmega64 | X | | X | X | | |
ATmega128 | X | | X | X | | |
ATmega640 | X | | X | X | | |
ATmega1280 | X | | X | X | | |
ATmega1281 | X | | X | X | | |
ATmega2560 | X | | X | X | | |
ATmega2561 | X | | X | X | | |
ATmega165(P) | X | | X | X | X | |
ATmega169(P) | X | | X | X | X | |
ATmega325(P) | X | | X | X | X | |
Как видно из табл. 1.2, программирование микроконтроллера можно выполнить разными способами, этот процесс — несложный. Более подробно о разных видах программирования можно узнать на сайте http://www.atmel.com/avrdragon.
Автор при построении рассмотренных в книге конструкций использовал режим программирования ISP. Совет начинающим: осваивайте новые программаторы; не останавливайтесь на старом. Прогресс всегда направлен к лучшему!