AVReAl Описание Адаптеры History FAQ English Russian

Часто задаваемые вопросы и ответы на них

Q1. Как ленивый пользователь, я предпочитаю работать с WIN оболочкой, а не с командной строкой. Будет ли когда-то avreal иметь GUI?

Q2. Для чего нужен сигнал PEN (вывод 1) у процессора mega103?

Q3. Шил 1200 чудесно пока не поставил между ресетом и землей конденсатор и резистором подтянул к Vcc. После этого после стирания AvReal говорит что никто не подключен хотя отдельный запуск с оставшимися ключами проходит нормально. В чем дело?

Q4. После того, как я начал в своей программе использовать SPI порт - чип перестал детектироваться :(

Q5. Каково Ваше мнение по поводу Атмеловского программатора, описанного в Application Note AVR910?

Q6. Я залочил 90s2313 и он перестал распознаваться программатором.

Q7. У меня в mega103 не записывается EEPROM данных.

Q8. А почему программирование происходит ТАК МЕДЛЕННО?

Q9. У меня почему-то не программируется через байт-бластер (да, кстати, в схеме на страничке ошибочно показана полярность диода)

Q10. Зачем в схеме байт-бластера диод и почему именно в такой полярности?


Q1.
Как ленивый пользователь, я предпочитаю работать с WIN оболочкой, а не с командной строкой. Будет ли когда-то avreal иметь GUI?
A.
Как ленивый пользователь :-), я предпочитаю нажать CtrlF9 в любимом редакторе для пересборки и зашивки проекта в AVR вместо того, чтобы жать тучу кнопок в WIN-оболочках компилятора и программатора.
Собственно, мотивом написания avreal и было то, что не было толкового программатора командной строки, иначе бы я и не рыпался :-) Большинство (если не все) современных IDE позволяют включить внешнюю command line программу. Подключите avreal, задайте командную строку с файлом проекта и жмите кнопки.

Оглавление


Q2.
Для чего нужен сигнал PEN (вывод 1) у процессора mega103?
A.
From: avr@atmel.com
Date: Wed, 14 Oct 1998
The PEN pin is a Reset pin that is only active on power-up. Otherwise it is inactive. (The idea is to make a system with external ISP functionality, like a portable telephone, but with no risk of resetting the system accidentally. It can only be reset/programmed when power is switched off and on.)

Оглавление


Q3.
Шил 1200 чудесно пока не поставил между ресетом и землей конденсатор и резистором подтянул к Vcc. После этого после стирания AvReal говорит что никто не подключен хотя отдельный запуск с оставшимися ключами проходит нормально. В чем дело?
A.
По спецификации программирования после стирания необходимо снять сброс с кристалла, потом опять подать. При большой задержке сигнала сброса конденсатором либо супервизором чип просто не успевает пересбросится. Начиная с версии 1.14rev3 в avreal добавлен ключ времени неактивного Reset после стирания -ai. Необходимо установить время заведомо большее, чем задержка снятия сигнала сброса внешними цепями.

Оглавление


