I
МИКРОКОНТРОЛЛЕРЫ
t
линиями в программируемом устрой-
стве. Обратите внимание, что микро-
контроллер автоматически устанавли-
вает все эти I/O выводы как входы, с
отключенными подтягивающими рези-
стинами, когда RESET активен. Чтобы
избежать проблем, внутрисистемный
программатор должен быть способен
удерживать полный сброс программи-
руемого устройства в течение цикла
программирования. Программируемое
устройство никогда не должно пытать-
ся управлять тремя SPI линиями, пока
сброс активен. Если использование си-
стемного программатора для контроли-
рования сброса программируемого ус-
тройства невозможно, сброс может уп-
равляться вручную. Программатор дол-
жен просить оператора формировать
сброс, когда это необходимо. Процеду-
ра будет проходить безопаснее и быст-
рее, если внутрисистемному програм-
матору позволят считывать значение с
линии сброса, чтобы проверить, что
пользователь выполняеттребуемые за-
дачи. С изменением в программном
обеспечении программаторы, произве-
денные ATMEL, могут поддерживать
этот недостаток управления. Однако
этот способ не рекомендуется.
SCK
При программировании в последо-
вательном режиме внутрисистемный
программатор выдает тактовый сигнал
на SCK ножке. Этот вывод всегда уп-
равляется программатором, и програм-
мируемое устройство не должно пы-
таться управлять этим проводом, ког-
да сброс активен. Немедленно, после
того как вывод RESET становится ак-
тивным, на этом выводе программато-
ром формируется ноль. В течение перн
вой фазы цикла программирования
предохраняйте SCK линию от пульса-
ци£||Так как они будут причиной поте-
ри синхронизации с программатором.
Когда синхронизация потеряна, един-
ственный способ восстановить синхро-
низацию, - это освободить линию сбро-
са больше чем на 100 мс. Программи-
руемый AVR MCU всегда будет устанав-
ливать SCK вывод как вход без подтя-
гивающего сопротивления, всякий раз,
когда RESET активен (см. также опи-
сание линии RESET). Минимальные
длительности НИЗКОГО и высокого уров-
ня для последовательного входного так-
тового сигнала определяются как:
низкий:
> 1
XTAL
1
период тактовой
частоты;
высокий: >4 XTAL
1
периода такто-
вой частоты.
MOSI
При программировании AVR в пос-
ледовательном режиме внутрисистем-
ный программатор выдает данные для
программируемого устройства на вы-
вод MOSI. Этот вывод всегда управля-
ется программатором, и программиру-
емое устройство никогда не должно пы-
таться управлять этим выводом, когда
активен сброс программируемого уст-
ройства. Программируемый микрокон-
троллер всегда будет устанавливать
MOSI вывод как вход без подтягиваю-
щего сопротивления, всякий раз, когда
RESET активен (см. также описание
линии RESET).
MISO
Когда формируется сброс про-
граммируемого микроконтроллера,
вывод MISO устанавливается как вход
без подтягивающего сопротивления.
Только после того, как команда
“Programming Enable” (Программирова-
ние разрешено) была правильно пере-
дана программируемому устройству,
программируемый; микроконтроллер
устанавливает свой вывод MISO как
выход. Вначале внутрисистемный про-
грамматор применяет свое подтягива-
ющее сопротивление, для удержания
MISO линии стабильной до тех пор,
пока она не будет под управлением про-
граммируемого микроконтроллера.
VDD
При программировании микрокон-
троллера сигналы на выводах програм-
матора должны оставаться в пределах,
указанных в DC характеристиках. Для
упрощения адаптации к любому напря-
жению питания программируемого ус-
тройства, программатор может полу-
чать необходимое питание от програм-
мируемого устройства. Это допустимо,
так как внутрисистемный программа-
тор будет потреблять очень маленькую
энергию от программируемого устрой-
ства, обычно не больше
20
мА. Про-
грамматор, представленный ATMEL,
работает именно в этом режиме. Как
альтернатива программируемое уст-
ройство может запитываться от про-
грамматора через тот же разъем, кото-
рый иепапьэуется для связи. Это позво-
ляет программируемому устройству
быть запрограммированным без под-
^ключения внешнего источника питания.
Программатор поддерживает про-
граммное обеспечение AVReAl [1], Pony
Prog [2], CodeVisio AVR [3], AtmelISP [4].
На умазанных Сайтах можно найти
соответственное программное обеспе-
чение и почитать его описание, нюан-
сы работы. Также я особенно рекомен-
дую почитать erratas'bi к программиру-
емым контроллерам - там тоже есть
нюансы, которые надо учитывать, из-
за которых процессор может не про-
граммироваться.
В моем варианте системный про-
грамматор выполнен навесным монта-
жом на печатной плате размером 50x50
.
мм. Монтажные проводники должны
быть минимальной длины. Шлейф от
адаптера к LPT разъему должен иметь
в два раза больше проводов, причем
надо паять следующим образом: один
провод сигнальный, второй “земляной”,
получается своего образа “прослойка”.
Земляных проводов не жалеть - от это-
го зависит устойчивая работоспособ-
ность схемы! В моем варианте шлейф
имеет 20 проводов. Его длина не долж-
на превышать 0,5 метра. Отличные ре-
зультаты получаются при применении
в качестве шлейфа витой пары, в этом
варианте можно увеличить длину
шлейфа до одного метра. В системном
программаторе рекомендую применить
шинный формирователь 74НС244, так
как он имеет наименьшую потребляе-
мую мощность. Можно применить оте-
чественный аналог 1564АП5, возможны
варианты 555АП5 (74LS244) и 1533АП5
(74ALS244), либо, при соответствую-
щей корректировке схемы, любые дру-
гие, не инвертирующие формировате-
ли с тремя состояниями выходов.
Правильно собранный адаптер на-
чинает работать сразу после подклю-
чения разъема XS2 к плате программи-
руемого устройства. Обязательно, по-
мойте плату адаптера после сборки,
чтобы убрать паразитное влияние ос-
татков флюса.
^
Ресурсы
1
2
К. Герасименко. Системный програм-
матор Atmel STK200/STK300. • Радио-
компоненты, №3/2004, с. 26-27.
----------------------------
1» i
Радиолюбитель - 1
2/20061
предыдущая страница 35 Радиолюбитель 2006-12 читать онлайн следующая страница 37 Радиолюбитель 2006-12 читать онлайн Домой Выключить/включить текст