|
Можно ли расширить память EEPROM |
|
|
|
 |
Ответов
|
Sep 21 2018, 06:58
|
Частый гость
 
Группа: Свой
Сообщений: 193
Регистрация: 25-10-05
Пользователь №: 10 107

|
Цитата(jcxz @ Sep 21 2018, 18:11)  Прошивку прибора тоже переписывать будете? Если в случае надо будет что-то модифицировать, то прошивку менять возможность имеется. Цитата(Kiwi @ Sep 21 2018, 18:53)  Если в случае надо будет что-то модифицировать, то прошивку менять возможность имеется.
|
|
|
|
|
Sep 21 2018, 07:23
|
Частый гость
 
Группа: Свой
Сообщений: 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 Спасибо, посмотрю. Возможно, это пока единственный выход.
|
|
|
|
|
Sep 21 2018, 07:30
|
Гуру
     
Группа: Свой
Сообщений: 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.  Да - программу нужно написать так, чтобы она при старте копировалась в ОЗУ и выполнялась оттуда. Это несложно.
|
|
|
|
|
Sep 21 2018, 08:33
|
Частый гость
 
Группа: Свой
Сообщений: 193
Регистрация: 25-10-05
Пользователь №: 10 107

|
Цитата(jcxz @ Sep 21 2018, 19:30)  Не единственный. Заведите входы A2 микросхем на разные ноги GPIO своего МК и активизируйте перед каждой транзакцией нужную. И тогда можете почти сколько угодно EEPROM-ов на одну I2C-шину повесить. А для тех EEPROM-ов , которые в данный момент не используются, в каком состоянии МК GPIO должен быть, в высокоимпедансном? А глючить те EEPROMы не будут в таком случае?
|
|
|
|
|
Sep 21 2018, 08:38
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Kiwi @ Sep 21 2018, 11:33)  А для тех EEPROM-ов , которые в данный момент не используются, в каком состоянии МК GPIO должен быть, в высокоимпедансном? А глючить те EEPROMы не будут в таком случае? Нет. Все неактивные - в одном состоянии (лог.1 - например), а на активную EEPROM - другое состояние (лог. 0 например). А адрес естественно на шину подаёте как будто обращаетесь к той, у которой 0 в этом бите. А почему они должны глючить? Все EEPROM получив в начале транзакции адрес, сравнят его со своим пином A2, но только у одной он совпадёт. Можно даже дешифратор поставить (внешний чип), чтобы уменьшить число необходимых ног МК. Глючить может только если превысите максимально допустимую паразитную ёмкость по шине или превысите нагрузочную способность.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|