Перейти к содержанию
    

47HC165 & AT25256 & SPI - проблема.

Добрый день!

 

Имеется у меня контроллер, ARM SAM7 от Атмела.

К нему по SPI подключаются регистры ввода ('165), рядышком, на другом ChipSelect, подключен EEPROM AT25256.

 

И вот наблюдаю я картину, которую (а) не могу понять, (б) не знаю, как правильно решить.

 

Проблема имеется с линий Master In Slave Out. На этот вход контроллера подключены выходы и регистра, и EEPROM. И по какой-то неведомой мне причине регистр все время держит эту линию в состоянии либо "0", либо "1", в "Z" она не переходит. И в итоге, если там "1", то при обмене с памятью, логический "0" на входе контроллера у нас представлен уровнем где-то 0.8 вольта, что плохо, но в принципе работает. А вот если там ноль, то там ноль, т.е. мощи (?) памяти не хватает чтобы поднять напряжение даже до порога.

 

Проблема на лицо, вопрос - как решать.

 

Первая в голову мысль - развязать диодами. Т.е. диод катодом к MISO, анодом к периферии (памяти и регистру), плюс резистор до земли. Но я такого решения ни в одном аппноте или даташыте не видел.

Ставить "ИЛИ" не хочется, потому как лишний корпус ради одного элемента.

Во всех шытах, которые мне попадались, нигде никакой подтяжки или развязки нету, просто несколько слейвов соединены с мастером.

 

Вопрос: как грамотно решить проблему?

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На память, но вроде '165-ый не имеет Z-состояния и вешать его вместе с другим девайсом нет никакого смысла. Поэтому грамотнее всего так не делать схему вообще :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На память, но вроде '165-ый не имеет Z-состояния и вешать его вместе с другим девайсом нет никакого смысла. Поэтому грамотнее всего так не делать схему вообще :)

 

Ээх.... А вот доставабельных альтернатив '165-му особенно и нету...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем, понимаю, что не правильно, но решил так -

диод анодом к выходу '165, 15кОм резистор на землю. Ну и к точке сборки ;) резистора и диода - вход контроллера и выход памяти. 3МГц, работает. Завал, конечно, появился, но что делать...

 

Следующей итерацией попробую '125 или '126 с управлением от ChipSelect (который у меня длиииииный, но в нужное время присутствует), это, конечно, более правильно.

Изменено пользователем Kitsok

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй лучше так:

От 165-ой идёт резюк на 1 ком к точке соединения 25256 и проца. Логика работы будет следующая. Если 25256 будет в третьем состоянии, то сигнал на проц будет идти с 165-ой. Если же 25256 будет активна, то она перетянет сигнал на свою сторону. Если будет подглючивать, попробуй увеличить резюк до 3,3..10 ком. Желательно чтоб у проца этот выход не имел внутренней подтяжки.

 

Наверно я погорячился говоря что так нельзя делать. Вобщем с резюком должно работать и вроде как стабильно. То есть это простой способ объединять на шине SPI девайс с Z-состоянием и другой, не имеющий оного. Как говорится - если очень хочется, то можно :)

 

Резюк наверное лучше поставить на 4,7к

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...