реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проблема с переходом от AS2 на AVRISP mkII
vul
сообщение May 6 2009, 08:18
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Здравствуйте! Не могли бы вы помочь со следующей проблемкой. В серийном производстве плат, на которых установлена AtMega128, мы долгое время использовали as2 (обычный, старый, не m) из-за того, что разработчики предоставили нам именно его. Сейчас мы закупили для другой цели несколько AVRISP mkII, в связи с чем я решил попробовать использовать один из них для прошивки тех плат. Нужно мне это из-за давней мечты о программировании из командной строки, раздражает меня программа as2isp. Так вот, проблема в следующем. Перепробовал несколько плат, стабильно avrisp работает только на одной, на остальных даже сигнатура не читается, Entering programming mode.. FAILED и все, причем выдает сообщение о том, что на SCK возможно КЗ. Хотя бывали моменты правильного чтения сигнатуры на этих платах, но это единичные случаи. С as2 те же самые платы работают без проблем, сигнатура сходу читается на частотах SPI вплоть до 115 кГц. С avrisp пробовал понижать частоту вплоть до 6 кГц, пробовал вроде и ниже на отдельных платах - не хотят и все.

Возможно, проблема может быть в следующем:
1) На плате по SPI подключен еще и сигнальный процессор TMS, они с АтМегой иногда конфликтуют в случае неправильной прошивки, но в данном случае дело явно не в этом - на as2 все нормально. Может быть, линии слишком нагружены?
2) На линии RESET стоит микросхемина TPS3801L30, которая генерит низкий уровень ресета или из внешнего сигнала сброса (с разъема SPI), или из-за недостаточного напряжения питания (начальная инициализация). Я так понимаю, это стандартно, но вдруг именно она вносит какие-то искажения?
3) Может быть, влияет длина проводников? Плата подключается к программатору через контактные площадки (ложе гвоздей), потом идет на программатор, общая длина проводников для avrisp сантиметров 30-40, не больше, у as2 явно длиннее, там чуть ли не метр, так что это вряд ли.

Думаю, понятно, что с первыми двумя пунктами я ничего поделать не могу, если только для интереса что-то выпаять, так как плата уже разведена так, а не иначе. Но если кто сможет помочь (например, поменять что-то в самом avrisp), буду очень признателен.
Go to the top of the page
 
+Quote Post
SysRq
сообщение May 6 2009, 11:11
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Осциллоскопом посмотрите что на PDO\PDI\SCK\RESET в момент поптыки программирования. Найдите отличия м\у работой программаторов.
Да и потом, у as2 10-контактный разъем ISP, а у mkII 6-контактный. Правильно подключили?

PS: as2isp тоже умеет с командной строки; однако, сам не проверял...
Go to the top of the page
 
+Quote Post
vul
сообщение May 6 2009, 11:17
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Цитата(SysRq @ May 6 2009, 15:11) *
Осциллоскопом посмотрите что на PDO\PDI\SCK\RESET в момент поптыки программирования. Найдите отличия м\у работой программаторов.
Да и потом, у as2 10-контактный разъем ISP, а у mkII 6-контактный. Правильно подключили?

PS: as2isp тоже умеет с командной строки; однако, сам не проверял...


Да, подключил точно правильно, потому что переходник с 6-контектного на 10-контактный работает на другом стенде, при программировании других плат, которые тоже раньше работали через as2.

А по поводу командной строки, то как я понял, она работает в новой версии программы, которая для as2m-as3-as4, а со старыми программаторами эта версия проги не работает.

Вот, а по поводу осциллографа гляну чуть попозже, под рукой его нет, надо будет тащить к стенду.
Go to the top of the page
 
+Quote Post
MDD
сообщение May 6 2009, 11:46
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862



На счет обычных АВРов не скажу, я их другим программатором программирую (avreal+STK200).
А вот при программировании Хмеги через AVR ISP mkII заметил, что этот программатор достаточно щепетильно относится к контакту Vcc на разъеме. Как-то по ошибке подал туда напряжение на доли вольта отличающееся от напряжения питания контроллера. В результате программирование пошло с ошибками. Судя по всему программатор измеряет напряжение на этом пине и по нему выставляет уровни программирующих сигналов.
Go to the top of the page
 
