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

 
 
> 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
 
Start new topic
Ответов
Lexy_one
сообщение Aug 17 2011, 10:56
Сообщение #2


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

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



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


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 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 Текстовая версия Сейчас: 28th July 2025 - 19:21
Рейтинг@Mail.ru


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