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

 
 
> PCI 32x33 на Xilinx, Разная скорость чтения и записи в Master'е
Anyone
сообщение Mar 26 2010, 13:19
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 18-12-09
Пользователь №: 54 333



Всем доброго времени суток.
Столкнулся вот с чем. PCI - мастер (плата, на ней Xilinx с PCI 32x33) читает и пишет в память. Читает со скоростью 300 Mbit/s, пишет со скоростью 900 Mbit/s.
Когда данные передаются из платы ("плата пишет"), кол-во слов в одной транзакции регулируется параметром LATENCY_TIMER.
Но изменение этого параметра не влияет на кол-во слов в одной транзакции, когда данные передаются в плату ("плата читает").
Возникает два вопроса:
1. Это нормально?
2. Какой параметр управляет кол-ом слов в одной транзакции, когда "плата читает"?
Если кто сталкивался, буду благодарен за ответ.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dsmv
сообщение Mar 30 2010, 15:21
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Цитата(Anyone @ Mar 26 2010, 17:19) *
Всем доброго времени суток.
Столкнулся вот с чем. PCI - мастер (плата, на ней Xilinx с PCI 32x33) читает и пишет в память. Читает со скоростью 300 Mbit/s, пишет со скоростью 900 Mbit/s.
...
1. Это нормально?


Это нормально. Скорость чтения всегда меньше скорости записи. Это происходит из-за начальной задержки ответа.
Увеличение скорости может произойти только при увеличении блока данных.

Цитата
2. Какой параметр управляет кол-ом слов в одной транзакции, когда "плата читает"?


На PCI шине размер блока определяется только длительностью сигнала IRDY.
Go to the top of the page
 
+Quote Post
Anyone
сообщение Mar 31 2010, 06:18
Сообщение #3





Группа: Участник
Сообщений: 9
Регистрация: 18-12-09
Пользователь №: 54 333



Цитата(dsmv @ Mar 30 2010, 18:21) *
На PCI шине размер блока определяется только длительностью сигнала IRDY.


Секундочку.
На PCI шине в транзакции участвуют несколько сигналов. В частности, применительно к моему случаю, для чтения, происходит следующее.
Плата выставляет IRDY, через 1 такт "цель" выставляет TRDY. Спустя 16 тактов "цель" выставляет сигнал STOP, через такт снимается TRDY, ещё через такт снимается IRDY.
Далее плата пытается несколько раз выставить IRDY, но "цель" сигналом STOP обрубает эти попытки.
Примечательно то, что при записи "цель" сигналы STOP не вырабатывает.
Есть подозрение, что здесь как-то замешаны регистры MIN_GNT и MAX_LAT (У меня MIN_GNT=0F, MAX_LAT=FF), но нет чёткого понимания их функций.
Go to the top of the page
 
+Quote Post



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

 


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


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