Q4.
После того, как я начал в своей программе использовать SPI порт - чип перестал детектироваться :(
A.
Касается версий avreal до 1.22 (начиная с этой версии ключ указания чипа +name обязателен).
Довольно частая ошибка - применение avreal без указания чипа. Пока SPI не задействован - вход в программирование сразу, читается DEV ID и дальше все без проблем. Как только включенный SPI начинает мешать - облом.
Дело в том, что по умолчанию в старых версиях avreal принимается 90s1200. Если все нормально, то чип входит в connect сразу, по dev ID определяется тип и дальше все Ok. Но если зашитая в чип программа выставляет высокий уровень на SCK, то сразу войти в синхронизм не удается. Для всех чипов кроме 90s1200 существует процедура пересинхронизации и в конце концов все нормально. Но для 90s1200 этой процедуры не просто нет - ее нельзя применять (затирается dev ID, еще какие-то бяки, вроде бы даже можно загнать чип в позу, из которой его выводит только параллельный программатор). Итого по умолчанию процедура пересинхронизации не проводится. Итого Вы имеете "not connected".

Оглавление


Q5.
Каково Ваше мнение по поводу Атмеловского программатора, описанного в Application Note AVR910?
A.
'+' Он независим от прихотей DOS/NT/кто_угодно_еще, так как ему надо всего лишь COM-порт в стандартном режиме доступа. Его легче сделать полностью гальванически развязанным (всего 2 линии связи). Меньше проблем при работе с низковольтными AVR (LPT порт-то норовит выдать 5V).
'-' более медленная работа, чем через LPT, в основном из-за слишком упрощенной системы команд программатора (следствие выбора 90s1200 как основы). Если бы там был 90s2313, то можно было бы сделать в ОЗУ буфер, аппаратный UART позволил бы влупить скорость скажем 57600 и кроме этого запараллелить прием и зашивку блоков данных (а не побайтно, как в AVR910) - это сильно подняло бы скорость работы.

Оглавление


Q6.
Я залочил 90s2313 и он перестал распознаваться программатором
A.
Это описанная в errata ситуация. И вообще, errata составляются не только для пишущих программаторы.
У 90s2313 lock-биты могут не стираться при напряжении питания 5V. Необходимо стереть кристалл при пониженном напряжении (причем зачастую достаточно понизить его до 4.8V), затем можно вернуться к нормальному и запрограммировать.

Оглавление


Q7.
У меня в mega103 не записывается EEPROM данных...
A.
Вероятне всего не не записывается а не читается. И кварц у Вас вероятно на почти 6MHz. Тоже есть errata - у меги в режиме последовательного программирования не читается EEPROM при тактовых частотах, близких к максимальной (записывается нормально!).

Оглавление


Q8.
А почему программирование происходит ТАК МЕДЛЕННО?
A.
А не забывайте про ключик -o частота установленного на кристалл кварца. Исходя из этой частоты рассчитывается, сколько времени должны присутствовать уровни '0' и '1' на входе SCK кристалла. По умолчанию 800kHz (чтобы точно заработало на кристаллах с внутренним RC-генератором на 1MHz) и avreal соответственно занижает частоту обмена. Начиная с версии 1.23rev2 добавлен поллинг при записи памяти кода (ключ -wp), это также повышает скорость записи.

Оглавление


Q9. У меня почему-то не программируется через байт-бластер (да, кстати, в схеме на страничке ошибочно показана полярность диода)
A.
Ну раз Вы нашли в схеме ошибку, которую за десятки тысяч посещений сайта никто не заметил, надеюсь, Вы её исправили, прежде чем паять байт-бластер? Да? Тогда чему удивляться? Попробуйте впаять диод так, как показано на схеме, ещё раз прочтите про подключение питания к адаптеру и плате, после чего прочтите ниже ответ на правильную форму этого вопроса (в такой форме его тоже задают, но почему-то гораздо реже, чем в этой).

Оглавление


Q10. Зачем в схеме байт-бластера диод и почему именно в такой полярности?
A.
Этот диод исключает паразитную запитку платы с программируемым контроллером от LPT-порта по цепи [выходы и подтянутые к +5В входы порта]->[входные защитные диоды шинного формирователя]->[вывод 20 формирователя]->[вывод 4 колодки байт-бластера]. Нагрузнчной способности выходов LPT может оказаться достаточно, чтобы даже на довольно большой и "прожорливой" плате с 5-вольтовыми микросхемами при отключении основного питания обеспечить "натекание" напряжения до полутора вольт. В результате возможны разные неприятности от несрабатывания POR при подаче основного питания до незапуска импульсного источника, питающего плату. Последнее наблюдалось на плате с пятью 208-ногими ИС программируемой логики, питаемой от импульсного блока питания стандарта AT.

Оглавление