|
|
  |
Проблемма с AT45DB161, AT25256, data out странно выглядит |
|
|
|
May 26 2008, 05:25
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 13-02-07
Пользователь №: 25 311

|
Доброе утро уважаемые. Имею тупик по использовании памяти Flash AT45DB161 и EEPROM AT25256. Установлены на этой плате http://electronix.ru/forum/index.php?showtopic=44112&hl=Сама шина разведена на следующие микросхемы. Переключателем включаю ту или иную микросхему (вкл. выкл. питание). 1) TMP121 2) DS1390 3) AT45DB161 4) AT25256 Для AT45DB161, AT25256 есть так же разъемы для программирования. TMP121, DS1390работают нормально. При использовании AT45DB161, AT25256 сигнал data out как будто заземлен (все время в 0, со слабой помехой). Проверил, на земле не висит. При использовании разъемов AT45DB161 опознается программатором (использую AS-4), но при желании прочитать флеш пишет нет соединения (возможно настройки проекта неверны в ASISP от Аргуссофта). При стирании из ASISP на осциллографе нормальная картина. При использовании разъемов AT25256 нет возможности опознать программатором, но eeprom читается, не все ячейки равны 0xFF. При работе с ATMega2560 Режимы верные оба Mode 0, MBS первые, SPI Clock Rate: 62,500 kHz. WP, Reset, RDY\Busy все аппаратно в 1 стоит. Т.е. Не могу прочитать даже регистр статуса. На сколько я понял инициализировать ее отдельно не нужно… Код не привожу посколько фактически он пустой. Никто с подобным не сталкивался? Не смог нагуглить модель на протеус киньте плс на mr_iaсобакаmail.ru может есть у кого хоть там проверю примеры.
|
|
|
|
|
May 26 2008, 05:43
|

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

|
Цитата(mr_ia @ May 26 2008, 13:25)  Доброе утро уважаемые. Имею тупик по использовании памяти Flash AT45DB161 и EEPROM AT25256. Установлены на этой плате http://electronix.ru/forum/index.php?showtopic=44112&hl=Сама шина разведена на следующие микросхемы. Переключателем включаю ту или иную микросхему (вкл. выкл. питание). 1) TMP121 2) DS1390 3) AT45DB161 4) AT25256 Для AT45DB161, AT25256 есть так же разъемы для программирования. TMP121, DS1390работают нормально. Я вообще удивляюсь, КАК у вас датчик температуры и РТЦ еще работают. ВСЕ входы CS  на вышеперечисленных 4-х микросхемах соединены вместе. Я так понимаю, схема вот эта http://electronix.ru/forum/index.php?act=A...st&id=20306МС DD24-DD27?
--------------------
|
|
|
|
|
May 26 2008, 06:18
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 13-02-07
Пользователь №: 25 311

|
Да CS как и другие связи шины между собой соединены. Но одновременно микрухи естественно не работают. Через SA46 если по схеме запитываю только одну.
Да схема та.
Сообщение отредактировал mr_ia - May 26 2008, 06:19
|
|
|
|
|
May 26 2008, 08:27
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 13-02-07
Пользователь №: 25 311

|
Плата делалась для себя с целью тренировки программирования на железе(опыта нет). Соотвественно старался запихнуть туда поболее. Не все идеально там не спорю. Но конкретно для меня это было оптимально.
|
|
|
|
|
May 26 2008, 08:36
|

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

|
Цитата(mr_ia @ May 26 2008, 08:25)  Сама шина разведена на следующие микросхемы. Переключателем включаю ту или иную микросхему (вкл. выкл. питание). А теперь откройте даташит, и найдите там максимально допустимое напряжение на выводах этих микросхем. Оно там указано как напряжене питания + 0.3в. Потом возьмите вольтметр, и с удивлением обнаружьте на выводах питания отключенных микросхем напряжение, близкое к питанию остальной схемы. Недопустимо снимать питание с микросхемы, подавая что-то на ее входы. Если хотите выбирать одну из микросхем - коммутируйте специально предназначенный для этого вывод CS. При этом не забудьте поставить подтяжку в неактивное состояние на отключаемые выводы.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 26 2008, 11:45
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 13-02-07
Пользователь №: 25 311

|
Понял. Т.е. нужно было, в моем случае, помимо выключения питания, CS не с мк заводить, а с дешифратора и с подтяжкой на CS у всех микросхем?
А на счет модели не поможете?
|
|
|
|
|
May 26 2008, 12:19
|

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

|
Цитата(mr_ia @ May 26 2008, 14:45)  Понял. Т.е. нужно было, в моем случае, помимо выключения питания, Выключать питание не нужно было вообще. А CS заводить или с дешифратора, или со свободных портов, или, если очень хотите, с одной ножки порта через выключатель.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 27 2008, 16:35
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 13-02-07
Пользователь №: 25 311

|
Спасибо помогло. Порезал дорожки, бросил соплями CS на каждый свой, пока без подтяжки, итог заработало. Чтоб окончательно прояснить для себя еще вопрос. Устанавливаем аппаратно в неактивное состояние только CS у всех микросхем (в Mode 0 подтягиваем к питанию), у выбранной программно в 0. Clock, Data in, Data out не трогаем?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|