+Quote Post
vul
сообщение May 6 2009, 12:08
Сообщение #5





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Цитата(MDD @ May 6 2009, 15:46) *
На счет обычных АВРов не скажу, я их другим программатором программирую (avreal+STK200).
А вот при программировании Хмеги через AVR ISP mkII заметил, что этот программатор достаточно щепетильно относится к контакту Vcc на разъеме. Как-то по ошибке подал туда напряжение на доли вольта отличающееся от напряжения питания контроллера. В результате программирование пошло с ошибками. Судя по всему программатор измеряет напряжение на этом пине и по нему выставляет уровни программирующих сигналов.


Проверил прямо по схеме, на разъем идет то же напряжение, что и запитывает контроллер (2.8 В), дело точно не в этом sad.gif
Go to the top of the page
 
+Quote Post
vul
сообщение May 6 2009, 13:26
Сообщение #6





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Пробежался по ножкам, reset идеальный, на хорошей и "плохой" плате не отличаются, а вот на SCK на неработающей с avrisp плате вмечто частоты какой-то мусор, а на хорошей все нормально. Означает ли это, что не хватает нагрузочной способности? Как я и говорил, эта цепь идет еще и на ножку TMS-а, больше никуда. Я ведь правильно понимаю, SCK генерируется программатором, мы же именно им частоту задаем? Может быть можно как-то усилить этот сигнал? Как-нибудь доработав программатор... Ни у кого нет его схемы (avrisp mkII имею в виду)?
Go to the top of the page
 
+Quote Post
defunct
сообщение May 6 2009, 23:33
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(vul @ May 6 2009, 16:26) *
Может быть можно как-то усилить этот сигнал? Как-нибудь доработав программатор... Ни у кого нет его схемы (avrisp mkII имею в виду)?

Может быть стоит пойти от обратного и убрать лишние рты?. подключить SCK только к SCK, а не к SCK и еще к TMS и еще к какой-то ботве.
Go to the top of the page
 
+Quote Post
vul
сообщение May 7 2009, 05:32
Сообщение #8





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Цитата(defunct @ May 7 2009, 03:33) *
Может быть стоит пойти от обратного и убрать лишние рты?. подключить SCK только к SCK, а не к SCK и еще к TMS и еще к какой-то ботве.


К сожалению, проблема в том, что даже если это и поможет, пользы никакой не будет - плату то я менять не могу, не выпаивать же для прошивки атмеги BGA-шный TMS на всех сотнях/тысячах плат sad.gif
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение May 7 2009, 18:12
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



для уменьшения емкостной нагрузки поставьте на SCK последовательно резистор (100+ Ом) последовательно между мегой и TMS.

P.S. TMS случаем SCK'ем не пытается управлять?
Go to the top of the page
 
+Quote Post
vul
сообщение May 8 2009, 09:23
Сообщение #10





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Цитата(Александр Куличок @ May 7 2009, 22:12) *
для уменьшения емкостной нагрузки поставьте на SCK последовательно резистор (100+ Ом) последовательно между мегой и TMS.

P.S. TMS случаем SCK'ем не пытается управлять?


Проблема в том, что я не знаю точно, что делает в этот момент TMS, но тем не менее с as2 все работает.

Повозился еще с осциллографом, у меня получилось следующее. RESET и на плохих, и на хороших платах одинаковый (под плохими платами понимаю здесь те, на которых не получается считать сигнатуры атмеги с помощью avrisp, но c as2 сигнатура читается). Повесил на SCK подтяжку 5кОм. При этом на хороших платах на SCK после включения питания 2.8 В, а на плохих какое-то страное напряжение, порядка 1.5 В. Так вот, на плохих платах при попытке считать сигнатуру эти 1.5 В поднимаются на долю секунды до 2.8 В, а потом возвращаются к 1.5. Никаких синхроимпульсов там нет. На хороших же идут синхроимпульсы. Если же подключить as2, то там после 1.5 В идут синхроимпульсы с амплитудой 2.8 В, а потом, после чтения сигнатуры, напряжение возвращается к 1.5 В. То есть несмотря на эту подсадку, as2 нормально управляет этим выводом.

