Главная » Микроконтроллеры
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

Похожие статьи:


Программатор AVR ISP

AVR ISP
Рис.1 AVR ISP

Программаторы, работающие под управлением PonyProg2000 и других любительских программ, очень просты. Однако большинство из них не может обеспечить такой функциональности, какой обладают фирменные средства разработки. Одним из самых популярных программаторов Atmel является AVR ISP (внешний вид на рис.1). С помощью AVR ISP можно запрограммировать любой микроконтроллер с ядром AVR через последовательный интерфейс SPI. Программатор подключается через COM-порт и работает под управлением AVR Studio.

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

Аналог фирменного программатора AVR ISP
Рис.2 Аналог фирменного программатора AVR ISP

На рис.2 приведена принципиальная схема авторского варианта AVR ISP. В отличие от своего прообраза он содержит только один микроконтроллер, обладая теми же функциями. В место ATmega8535 (AT90S8535) в базовом варианте применён микроконтроллер ATmega16. Он имеет вдвое большим объёмом памяти программ и данных, и сопоставим с ATmega8535 по назначению выводов и внутреннему устройству. Запись и обновление содержимого DD2 осуществляются через встроенную программу-загрузчик (boot-loader), которая использует для этих целей способность самопрограммирования микроконтроллеров AVR. Дополнительными программными средствами осуществляется так же согласование работы программы предназначенной для ATmega8535 с адресным пространством ATmega16 и использование прерывания TOV0 для отслеживания положения кнопки SB1 и управления линиями PD7, PC0…PC6. 

Программатор подключается к любому свободному COM порту в системе через разъём X1. Напряжение 9…15 В подаётся на разъём X2 от отдельного источника питания способного отдавать в нагрузку ток не меньший чем 100 мА. Разъем X3 служит для внутрисхемного программирования или при программировании на отдельной панели.
На выводе 7 X3 присутствуют прямоугольные импульсы частотой 1.8432 МГц. Их можно использовать, если программируемый микроконтроллер настроен на работу с кварцевым резонатором либо с внешним тактовый генератором. В этом случае импульсы подаются на вход XTAL1. Устройства, не имеющие собственного источника энергии, можно запитать непосредственно от программатора через вывод 2 X3 (внутрисхемное программирование устройств с напряжением питания меньшим, чем 5 может привести к поломке!). Активизация и запрещение тактовых импульсов на выводе 2 X3, а также присутствие напряжения 5 В на выводе 7 X3, регулируются кнопкой SB1.

В ходе работы светодиод HL3 свидетельствует о нормальном функционировании программатора. HL1 будет светиться во время программирования микроконтроллера, а HL2 будет сигнализировать о наличии напряжения и тактовых импульсов (выводы 2 и 7 X3 соответственно).

Перед началом работы в DD2 нужно занести программу, находящуюся в Файле BootISP.hex (исходный текст в файле BootISP.asm) с помощью любого удобного программатора. FUSE-биты при этом должны выглядеть следующим образом:
CKSEL0 = 0   SUT0   = 1   BOOTRST = 0   EESAVE = 1
CKSEL1 = 0   SUT1   = 0   BOOTSZ0 = 0   CKOPT = 1
CKSEL2 = 1   BODEN   = 0   BOOTSZ1 = 0   JTAGEN = 1
CKSEL3 = 1   BODLEVEL = 0   SPIEN  = 0   OCDEN = 1

Процесс программирования
Рис.3 Процесс программирования

После того как программатор собран и подключён к компьютеру - приступают к загрузке текущей версии управляющей программы. Нажав на кнопку SB1(!), подают питание на разъём X2. Должен загореться светодиод HL1, что свидетельствует о переводе в режим обновления программного обеспечения. После этого запускают AVR Studio и через меню Tools -> AVR Prog открывают окно обновления “прошивки” AVR ISP. Далее нужно указать путь к загрузочному файлу, который по умолчанию имеет размещение C:\Program files\Atmel\AVR Tools\STK500\STK500.ebn, и начать программирование, нажав на экранную кнопку Flash -> Program(окно на рис.3). В конце завершения операции необходимо кратковременно снять напряжение, после чего программатор будет готов к применению. Связь осуществляется через меню Tools -> Program AVR -> Auto Connect. Вид окна программы поддержки AVR ISP приведен на рис.4.

