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

 
 
10 страниц V  « < 6 7 8 9 10 >  
Reply to this topicStart new topic
> STM32 USB FS OTG
Сергей Борщ
сообщение Mar 22 2017, 09:02
Сообщение #106


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



А какое поведение описано в стандарте на USB?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Alechek
сообщение Mar 22 2017, 09:36
Сообщение #107


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

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Сергей Борщ @ Mar 22 2017, 14:02) *
А какое поведение описано в стандарте на USB?

Цитата(8.4.5 Universal Serial Bus Specification Revision 2.0)
• NAK indicates that a function was unable to accept data from the host (OUT) or that a function has no
data to transmit to the host (IN)
. NAK can only be returned by functions in the data phase of IN
transactions or the handshake phase of OUT or PING transactions. The host can never issue NAK.

ZLP для других случаев.

Только вот как-то на LPC не сталкивался с такой проблемой... Как-то все гладко проходило.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 23 2017, 15:58
Сообщение #108


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Genadi Zawidowski, интересно пытали ли Вы свою реализацию CDC каким-нить "стресс-тестом"?

А то я вот скармливаю VCP по 5 и 6 символов, на "другой стороне" putty все это принимает. Шлю с такой скоростью как получается. В итоге на восьмерке работает уже 15минут (средняя скорость около 450кбит/с), а на ХР затыкается довольно быстро (менее 1 минуты). Сниффер сообщает про "buffer overrun".
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 23 2017, 16:28
Сообщение #109


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Я коннектился как к "Кенвуду" с помощью ARCP-590. кое-какой трафик это обеспечивает. Сутками работало.
Можете попытать мой тестовый бинарник запросами IF; - в ответ получаем самую длинную строку.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 23 2017, 19:47
Сообщение #110


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Genadi Zawidowski @ Mar 23 2017, 19:28) *
Я коннектился как к "Кенвуду" с помощью ARCP-590. кое-какой трафик это обеспечивает. Сутками работало.

Это я так понимаю под десяткой или семеркой? Под более старшими ОС у меня по всему тоже все ок (несколько часов девайс слал данные на скорости 450кбит/с пока восьмерка не упала в BSOD по случаю IRQ NOT LESS OR EQUAL в usbser.sys laughing.gif ).

Цитата
Можете попытать мой тестовый бинарник запросами IF; - в ответ получаем самую длинную строку.

Это надо будет еще писать что-то для "пыток". Думал может проверяли.

Обновил сегодня Reference Manual на stm32f746. Даже кол-во эндпоинтов у USB OTG HS увеличилось на 1IN и 1OUT 1111493779.gif ? Так их реально 1CTRL + 8IN + 8OUT? Смотрю везде поисправляли, надо ж так ошибиться было.

Кстати USB раздел претерпел существенные изменения.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 23 2017, 19:56
Сообщение #111


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Загрузи с Кенвуда ARCP 590 и пусть молотит... под XP запускается. Или любой ham radio log - и пусть тестирует.
Я как-то не забываю обновлять документы, потому не удивил (и не только от ST).
Да, в HS "их реально 1CTRL + 8IN + 8OUT". В FS 1+5+5.

Сообщение отредактировал Genadi Zawidowski - Mar 23 2017, 20:03
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 23 2017, 21:28
Сообщение #112


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Genadi Zawidowski @ Mar 23 2017, 22:56) *
Я как-то не забываю обновлять документы, потому не удивил (и не только от ST).

Я тоже, но почему-то был уверен, что он у меня новый, хорошо помню, что скачивал новый когда с DMA2D разбирался

Цитата
Загрузи с Кенвуда ARCP 590 и пусть молотит...

Та не, на стресс-тест это никак не потянет.

Сообщение отредактировал Шаманъ - Mar 23 2017, 21:29
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 25 2017, 10:06
Сообщение #113


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Шаманъ, почему не тянет? Одновременно с этим в случае радио я запускал на прием панораму через HDSDR, медиаплеер в режиме воспроизведения по кольцу концерта Depeche Mode, в трансивере включал режим play usb - и сутками в наушниках была музыка, ничего не отваливалось (USB CDC при этом исправно держал соединение).
Тестовый вариант что я предоставил, в компьютер не будет передавать аудиоданных но воспроизвести в него можно.

Сообщение отредактировал Genadi Zawidowski - Mar 25 2017, 10:07
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 25 2017, 17:33
Сообщение #114


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Genadi Zawidowski @ Mar 25 2017, 13:06) *
Шаманъ, почему не тянет? Одновременно с этим в случае радио я запускал...

