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

 
 
7 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> CY7C680013A Киньте ссылкой на софт и лит-ру
-Al-
сообщение Jan 20 2007, 16:05
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(jur @ Jan 20 2007, 15:37) *
Потом я еще увеличил число пакетов и длину очереди, скорость еще чуток возросла, но ненамного.

Однако, выплыл ньюанс, гробящий на корню мою быструю передачу. После примерно полутора минут передачи скорость падает больше чем на порядок и дальше болтается у этой очень небольшой величины. Что бы это могло значить? Вот поясняющие скриншоты:
....
Особенно настораживает падение скорости передачи после полутора минут (!) после начала передачи.

Не обращайте на падение скорости внимания, это ошибка программы. Такое происходит потому, что расчет скорости ведется по формуле <суммарное переданное число байт>/<время передачи>. Просто суммарное переданное число байт быстро выходит за пределы unsigned long (32бита, 4ГБ), ну и соответсвенно, отсчет опять начинается с нуля, а время продолжает тикать как обычно smile.gif
Go to the top of the page
 
+Quote Post
jur
сообщение Jan 20 2007, 17:10
Сообщение #47


Местный
***

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



Цитата(-Al- @ Jan 20 2007, 15:05) *
Не обращайте на падение скорости внимания, это ошибка программы. Такое происходит потому, что расчет скорости ведется по формуле <суммарное переданное число байт>/<время передачи>. Просто суммарное переданное число байт быстро выходит за пределы unsigned long (32бита, 4ГБ), ну и соответсвенно, отсчет опять начинается с нуля, а время продолжает тикать как обычно smile.gif
Огромное спасибо, коллега, за разъяснение! Господи, сколько бессмысленных усилий пришлось бы потратить, чтобы понять этот момент! Я исправил переменную с ULONG на _int64 и все стало нормально: уже более 15 минут скорость держится стабильно на уровне 39957 КБайт/сек. Т.е. этот вопрос полностью снят.

Большое спасибо! :-)


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
jur
сообщение Jan 21 2007, 17:47
Сообщение #48


Местный
***

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



Привет!

"Играем дальше." (С) Жванецкий :-) Немножко исправил приложение Streamer, сделал передачу данных по Interrupt endpoint. Получил, как и положено, 8000 КБайт/сек. Так получилось потому, что я задал период опроса 1 микрофрейм, а величина ендпойнты составляет 1024 байт. Для контроля правильности эксперимента я параллельно запустил прежний Streamer с Bulk endpoint, который выжимает канал USB досуха. Как и следовало ожидать, эти 8000 КБайт были "откушены" от канала Bulk. Вот скриншоты (Interrupt и Bulk):



После этого я обратился к спецификации USB 2.0 (раздел 5.9 High-Speed, High Bandwidth Endpoints, стр. 56) и выставил число транзакций на микрофрейм равным 3-м. Однако, скорость передачи не изменилась! Вот скриншот:



Причем, число принимаемых байт верное (т.е. если задано 256 буферов по 3072 байта, то именно столько и принимается). Как это понимать? Что я делаю не так?

P.S. Настораживает то, что эти биты, которые задают число транзакций на микрофрейм, не маскируются приложениями. Т.е. USB View, к примеру, рапортует: wMaxPacketSize: 0x1400 (5120). Правда Streamer понимает правильно, но все равно как-то криво рапортует размер пакета в 3072 байта. Это ведь неверно! Размер пакета остался 1024 байт, это число пакетов на микрофрейм должно было бы быть три. А при задании 2-х пакетов на микрофрейм передача вообще не работает...


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
jur
сообщение Jan 22 2007, 11:06
Сообщение #49


Местный
***

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



Цитата(nicom @ Jan 16 2007, 20:32) *
2 ALL... похвастайтесь...
Попробую ;-)

Сегодня запустил свое приложение на дохлой embedded-материнке от VIA (плата EPIA SP). Удивился немерянно! На рабочем месте у меня компьютер Intel P4, 3066 MHz, плата MSI 865PE Neo3-V, чипсет i865PE, который дает 40000 КБайт/сек, а эта слабенькая платка качает со скоростью порядка 44000 КБайт/сек! Вот скриншот:



Однако!...


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
Warlord
сообщение Jan 22 2007, 14:56
Сообщение #50


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

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



Проделал те же шаги, что и jur, касательно bulk передачи, вот мой скриншот:

результаты - один в один smile.gif Блок питания не шумит, никаких подозрительных звуков не заметил smile.gif
Результат очень похож на практический потолок для Bulk.

