Только в этом месяце - скидки на паяльники и электронику с нашими кодами (123avr.com) :
![]() |
|
Совет - умейте правильно находить информацию!
|
Добавить страницу в закладки: - стр. 7 -
Чем и как "прошить" МК
AVR ?
|
вид
сверху платы на штырьки. |
Подробней по ISP разъемам посмотрите Апликейшн Ноут AVR910.
Вывод 2 нужно подключить к
+ питания МК
если вы собираетесь использовать
программатор
питающийся от вашего же
устройства - например фирменный ISP AVR.
Для "5 проводов" этот вывод
не подключается. Для программирования
достаточно 5 контактов. Соответственно
и разъем который вы будете использовать
может
быть любым удобным для размещения на плате и имеющий минимум 5
контактов. Все контакты
ISP разъема подсоединяются к ножкам
МК в соответствии с названиями.
ВНИМАНИЕ ! в ATmega64 и ATmega128 выводы MOSI и MISO не применяют для ISP Внимательно смотрите ДатаШит ! Например для ATmega128 сигналы MISO подключают к ножке PE1, MOSI подключают к ножке PE0 |
||
Я советую вам
пользоваться интерфейсом программирования встроенным в
компилятор CodeVisionAVR и конечно же в нем
разрабатывать программу для МК. Дело в том, что вам вряд ли удастся сразу
написать программу без ошибок, даже
после прогона в софт эмуляторе - симуляторе ваше
устройство может делать не то,
что вы от
него ожидаете - значит в программу нужно
будет вносить изменения и снова
зашивать в МК , и так раз 20 и более.
Вы
можете в компиляторе CodeVisionAVR открыть
меню "Проджект -> Конфига -> Афта
Мэйк" и отметить чек бокс "Program the
chip" затем ОК. Еще
нужно в меню "Сеттинс ->
Программер" выбрать ваш адаптер (подробней
ниже) для программирования. Теперь
после безошибочной компиляции
программы вам будет доступна кнопка "Program"
- нажмите на нее и произойдет
программирование МК - т.е. файл .hex будет
загружен в память программ МК. Затем МК будет "сброшен"
(на ножку RESET будет подан лог. 0 а затем опять
"1") и начнет выполнять только что прошитую (загруженную в него)
программу. Вам даже не нужно будет отсоединять
адаптер программирования от вашего устройства если вы не используете
в устройстве последовательный интерфейс SPI.
... и так
до окончательной отладки устройства.
В А Ж Н О ! В диалоге настройки программирования не трогайте галочки установки фьюзов МК если не разобрались четко что они делают! Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами или даже искать Параллельный программатор для AVR. Но популярному ATtiny2313 даже параллельный программатор не поможет! |
||
в ATmegaXXX с завода включен внутренний RC генератор на частоте 1 МГц ( уточните это по ДШ и его возможные частоты ) Если вам нужна другая частота или нужно включить внешний кварцевый или керамический резонатор - вам нужно запрограммировать некоторые фьюзы по таблицам из ДШ или по таблице фьюзов на стр. 2
З а п о м н и т е :
НЕ запрограммированный фьюз 1
ЗАпрограммированный фьюз 0
Пример: Чтобы включить в ATmega16 внешний кварцевый резонатор с частотой от 3 до 8 МГц с конденсаторами (по схеме рис. 12 ДШ) найдите в ДШ раздел "System Clock".
В таблице 2 указаны комбинации фьюзов для разных источников тактового сигнала. Далее написано что с завода МК поставляется с такой комбинацией фьюзов
SKSEL 0001 SUT 10 CKOPT 1
По таблице 4
находим :
Для кварца с частотой от 3 до 8 МГц
нужны конденсаторы от
12 до 22 пФ
и вот такая комбинация фьюзов :
SKSEL 1111 SUT 10 CKOPT 1
Установка фьюзов в программаторе компилятора CVAVR
Для прошивания МК
нажмите кнопку "Program All"
Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше но запрограммировать CKOPT - значит сделать его "0". Т.е. вам нужна такая комбинация:
SKSEL 1111 SUT 10 CKOPT 0
CKOPT 0 - нужен и тогда когда вы хотите подключить к XTAL2 другой микроконтроллер или тактируемый прибор.
Фьюзы SUT - определяют
запуск генератора тактового сигнала, в большинстве случаев их установку
можно оставить "как с завода" - SUT 10
- более детально это описано в даташите в таблицах до 12.
Для соединения компьютера с
ISP разъемом устройства на AVR
Советую сделать адаптер от STK200
- это "правильные 5 проводков" с микросхемой
буфером снижающим вероятность случайного повреждения порта ПК.
В
установках компилятора CodeVisionAVR интерфейс "5-проводков"
называется "Канда системз STK200+/300"
Программа узнаёт адаптер STK200 по перемычкам на
разъеме
параллельного порта к которому
он подключается - должны быть соединены
двумя перемычками пары выводы: 2 и 12, 3 и 11.
Внимание! Для программирования к МК должно быть подключено питание. Например +4...+5 вольт ко всем выводам МК в названии которых есть VCC и 0 вольт ко всем выводам GND (это "общий" провод). Пример тут |
||
Попробуйте поискать полезную инормацию в Гугле - ее там море ! Учитесь искать!
Если в МК нет
внутреннего генератора
тактового сигнала (например старые
AVR серии AT90sXXXX или мега побывавшая в чьих
то шаловливых руках изменивших фьюзы до того как попасть к вам) то
нужно подключить кварц
на 1 - 8
МГц и два конденсатора от 15 до 33 пФ. Либо
подать тактовый сигнал 1-1.5 МГц от внешнего источника
-
например генератора на микросхеме 74hc14
или на таймере LM555.
Программатор
AVReAl
может программировать
МК
без
кварца и без конденсаторов.
Он
выводит тактовый сигнал на
выв. 5 LPT его нужно подать на ножку XTAL1 МК
и добавить в командной строке
AVReAL специальный ключ "-o0".
Программатор
AVReAl
позволяет назначать какие ножки LPT порта
использовать -
это будет полезно когда часть
ножек LPT вы уже спалите
:-)
(Тактовый сигнал генерирует и программатор на USB по ссылке внизу этой страницы.)
Еще очень советую поставить подтягивающий резистор 10 кОм от ножки Reset МК на питание VCC и конденсатор 0.01-0.33 мкФ (в апноутах AVR040 и AVR042 рекомендуют 0.01 мкФ) от Reset на GND - как в схеме к задаче 7 курса.
Я использую самый простой вариант адаптера STK200 - "для самых ленивых" - пять поводков соединяющих линии параллельного (LPT) порта ПК и AVR так же как на схеме STK200 выше, но без микросхемы буфера. Лучше все же токоограничительные резисторы от 150 до 270 ом впаять Проводки не более 15 см длиной ! |
||
Адаптер "5-проводков" прекрасно
работает
с
компилятором CodeVision
Советую для изготовления адаптера взять " принтерный" шнур - он длинный и экранированный, а не экранированные проводки не стоит делать более 10-15 см. |
||
Для питания устройства при
программировании и отладке можно
кроме
сетевого адаптера использовать:
- батарейку на 6 вольт с 2 диодами последовательно для понижения напряжения...
- можно три батарейки по 1,5 вольт последовательно соединить
...
а можно +5 вольт взять с вывода
1 гейм порта компьютера или осторожно из гнезда USB.
Желательно питать устройство от ПК! В этом случае "земля" вашего устройства будет соединена с корпусом ПК и можно будет безопасно подключать и отключать разъем программирующего адаптера.
ВНИМАНИЕ! Всегда старайтесь первыми соединить "земли" устройств, а затем питание и потом уже сигнальные линии. |
||
Не поленитесь: спаяйте
адаптер STK200
на микросхеме буфере по рисункам внизу страницы - так как LPT
порт компьютера более нежен чем COM -
соответственно его спалить проще...
Если вы хотите использовать ножки МК SCK, MOSI, MISO в вашем устройстве то подключайте другие компоненты к ним через резисторы 4.7 КОм - чтобы не мешать программированию. Так рекомендовано в апноуте AVR042 Для Мега64, -128, -256 вместо MOSI и MISO используются другие ножки для ISP программирования ! |
||
Если у вас нет LPT порта сделайте Аналог "5 проводков" для COM-порта
Или соберите простой, дешевый USB программатор для AVR
Или соберите похожий программатор USB программатор AVR и AT89s
Вот топик об успешной сборке этого интерфейса для программирования на ATmega8. Это новый вариант платы для него. Архив с разводкой платы Внимание ! Этот программатор выдает тактовый сигнал 1 МГц и меньше для прошивки МК без кварца и с выключенным внутренним генератором. тактовый сигнал выводится на контакт "LED". Его нужно подвести к ножке XTAL1.
Существуют специальные программы "бутлодеры" которые записываются в микроконтроллер способами перечисленными выше и после этого микроконтроллер может сам, при включении, закачивать в себя программу (например из ПК через адаптер UART rs232 COM port - схема в задаче 4 курса) и запускать ее выполнение. Есть много бесплатных загрузчиков
|
||
Программатор AVR микроконтроллеров. LPT программатор.
Светодиод VD1 индицирует режим записи микроконтроллера,
светодиод VD2 - чтения,
светодиод VD3 - наличие питания схемы.
Напряжение, необходимое для питания схема берёт с разъёма ISP, т.е. от программируемого устройства. Эта схема является переработанной схемой программатора STK200/300 (добавлены светодиоды для удобства работы), поэтому она совместима со всеми программами программаторов на PC, работающих со схемой STK200/300. Для работы с этим программатором используйте программу CVAVR
Программатор можно выполнить на печатной плате и поместить её в
корпус разъёма LPT, как показано на рисунках:
|
|
|
|
Это профессиональное средство для программирования и отладки программы МК ATmega фирмы Atmel в реальном устройстве. Он полностью совместимый с оригинальным AVR JTAG ICE.
Автор данного устройства Milan Kostomlatsky [email protected] Оригинальное описание находится здесьПример реализации: на макетке
Добавить страницу в закладки:
Copyright 2009-2019 123avr.com