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

 
 
 
Reply to this topicStart new topic
> I2C и Flash память, Как сделать автоопределение памяти?
Shivers
сообщение Aug 8 2011, 11:27
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Есть вопрос. Обычная Параллельная флеш память (NOR,NAND) имеет механизмы определения Manufacturer ID и Device ID, по которым можно узнать и емкость чипа. У меня стоит задача - дергая выводами I2C интерфейса определить какая память подключена, если подключена. Изучил несколько даташитов на разные памяти и не нашел НИЧЕГО, что помогло бы мне понять как писать алгоритм распознавания чипа. Разве что - флешка опускает ACK, когда понимает, что контрольный байт обращен к ней. Т.е. я могу определить, что она физически подключена, но не более.

Вопрос - возможно ли написать автоопределение для I2C флешек?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 8 2011, 11:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Интересно, кто нибудь вообще способен для начала просто расшифровать набор слов "обычная NOR,NAND I2C Flash"?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Shivers
сообщение Aug 8 2011, 11:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Плохо написал. Имелась ввиду флеш память с параллельным интерфейсом.
Просто, у встреченной мной NOR и NAND памяти (с параллельным интерфейсом) сильно разнится механизм автоопределения.

Вопрос по I2C флеш памяти - существует ли ну нее вообще механизм автоопределения, и как его сделать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 8 2011, 13:31
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Shivers @ Aug 8 2011, 14:54) *
Вопрос по I2C флеш памяти - существует ли ну нее вообще механизм автоопределения, и как его сделать?

Не темните. Что такое "I2C Flash"? Сможете сказать что за чипы, сможете и прочитать в документации производителя о том, как их различать.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Shivers
сообщение Aug 8 2011, 13:44
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(zltigo @ Aug 8 2011, 16:31) *
Не темните. Что такое "I2C Flash"?

Чипы флеш памяти с I2C интерфейсом.

Пример: флеш 24FC65 от микрочипа, с I2C интерфейсом. В даташите не указано ни спец. команд для доступа к служебным регистрам, ни собственно самих регистров с идентификационной информацией и прочим.

Что я хочу увидеть, примеры: NOR флеш с параллельным интерфейсом AM29F040 от амд , или NAND флеша от самсунга, также с парарллельным интерфейсом - они имеют хоть и разные, но механизмы идентификации. У первой надо выставить адрес 555 и ААА чтобы получить доступ к служебной информации, а у второй достаточно выставить команду 90, и можно считывать ID производителя и чипа.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 8 2011, 13:59
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Shivers @ Aug 8 2011, 16:44) *
Чипы флеш памяти с I2C интерфейсом.
Пример: флеш 24FC65 от микрочипа, с I2C интерфейсом.

Для начала это совсем не Flash. Это однако EEPROM.
У EEPROM традиционно идентификаторов нет. Если У Вас в изделии допустимо устанавливать несколько разных типов EEPROM, то можете, например, разносить их по разным адресам и по адресу определять тип, или, как я в основном делаю, записываю свой идентификатор при первом программировании.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Shivers
сообщение Aug 8 2011, 14:10
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(zltigo @ Aug 8 2011, 16:59) *
Для начала это совсем не Flash. Это однако EEPROM.

Гмм, и действительно. Причем это не ошибка - нагуглил еще пяток разных чипов памяти под i2c, и все eeprom. Досадно sad.gif

Спасибо за помощь!
Go to the top of the page
 
+Quote Post
Lexy_one
сообщение Aug 17 2011, 10:56
Сообщение #8


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

Группа: Участник
Сообщений: 90
Регистрация: 28-07-09
Из: Чернигов
Пользователь №: 51 621



У меня была подобная задача....
сделал просто... при первом включении тестирую память путем записи в нее по крацним адресам данных...
а потом пытаюсь их от туда прочитать... если читается правильно с правильных адресов то устанавливаю соответствующий тип подключенной памяти..
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 17 2011, 11:30
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Lexy_one @ Aug 17 2011, 12:56) *
сделал просто... при первом включении тестирую память путем записи в нее по крацним адресам данных...

Очень ограниченный вариант - I2C EEPROM имеют еще и разные размеры блоков, разные варианты адресации, разные скорости работы....
Тоскливо на автомате все пытаться определять. Ну а идентификатор записать - про это я уже писал.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 18 2011, 06:42
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Aug 17 2011, 14:30) *
Ну а идентификатор записать - про это я уже писал.

Простите, не догоняю.
Что дает идентификатор, если и при чтении нужно учитывать адресацию/размер страницы?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 18 2011, 08:43
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Dog Pawlowa @ Aug 18 2011, 08:42) *
Простите, не догоняю.
Что дает идентификатор, если и при чтении нужно учитывать адресацию/размер страницы?

Идентификатор записывается по младшим адресам EEPROM нулевой страницы. Занимает, например, не более размера самой маленькой страницы. Ищется перебором только адресов чипа (если нужно). После считывания идентификатора чипа уже становится ясным, количество страниц, их размер и способ адресации страниц отличных от нулевой. Поскольку именно по считанному идентификатору все это и определяется.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 19:04
Рейтинг@Mail.ru


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