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

 
 
 
Reply to this topicStart new topic
> Проблема с ISP через LPT.
Княго
сообщение Oct 2 2009, 19:34
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714



Здравствуйте! У меня схема с ATTiny2313v, питание 3 вольта от дешевых батареек, программирование через lpt напрямую, используя avrdude. При первом чтении мк определился, флеш прочиталась правильно (все ff). Через некоторое время (секунд 30-60) из памяти стали читаться последовательные числа парами (00, 00, 01, 01, 02, 02, 03, 03, 04, 04 ...), еше через некоторое время - мусор, а еще через некоторое - нули. Если отключить питание, то минут через 15 можно всё начать с начала - опять будет то же самое.
В чем причина такого странного поведения? Как заставить его нормально прошиваться?
Go to the top of the page
 
+Quote Post
fmdost
сообщение Oct 2 2009, 19:47
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606



Цитата(Княго @ Oct 2 2009, 23:34) *
В чем причина такого странного поведения? Как заставить его нормально прошиваться?

Поставить алкалиновые батарейки, и параллельно им(по питанию) + электролитический конденсатор микрофарад на 200, ну или больше. И керамический 0,1мф прямо между ножек 10 и 20.
Go to the top of the page
 
+Quote Post
Княго
сообщение Oct 3 2009, 06:48
Сообщение #3





Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714



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

Поставил по питанию электролитический конденсатор (керамический стоял и до этого), запитал от пяти вольт блока питания - та же херня! Как быть? Почему сначала работает, а потом нет?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Oct 3 2009, 07:15
Сообщение #4


фанат дивана
******

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



Цитата(Княго @ Oct 3 2009, 01:34) *
В чем причина такого странного поведения?


Наверное в том, что на LPT уровни 5в?

Цитата
Как заставить его нормально прошиваться?


Либо быстренько прошить за 30 секунд, либо собрать минимальный адаптер с буферной микросхемой и питанием её от программируемого устройства.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Княго
сообщение Oct 3 2009, 08:13
Сообщение #5





Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714



Цитата(AHTOXA @ Oct 3 2009, 11:15) *
Наверное в том, что на LPT уровни 5в?

Это отпадает, потому что я запитал его от пяти вольт.

При включенном питании от него приходят те же данные, что на него посылаются. При выключенном приходят нули, при пустом LPT - ff. Как будто MISO и MOSI закорочены, но только при включенном питании.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 3 2009, 08:56
Сообщение #6


Нечётный пользователь.
******

Группа: Свой
Сообщений: 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 и даже может после резистора пикофарад сто на землю).


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Княго
сообщение Oct 3 2009, 10:16
Сообщение #7





Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714



Цитата(ReAl @ Oct 3 2009, 12:56) *
Не совсем те же. При работающем канале SPI программирования, но без входа в программирование (или при случайном выходе из него из-за какого-то сбоя) - по этому каналу идёт задержка в один байт.


Нет, именно те же, причем теперь с самого начала. Он шлет AC 53 00 00 - ответ тоже AC 53 00 00
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Oct 3 2009, 11:02
Сообщение #8


Нечётный пользователь.
******

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



Цитата(Княго @ Oct 3 2009, 13:16) *
Нет, именно те же, причем теперь с самого начала. Он шлет AC 53 00 00 - ответ тоже AC 53 00 00
Те же на раз получаются при висящих проводах программатора за сч'т наводки с MOSI на MISO. Ну или при несброшенном процессоре без программы или с программой, которая оставила ноги MOSI/MISO в высокоимпедансном состоянии - всё зависит от адаптера, кабеля, ...


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Княго
сообщение Oct 3 2009, 11:02
Сообщение #9





Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714



Мнда... Щас проверил старый девайс с Mega8535. Хоть разводка и ужасная, никаких резисторов по сигналам нет, конденсаторов по питанию тоже нет, проводки для программирования просто прикручены, но всё прекрасно работает! Почему так? Tiny2313 какой-то особенно капризный к наводкам?
Go to the top of the page
 
+Quote Post
Княго
сообщение Oct 10 2009, 07:08
Сообщение #10





Группа: Участник
Сообщений: 7
Регистрация: 2-10-09
Пользователь №: 52 714



Переразвел плату - сделал большие полигоны земли повсюду, избавился от петель, сделал дорожки сигналов максимально короткими; сделал "программатор" на 74125, подключил через него - всё заработало! Спасибо всем за помощь, теперь буду серьезней относиться к разводке платы.
Go to the top of the page
 
+Quote Post

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

 


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


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