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

 
 
7 страниц V  « < 4 5 6 7 >  
Reply to this topicStart new topic
> CY7C680013A Киньте ссылкой на софт и лит-ру
alexkok
сообщение Mar 19 2007, 23:50
Сообщение #76


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



[attachment=10263:attachment]
Цитата(Warlord @ Mar 19 2007, 09:50) *
Это касается хост-контроллера USB на материнке, а он обычно один smile.gif Поэтому суммарно по всем.

Жаль, а где это описано?

Сообщение отредактировал alexkok - Mar 20 2007, 00:03


--------------------
Go to the top of the page
 
+Quote Post
alexkok
сообщение Mar 21 2007, 03:37
Сообщение #77


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(jur @ Mar 19 2007, 09:38) *
Устройство одно. Это просто тестовое устройство, которое непрерывно генерит USB-траффик. Когда я запускаю одно приложение на PC, то имею ~8 МБ/сек (см., например, мое письмо в этой ветке от Mar 13 2007, 19:40). А когда я запускаю еще одно приложение, то траффик разделяется между ними:

Ещё одно уточнение.
Каждое приложение работает со своим ендпойнтом? (не с тем же самым?)


--------------------
Go to the top of the page
 
+Quote Post
jur
сообщение Mar 21 2007, 08:05
Сообщение #78


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704



Цитата(alexkok @ Mar 21 2007, 02:37) *
Ещё одно уточнение.
Каждое приложение работает со своим ендпойнтом? (не с тем же самым?)
Ендпойнта одна. Но это рояли не играет, т.к. в булочном режиме она легко дает более 40 МБ/сек.


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
alexkok
сообщение Mar 21 2007, 09:50
Сообщение #79


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(jur @ Mar 21 2007, 08:05) *
Ендпойнта одна. Но это рояли не играет, т.к. в булочном режиме она легко дает более 40 МБ/сек.

Играет. Интеррапт ендпойнт опрашивается максимум один раз за микрофрейм, не чаще, в отличие от балка. В случае ошибки в пакете, пакет перепосылается в следующем микрофрейме.


--------------------
Go to the top of the page
 
+Quote Post
Warlord
сообщение Mar 21 2007, 10:35
Сообщение #80


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

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



Цитата(alexkok @ Mar 21 2007, 09:50) *
Играет. Интеррапт ендпойнт опрашивается максимум один раз за микрофрейм, не чаще, в отличие от балка. В случае ошибки в пакете, пакет перепосылается в следующем микрофрейме.

Булка тоже опрашивается раз в мкФрейм, просто в булке можно передать гораздо больше пакетов за мкФрейм. В интерапте 1-3, а в булке 1-(15??). Про порты и суммарный поток написано в стандарте по USB где же еще...
Go to the top of the page
 
+Quote Post
alexkok
сообщение Mar 22 2007, 10:17
Сообщение #81


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Warlord @ Mar 21 2007, 10:35) *
Булка тоже опрашивается раз в мкФрейм, просто в булке можно передать гораздо больше пакетов за мкФрейм. В интерапте 1-3, а в булке 1-(15??). Про порты и суммарный поток написано в стандарте по USB где же еще...

Ну что ж, открываем стандарт по USB,

Universal Serial Bus Specification Revision 2.0

Table 5-8. High-speed Interrupt Transaction Limits

Data.........Max.................Microframe......Max..........Bytes.........Byte
s/
Payload....Bandwidth........Bandwidth.......Transfers...Remaining..Microframe
..............(bytes/second)...per Transfer.....................................Useful Data

1024........ 49152000............14%................6.............1026........6144


И где же здесь 8МБ лимит?


--------------------
Go to the top of the page
 
+Quote Post
Warlord
сообщение Mar 22 2007, 11:05
Сообщение #82


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

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



8МБ лимит - это касательно определенной ОС, конкретно WinXP и похоже Vista. Эти ОС позволяют передавать всего 1 пакет 1024 байта за мкФрейм. Но меня смущает цифра 6 в колонке Max Transfers. Уж не хотят ли они сказать, что шесть INT EP могут передать 6*1024 за мкФрейм?? Надо будет попробовать сделать хотя бы 2 EP...
Go to the top of the page
 
+Quote Post
Aaron
сообщение Mar 23 2007, 16:59
Сообщение #83


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