Вид окна программы поддержки AVR ISP
Рис.4 Вид окна программы поддержки AVR ISP

Интерфейс программы очень простой и не требует подробных пояснений. Здесь только необходимо обратить внимание на несколько важных деталей. В списке устройств на вкладке Program в окне Device, кроме микроконтроллеров с ядром AVR (ATmega, ATtiny, AT90x и др.), доступны также некоторые модели семейства MCS-51 (названия начинаются с AT89S). Программирование AT89S через SPI принципиально ни чем не отличается от подобной операции у AVR-микроконтроллеров, за исключением одного существенного различая. Сигнала RESET у MCS-51 (в отличие от AVR) имеет активный высокий уровень. Поэтому при программировании моделей AT89S резистор R2, предотвращающий запуск микроконтроллеров AVR, необходимо подключить к шине питания программатора.

Иногда случается так, что с первого раза не удается установить связь программатора с устройством. Если не считать ошибок монтажа и неправильной установки FUSE-битов, запрещающих работу SPI (SPIEN, DWEN и RSTDISBL), вероятнее всего проблема заключается в слишком высокой частоте тактовых импульсов на линии SCK. В этом случае необходимо уменьшить скорость последовательного интерфейса. Это можно сделать вручную через вкладку Board (окно ISP Freq). Модуль SPI ведомого микроконтроллера не может работать на частотах превышающих F­clk­/4.

Программатор был проверен в работе с AVR Studio версий 4.12…4.16 со многими типами микроконтроллеров. Никаких ошибок при этом не было выявлено.

Перейти к следующей части:

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 ИС RS-232 интерфейса
MAX232
1 Поиск в FivelВ блокнот
DD2 МК AVR 8-бит
ATmega16
1 Поиск в FivelВ блокнот
DA1 Линейный регулятор
LM7805
1 Поиск в FivelВ блокнот
VD1 Выпрямительный диод
1N4007
1 Поиск в FivelВ блокнот
R1, R2 Резистор
10 кОм
2 Поиск в FivelВ блокнот
R3 Резистор
4.7 кОм
1 Поиск в FivelВ блокнот
R4 Резистор
510 Ом
1 Поиск в FivelВ блокнот
R5 Резистор
6.8 кОм
1 Поиск в FivelВ блокнот
R6 Резистор
3.3 кОм
1 Поиск в FivelВ блокнот
R7-R9 Резистор
1 кОм
3 Поиск в FivelВ блокнот
C1, C5 Электролитический конденсатор470 мкФ 16 В2 Поиск в FivelВ блокнот
C2, C3, C6, C7 Электролитический конденсатор1 мкФ 16 В4 Поиск в FivelВ блокнот
C4, C8, C11 Конденсатор0.1 мкФ3 Поиск в FivelВ блокнот
C9, C10 Конденсатор30 пФ2 Поиск в FivelВ блокнот
ZQ1 Кварц3.6864 МГц1 Поиск в FivelВ блокнот
HL1 Светодиод
АЛ307ЕМ
1 Поиск в FivelВ блокнот
HL2 Светодиод
АЛ307ГМ
1 Поиск в FivelВ блокнот
HL3 Светодиод
АЛ307БМ
1 Поиск в FivelВ блокнот
X1 РазъемDB-91 RS-232 (COM)Поиск в FivelВ блокнот
X2 РазъемПитание1 9-15ВПоиск в FivelВ блокнот
X3 РазъемISP1 Для внутрисхемного программированияПоиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Теги:

Котов Игорь Юрьевич Опубликована: 2012 г. 0 0
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.9 Проголосовало: 1 чел.

Комментарии (2) | Я собрал (0) | Подписаться

+1
Павел #
Отличная статья, все собрал, все прекрасно работает. Спасибо автору!
Ответить
0
Pavel #
Огромное спасибо за изумительную статью, распечатал всю, прекрасные примеры с объяснениями для 1-го класса - это для меня.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
FM-модуль RDA5807M Бокс для хранения компонентов
вверх