Сообщение отредактировал Warlord - Jan 22 2007, 15:10
Go to the top of the page
 
+Quote Post
Warlord
сообщение Jan 22 2007, 16:14
Сообщение #51


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

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



Проделал тоже самое для Interrupt, и здесь результаты одинаковы:

Что касается числа принимаемых байт, то здесь вот какие дела. Камень дает хосту
дескриптор, где в младших 11 битах поля wMaxPacketSize указывает размер буфера и в следующих 2-х еще что-то (спецификации 2.0 нетsad.gif. Так вот, Streamer как это сказано в хелпе берет это значение и вычисляет MaxPktSize как
Код
If wMaxPacketSize is 0x1400 (binary = 0001 0100 0000 0000)  
  MaxPktSize = [100 0000 0000 binary] * [10 binary + 1] = 1024 * 3 = 3072

далее это число, умноженное на кол-во посылок за раз (Packets per Xfer) передается драйверу, который заготавливает место под данные. Далее, драйвер получает за один прием это число байт и передает аппилкухе. Все. Т.е. те 3072 байта что показывает Streamer никоем образом не влияют на размер передаваемого пакета за микрофрейм. Вот сколько там действительно передается, это вопрос. Судя по тому что скорость предачи не изменилась и осталась на уровне 8МБ\с, то могу предположить что за 1мкФрэйм передаются те же самые 1024 байта :\

Сообщение отредактировал Warlord - Jan 22 2007, 16:18
Go to the top of the page
 
+Quote Post
jur
сообщение Jan 24 2007, 01:06
Сообщение #52


Местный
***

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



Цитата(Warlord @ Jan 22 2007, 13:56) *
Результат очень похож на практический потолок для Bulk.
Точно! Наверное, это зависит от современных чипсетов. Т.е. 44 тысячи Байт/сек. - это максимально достижимая цифра без каких-то специальных (экзотических) уловок на текущих материнках. (Что интересно, сегодня гонял микросхему (FX2LP) на максимальной скорости весь день - температура ничуть не возросла! Комнатная!)

Цитата(Warlord @ Jan 22 2007, 15:14) *
Что касается числа принимаемых байт, то здесь вот какие дела. Камень дает хосту дескриптор, где в младших 11 битах поля wMaxPacketSize указывает размер буфера и в следующих 2-х еще что-то (спецификации 2.0 нетsad.gif).
Думаю, что стоит скачать. Полезный документ. Хотя и тяжелый для усвоения...

Вот что написано в разделе 5.9 High-Speed, High Bandwidth Endpoints:

Код
Table 5-11. wMaxPacketSize Field of Endpoint Descriptor:
Bits 15..13 - Reserved, must be set to zero
Bits 12..11 - Number of transactions per microframe
Bits 10..0  - Maximum size of data payload in bytes

Т.е. число транзакций на микрофрейм устанавливается равным трем, а число передаваемых байт не изменяется, как было 8000 Байт/сек так и остается... При двух - вовсе не работает... Чертовщина какая-то...


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
Warlord
сообщение Jan 24 2007, 09:50
Сообщение #53


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

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



Остается только вопрошать технарей Cypress. Пробовал создать аккаунт у них на сайте - дохлый номер, ошибка на странице sad.gif

Сообщение отредактировал Warlord - Jan 24 2007, 09:50
Go to the top of the page
 
+Quote Post
jur
сообщение Jan 24 2007, 16:34
Сообщение #54


Местный
***

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



Цитата(Warlord @ Jan 24 2007, 08:50) *
Остается только вопрошать технарей Cypress.
Да, ты прав. Только... Общение с их техподдержкой - спорт не для слабых :-) Нужно будет филигранно сформулировать вопрос, отточить каждую букву. Т.к. первым ответом у них обычно бывает повторение половины моего же вопроса :-) Но, нужно отдать им должное, при достаточной настойчивости ответ получить все-таки можно. По поводу аппаратной проблемы с их CY7C68001 они мне даже раза два на работу звонили! Правда, я не понял ни хрена, сказал, что письмом отвечу :-) Оказалось, моя ошибка была... Я на эту тему в этом форуме даже тред поднимал.

Цитата(Warlord @ Jan 24 2007, 08:50) *
Пробовал создать аккаунт у них на сайте - дохлый номер, ошибка на странице sad.gif
А я создал год-полтора назад. Думаю, что ошибка на странице возникает из-за их идиотского сайта, написанного какими-то web-пионэрами, мать их... Попробуй с другого броусера зайти, с Оперы какой или Мозиллы.

