Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2468 & static EMC
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
toweroff
Столкнулся тут с таким непонятным поведением, в еррдате не нашел
Итак:

#define MY_NEED_ADDR (*(volatile unsigned int *)(EMC_BASE_ADDR + (0x02UL<<2)))

ну и потом читаю в цикле это дело

в результате получается интересная вещь, которую "ARM PrimeCell™ MultiPort Memory Controller (PL176) Revision: r0p1 Technical Reference Manual" мне объяснить не смог:
Предпосылки: CS-ы активный уровень 0, шина 32 разряда

Имеем:
0. CS0 поднимается в 1. A2 тут же (~20нс) падает в 0
1. CS0 падает в ноль
2. На примерно 1/2 от времени активного CS0 A2 поднимается в 1 (при этом должна висеть в нуле как минимум до окончания CS0 - обращаемся по адресу хх1000)
3. Го ту п.0

В чем может быть трабл? Дороги точно не закороченные, целые, в монтаже ошибок нет
От смены CS проблема не меняется, OE ведет себя с CS корректно. Address Mirror отключен (в 0), Page Mode не используется (в 0)
toweroff
Вот такое наблюдается (канал 1 желтый - CS, канал 2 синий - A2)
toweroff
Выставление бита Buffer Enable ( B ) - ( бит 19 в EMCStaticConfig) вроде как проблему снимает, все начинает по диаграммам работать как надо, в полном соответствии со значениями таймингов в соответствующих регистрах
НО!
В самом начале чтения (до примерно 255 байт в сегменте CS0, т.е. в диапазоне 0x8000 00FF) несколько раз данные не совпадают с реальными. В дальнейшем во всем диапазоне CS0--CS3 (0x8000 0100 -- 0x83FF FFFF) все в порядке
Что есть Buffer Enable? Что это за буфер? Насколько "прозрачно" его использование?
Что-то в даташите, применительно к Static EMC, нашел как раз одно упоминание о нем в описании EMCStaticConfig -- 0 Buffer disabled (POR reset value), 1 Buffer enabled.
И все...
toweroff
Пока пришел вот к чему. Буфер пока в сторону, отключим. Вроде в конфигурации банка Page Mode отключено, а осциллографом четко видно, как 4 burst пролетают за время действия /CS
Errdata про EMC вообще не упоминает - значит там порядок? И я откопал новую граблю? Что-то не верится ))
Так что пока черенком по голове чувствую, а куда наступаю - не вижу

PS. На картинке все-таки не А2, а А3. А2 меняется 4 раза за время /CSx
toweroff
Продолжаем упражнения sm.gif

Согласно UM10237 LPC24XX User manual Rev. 04 — 26 August 2009,

регистр SCS в интересующем меня месте (бит 2) выглядит так:

EMC Burst Control:
External Memory Controller burst control (implemented on device revisions C and higher)
0 Burst enabled.
1 Burst disabled.
POR - 0

соответственно, имея на руках ревизию 'B' и mnf date 30 неделю 2009г, я не смогу ничего поделать с burst read
где-то видел на просторах инета, что есть шансы и с моей ревизией, что бит будет работать, но не в моем случае

копался на efind, что-то не увидел торгующих ревизией C поставщиков. Где можно найти, хоть потестить? нужен LPC2468FBD208, т.е. в QFP
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.