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

 
 
 
Reply to this topicStart new topic
> Можно ли расширить память EEPROM
Kiwi
сообщение Sep 21 2018, 06:08
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 193
Регистрация: 25-10-05
Пользователь №: 10 107



Имеется инструмент, который хранит данные в памяти EEPROM. Мы используем четыре 24LC1025 128Kx8 на I2C шине. Задача состоит в том, чтобы увеличить (удвоить) размер этой памяти. Я смотрел AT24CM02 256Кх8, он вдвое больше по размеру, но их только два слейва можно поставить на шине из-за ограниченной адресации; в итоге похоже, то на то и получается. Если ли тут выход, в приборе имеется только I2C.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 21 2018, 06:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Прошивку прибора тоже переписывать будете?
Go to the top of the page
 
+Quote Post
Kiwi
сообщение Sep 21 2018, 06:58
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 193
Регистрация: 25-10-05
Пользователь №: 10 107



Цитата(jcxz @ Sep 21 2018, 18:11) *
Прошивку прибора тоже переписывать будете?

Если в случае надо будет что-то модифицировать, то прошивку менять возможность имеется.

Цитата(Kiwi @ Sep 21 2018, 18:53) *
Если в случае надо будет что-то модифицировать, то прошивку менять возможность имеется.

Go to the top of the page
 
+Quote Post
Vasily_
сообщение Sep 21 2018, 06:58
Сообщение #4


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



Цитата(Kiwi @ Sep 21 2018, 09:53) *
Если в случае надо будет что-то модифицировать, то прошивку менять возможность имеется.

Тогда в чем вопрос? памяти разной вагон и маленькая тележка.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 21 2018, 07:01
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Kiwi @ Sep 21 2018, 09:58) *
Если в случае надо будет что-то модифицировать, то прошивку менять возможность имеется.

Если есть исходники, то Ваш вопрос вообще неясен. В чём проблема тогда?
Go to the top of the page
 
+Quote Post
ikm
сообщение Sep 21 2018, 07:02
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



А i2c multiplexer не подойдет, Что то типа этого TCA9546A


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
Vasily_
сообщение Sep 21 2018, 07:07
Сообщение #7


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



Подойдет ? biggrin.gif
http://ww1.microchip.com/downloads/en/devi...d-datasheet.pdf
Go to the top of the page
 
+Quote Post
Kiwi
сообщение Sep 21 2018, 07:23
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 193
Регистрация: 25-10-05
Пользователь №: 10 107



Цитата(jcxz @ Sep 21 2018, 19:01) *
Если есть исходники, то Ваш вопрос вообще неясен. В чём проблема тогда?

Для примера из даташита на AT24CM02 256Кх8
"Device Address Inputs: The A2 pin is used to select the device address
and corresponds to the fifth bit of the I2 C seven bit slave address. This
pin can be directly connected to VCC or GND, allowing up to two devices
on the same bus for a total of 4-Mbit of EEPROM.


А мне надо больше.

Цитата(Vasily_ @ Sep 21 2018, 19:07) *

Это небольшая память, посмотрите мой первый пост.

Цитата(ikm @ Sep 21 2018, 19:02) *
А i2c multiplexer не подойдет, Что то типа этого TCA9546A

Спасибо, посмотрю. Возможно, это пока единственный выход.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 21 2018, 07:30
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Kiwi @ Sep 21 2018, 10:23) *
Спасибо, посмотрю. Возможно, это пока единственный выход.

Не единственный. Заведите входы A2 микросхем на разные ноги GPIO своего МК и активизируйте перед каждой транзакцией нужную.
И тогда можете почти сколько угодно EEPROM-ов на одну I2C-шину повесить.
Это правда потребует дополнительных ног от МК.
Если с доп.ногами проблема, можно обойтись без дополнительных ног, чисто SCL/SDA:
Берёте любой МК, какой больше нравится, с флешь-памятью >=1МБ (таких уже много) пишете на него прошивку, которая любой его I2C-интерфейс программирует в режим slave и потом принимает и обрабатывает команды I2C-EEPROM-а, используя в качестве хранилища часть своей встроенной flash программ. Можно и свой протокол замутить, не обязательно имитировать протокол I2C-EEPROM-ов.
И получаете - всего один чип (а не гроздь EEPROM) и только SCL/SDA. cool.gif
Да - программу нужно написать так, чтобы она при старте копировалась в ОЗУ и выполнялась оттуда. Это несложно.
Go to the top of the page
 
+Quote Post
Kiwi
сообщение Sep 21 2018, 08:33
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 193
Регистрация: 25-10-05
Пользователь №: 10 107



Цитата(jcxz @ Sep 21 2018, 19:30) *
Не единственный. Заведите входы A2 микросхем на разные ноги GPIO своего МК и активизируйте перед каждой транзакцией нужную.
И тогда можете почти сколько угодно EEPROM-ов на одну I2C-шину повесить.

А для тех EEPROM-ов , которые в данный момент не используются, в каком состоянии МК GPIO должен быть, в высокоимпедансном? А глючить те EEPROMы не будут в таком случае?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 21 2018, 08:38
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Kiwi @ Sep 21 2018, 11:33) *
А для тех EEPROM-ов , которые в данный момент не используются, в каком состоянии МК GPIO должен быть, в высокоимпедансном? А глючить те EEPROMы не будут в таком случае?

Нет. Все неактивные - в одном состоянии (лог.1 - например), а на активную EEPROM - другое состояние (лог. 0 например). А адрес естественно на шину подаёте как будто обращаетесь к той, у которой 0 в этом бите. А почему они должны глючить? Все EEPROM получив в начале транзакции адрес, сравнят его со своим пином A2, но только у одной он совпадёт.
Можно даже дешифратор поставить (внешний чип), чтобы уменьшить число необходимых ног МК.
Глючить может только если превысите максимально допустимую паразитную ёмкость по шине или превысите нагрузочную способность.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Sep 22 2018, 17:35
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(jcxz @ Sep 21 2018, 11:30) *
Не единственный. Заведите входы A2 микросхем на разные ноги GPIO своего МК и активизируйте перед каждой транзакцией нужную.


Да. Прикольный способ. Активная микросхема по адресу 0, а все остальные имеют другой адрес. Обращаемся всегда с адресом 0.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th April 2024 - 07:18
Рейтинг@Mail.ru


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