Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с NAND через GPIO
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
semen_992
Доброго времени!

Подскажите, пожалуйста, возможно ли работать с NAND флешью без аппаратного контроллера(через GPIO)?
faa
Цитата(semen_992 @ Mar 22 2012, 12:48) *
Доброго времени!

Подскажите, пожалуйста, возможно ли работать с NAND флешью без аппаратного контроллера(через GPIO)?

Можно
Пример тут
PoReX
Можно узнать для чего? Не проще взять МК с аппаратным контроллером или на крайний случай SPI или I2C флешку?
semen_992
Цитата(faa @ Mar 22 2012, 14:36) *
Можно
Пример тут

Большое спасибо!!!
Цитата(PoReX @ Mar 22 2012, 14:37) *
Можно узнать для чего? Не проще взять МК с аппаратным контроллером или на крайний случай SPI или I2C флешку?

Проще, но не дешево.
По моим наблюдениям, производители МК встраивают либо контроллер динамической памяти, либо контроллер нанда.
Это в дешевых МК. А мне нужно и то, и другое.

SPI, I2С - очень уж дорогая единица объема памяти получается.
PoReX
Цитата(semen_992 @ Mar 22 2012, 13:52) *
SPI, I2С - очень уж дорогая единица объема памяти получается.

Смотря сколько надо памяти. А SDшка не подойдет?


Цитата(semen_992 @ Mar 22 2012, 13:52) *
Проще, но не дешево.
По моим наблюдениям, производители МК встраивают либо контроллер динамической памяти, либо контроллер нанда.
Это в дешевых МК. А мне нужно и то, и другое.

А если вместо DRAM контроллер SRAM будет + NAND при цене в 110-170р? STM32F101-103
semen_992
Цитата(PoReX @ Mar 22 2012, 15:09) *
Смотря сколько надо памяти. А SDшка не подойдет?



А если вместо DRAM контроллер SRAM будет + NAND при цене в 110-170р? STM32F101-103


Она под другие задачи отведена. =)

1 МБ SRAM ~ 500 руб. =(
1 МБ SDRAM ~ 3 руб.
Все изделие стоит дешевле...
PoReX
Цитата(semen_992 @ Mar 23 2012, 08:08) *
1 МБ SRAM ~ 500 руб. =(

Эмм......откуда такие цены? MT45W8MW16BGX -> 16MB 360р = 22,5р/MB, не 3 рубля конечно, но и не 500))
Если не секрет какой контроллер используете? Сам положил глаз на STM32F207 + SRAM + NAND.
Dron_Gus
LPC1788?
semen_992
Цитата(Dron_Gus @ Mar 23 2012, 12:27) *
LPC1788?

Пока не ясно.
Цитата(PoReX @ Mar 23 2012, 09:54) *
Эмм......откуда такие цены? MT45W8MW16BGX -> 16MB 360р = 22,5р/MB, не 3 рубля конечно, но и не 500))
Если не секрет какой контроллер используете? Сам положил глаз на STM32F207 + SRAM + NAND.

Да, действительно, не 500)
На мой взгляд, раз уж можно реализовать работу с NAND'ом через GPIO, лучше смотреть на МК с контроллером динамической памяти, чем NAND'ы.
PoReX
Цитата(semen_992 @ Mar 23 2012, 12:24) *
На мой взгляд, раз уж можно реализовать работу с NAND'ом через GPIO, лучше смотреть на МК с контроллером динамической памяти, чем NAND'ы.

Согласен, но МК с поддержкой динамической памяти стоят дорого. Например, тот же LPC1788 обойдется раза в два дороже STM32F207, да и в наличии смотрю не везде он есть, в отличии от последнего. Так что STM32F207 + 32 MB SRAM и LPC1788 + 32MB DRAM примерно в одной ценовой категории.
semen_992
Цитата(PoReX @ Mar 23 2012, 15:42) *
Согласен, но МК с поддержкой динамической памяти стоят дорого. Например, тот же LPC1788 обойдется раза в два дороже STM32F207, да и в наличии смотрю не везде он есть, в отличии от последнего. Так что STM32F207 + 32 MB SRAM и LPC1788 + 32MB DRAM примерно в одной ценовой категории.

При маленьком объеме необходимой памяти - соглашусь...
Alex11
NAND хорошо вешается на SRAM контроллер. Получается гораздо быстрее, чем просто на GPIO.
jcxz
Цитата(semen_992 @ Mar 23 2012, 11:08) *
Она под другие задачи отведена. =)
1 МБ SRAM ~ 500 руб. =(
1 МБ SDRAM ~ 3 руб.
Все изделие стоит дешевле...

Всё изделие стоит дешевле? И при этом такое количество разнородной памяти (SDRAM+NAND+SD)?
Если стоит вопрос о цене, то обычно стараются уложиться во внутренюю память кристалла, либо обойтись минимумом памяти одного типа (меньшее кол-во микросхем).
Может стоит двигаться в направлении оптимизации ПО и не использования всяческих линухов? Это даст больший экономический эффект чем вешание на GPIO.
PoReX
Цитата(Alex11 @ Mar 24 2012, 02:26) *
NAND хорошо вешается на SRAM контроллер. Получается гораздо быстрее, чем просто на GPIO.

Это как? Может NOR?
Dron_Gus
И NAND тоже. ALE, CLE на любые адресные линии. Остальное очевидно. Записью в определнные адреса генерируются все необходимые сигналы.
PoReX
Цитата(Dron_Gus @ Mar 26 2012, 14:23) *
И NAND тоже. ALE, CLE на любые адресные линии. Остальное очевидно. Записью в определнные адреса генерируются все необходимые сигналы.

Они же по разному тактируются, чего-то я не пойму, как такое возможно?
Dron_Gus
Что там тактировать? sm.gif WE, RE те же. Шина данных... хм. паралельная. CS - логика та же.
Demeny
Цитата(PoReX @ Mar 26 2012, 17:23) *
Они же по разному тактируются, чего-то я не пойму, как такое возможно?

#NAND_CE и #NAND_BUSY вешаете на любые GPIO ноги контроллера.
Шину данных D0-D7 как есть на шину данных SRAM. #NAND_WE, #NAND_RE соответственно на #WR, #RD SRAM.
Далее - NAND_CLE, NAND_ALE можно прицепить к любым адресным линиям, например, CLE - A16, ALE - A15. Тогда записью "в память" по адресу SRAM_BASE + 0x10000 (при активном #NAND_CE) можно подавать команды в NAND, а записью в SRAM_BASE + 0x8000 - устанавливать адреса блока и страницы NAND.
После установки команды и передачи адреса (дождавшись готовности #NAND_BUSY) всю страницу NAND можно считать обычным memcpy() с адреса SRAM_BASE + 0x00.
Dron_Gus
В принципе и CE можно повесить на CS. Но лучше сверится с диаграммами.
aaarrr
Цитата(Dron_Gus @ Mar 26 2012, 20:56) *
В принципе и CE можно повесить на CS.

Если память "умеет" режим CE don't care (а сейчас почти все умеют), то можно на CS.
PoReX
Кажется разобрался. Меня смущал CLK в Burst режиме, а для NAND'a получается асинхронный режим SRAM контроллера нужен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.