|
|
  |
Проблема с ISP через LPT. |
|
|
|
Oct 2 2009, 19:34
|
Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714

|
Здравствуйте! У меня схема с ATTiny2313v, питание 3 вольта от дешевых батареек, программирование через lpt напрямую, используя avrdude. При первом чтении мк определился, флеш прочиталась правильно (все ff). Через некоторое время (секунд 30-60) из памяти стали читаться последовательные числа парами (00, 00, 01, 01, 02, 02, 03, 03, 04, 04 ...), еше через некоторое время - мусор, а еще через некоторое - нули. Если отключить питание, то минут через 15 можно всё начать с начала - опять будет то же самое. В чем причина такого странного поведения? Как заставить его нормально прошиваться?
|
|
|
|
|
Oct 3 2009, 06:48
|
Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714

|
Цитата(Т.Достоевский @ Oct 2 2009, 23:47)  Поставить алкалиновые батарейки, и параллельно им(по питанию) + электролитический конденсатор микрофарад на 200, ну или больше. И керамический 0,1мф прямо между ножек 10 и 20. Поставил по питанию электролитический конденсатор (керамический стоял и до этого), запитал от пяти вольт блока питания - та же херня! Как быть? Почему сначала работает, а потом нет?
|
|
|
|
|
Oct 3 2009, 07:15
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Княго @ Oct 3 2009, 01:34)  В чем причина такого странного поведения? Наверное в том, что на LPT уровни 5в? Цитата Как заставить его нормально прошиваться? Либо быстренько прошить за 30 секунд, либо собрать минимальный адаптер с буферной микросхемой и питанием её от программируемого устройства.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Oct 3 2009, 08:13
|
Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714

|
Цитата(AHTOXA @ Oct 3 2009, 11:15)  Наверное в том, что на LPT уровни 5в? Это отпадает, потому что я запитал его от пяти вольт. При включенном питании от него приходят те же данные, что на него посылаются. При выключенном приходят нули, при пустом LPT - ff. Как будто MISO и MOSI закорочены, но только при включенном питании.
|
|
|
|
|
Oct 3 2009, 08:56
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(Княго @ Oct 3 2009, 11:13)  При включенном питании от него приходят те же данные, что на него посылаются. При выключенном приходят нули, при пустом LPT - ff. Как будто MISO и MOSI закорочены, но только при включенном питании. Не совсем те же. При работающем канале SPI программирования, но без входа в программирование (или при случайном выходе из него из-за какого-то сбоя) - по этому каналу идёт задержка в один байт. При попытке "читать" из кристалла в таком состоянии при чтении флеш и будут читаться байты 00 00 01 01 02 02 и т.д. - младшие байты адресов *слов*, которые шли третьими в командах чтения и вышли из кристалла четвёртыми на месте данных. Так же выходит при залоченном кристалле, когда блокируется считывание. Из EEPROM при этом читается 00 01 02 03 ... При паршивых землях/больших наводках бывает, что несколько первых команд проходит нормально, а потом сбивается обмен (проскочил лишний SCK - нарушилась нарезка битового потока на байты, автомат программирования не воспринимает команды чтения и просто выпускает наружу всё, что принял, но оно проходит сквозь внутренний 8-битный сдвиговый регистр и задерживается на байт для программатора). Если есть время - попробуйте avreal-ом, мне просто интересно, скажет ли он synchronisation lost Если он так скажет - чистить земли, ставить, как уже советовалось, керамику поближе к контроллеру, врезать последовательные резисторы 30-100 Ом в сигналы (особенно SCK и даже может после резистора пикофарад сто на землю).
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 3 2009, 10:16
|
Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714

|
Цитата(ReAl @ Oct 3 2009, 12:56)  Не совсем те же. При работающем канале SPI программирования, но без входа в программирование (или при случайном выходе из него из-за какого-то сбоя) - по этому каналу идёт задержка в один байт. Нет, именно те же, причем теперь с самого начала. Он шлет AC 53 00 00 - ответ тоже AC 53 00 00
Причина редактирования: Излишнее цитирование.
|
|
|
|
|
Oct 3 2009, 11:02
|
Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714

|
Мнда... Щас проверил старый девайс с Mega8535. Хоть разводка и ужасная, никаких резисторов по сигналам нет, конденсаторов по питанию тоже нет, проводки для программирования просто прикручены, но всё прекрасно работает! Почему так? Tiny2313 какой-то особенно капризный к наводкам?
|
|
|
|
|
Oct 10 2009, 07:08
|
Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714

|
Переразвел плату - сделал большие полигоны земли повсюду, избавился от петель, сделал дорожки сигналов максимально короткими; сделал "программатор" на 74125, подключил через него - всё заработало! Спасибо всем за помощь, теперь буду серьезней относиться к разводке платы.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|