Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с последовательной прошивкой
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Mexo
Имеется:
Плата с АДуК812, интерфесная схема на ADM202, шнур на COM, прошивка

Задача:
Прошить АДуК

Проблема:
Не прошивается! На все запросы не отвечает, стабильно 1 на TxD и хоть бы дёрнулось...

Использовал:
Keil uVision 3, прогу download с analog.com, пару самопальных.

Требуется:
Высказать ваши мнения по этому вопросу.

Благодарю за внимание...
unsure.gif
Kazap
А режим программирования вы его ввели- цитирую datasheet-
Serial Downloading (In-Circuit Programming)
As part of its embedded download/debug kernel, the ADuC812
facilitates serial code download via the standard UART serial port.
Serial download mode is automatically entered on power-up if the
external pin PSEN is pulled low through an external resistor as
shown in Figure 15. Once in this mode, the user can download code
to the program memory array while the device is sited in its target
application hardware. A PC serial download executable is provided
as part of the ADuC812 QuickStart development system.
- То есть во время включения питания подать PSEN через резистор
1к на землю.
Если да, то посмотрите осциллом, доходят ли сигналы до RxD
Mexo
PSEN на земле через килоом.

С осцилографом лазил, до RxD доходит, другое дело, что с TxD ничего не идёт. По идее он при включении питания или ресете должен выдавать инфу о себе: я такойто-такойто, загрузчик такой-то. Этого тоже нет.

Доков-то у меня на несколько МБ по АДуКам, всё вроде пытался по ним делать.

Есть такие мысли.

У меня кварц 12.5829 а не 11 с чем-то как указано в доках, но это вроде не принципиально, да и прога прошивающая поджстраивает скорость кома в зависимоти от частоты кварца.

Сигнал ресет беру с RC-цепи, как практиковали раньше. По-идее это ему должно быть по барабану, но не уверен... Мультивизор (или как там правильно мс выдающая импульс сброса называется) фирменный просто не нашёл и решил так извратиться. Сигнал есть, уровень тот.

Да и ещё питание на аналоговую часть пустил через индуктивность 3 мкГн, чтоб меньше на цифру и обратно шумело. Но это вроде тоже не принципиально? Просто в доках, про феритовые бусинки, блин, чё-то говорили, а у меня их само собой нет.

Пробывал с 2 контролеррами одно и тоже. Оба из одной партии. Мож партия битая? Может такое быть?

Уже не знаю на что думать.... sad.gif
bialix
если мне не изменяет память, адук812 не работает с кварцами выше 12МГц. Проверьте даташит.
Stas
Цитата(bialix @ May 15 2006, 04:29) *
если мне не изменяет память, адук812 не работает с кварцами выше 12МГц. Проверьте даташит.


Адуц работает с кварцами до 16 МГц. Проверь ->PSEN через резистор на земле ->включи питание->Вручную дай ресет (закороти кондер своей RC цепи). В WSD укажи реальную частоту кварца (в дос варианте - соответствующий ключ) и номер COM порта. Сигналы смотри не на дорожках, а непосредственно на лапках иголочкой...
Mexo
Пробывал всё вышеперечисленное только с иглой на лапку не лазил. Сигналы смотрел на разъёме через который плата с АДуКом соединена с платой с АДМ202.

Сегодня купил кварцы 12МГц ровно. Появились подозрения что с 12,5829 частота кома не может выставиться коректно (нет соответствующей стандартной частоты в спецификации кома), а дальше шаманские предположения. Завтра попробую.

ЗЫ. Да 812 работает до 16МГц. 12 - предел установки частоты у 816 и т.п. работатющих от кварца 32768.
Mexo
Так люди, побейте мня!!!

Проблема была в РЕСЕТЕ!!!

В доках написано: сигнал ресет должен нарастать вместе с напряжением питания, после чего держаться не менее 240 мс. ВСЁ!!!
В качестве цепи сброса использовал RC-цепь. т.е. на ресете стабильно висела 1. Однако случайно замкнув крокодилом кондёр (который одним концом на 0) контроллер прошился, а затем исправно выполнил программу...

Поробывал снова, ещё раз, ещё... РАБОТАЕТ!!!

А теперь ответьте мне: почему в доках нет ни слова про то что ресет после 240 мс должен падать на 0???!!! И ни как иначе?

Ну ладно... глубокий выдох... главное работает... правда дисплей не завёлся.. ну думаю заведу...
А если нет - ждите темы про это... smile.gif

А эту считаю закрытой.
Спасибо всем за участие и посильную помощь!!!
Sergu
Цитата(Mexo @ May 18 2006, 21:05) *
Проблема была в РЕСЕТЕ!!!

В доках написано: сигнал ресет должен нарастать вместе с напряжением питания, после чего держаться не менее 240 мс. ВСЁ!!!


Это в каких доках такое написано? ;-)

из ADuC812_b.pdf:

External POR (power-on reset) circuitry must be implemented to drive the RESET pin of the ADuC812. The circuit must hold the RESET pin asserted (high) whenever the power supply (DVDD) is below 2.5 V. Furthermore, VDD must remain above 2.5 V for at least 10 ms before the RESET signal is deasserted (low) by which time the power supply must have reached at least a 2.7 V level. The
Mexo
Доброго!
Кривые ручки возвращаются... =)
Ладно, полгода с 812 возился по полной, нормально работал, правда спалил парочку, но щас не про это... =)
Решили перейти на 841... И тут началась таже хрень что и 812... Читал доки, вроде всё также, а не хочет...
Не шьётся, WSD его не видит, признаков жизни не подаёт...
Такие вопросы
1) на каких кварцвх он в принципе может работать (пробывал 32768, 12М, 16М, и ещё какие-то явно не родные =))
2) есть ли какие-то особенности обвязки по сравнению с 812...

Благодарю за внимание и очень надеюсь на ответ... хоть какой-нибудь...
LSV
Отличая ADuC841 во взятиии с него опорного напряжения.

Столкнулись с тем же - кварц на 11.059МГц, генерит, внешний сброс формируем внешним монитором.
В плате где стоял и работак ADuC812 не работает ADuC841. Нет ответа с ADuC841 по TxD на WSD v.6.06. Подряд так себя ведут два экземпляра ADuC841. Разговаривали с тех. поддержкой "Элтех" - ничем помочь не смогли. Проверено все что можно - PSEN, RESET, Генератор, Питание.

Остался не выяснен вопрос (в документации не нашли) - какой уровень должен быть на выходе PSEN при режиме загрузки (т.к. этот уровень отличается у ADuC812 и ADuC841)?

Осталось только предположение, что или жгем при пайке (хотя паяем Weller) или проскакивает брак.

В связи с этим решили делать приставку на ZIF - панельке, чтобы программировать без пайки и была возможность возврата.
Лядин Олег
Были теже проблеммы.
К кварцу 841 менее привередлив.
Все уровни сигналов те-же.
Проблема была с загрузчиком WSD.
Найдите на сайте Аналога седьмую версию загрузчика.
Лядин Олег
И ещё совет, перед тем как лезть иголкой в ноги контроллера нужно проверять сигнал Ale с 40_й ноги это так называемый индикатор работоспособности контроллера. Если на нем чёткие стробы то контроллер жив и все напряжения в норме.
А ресет вообще можно убрать и сбрасывать питание.
LSV
Цитата(Лядин Олег @ Nov 24 2006, 08:26) *
Были теже проблеммы.
К кварцу 841 менее привередлив.
Все уровни сигналов те-же.
Проблема была с загрузчиком WSD.
Найдите на сайте Аналога седьмую версию загрузчика.



А где 7-ая версия на сайте AD? То что я нашел - это WSD v.6.7.
Лядин Олег
Это оно самое и есть.

А вообще-то можно и самому посмтреть ответ от контроллера например в стандартном виндусовском приложении - ГиперТерминал. А частенько пользую Telix. Запускаешь программу и она выдаёт всё что поступает на Com порт. При включении питания контроллера при замкнутом Psen - контроллер выдаёт последовательность символов на uart. Это тоже так называемый знак, что контроллер жив и готов работать.

А вообще-то можно и самому посмтреть ответ от контроллера например в стандартном виндусовском приложении - ГиперТерминал. А я частенько пользую Telix. Запускаешь программу и она выдаёт всё что поступает на Com порт. При включении питания контроллера при замкнутом Psen - контроллер выдаёт последовательность символов на uart. Это тоже так называемый знак, что контроллер жив и готов работать.

А вообще-то можно и самому посмтреть ответ от контроллера например в стандартном виндусовском приложении - ГиперТерминал. А я частенько пользую Telix. Запускаешь программу и она выдаёт всё что поступает на Com порт. При включении питания контроллера при замкнутом Psen - контроллер выдаёт последовательность символов на uart. Это тоже так называемый знак, что контроллер жив и готов работать.
LSV
Попробовал WSD 6.7. Также не загружается ADuC841, т.е. дело отнюдь не WSD.

А я об том, что нет ответа и говорил в посте выше.
Т.е. как будто не работает монитор-загрузчик в ADuC841.
Mexo
Доброго!!! Адуку завели!!! Помогло уменьшение резистора на ноге PSEN до 600 Ом где-то. Работает правда пова кривовато, но есть предположение что это прога, она то изначально под 812 писалась, думаю в этом проблема. Ну а так вроде всё в норме, радуемся прелестям 841 =)
Лядин Олег
Резистор на 40_й ноге есть?
Остаётся всего три варианта:
- Питание;
- 1кОм на Psen (41_я нога).
- ADM202 (возможно у тебя другая) - формирователь уровней Uart.
Бывает что этим микросхемам не хватает обвесных емкастей. Попробый поставить ёмкасти побольше!
И ещё - Выбраси из схемы микросхему сброса!
LSV
Внеш. монитор на программирование не влияет.

Все остальное, как написано выше проверено.

Пробовал уменьшать резистор на PSEN в 2 раза.

Главное, что нормально программируется ADuC812, а ADuC841 в тойже плате нет.
Лядин Олег
На 40-й ноге сопротивление на землю стоит?
А и ещё... возможно просто микросхема интерфейса глючит. У тебя какая стоит. Бывает такое что им емкастей не хватает. Попробуй обвесные конденсаторы заменить на ADM202 (или MAX202).
LSV
40-ой вывод подключен к +5В без резистора.

В загрузчике стоит MAX202.
zerion
У меня получилось прошить ADuC841 только Download (version 2.05) который шел в ADuCkit.exe
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.