Доброго всем дня. Подскажите, плз, в каком направлении мне думать:
Имею свою плату на CY7C68013A. Скачал с сайпресса CY4604 (DevStudio + Streamer example) и CY4603 (CyStream). В обоих архивах имеется cystream.iic, только в 4603 он с исходниками. Взял исходники, подправил их под себя (убрал код, предназначенный для ДевБоарда), - с программой CyStream от 4603 все нормально работает.
Вот данные, которые показывает прога CyStream (приближенно):
FS ISO-OUT 1023 2-buf -- 1000KBps
HS ISO-IN 1024 2-buf -- 8000KBps
HS ISO-IN 3x1024 2-buf -- 24000KBps
HS BULK-IN 512 2-buf -- 39000KBps
Картинки прилагаются. Однако начинаю проверять эти передачи с помощью USB-анализатора (Ellisys USB Explorer), и он показывает скорости гораздо меньшие, чем отображает CyStream. К примеру, при передаче ISO-IN 3x1024 2-buf анализатор показывает около 3МБ/с. Возникает резонное предположение, что CyStream отображает данные в килобит/с. Однако в описании к проге из их скриншотов, таблиц и выводов я заключаю, что в проге указана скорость в килобайт/с. Чему мне верить?
И еще: Streamer, взятый из CY4604, у меня отказывается вообще работать с любыми девайсами. Даже если и кнопка "Start" нормально нажимается. Скриншот прилагается. Думал, может виноват драйвер? Пробовал с разными версиями cyusb.sys, cydvk.sys, - не помогает. Вот. Прошу помощи, уже не знаю, что и делать.

