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

 
 
> ATMega->SPI->AT45DB, Сбои при программировании МК
prottoss
сообщение Aug 13 2007, 13:01
Сообщение #1


Гуру
******

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



Привет всем!

Сильно меня проблема эта не волнует, но все же пытливый ум smile.gif не дает покоя.

Проблема такова. Цепляю DataFlash AT45DB к Меге. Сначала прицепил ATmega16. Начались сбои при программировании. Програматор - LPT STK200, ПО - PonyProg2000. После нажатия два-три раза на кнопку Programm прошивка заливается. Все нормально. Думал, что DataFlash AT45DB нагружает линии MISO-MOSI. Счас новый проект на ATmega128 - то же самое - но данный МК программируется по другим линям, кроме SCK и RESET - симптомы точно такие же. Пробовал другими программаторами - такая же картина. Схема с М128 вот такая:
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 23)
_Sam_
сообщение Aug 16 2007, 06:45
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031



Цитата
Еще выяснился один интересный ньюанс - если в прошивке заливаемой МК убрать блок активирования SPI-модуля и работы с DataFlash - сбои при программировании прекращаются!

Может сбои прекращаются, потому что уменьшается программа?

Цитата
цепляю туда же AT25256

Может у неё ёмкости входов другие? Потребление наверное другое. Да и резета у неё вроде нет. Можно кстати порпобовать резет at45 на VCC бросить.

А сколько ошибок при неудачной прошивке и в каком месте в начале, в конце или ещё как?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 16 2007, 10:52
Сообщение #17


Гуру
******

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



Цитата(_Sam_ @ Aug 16 2007, 14:45) *
Может сбои прекращаются, потому что уменьшается программа?
Не вижу связи


Цитата(_Sam_ @ Aug 16 2007, 14:45) *
Может у неё ёмкости входов другие? Потребление наверное другое. Да и резета у неё вроде нет. Можно кстати порпобовать резет at45 на VCC бросить.
Если в чипе предусмотрен RESET я бы хотел его использовать. smile.gif


Цитата(_Sam_ @ Aug 16 2007, 14:45) *
А сколько ошибок при неудачной прошивке и в каком месте в начале, в конце или ещё как?
Две-три ошибки при входе в режим программирования. Затем все заливается как по маслу.



Таки некогда пока добраться до платы и посмотреть осциллом, что там творится. Как только доберусь - обязательно отпишусь.



Цитата(Сергей Борщ @ Aug 16 2007, 00:42) *
А если выпаять микросхему флешки или обрезать DB_CS?
В том то и дело, что без Флэш все пучком, и даже если прицепить вместо Флэш ЕЕПром, все работает...


--------------------
Go to the top of the page
 
+Quote Post
Roger
сообщение Dec 10 2009, 20:30
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 27-06-06
Пользователь №: 18 383



У меня возникла проблема со связью Atmega8L и at45db161D-SU
Проблема заключается в том что не могу прочитать не один регистр с at45
В аттаче лежит тестовый исходник который читает с AT45 и передает по UART.
C UART приходит постоянно строка SR=00
Для убеждения что все с SPI пробывал соединить MISO=MOSI и передавать a++ то все нормально передается
Пробывал на разных скоростях читать и разные режимы толку нету sad.gif

Питание схемы от LL1187-3.3V
Выводы CS WP Res повесил PD7 PD6 PD5 соответсвенно. т.к. выводы порта PB заняты для шим.

В чем может быть проблема
Горит курсач
Go to the top of the page
 
+Quote Post
Roger
сообщение Dec 11 2009, 16:47
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 27-06-06
Пользователь №: 18 383



Всем спасиб, проблема была в прорайке...
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Dec 14 2009, 02:37
Сообщение #20


Местный
***

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



Только предположение.
Раздел даташита меги128, SPI Serial Programming Algorithm, вход в режим программирования.
[quote]
1. Power-up sequence:
Apply power between VCC and GND while RESET and SCK are set to ”0”. In some systems, the programmer can not guarantee that SCK is held low during power-up. In this case, RESET must be given a positive pulse of at least two CPU clock cycles duration after SCK has been set to ”0”.
[quote]
Так как в даташите не нашел отдельного описания последовательности входа в последоветельный режим программирования, то смею предположить, что для этого ресет и SCK садятся на ноль, потом на ресет подается импульс длиной более чем в 2 такта CPU. (Уточнить можно ) Супервизор "съедает" часть этого импульса (его ResetActiveTime = 250..1000ms) и вполне возможно, что он не доходит до меги. Также его может "съедать" и watchdog.
Хотя это никак не связано с наличием/отсутствием АТ45.

P.S.
Пересмотрел исходники AVR910. Оказывается, последовательность немного другая. (хотя я выражение из даташита "positive pulse" понимаю как переход 0->1->0) Сначала программатор садит SCK на "0". Потом ждет (~50 мс) дальше ресет на 0 и после паузы ~50 мс выдает на mosi "Programming Enable". То есть фаза входа в режим программирования начинается немного раньше подачи ресета.
Ресет в момент выдачи программатором "0" НЕ активен, поэтому программатор и контроллер работают "навстечу". Из-за этого уровень на этой ноге при фронте на ресете может отличаться от "0". Отсюда и ошибка входа в режим программирования.
Так что попробуйте sck подключить к ат45 через резистор
Go to the top of the page
 
+Quote Post
Андрей67
сообщение Feb 10 2011, 19:34
Сообщение #21





Группа: Новичок
Сообщений: 4
Регистрация: 10-08-09
Пользователь №: 51 815



Извиняюсь, что со своим вопросом в чужую тему. Но маленький вопрос.
Использовал в устройстве память AT45DB011B-SU, а сейчас есть возможность купить только AT45DB011D-SH-B-ND. Полностью ли они взаимозаменяемые? Есть ли разница в коде при обращении к В и к D?
Спасибо!
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 10 2011, 20:57
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Андрей67 @ Feb 11 2011, 00:34) *
Есть ли разница в коде при обращении к В и к D?
Производитель (фирма Atmel) специально для вас написал документ Migrating from the B to the New D DataFlash Family, который давно уже выложен на страничке продукта.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 11 2011, 08:50
Сообщение #23


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Андрей67 @ Feb 10 2011, 22:34) *
Извиняюсь, что со своим вопросом в чужую тему. Но маленький вопрос.
Использовал в устройстве память AT45DB011B-SU, а сейчас есть возможность купить только AT45DB011D-SH-B-ND. Полностью ли они взаимозаменяемые? Есть ли разница в коде при обращении к В и к D?
Спасибо!
Должны быть совместимы, я переходил с B на C и на D не помню, чтобы я что-то допиливал в драйвере.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Андрей67
сообщение Feb 11 2011, 13:10
Сообщение #24





Группа: Новичок
Сообщений: 4
Регистрация: 10-08-09
Пользователь №: 51 815



Цитата(rezident @ Feb 10 2011, 23:57) *
Производитель (фирма Atmel) специально для вас написал документ Migrating from the B to the New D DataFlash Family,


Спасибо большое!!!
Go to the top of the page
 
+Quote Post

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

 


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


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