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

 
 
> Посылка 32bit слова на 16bit шину
-=Alexey=-
сообщение Jun 30 2010, 13:52
Сообщение #1





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



Всем доброго времени суток.

Есть AT91SAM9260. SMC настроен на работу с 16-бит шиной в "Byte Select Access" режиме. Standalone приложение. Выполняю команду записи 32-битного слова, скажем

STR R0, [R1]

, где в R0 хранится 0хDDCCBBAA, R1 - 0x1000 0000

Вопрос - какая будет последовательность действий со стороны SMC?

У меня к SMC подсоединена FPGA по 16-битной шине данных. Если я не ошибаюсь, генерируется 2 операции записи по одному и тому же адресу (0x1000 0000) и с одним и тем же содержимым шины данных (0хBBAA). Это несколько странно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
bseyur
сообщение Jun 30 2010, 15:47
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



Видимо ошибаетесь, т.к. сначала по адресу 0x1000 0000 должно записаться 0xBBAA, затем по адресу 0x1000 0002 - соответственно 0xDDCC. Либо неверно настроена шина.
Go to the top of the page
 
+Quote Post
-=Alexey=-
сообщение Jun 30 2010, 17:04
Сообщение #3





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



На FPGA сохраняю и по запросу процессора передаю ему то, что было считано с шин адреса и данных. В том то и дело, что ни адрес, ни данные не меняются. Если подряд записать 2 16битных слова, то все нормально пишется, если за одну команду 32битное, то результаты те, которые я приводил выше. 2 раза приходит сигнал установленной длинны от процессора с одними и теми же данными и адресом.
На всякий случай - приведу настройки SMC
PULSE = 0x03030101
SETUP = 0x00000000
CYCLE = 0x00030001
MODE = 0x00001003

bseyur, а на основании чего вами были сделаны эти выводы? Ссылку на документацию можно? Просто я нигде не смог найти информации по этому случаю.
Go to the top of the page
 
+Quote Post
-=Alexey=-
сообщение Jul 1 2010, 08:27
Сообщение #4





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



Обнаружил, что проблема имеется только в Null Setup & Hold режиме. Если добавить хотябы 1 hold, тогда генерируются 2 запроса с разными адресами и данными - то, как и должно быть. В общем, проблема либо в особенностях вышеуказанного режима, либо в прошивке FPGA. Буду разбираться.
Если кто работал с Null Setup & Hold режимом, просьба ответить по возможности. В FPGA я считываю значения с шин адреса и данных на момент возникновения спада NWE от процессора и через 10 нс (MCK процессора равен 100 MHz). Так вот если используется вышеуказанный режим, то через 10 (и 15 кстати тоже) нс значения на шинах не меняются. Что в настройках SMC я указал неправильно?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:52
Рейтинг@Mail.ru


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