ЗЫ: просто хочется знать реальную пропускную способность девайса, а из ПО сейчас работаю тока в Кейле, VisualC++ равно как и BorlandC можно сказать совсем не помню, так что писать свою прогу для компа - ;(( оч много времени уйдет, пока все заново изучу.

ЗЫ2: система Celeron 1200MHz 256MB DDR WinXPSP2Pro USB2.0 контроллер на PCI-плате от Acorp.

Сообщение отредактировал Aaron - Mar 23 2007, 17:03
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
alexkok
сообщение Mar 24 2007, 00:48
Сообщение #84


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(Aaron @ Mar 23 2007, 16:59) *
Картинки прилагаются. Однако начинаю проверять эти передачи с помощью USB-анализатора (Ellisys USB Explorer), и он показывает скорости гораздо меньшие, чем отображает CyStream. К примеру, при передаче ISO-IN 3x1024 2-buf анализатор показывает около 3МБ/с. Возникает резонное предположение, что CyStream отображает данные в килобит/с. Однако в описании к проге из их скриншотов, таблиц и выводов я заключаю, что в проге указана скорость в килобайт/с. Чему мне верить?
ЗЫ2: система Celeron 1200MHz 256MB DDR WinXPSP2Pro USB2.0 контроллер на PCI-плате от Acorp.

Скорее всего система слабовата для Ellisys USB Explorer. В его в мануале это написано.
Так что CyStreamу больше доверия.


--------------------
Go to the top of the page
 
+Quote Post
Aaron
сообщение Mar 26 2007, 14:01
Сообщение #85


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



Цитата(alexkok @ Mar 24 2007, 00:48) *
Скорее всего система слабовата для Ellisys USB Explorer. В его в мануале это написано.
Так что CyStreamу больше доверия.

Да, действительно. Сейчас попробовал USB Explorer подключить к компу 2000МГц / 512МБ DDR - уже показывает 100МБ за 10сек. (При этом реально прокачиваемые данные выходили около 15МБ/с). Интересно, конечно, получается. Хотя в мануале к USB Explorer написано, что для нормальной его работы достаточно Пня 600МГц / 128МБ RAM.
Кстати, Реальные 15МБ/с моя железка выдавала как на моем старом компе, так и на том, который пробовал сейчас еще.

Сообщение отредактировал Aaron - Mar 26 2007, 14:03
Go to the top of the page
 
+Quote Post
klop
сообщение Oct 18 2008, 22:04
Сообщение #86


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



А не подскажете где можно найти етот самый ezusb.sys поновее. А то у меня железка пришла с софтиной которая работает с етим ezusb.sys и на Висте становиться не хочет.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
brag
сообщение Oct 16 2014, 04:23
Сообщение #87


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Возможно тема очень старая и уже давно пора переходить на CYUSB3, но тем не менее...
Стыкнулся я тоже с проблеммой получения гарантированной производительности Interrupt endpoint, ответа ессно не нашел ни в этой теме, ни на cypress. Так что отвечаю я wink.gif
Чтобы получить максимальную производительность 24576000 байт/сек нужно успеть за микрофрейм(125мкс) записать в буффер 3072 байт. Тобышь IFCLK должна быть >24.576мгц. Запишете хоть на 1 байт меньше за выделенные 125мкс - весь микрофрейм коту под хвост, вернее посылка будет передана в следующие 125мкс, а это почти 125мкс простоя, от этого и производительность падает примерно в 2 раза.

Если нужно передавать с частотой меньше 24.576мгц, скажем 24мгц, как в моем реальном проекте - поступаем следующим образом:
1. wMaxPacketSize остается без изменений и равен 0x1400 (1024 байт, 2 доп. пакета в микрофрейме). bInterval=1, еснно
2. Endpoint (EP2CFG/EP6CFG) тоже настраиваем как обычнно - 1024 байт, 2-4хbuffer
3. EP2FIFOCFG=EPxFIFOCFG_AUTOIN|EPxFIFOCFG_ZEROLENIN
4. EP2AUTOINLEN=1000
В итоге CY будет комитить пакеты размером не 1024байта, а 1000, но опять же 3000 байт нужно успеть записать за 125мкс, тобышь ifclk должен быть >24мгц (1000*3/125е-6)
Go to the top of the page
 
+Quote Post
QingTing
сообщение Oct 21 2014, 12:32
Сообщение #88


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

Группа: Свой
Сообщений: 85
Регистрация: 17-12-08
Из: Украина
Пользователь №: 42 556



Добрый день уважаемые форумчане. Я использую FX2 в своих проектах уже около четырех лет. Задачи которые она выполняет это передача определенного количества данных из ПЛИС в ПК только в одном направлении (например: по команде я передаю заведомо известное количество данных в ПК. ПК принимает заведомо известное количество данных и записывает в память). FX2 включена как SLAVE FIFO (асинхронный режим), используется только одна конечная точка EP2, режим Bulk, размер пакета 512 байт, размер буфера 4096 байт.

До недавнего времени такая конфигурация вполне устраивала. Но появилась новая задача, передача непрерывного потока данных (отсчеты сигнала от АЦП) в ПК. И здесь появилась проблема.

Непрерывная передача работает с пропусками отсчетов сигнала. Я непрерывно загружаю данные из ПЛИС в FX2. ПК принимает данные "кусками" по 50 Мбайт (из слов программиста, он запрашивает по 50 Мб). Внутри "куска" разрывов данных нет (разрывов сигнала), а между "кусками" появляются разрывы по времени приблизительно 200 мс. Т.е. когда после приема 50 Мб данных он дает запрос на следующие 50 Мб данных, на это уходит какое то время. За это время буфер FX2 соответственно переполняется и запись в него данных мною прекращается, пока буфер не освободится.

Я понимаю что такая реализация неверна. Как правильно делается непрерывная передача данных при помощи FX2? Какой режим использовать? Поделитесь пожалуйста своим опытом.

Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 22 2014, 02:09
Сообщение #89


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Выпрямляйте руки вашему "программисту" - почти наверняка он не использует BeginDataXfer/FinishDataXfer.
Да и себе заодно - наверняка у вас bulk там где должна быть изохронная. rolleyes.gif
А вообще тема тут уже сто раз муссировалась.

У меня в проекте было isochronous + BeginDataXfer/FinishDataXfer непрерывно.
Единственно косяк был (который так и не удалось побороть и который похоже косяк CyUSB.lib, а не CY7C680013A) -
это когда во время работающей передачи свернуть/развернуть любое окно в винде - возникала дырка в обмене
(просто отсутствовали фреймы на время разворачивания). Проявляется это только под XP, под более новыми виндами то же самое
ПО работает без всяких дырок. Причём больше никакие другие события в системе почему-то к таким дыркам не приводят
(даже если загрузить CPU высокоприоритетной задачей на 100% - всё ок, но если развернуть окно - всё, труба).
Это проблема именно CyUSB.lib, так как абсолютно так же проявляется и в других моих проектах на ней с другими CPU
(без CY7C680013A).
Go to the top of the page
 
+Quote Post
QingTing
сообщение Oct 22 2014, 08:11
Сообщение #90


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

Группа: Свой
Сообщений: 85
Регистрация: 17-12-08
Из: Украина
Пользователь №: 42 556



Да, возможно программист что то делает не так. Спасибо за подсказку я ему обязательно покажу Ваш пост, пусть почитает.
Я много тем прочитал по FX2 на этом форуме, и почему то все отговаривают от использования изохронного режима передачи данных. Якобы существует вероятность потери данных. В моем проекте это недопустимо, не должно быть разрывов сигнала. Темп следования данных на входе FX2 составляет 2 МГц, разрядность данных 16 бит, соответственно скорость передачи данных будет 4 Мб/с.

То есть мне надо обязательно использовать изохронный режим? Или в моем случае можно обойтись балком? Какое преимущество изохронного режима перед балком?
Заранее благодарен за ответ.
Go to the top of the page
 
+Quote Post

7 страниц V  « < 4 5 6 7 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 12:12
Рейтинг@Mail.ru


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