Пошел формулировать вопрос... Полученные ответы сразу озвучу в этом треде. Думаю в начале следующей недели, т.к. остаток этой недели придется угробить на донесение до них сути моего вопроса ;-)


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
Warlord
сообщение Jan 24 2007, 16:39
Сообщение #55


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

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



Давай я переведу вопросы, если ты собираешься писать их на английском, а на ту страницу я с трех браузеров заходил - бесполезно.
Go to the top of the page
 
+Quote Post
jur
сообщение Jan 26 2007, 21:26
Сообщение #56


Местный
***

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



Цитата(Warlord @ Jan 24 2007, 15:39) *
Давай я переведу вопросы, если ты собираешься писать их на английском
Спасибо, я уже послал вопрос. Уже завершился первый раунд :-) На мой вопрос про передачу 1024-байтных блоков мне посоветовали применить Bulk endpoint :-))) "Играем дальше..." © М.Жванецкий.

Цитата(Warlord @ Jan 24 2007, 15:39) *
а на ту страницу я с трех браузеров заходил - бесполезно.
Во, ёлки... Вот бы пройтись серпом по избранным местам их web-дезайнера... Мечта... ;-)


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
jur
сообщение Feb 22 2007, 23:29
Сообщение #57


Местный
***

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



Я обещал сообщить результаты переписки с фирмой Сайпресс в этой теме. Напоминаю, что речь идет о достижении приемлемой скорости передачи данных по Interrupt endpoint с размером пакета 1024 байта. Вы не подумайте, я не забыл и не забросил. Просто я их настолько озадачил, что уже заканчивается третья неделя с тех пор, как я послал им результаты своих экспериментов, а они до сих пор "переваривают"... ;-) В начале недели я им напомнил о себе, что, мол, "Ау! Люди!", но они пока молчат... И CASE не закрывают... Ждем...


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 24 2007, 16:47
Сообщение #58


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Думается мне, что они не хотят отвечать... Просто игнорируют нехорошые люди sad.gif
Завалить их надо письмами!


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
jur
сообщение Mar 7 2007, 22:00
Сообщение #59


Местный
***

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



Цитата(torik @ Feb 24 2007, 15:47) *
Думается мне, что они не хотят отвечать... Просто игнорируют нехорошые люди sad.gif
Завалить их надо письмами!
Есть новости!

Мое упорство вызвало у них реакцию отторжения... Несколько недель назад они мне писали, что, цитирую, "микросхема CY7C680013A позволяет передавать данные по Interrupt endpoint с размером пакета 1024 со скоростью 20 и более МБ/сек". У меня это не получилось и я послал им два своих проекта: для микросхемы и для компьютера. Несколько дней назад был получен ответ (после моего напоминания, что я совсем не забыл ;-) ). Типа, извиняемся за долгое молчание. Проверьте, в чем проблема на вашем компьютере. Не является ли система "бутылочным горлышком", которое не позволяет передавать быстрее, чем 8000 КБ/сек. И вообще, мол, не парь нам мозги, а делай на булке :-)

Встает резонный вопрос: "А за базар кто ответит?!" :-) Раз микросхема позволяет - в чем проблема? В моей системе? Вполне возможно. Тогда я пробую на разных материнках (на Интелловских 848 и 865, а также на слабой встроенной embedded-материнке от VIA и более мощной от Kontron). Везде получаю стабильный результат: 40 и более МБ/сек на булке и те же 8000 КБ/сек на Interrupt.

Хочу спросить уважаемых коллег: может быть кто-то из Вас желает присоединиться к эксперименту? Я могу предоставить два проекта (под Кейл для микросхемы, и под VC 6.0 для компьютера) для проверки результатов. Может нам удастся найти ошибку в моих проектах (это, по сути, собственные образцы примеров от Сайпресса)? Анализ этих моих проектов в самой Сайпресс (вот как раз на это они и потратили более двух недель) криминала не выявил, но может быть на самом деле что-то было упущено?

Если же окажется, что в проектах все хорошо, то, на самом деле, давайте завалим их письмами! :-)


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
torik
сообщение Mar 8 2007, 11:41
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



С удовольствием присоединюсь, тема интересная - сам пишу на Кейл.
Думаю, может стоит попробовать это дело под свой проект приспособить, чтобы ощутить разницу

Сообщение отредактировал torik - Mar 8 2007, 11:42


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post

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

 


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


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