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

Поиск SMBus памяти

Хочется странного.

Нужна микросхема памяти на 1 - 2 Мбит совместимая по выводам с микросхемами I2C EEPROM памяти типа M24M01 или AT24CM02, но с интерфейсом SMBus, а не I2C.

В изделии применен чип CYUSB3014 с автозагрузкой ПО по I2C интерфейсу. Если сбросить CYUSB3014 во время загрузки, вывод SDA может залипнуть в нуле (если было чтение и перед сбросом и исчезновением тактов читался ноль), а CYUSB3014 не умеет при сбросе подавать лишние такты на SCL и освобождать залипшую шину.

В интерфейсе SMB оговорена минимальная скорость с которой может работать интерфейс и если она ниже порога - слэйв уходит в сброс и освобождает шину, что в принципе и нужно.

Пересмотрел кучу производителей I2C EEPROM. У всех в описаниях оговаривается только максимальная частота, но не минимальная.
Датчики температуры с SMBus совместимые с I2C встречал. Например UMW LM75B. А вот EEPROM не получается найти...

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


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

Может лучше попробовать использовать I2C EEPROM или FRAM со входом RESET и сбрасывать её вместе с CYUSB3014?

У Infineon (бывшие Cypress) есть такая память с RESET. Если конечно хватит объёма.

 

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


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

В 25.04.2024 в 15:39, Zig сказал:

Пересмотрел кучу производителей I2C EEPROM. У всех в описаниях оговаривается только максимальная частота, но не минимальная.

У i2c нет минимальной частоты, можно хоть на 0,1 Гц работать. Я помнится вручную кнопочками нащелкивал адрес и данные)

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


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

42 минуты назад, jcxz сказал:

У Infineon (бывшие Cypress) есть такая память с RESET. Если конечно хватит объёма.

Спасибо. Ищу. Пока не получается. Название не подскажете.

2 минуты назад, HardEgor сказал:

У i2c нет минимальной частоты, можно хоть на 0,1 Гц работать. Я помнится вручную кнопочками нащелкивал адрес и данные)

А я как раз с SMBus нажегся. Писал тест микросхемы через ногодрыг по JTAG и не получал ACK от микросхемы, хотя при штатной работе она отвечала. Долго тормозил пока не догадался, что частота SCL через ногодрыг получалась ниже минимальной.

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


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

17 минут назад, aaarrr сказал:

Если нужна память с RESET, то она делается из любой одним n-канальным полевиком.

При любой коммутации питания не надо забывать про паразитную запитку через сигнальные линии в высоком состоянии. А для современных малопотребляющих EEPROM даже тока через подтяжки может хватить для такой запитки. Тем более, что ног с подтяжками много. 

Так что - "одного полевика" может не хватить. И такой RESET может превратится в тыкву.

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


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

11 minutes ago, jcxz said:

При любой коммутации питания

А я где-то предлагал коммутировать питание?

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


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

2 минуты назад, aaarrr сказал:

А я где-то предлагал коммутировать питание?

А что тогда вы предлагали делать полевиком?

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


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

В 25.04.2024 в 11:39, Zig сказал:

В изделии применен чип CYUSB3014 с автозагрузкой ПО по I2C интерфейсу.

Ммда, вот такого изврата я еще не встречал, может гении киприса еще запилят чип с загрузкой по 1wire, они ж любят все такое))))

А этот суперчип случаем не умеет грузиться с человеческого spi например?

В 25.04.2024 в 11:39, Zig сказал:

Если сбросить CYUSB3014 во время загрузки, вывод SDA может залипнуть в нуле

Т.е. еще и сделали это криво, чтоб потом мучались разработчики....

В 25.04.2024 в 11:39, Zig сказал:

с которой может работать интерфейс и если она ниже порога - слэйв уходит в сброс

Вы ж понимаете, что это костыль, и далеко не факт, что он решит все ваши проблемы... Ну вернее проблемы "гениев", придумавших такую загрузку и реализовав ее криво.

ЗЫ. И вот еще мысль, согласно канонам i2c обе линии должны иметь подтяжку к плюсовой шине, а при сбросе я еще не встречал, чтобы линии МК не уходили в Z состояние, ну или становились входами, т.е. залипнуть в 0 даже в теории не должно...

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

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


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

6 минут назад, mantech сказал:

А этот суперчип случаем не умеет грузиться с человеческого spi например?

К сожалению партия плат уже готова. И требуется доработка без существенной трудоемкости.

Пока нашел SMBus память у st. Называется SPD EEPROM M34E04, но к сожалению на большой объем их нет. Только до 4 кбит. А хотелось 2 Мбит.

Еще, как вариант, рассматриваю схему на таймере 555, которай выдаст пачку импульсов SCL пока не отпустится SDA при условии отсутствия тактов на SCL и SDA==0 некоторое время (таймаут).
В штатном режиме при SDA==SCL==1 и при активности на шине такая схема не будет мешать, а при залипании SDA во время сброса быстро освободит шину.
Таймер с обвесом можно будет разместить на мелкой плате и запаять на 4 провода (SDA,SLC,VCC,GND) поверх EEPROM.

Есть еще вариант с выключением питания EEPROM, наподобие обсужденного @aaarrr и @jcxz, но с закорачиванием питания EEPROM при ресете, но доработка имеющихся плат при этом будет трудоемкой. С напайкой платы поверх чипа EEPROM будет проще.

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


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

12 minutes ago, Zig said:

с закорачиванием питания EEPROM при ресете

Зачем закорачивать? N-канальным полевиком отключаете EEPROM землю по сбросу.

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


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

2 минуты назад, aaarrr сказал:

Зачем закорачивать? N-канальным полевиком отключаете EEPROM землю по сбросу.

На шине две EEPROM. У одной адресные выводы установлены в 000, у другой 001. Плюс у каждой по выводу GND. Все эти семь выводов через переходные отверстия подключены к внутренним слоям. Просто поставить NFET в землю сложно. Проще запитать EEPROM от PullUp резистора RESET, но для этого нужно отрезать переходные отверстия от вывода питания EEPROM к слою питания и паять провода от RESET к питаниям EEPROM.

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

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


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

4 minutes ago, Zig said:

адресные выводы

Адресные выводы отключать нужды нет.

 

5 minutes ago, Zig said:

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

Если всё уже собрано - да, технологичнее будет что-то добавить сверху.

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


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

24 минуты назад, aaarrr сказал:

Если всё уже собрано - да, технологичнее будет что-то добавить сверху.

Обдумал ваше решение. Спасибо, что подсказали. Надо посмотреть внимательнее на дорабатаваемую плату.

Можно сделать плату переходник. Тонкую однослойную. На ней разместить обе EEPROM и транзистор. Приклеить ее к основной плате и через торцевые полуотверстия припаять к основной.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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