Перейти к содержанию
    

Однако, в отличие от FT245, вы получите кроме высокой скорости еще и 4 ендпойнта (две - туда, две - обратно) с двойным буферированием (2 х 512 байт каждая). Кроме того, можно очень гибко организовать буферирование, например, иметь 2 ендпойнта с 4 х 512 или 2 х 1024 буферами каждая.

Спасибо за ответы.

Если я правильно понял CY........ имеет встроенное FIFO,а как быть с необходимой мне развязкой на более 4кв, 232 позволяет установить по одному оптрону в обоих направлениях ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Правка у меня неработает. За прошедшее время пришел к выводу, что развязку проще поставить между процессором и мостом USB, поэтому FT232. Правильнее сделать развязку между процессорным блоком и АЦП, но потребуется минимум 7мь оптопар с пропускной способностью около 1-2 мбита. Выбор оптопар на скорость более 0,5 мбита * 4 кв небольшой, и наблюдается скачек цен. Есть предложения?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имею проблему аналогичную той, что была и у Дмитрия К.

 

Есть ПЛИС, есть SX2, нет конфигурационной флешки.

 

Конфигурирую от ПЛИС.

1) Дожидаюсь наступления READY.

2) Записываю B0 - инициирую запись в регистр 30.

3) Записываю 00 00 00 06 - длину дескриптора.

4) Записываю 0B 04 00 04 - записываю VID из прмера в datasheet

5) Записываю 00 02 01 00 - записываю PID из прмера в datasheet

6) Записываю 00 01 00 00 - записываю DID из прмера в datasheet

 

И все. Никаких тебе ENUMOK, Windows глухо молчит.

 

Пытался выставить бит Discon из регитсра 0x01 в 0 - не помогает.

 

Может кто сталкивался с аналогичной проболемой - подскажите как бороться...

 

Кстати, еще если на SX2 подан reset - в windows возникает сообщение

"One of the USB devices attached to this computer has malfunctioned, and Windows dose not recognize it"

Это нормально?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Едем дальше - видим мост.

 

SX2 сконфигурирована по умолчанию (default descriptor)

 

SX2 прикручена к ПЛИС, в ПЛИС сконфигурирован модуль памяти 16х256, заполненный некоторыми значениями.

EP4 играет роль управляющего интерфейса для ПЛИС. На нее приходит команда, по которой ПЛИС выпихивает все содержимое памяти в FIFO EP6 (которая по умолчанию - 512кБайт). После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.

 

Родной программкой USB console читаю из EP6. Все читается. Флаг заполненности FIFO убирается.

Вроде бы все хорошо, но проблема в следующем:

Если читать EP6 еще раз - считываются те же самые данные!!! А вот если попытаться читать в третий раз USB console честно заявляет Bulk IN failed.

 

Что это за ерунда какая-то?? Я честно проверял - в момент между чтениями моя ПЛИС ничего в SX2 не пишет. Откуда второй раз берутся те же самые данные?

 

Может кто сталкивался с подобным?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Едем дальше - видим мост.

 

SX2 сконфигурирована по умолчанию (default descriptor)

 

SX2 прикручена к ПЛИС, в ПЛИС сконфигурирован модуль памяти 16х256, заполненный некоторыми значениями.

EP4 играет роль управляющего интерфейса для ПЛИС. На нее приходит команда, по которой ПЛИС выпихивает все содержимое памяти в FIFO EP6 (которая по умолчанию - 512кБайт). После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.

 

Родной программкой USB console читаю из EP6. Все читается. Флаг заполненности FIFO убирается.

Вроде бы все хорошо, но проблема в следующем:

Если читать EP6 еще раз - считываются те же самые данные!!! А вот если попытаться читать в третий раз USB console честно заявляет Bulk IN failed.

 

Что это за ерунда какая-то?? Я честно проверял - в момент между чтениями моя ПЛИС ничего в SX2 не пишет. Откуда второй раз берутся те же самые данные?

 

Может кто сталкивался с подобным?

Значит пишете раньше :)

 

Каково условие окончания записи в EP6 со стороны ПЛИС?? случаем не EP6 Full, Вы не забыли про двойную буферизацию по умолчанию??? И еще, как сконфигурированы FIFO EP4 и EP6?? На обмен байтами или словами (16бит)??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит пишете раньше :)

 

Каково условие окончания записи в EP6 со стороны ПЛИС?? случаем не EP6 Full, Вы не забыли про двойную буферизацию по умолчанию???

Условие окончания - выпихивание 256-и 16-бинтых слов из памяти ПЛИС

 

А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?

 

И еще, как сконфигурированы FIFO EP4 и EP6?? На обмен байтами или словами (16бит)??

Если вы имеете в виду бит WORDWIDE в регистрах EPxPKTLENH соответствующих FIFO, то там в обоих "1", т.е. 16 бит.

 

Начал догадываться где порылась собака. Разберусь - отпишусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...А вот по поводу двойной буферизации по умолчанию я так и не понял.... Пакет по умолчанию - 512 байт - то есть буфер FIFO по умолчанию - 1024 байта?...

Пакет по умолчанию 512 байт, но каждый эндпоинт имеет двойную буферизацию по умолчанию (можно и четверную сделать, если надо), поэтому флажок EPxFF выставится только при заполнении всего буфера (2 кадра, по умолчанию), а снимется после того, когда хотя-бы один кадр уйдет.

 

После того как все данные выпихнулись честно выставляется флажок заполненности FIFO.

У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас как раз и получается, что Вы 2 кадра в буфер пишете, а потом их читаете :)

Так и есть, то есть так и было :(

Глаз да глаз за всем нужен :)

 

Спасибо, -Al-!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите кто знает, а для своей программки отладочной "USB-Console" Cypress готовый драйвер не дает?

Где бы достать...?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите кто знает, а для своей программки отладочной "USB-Console" Cypress готовый драйвер не дает?

Где бы достать...?

:) сам разобрался... хелп смотреть надо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мужики!

 

А она у Вас сильно греется?

 

У меня после включения начинает медленно разогреваться.

Через минуту больно палец держать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мужики!

 

А она у Вас сильно греется?

 

У меня после включения начинает медленно разогреваться.

Через минуту больно палец держать.

Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мужики!

 

А она у Вас сильно греется?

 

У меня после включения начинает медленно разогреваться.

Через минуту больно палец держать.

Ну это естественно, SX2 ведь жрёт >200мА на HighSpeed, если хотите, чтоб не грелась - ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Греется естественно, ну уж не так чтобы сильно. Работоспособность при этом не теряется ?
Всё прекрасно передаётся.

Потребляет чуть больше 200мА

ставьте вместо неё FX2LP (CY7C68013A), она вообще не греется и жрёт в ~3 раза меньше
Если будут сложности с отводом тепла придётся. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...