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

 
 
> Новичковое: FX2 USB, Совсем "заклинило", помогите советом
ReedCat
сообщение Apr 2 2008, 06:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 109
Регистрация: 14-01-08
Из: Москва
Пользователь №: 34 069



Краткое описание ситуации: есть макетка с Xilinx и FX2 USB. Нужно вводить/выводить данные по USB для проекта, который делается под Xilinx.

Обмен достаточно тривиальный: по одному FIFO принимается байт команды, по второму - пакет данных.
ПО третьему возвращается статус, по четвертому - обработанный пакет данных.
Сделал уже несколько вариантов ввода-вывода, ни один не работает. sad.gif

Команду - принимает. Данные тоже принимает. А вот с возвратом - глюки. sad.gif То нормально возвращает байт статуса, но при выдаче пакета данных первым идёт ff (Z-состояние?).

Переписал полностью по даташиту на FX2 - стало даже хуже... Теперь данные просто не возвращает (программа на PC "висит" на чтении), а байт статуса иногда возвращается правильный, а иногда - FF.

В симуляторе - всё работает нормально. В post-route simulation сначала глючило ("зависало" в одном из состояний , но после того, как снизил клок с 50МГц до 25 - стало работать так же, как и в behavioral. (клок на платке - 24 Мгц, пробовал и на 12 - ведёт себя так же sad.gif ).

Явно я где-то что-то делаю не так.

Буду очень признателен за дружеский подзатыльник в нужном направлении.

P.S. Он ещё очень нужен потому, что уже поджимают сроки, с неработающим обменом данными показывать просто нечего, а из фазы "заклинивания" можно не выбраться очень долго и не видеть каких-нибудь совершенно очевидных вещей. sad.gif sad.gif sad.gif
Прикрепленный файл  FX2_bidir.v ( 8.91 килобайт ) Кол-во скачиваний: 350
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gammanoid
сообщение Apr 2 2008, 18:12
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 1-03-05
Из: г.Ростов-на-Дону
Пользователь №: 2 988



Цитата(ReedCat @ Apr 2 2008, 10:14) *
В симуляторе - всё работает нормально. В post-route simulation сначала глючило ("зависало" в одном из состояний , но после того, как снизил клок с 50МГц до 25 - стало работать так же, как и в behavioral. (клок на платке - 24 Мгц, пробовал и на 12 - ведёт себя так же sad.gif ).


С логикой сильно не разбирался, но IFD, OFD вроде описаны. При использовании внутренней тактовой выхода IFCLK частота может быть 48 МГц или 30 МГц. 24 или 12 это тактовая ядра 8051. Тактовую на выходе IFCLK пробовали инвертировать? И как дела с констрейнами (судя по глюкам при 50 в пост-руте - никак)? Упаковка I/O Registers/Latches into IOBs должна быть both (Inputs and Outputs).
Go to the top of the page
 
+Quote Post
ReedCat
сообщение Apr 3 2008, 06:52
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 109
Регистрация: 14-01-08
Из: Москва
Пользователь №: 34 069



Цитата(gammanoid @ Apr 2 2008, 22:12) *
С логикой сильно не разбирался, но IFD, OFD вроде описаны. При использовании внутренней тактовой выхода IFCLK частота может быть 48 МГц или 30 МГц. 24 или 12 это тактовая ядра 8051. Тактовую на выходе IFCLK пробовали инвертировать? И как дела с констрейнами (судя по глюкам при 50 в пост-руте - никак)? Упаковка I/O Registers/Latches into IOBs должна быть both (Inputs and Outputs).

Та программка, которая инициализирует FX2, предлагает мне в качестве вариантов "USB frequency" 12, 24 или 48МГц.
Про возможную инверсию такта в даташите прочитал, но еще не пробовал.
С констрейнами дела - никак. Единственный заданный констрейн - на клок.
Упаковку - проверю, спасибо.



Цитата(dinam @ Apr 3 2008, 05:45) *
Что-то я не понял, вы пытаетесь наладить связь не правя прошивку FX2 07.gif ??? А откуда вы её вообще взяли? У меня большую часть времени заняло как раз правильно сконфигурировать slave FIFO.

Да, именно так. Есть макетная плата, на которой есть как-то сконфигурированный FX2. Мне она нужна, чтобы продемонстрировать работоспособность проекта, а для этого нужно ввести данные и вывести результаты. Других опций, кроме как по USB через этот контроллер - нет. Точных данных о том, как он сконфигурирован - тоже нет. Приходится догадываться, опираясь, в частности на простейший пример.
Точно ясно, что:
- клок на ПЛИС идет с FX2
- режим синхронный
- флаги FIFO точно НЕ в индексном режиме
- ширина слова - 8 бит

Вот вроде и всё, что удалось определить точно.

Элементарный пример из комплекта макетки (приаттачено) - работает...
Прикрепленный файл  FX2_bidir.v ( 3.12 килобайт ) Кол-во скачиваний: 315
Go to the top of the page
 
+Quote Post



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

 


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


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