|
ATMega->SPI->AT45DB, Сбои при программировании МК |
|
|
|
Aug 13 2007, 14:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
Были похожие проблемы в проекте с мега16 и ат45, схемы подключения была очень похожа, если не идентична, приведенной, и программатор был тоже STK200 на HC244, может проблема в самом программаторе? Может помехи какие? Программатор у меня дох по линии MISO причем хитро это проявлялось, линия просаживалась до первой операции прошивки программатором и проявлялось в том что не работали операции записи-чтения в ат45 пока к схеме был подключен программатор и до того момента пока я не перешивел мегу - после этого все работало нормально... Еще мое устройство при отладке питалось от импульсного источника питания и мне припоминается, что у моего соседа тоже были проблемы с прошивкой пока работал этот источник...т.е. на лицо влияние помех. P.S. А куда же делся крутейший программатор AVR910-USB?  P.P.S Тогда я этот вопрос не решил, просто тихо матерился и перешивал по 3 раза  Но при производстве прошивку производили программатором AVR910-COM с довольно коротким шлейфом и проблем, насколько я помню не было...
--------------------
|
|
|
|
|
Aug 14 2007, 07:08
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(GDI @ Aug 13 2007, 22:03)  P.S. А куда же делся крутейший программатор AVR910-USB?  Вы не внимательно читаете посты. Было написано - "...Пробовал другими программаторами - такая же картина..." Цитата(oll @ Aug 14 2007, 00:13)  Попробуйте "прицепить" электролит 33мкФ на питание AT45 А смысл? И почему именно 33мкФ а не, допустим 47 или 20??? Цитата(_Sam_ @ Aug 14 2007, 01:49)  У меня такая память в двух проектах используется с mega48 и mega128. Программирую ByteBlaster + avreal. Проблем нет. Схема вроде такая же. Можно попробовать 100pF на sck повесить. не хотелось бы навешивать всякие не стабильные элементы на SCK. По идее должно все и так программироваться нормально... Память, кстати, AT45DB081RI, используется в обоих случаях. Я все же склоняюсь к мысли, что виноват не SCK, а RESET. Заливаю прошивку в МК я не слишком часто, по этому сигналы не анализировал...
--------------------
|
|
|
|
|
Aug 15 2007, 11:48
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Сергей Борщ @ Aug 15 2007, 16:19)  Правильно ли я понял, что у вас на вход reset процессора подается сигнал RESET_M, т.е. в случае программирования сигнал reset программатора, "обработанный" ADM1232? Если да, то наверное правильнее будет поставить резистор 1-10К между RESET_M и 6 ножкой ADM + R18, а RESET с разъема ISP завести на RESET_M. Да - RESET_M (RESET, активный нулем) заведен на вывод RESET МК. Можно сделать и так, как Вы предлагаете, ибо вывод RST# ADM1232 - типа ОК (открытый коллектор). Но тогда на время программирования на линии RESET_P будут импульсы от WDT ADM1232, что не приятно мне  К тому же я не вижу принципиальных отличий, ибо схема работает без DatаFlash отлично, и мне не понятно, от чего она не хочет работать нормально с DataFlash. К слову, до осциллографа руки пока так и не доходят  - дела, черт бы их побрал
--------------------
|
|
|
|
|
Aug 15 2007, 13:37
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(prottoss @ Aug 15 2007, 14:48)  Но тогда на время программирования на линии RESET_P будут импульсы от WDT ADM1232, что не приятно мне  Да, засада. Но так они и сейчас там должны быть, ибо при программировании программатор лишь кратковременно "прижимает" Reset. А поскольку программатор обычно имеет пуш-пульный выход на reset, при его подключении в предложенном мной варианте (на RESET_M) срабатывание собаки в ADM будут отсекаться. Цитата(prottoss @ Aug 15 2007, 14:48)  К тому же я не вижу принципиальных отличий, ибо схема работает без DatаFlash отлично, и мне не понятно, от чего она не хочет работать нормально с DataFlash. Действительно чуднО. В приложенной схеме программируется и с DataFlash и без. В ней Reset формируется подтягивающим резистором к +3.3В
Прикрепленные файлы
sch.pdf ( 77.24 килобайт )
Кол-во скачиваний: 282
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Aug 15 2007, 16:42
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(prottoss @ Aug 15 2007, 17:00)  Неа. Точно, ступил. Программатор зажимает reset на все время программирования. Цитата(prottoss @ Aug 15 2007, 17:00)  Еще выяснился один интересный ньюанс - если в прошивке заливаемой МК убрать блок активирования SPI-модуля и работы с DataFlash - сбои при программировании прекращаются! Чудесатые чудеса. Даже если предположить, что после включения питания проц успевает начать обмен с флешкой, то сброс от программатора должен а) сбросить саму флешку аппаратно и б) перевести ногу, управляющующую CS флешки в третье состояние и за счет резистора подтяжки вторично деактивировать флешку. А если выпаять микросхему флешки или обрезать DB_CS?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|