Пробовал еще по советам повесить резистор 2кОм на RESET между разъемом ISP и супервизором, ничего не изменилось...

Прилагаю к сообщению упрощенную схемку системы, может быть, посоветуете, что еще попробовать... К сожалению, допаивать что-то я могу только в разрыв между программатором и разъемом ISP, как, например, упомянутые подтяжка на SCK и 2к на RESET.

Прикрепленное изображение


Сообщение отредактировал vul - May 8 2009, 09:24
Go to the top of the page
 
+Quote Post
vesago
сообщение May 8 2009, 09:28
Сообщение #11


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Попробовать на период прошивки меги глушить TMS. Допустим ресет на нем активировать. Еще может мк2 отслеживает SCK и в случае мусора прекращает сеанс => через диод подать, чтобы просадку отсеять, а до диода подтянуть к питанию.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение May 8 2009, 15:31
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(vul @ May 8 2009, 12:23) *
К сожалению, допаивать что-то я могу только в разрыв между программатором и разъемом ISP, как, например, упомянутые подтяжка на SCK и 2к на RESET.

Ну и впаяйте туда буфер типа нс125. Или вообще одногейтовый только на SCK.
Go to the top of the page
 
+Quote Post
vul
сообщение May 12 2009, 06:59
Сообщение #13





Группа: Новичок
Сообщений: 7
Регистрация: 6-05-09
Пользователь №: 48 715



Цитата(Qwertty @ May 8 2009, 19:31) *
Ну и впаяйте туда буфер типа нс125. Или вообще одногейтовый только на SCK.


Тут подсказали идею, которая выглядит очень верно, только неясно что с этим делать. Дело в том, что этот супервизор TPS3801 задерживает низкое напряжение на выходе RESET относительно входа MR на 200 мс. Это означает, что avrisp уже давно снял ресет и продолжает формировать последующую временную диаграмму, а атмега еще в ресете. as2, по видимому, дольше выжидает после снятия ресета, поэтому с ним и меньше проблем. Возникает вопрос, нельзя ли найти прошивку, в которой это время увеличено. Все больше подозреваю, что дело все же в этом. Видел информацию о какой-то прошивке клона avrisp mkII, к родному программатору она подходит, никто не знает? И есть ли в этом смысл?

А по поводу буфера - может ли это помочь? И как его впаивать? Просто z-буфер, который пропускает информацию в направлении от ISP к атмеге на линии SCK? а открывать его каким сигналом?
Go to the top of the page
 
+Quote Post
Qwertty
сообщение May 12 2009, 07:12
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(vul @ May 12 2009, 09:59) *
Все больше подозреваю, что дело все же в этом.

Вы думаете что импульсов на SCK нет из за задержки снятия сигнала RESET? biggrin.gif
Цитата(vul @ May 12 2009, 09:59) *
А по поводу буфера - может ли это помочь? И как его впаивать? Просто z-буфер, который пропускает информацию в направлении от ISP к атмеге на линии SCK? а открывать его каким сигналом?

Пробуйте. Enable - RESET. Который, если буфер не одногейтовый, тоже можно отвязать - вход буфера на землю, выход на резет контроллера, enable на резет с программатора.
Go to the top of the page
 
+Quote Post
VVM
сообщение May 21 2009, 05:59
Сообщение #15





Группа: Новичок
Сообщений: 1
Регистрация: 3-04-08
Пользователь №: 36 438



Проблема решается весьма просто !
Подключите выход супервизора ко входу RESET контроллера через резистор, например 1кОм,
а программатор непосредственно ко входу RESET.
В этом случае супервизор не будет "мешать" программатору
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 10:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01495 секунд с 7
ELECTRONIX ©2004-2016