Геннадий тут надо поделить - стресс тест для порта это одно, а для программы на МК в целом несколько иное. У Вас было скорее второе У меня тоже не сам по себе крутится CDC. Одна отрисовка панорамы/водопада 29к/с 800х480 в четырех слоях уже что-то, а еще управление DSP процессором, работа с тачем/клавиатурой/энкодерами и т.п.

В данном случае под восьмеркой все очень гуд - работает по много часов. Под ХР засада, причем очень странная какая-то. Все нашел засаду. Блин три дня истрачено, а всему виной кварц laughing.gif . Переключился на внутренний генератор и, о чудо, под ХР работает уже 20минут, причем два порта. Видимо в восьмерке более совершенное железо умеет поддерживать синхронизацию при бОльших отклонениях частоты.

Хочу высказать Вам отдельную благодарность, т.к. на эту мысль мена навело сравнение логов сниффера с Вашего и моего варианта CDC - обратил внимание, что у меня среднее время ответа было всегда меньше 1мс, иногда намного меньше, и как только оно сильно отклонялось обрывалась связь.
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 25 2017, 18:33
Сообщение #115


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Кстати теперь надобность слать бесконечно ZLP (под ХР) пропала.

Эх жалко двух точек, которые болтаются без дела, они были бы очень кстати...

Сообщение отредактировал Шаманъ - Mar 25 2017, 18:34
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 25 2017, 19:49
Сообщение #116


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Отлично, здорово что все сдвинулось вперед.
про мой тест: там нагружалось не только CDC, но и висящей на том же USB UAC1.
хотелось узнать, чем именно отличаются логи активности CDC в моем и вашем случае (со скриншотом).
ZLP: а через хаб оно такое будет работать?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 25 2017, 20:20
Сообщение #117


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Genadi Zawidowski @ Mar 25 2017, 22:49) *
хотелось узнать, чем именно отличаются логи активности CDC в моем и вашем случае (со скриншотом).

Скиншот не очень информативен. Вот кусок моего лога с кварцем:
Прикрепленное изображение

Вот от Вашего теста:
Прикрепленное изображение


Учитывая одинаковую активность на шине (в обоих случаях непрерывная посылка ZLP) усредненная длительность ответа должна дать оценку реальной длины фрейма. Так вот у Вас она скачет около 1мс, а у меня стабильно меньше (это естественно не по нескольким цифрам вывод, а после просмотра длиииинного лога - у меня выше 1мс почти нет значений). Это натолкнуло меня на мысль про частоту (или качество) кварца.

Цитата
ZLP: а через хаб оно такое будет работать?

Да, работает. Более того, у Вас фактически шлются ZLP пакеты все время. У меня теперь уже не шлются sm.gif.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 25 2017, 20:28
Сообщение #118


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Т.е, если нечего слать, в какое состояние переводите ендпоинт? В NAK?
upd: заменил передачу ZLP на USBD_LL_StallEP - все (и CDC и UAC) перестало работать... потом разберусь.

Сообщение отредактировал Genadi Zawidowski - Mar 25 2017, 20:55
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 25 2017, 20:55
Сообщение #119


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Genadi Zawidowski @ Mar 25 2017, 23:28) *
Т.е, если нечего слать, в какое состояние переводите ендпоинт? В NAK?

Она сама переведется в NAK когда FIFO опустеет. Я так сделал в самом начале, потом из-за этой проблемы убил блин три дня и переделал на посылку ZLP.

Т.е. если надо послать что-то подняли EPENA и CNAK, когда посылка будет отправлена EPENA упадет, а на входящие запросы точка будет отвечать NAK.

Подумываю еще может на передачу тоже кольцевой буфер прикрутить, хотя и без него на восьмерке около 500000кбит/с получается на мелких пакетах (чередование пакетов в 1символ и 9символов) - под наши задачи более чем достаточно.

Кстати, а Suspend и Wakeup нужно обязательно обрабатывать?

Сообщение отредактировал Шаманъ - Mar 25 2017, 20:56
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 25 2017, 21:30
Сообщение #120


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



я не обрабатываю... как я понимаю, об обработке таких запросов мы сообщаем, отдавая бит что бы можем remote wakeup делать. Я не ставлю его.

Сообщение отредактировал Genadi Zawidowski - Mar 25 2017, 21:32
Go to the top of the page
 
+Quote Post

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

 


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


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