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

 
 
> AT91SAM9260 и работа SMC в режиме Null Setup & Hold
-=Alexey=-
сообщение Jul 1 2010, 11:12
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 8-08-08
Пользователь №: 39 490



Спрашивал уже в ветке для начинающих, но с ответом пока глухо. Поэтому, да простят меня модераторы, задам вопрос здесь.

Контроллер SMC настроен с параметрами
PULSE = 0x03030202
SETUP = 0x00000000
CYCLE = 0x00030002
MODE = 0x00001003

MCK = 100 MHz
По 16-битной шине подсоединена FPGA. В ней смотрю что приходит на момент спада NWE и на момент, когда должно приходить 2е слово.

Если использовать хотябы 1 hold в цикле записи, то все работает нормально. Проблема именно с режимом Null Setup & Hold.
В Standalone приложении выполняю
STR R0, [R1]
, где в R0 хранится 0хDDCCBBAA, R1 - 0x1000 0000
В итоге по идее должно формироваться 2 запроса к адресам 0x1000 0000 и 0x1000 0002 и значением на шине данных 0хBBAA и 0хDDCC соответственно (так в общем то и происходит при hold отличном от нуля). По факту же считанные значения на момент спада NWE и на момент, когда должно приходить 2е слово, не отличаются и равны 0хBBAA. Подумал - может где задержки не учел. Считывал значение на 5 и 10 нс позже прихода 2го слова - результат рандомный.

В общем сложилось впечатление, что указанный режим у меня настроен некорректно либо обладает какими-то не учтенными мною особенностями. Может кто подскажет в чем дело?

На последок скажу, что FPGA работает на 200 МГц, все действия по борьбе с метастабильностью предприняты, да и результаты измерений не отличаются ни на 2й, ни на 10 раз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=Alexey=-
сообщение Jul 1 2010, 12:34
Сообщение #2





Группа: Участник
Сообщений: 14
Регистрация: 8-08-08
Пользователь №: 39 490



Цитата(aaarrr @ Jul 1 2010, 16:13) *
В данной ситуации это весьма печально.

Согласен. Но приобретать осцилограф только из-за одного проекта и неизвестно когда его в дальнейшем использовать - не разумно.

Цитата(aaarrr @ Jul 1 2010, 16:13) *
ИМХО, очень стремный способ.

Ну почему же? Проблемы только с тем, что спад/рост NWE из-за метастабильности приходит с точностью +- 1 клок. При PULSE=2 этоне создает никаких проблем.

Цитата(aaarrr @ Jul 1 2010, 16:13) *
Все равно не понимаю: сейчас у Вас длительность цикла стоит 2. Так что мешает поставить SETUP = 1, PULSE = 1, HOLD = 0 и спокойно защелкивать данные по заднему фронту WE?

Дело в том, что в конечном счете будет этот же режим, но с CYCLE=1. В общем то он уже был реализован, но когда столкнулся с вышеописанной ситуацией, пришлось перейти на CYCLE=2. Осциллографа-то нет, а разбираться в чем причина такого поведения лучше на бОльших циклах.

В общем совершенно случайно обнаружил, что при MODE = 0x00001000 режим работает нормально. Это довольно странно, т.к. при Null Setup and Hold какая разница чем управляются операции записи - WE или CS? Они же одновременно должны меняться.
Если у кого есть возможность посмотреть на осциллографе, может посмотрите, в чем может быть дело? Чем отличаются на практике запись, управляемая WE и CS в режиме Null Setup and Hold?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 1 2010, 12:53
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(-=Alexey=- @ Jul 1 2010, 16:34) *
Согласен. Но приобретать осцилограф только из-за одного проекта и неизвестно когда его в дальнейшем использовать - не разумно.

Можно "на покататься" взять, хотя это тоже не всегда удобно.

Цитата(-=Alexey=- @ Jul 1 2010, 16:34) *
Ну почему же? Проблемы только с тем, что спад/рост NWE из-за метастабильности приходит с точностью +- 1 клок. При PULSE=2 этоне создает никаких проблем.

Так ведь Вы сами пишете ниже, что в дальнейшем планируете выставить CYCLE=1. При 100MHz MCK и 200MHz тактовой FPGA ловить будет практически нечего.

Цитата(-=Alexey=- @ Jul 1 2010, 16:34) *
В общем совершенно случайно обнаружил, что при MODE = 0x00001000 режим работает нормально. Это довольно странно, т.к. при Null Setup and Hold какая разница чем управляются операции записи - WE или CS? Они же одновременно должны меняться.

Ну, одновременно они только на картинке меняются, надо внимательно EBI Timings посмотреть.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:26
Рейтинг@Mail.ru


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