Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ep9302.,9307.,9315 и etc + FLASH (NOR)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
MemoryTest
Есть флешка типа NOR - am29lv128, Есть еп9302
из пдф на флешку Нажмите для просмотра прикрепленного файла
Twph = min 30ns
из пдф на EP9302 Twph = 2xThclk+7 (в моем случае при 100мГц = максимум 27ns)
Нажмите для просмотра прикрепленного файла

что странно у меня режим Burst не включен
*SMC_SMCBCR6 = 0x1000FFFF;
такой инит.

Но осцилографом я вижу что обращения на запись во флешь такие как BURST (см.рис выше)
и флеша конечно же некоторые транзакции линии WR просто не ловит...
откуда BURST не понятно. Включено MMU. Правда область вроде не кешируемая и буфер выключен
биты C и B = 0 в описателе секции.

если у кого осцилограф под рукой может глянете как у Вас запись происходит?
или какие идеи?
С Уважением МТ!
aaarrr
Цитата(MemoryTest @ Apr 28 2006, 11:24) *
что странно у меня режим Burst не включен...
...Но осцилографом я вижу что обращения на запись во флешь такие как BURST (см.рис выше)
и флеша конечно же некоторые транзакции линии WR просто не ловит...
откуда BURST не понятно. Включено MMU. Правда область вроде не кешируемая и буфер выключен
биты C и B = 0 в описателе секции.

Вы немного путаете - режим BURST отличается тем, что строб там вообще не
покидает активное состояние, а меняются только адреса.
Как показали эксперименты, при включенном BURST WR вообще не дергается (все
время высокий уровень), т.е. записи просто не происходит. При Ваших условиях
все корректно - WR уходит вверх примерно на 30 нс.
MemoryTest
Цитата(aaarrr @ Apr 28 2006, 12:42) *
Цитата(MemoryTest @ Apr 28 2006, 11:24) *

что странно у меня режим Burst не включен...
...Но осцилографом я вижу что обращения на запись во флешь такие как BURST (см.рис выше)
и флеша конечно же некоторые транзакции линии WR просто не ловит...
откуда BURST не понятно. Включено MMU. Правда область вроде не кешируемая и буфер выключен
биты C и B = 0 в описателе секции.

Вы немного путаете - режим BURST отличается тем, что строб там вообще не
покидает активное состояние, а меняются только адреса.
Как показали эксперименты, при включенном BURST WR вообще не дергается (все
время высокий уровень), т.е. записи просто не происходит. При Ваших условиях
все корректно - WR уходит вверх примерно на 30 нс.

Странно
по мануалу
Нажмите для просмотра прикрепленного файла
Видим что у цирруса называется бурстом и как ведет себя линия WR.
поэтому я и подумал что это бурст.
aaarrr
Действительно странно... Похоже на глюк, но жизнь портить не должно - при записи во флеш можно отключить BURST и снизить HCLK до требуемого уровня.

Вообще, SMC у EP93xx довольно куцый - иногда приходится с
бубном плясать, чтобы прикрутить к нему что-либо с не совсем стандартными времянками.
MemoryTest
Цитата(aaarrr @ Apr 28 2006, 13:07) *
Действительно странно... Похоже на глюк, но жизнь портить не должно - при записи во флеш можно отключить BURST и снизить HCLK до требуемого уровня.

Вообще, SMC у EP93xx довольно куцый - иногда приходится с
бубном плясать, чтобы прикрутить к нему что-либо с не совсем стандартными времянками.


так у меня то BURST и не включен вообще
*SMC_SMCBCR6 = 0x1000FFFF
bit PME = 0.

код который генерит такие бурст записи выглядит примерно так

|EraseSector|
; 191 : AMD_UNLOCK_CHIP();

00010 e59f206c ldr r2, [pc, #0x6C]
00014 e3a030aa mov r3, #0xAA
00018 e1c230b0 strh r3, [r2]
0001c e59f205c ldr r2, [pc, #0x5C]
00020 e3a03055 mov r3, #0x55
00024 e1c230b0 strh r3, [r2]

; 192 : AMD_WRITE_CMD(AMD_CMD_SECTERASE);

00028 e59f2054 ldr r2, [pc, #0x54]
0002c e3a03080 mov r3, #0x80
00030 e1c230b0 strh r3, [r2]

; 193 : AMD_UNLOCK_CHIP();

00034 e59f2048 ldr r2, [pc, #0x48]
00038 e3a030aa mov r3, #0xAA
0003c e1c230b0 strh r3, [r2]
00040 e59f2038 ldr r2, [pc, #0x38]
00044 e3a03055 mov r3, #0x55
00048 e1c230b0 strh r3, [r2]

; 194 : AMD_WRITE_USHORT(GetSectorAddress(dwSect), AMD_CMD_SECTERASE_CONFM);

0004c e5dd0010 ldrb r0, [sp, #0x10]
00050 eb000000 bl GetSectorAddress
00054 e58d0004 str r0, [sp, #4]
00058 e59d2004 ldr r2, [sp, #4]
0005c e3a03030 mov r3, #0x30
00060 e1c230b0 strh r3, [r2]


strh ХХ,ХХ это команды записи во флешу.


Цитата(aaarrr @ Apr 28 2006, 13:07) *
снизить HCLK до требуемого уровня.


а насчет HCLK. на его частоте работает SDRAM. Его нижать - всю производительность губить.. Но похоже только так и придется.
aaarrr
Цитата(MemoryTest @ Apr 28 2006, 13:38) *
так у меня то BURST и не включен вообще

Дык писал уже - не BURST это. Какая-то путаница присутствует с терминологией у цирруса.

Цитата(MemoryTest @ Apr 28 2006, 13:38) *
а насчет HCLK. на его частоте работает SDRAM. Его нижать - всю производительность губить.. Но похоже только так и придется.

Ну не обязательно глушить его постоянно - можно делать это только там где нужна запись во флеш.
Есть еще один вариант:
После записи во флешь обратиться по левому CS'у - тогда SMC отработает два IDCY.
MemoryTest
не BURST так не бурст.
но и не синг обращения потому что CS не снимается.
понижения\повышение HCLK динамически по моему не получиться... Переферия(уарт's)
использует PCLK который завязан на HCLK, да и такие переключения будут требовать процедуры
по устаканиванию PLL. см пункт 4.1.5.3 мануала. А все это работает под операционкой а
на флешке файловая система.
За совет по поводу обращения к другому чип селекту - спасибо!
Конечно будет не красиво.. sad.gif но работать будет.
С уважение МТ.
aaarrr
HCLK можно снижать делителем, PLL в таком случае трогать не надо.
Всякие UART'ы заклочены от кварца, из периферии от PCLK зависит разве что GPIO.
А что побудило использовать NOR для файловой системы? Имхо, неудобно.
MemoryTest
Цитата(aaarrr @ Apr 28 2006, 15:18) *
HCLK можно снижать делителем, PLL в таком случае трогать не надо.
Всякие UART'ы заклочены от кварца, из периферии от PCLK зависит разве что GPIO.
А что побудило использовать NOR для файловой системы? Имхо, неудобно.


Спасибо, сщас попробую поиграть делителем на лету.
NOR - линейная адресация дающая возможность XIP(execute in place),
+ скорость. И еще и драйвер был уже..
Под NAND тоже плату развел, но там нужно логику дополнительную и насчет скорости пока незнаю
да и драйвера нет
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.