Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 16.02.2021, 11:57  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,755
Сказал спасибо: 2,666
Сказали Спасибо 2,629 раз(а) в 1,944 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
куча проводов особенно для спи
Хм, 4-5 проводов - это куча... Даже если дифпроводами для какого-нибудь скоростного варианта SPI - ну, добавится еще несколько земляных проводов.

Сообщение от worldmasters Посмотреть сообщение
Скиньте что нибудь относительно полезное и недорогое
Были тут темы с обсуждением выбора цифрового ослика. Свой я порекомендовать не могу - очень он уже старый, кое-чего полезного отсутствует, да и обошелся он тогда дорого по сегодняшним меркам. Сейчас жалею, что не взял тогда 4- канальный Тектроникс или LeCroy - платила за мой осцилл другая фирма, зря пожалел их деньги
Реклама:
Yuri222 вне форума  
Непрочитано 16.02.2021, 13:07  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,671
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Цитата:
но там как то все громоздко получилось. куча проводов особенно для спи
SPI - это 2-3 провода не считая земли.
И вообще - логический анализатор очень хорошее средство отладки и отлова своих косяков.
Написал, зашил в чип - не работает. И через ЛА можно глянуть:
1) скорость, протокол, стартовые/стоповые биты.
2) Что вообще передается. Осмысленные данные или мусор.
3) Что получаем в ответ и что видим в программе.

Ибо ситуация типа "обмена нет" может иметь огромную кучу причин, и понять ситуацию бывает очень сложно.
DanilinSA вне форума  
Сказали "Спасибо" DanilinSA
Yuri222 (16.02.2021)
Непрочитано 16.02.2021, 18:21  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,484
Сказал спасибо: 401
Сказали Спасибо 2,215 раз(а) в 1,313 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
Да и для большинства задач прикладного уровня это излишне.
Ну вот. А был бы даже недорогой лог.анализатор, вы бы увидели вот такую картину (вложение) - периодически возникающий NAK, и стали бы задумываться - а чой то так?
Вот реально, почему так? Почему при запросах от хоста с частотой 500 Гц часть запросов остаются без ответов. Аааа воооот! Давайте разберемся, как работает USB в микроконтроллере. В двух словах скажу, что когда нет новых данных для передачи, а запрос от хоста пришел, конечная точка выставляет NAK (not ack). Хост понимает это как "ну нету данных сейчас" и повторит запрос в следующем интервале. Отсюда у вас и получаются непонятные цифры частоты обновлений, вроде ставите одно число, а получаете другое.

Ну и как думаете, почему так происходит? А помните, я же ранее писал - у вас частота опроса акселерометра может быть ниже, чем частота запросов хоста. Ну вот и получили. Причем, у вас она не в кратное число раз ниже, а "примерно".

Акселерометр крайне желательно опрашивать именно по событию евоного прерывания INT, чтобы получать именно свежие данные, а не дважды одно и то же. Почему? Да потому, что для последующей фильтрации нужны бы свежие данные, а не дважды одно и то же. Без фильтрации показания акселерометра вообще ерунда.

Ну и вот докучи еще вам картинка: интервалы запросов от хоста = 2 мс (каждый второй кадр), а интервалы опроса акселерометра и записи в конечную точку = 6 мс. На картинке как раз это и видим (см.счетчик кадров). Два запроса от хоста остаются без ответа.
Таким образом, частота опроса от хоста никак не увеличивает частоту поступления данных, данные в хост поступают с частотой загрузки их в конечную точку.

И вы там как-то спрашивали, типа какая там разница - HID или CDC? Так вот в том и разница. Что HID использует Interrupt-передачи и частота их определена строго рамками фрейма. В фрейме не может быть более одной передачи. А CDC напротив, используя Bulk-передачи (массовые), в каждом фрейме может передавать несколько пакетов с той частотой, с которой запрашивает хост. Таким образом, можно передавать неограниченное число байт с желаемой скоростью, лишь бы это помещалось в полосу пропускания.
Миниатюры:
Нажмите на изображение для увеличения
Название: Без-имени-1.png
Просмотров: 0
Размер:	13.7 Кб
ID:	160715   Нажмите на изображение для увеличения
Название: 5555.png
Просмотров: 0
Размер:	15.1 Кб
ID:	160717   Нажмите на изображение для увеличения
Название: DS1Z_QuickPrint34.png
Просмотров: 0
Размер:	28.4 Кб
ID:	160718  


Последний раз редактировалось NewWriter; 16.02.2021 в 23:02.
NewWriter вне форума  
Эти 3 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
laser532 (17.02.2021), Yuri222 (16.02.2021)
Непрочитано 17.02.2021, 10:17  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от NewWriter Посмотреть сообщение
А был бы даже недорогой лог.анализатор
Да есть анализатор, но видимо слишком недорогой чтобы анализировать USB. Да и зачем??

Сообщение от NewWriter Посмотреть сообщение
Почему при запросах от хоста с частотой 500 Гц часть запросов остаются без ответов.
ну и пусть. Кому от этого жить стало хуже??

Сообщение от NewWriter Посмотреть сообщение
Акселерометр крайне желательно опрашивать именно по событию евоного прерывания INT
Аксель настроен на выборку с частотой 208 Hz. После успешной выборки он выставляет флаг об этом.
Программа этот флаг считывает и только если есть считывает заданное количество байт из FIFO.


Сообщение от NewWriter Посмотреть сообщение
Таким образом, частота опроса от хоста никак не увеличивает частоту поступления данных, данные в хост поступают с частотой загрузки их в конечную точку.
Но тем не менее если менять интервал опроса в дескрипторе то это напрямую отражается на кадрах/сек.


Сообщение от NewWriter Посмотреть сообщение
И вы там как-то спрашивали, типа какая там разница - HID или CDC?
Это был риторический вопрос. Моя задача не требует каких то особых извратов с USB. Повторюсь что необходимое и достаточное условие это поступление кадров на компьютер с частотой не менее 200 кадров. И второе это пользовательская работа. И второе это снижение трудозатраты целевого пользователя на установку или решение каких либо проблем. По сути все должно быть в стиле Plug&Play без всяких драйверов, утилит и прочего барахла.


Есть одна конкретная задача предоставить данные с устройства на комп 200 раз в сек. Зачем уходить от ее решения и филосовствовать на тему работы USB? В условиях современной экономики никому не нужно идеализированное решение. Необходимо решение которое будет выполнять поставленные задачи с наименьшими трудозатратами. Софт имеет свойство изменятся под нужны пользователя. Пользователи порой сами толком не понимают что им нужно и склонны часто менять постановку задачи. Поэтому тратить миллион человеко/часов на вылизывание кода на уровне сигналов просто экономически не выгодно. За это время целевой пользователь может остыть и задача может оказаться неактуальной.

А так конечно красиво расписали. Профи, тут не поспоришь.
worldmasters вне форума  
Непрочитано 17.02.2021, 11:04  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,755
Сказал спасибо: 2,666
Сказали Спасибо 2,629 раз(а) в 1,944 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
Аксель настроен на выборку с частотой 208 Hz.
...
конкретная задача предоставить данные с устройства на комп 200 раз в сек. ...В условиях современной экономики
Нажмите, чтобы открыть спойлер
Ну да, и будут пропадать ежесекундно 8 выборок! А это - 4%. 4%, Карл! Как-то не очень экономично...
Yuri222 вне форума  
Непрочитано 18.02.2021, 09:30  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от Yuri222 Посмотреть сообщение
Нажмите, чтобы открыть спойлер
Ну да, и будут пропадать ежесекундно 8 выборок! А это - 4%. 4%, Карл! Как-то не очень экономично...
На конечную цель эти потери не повлияют вообще никак. Даже не могу представить себе задачи где бы потеря этих 4% как то масштабно могла бы повлиять на ситуацию.
worldmasters вне форума  
Непрочитано 18.02.2021, 09:57  
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,013
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
ну и пусть. Кому от этого жить стало хуже??
Ну например Хосту (то есть компьютеру). Если пофантазировать, то можно предположить, что когда device (stm32) не готов отправлять данные по запросу на хост, он должет отвечать NAC. Предположим что STM32 этого не далеет.
Тогда предположим что драйвер USB ингорирует эту тему на Win7 а на Win10 у него включается ожидание хоть какого то ответа от STM32 по таймауту (надо почитать доки по USB про это). Поэтому вместо 200 запросов хост успевает сделать только 60 (остальное время он ожидает получить хоть чего нить от STM32).
Логический анализатор очень сильно бы помог.
Здесь сложились 2 вещи - кривенький USB на STM32 и особенности работы драйвера на Win10.
dgrishin вне форума  
Непрочитано 18.02.2021, 10:00  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от dgrishin Посмотреть сообщение
Здесь сложились 2 вещи - кривенький USB на STM32 и особенности работы драйвера на Win10.
С новым дескриптором то как то все нормально встало. Хотя интервал то не изменился опроса.
worldmasters вне форума  
Непрочитано 18.02.2021, 17:19  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,484
Сказал спасибо: 401
Сказали Спасибо 2,215 раз(а) в 1,313 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Нууу ээээ... Хотите - читайте материалы по формату дескриптора репортов (отчетов) HID. Не хотите - подбирайте методом тыка. Время, затраченное на метод тыка, равно времени на изучение спецификации.
В HID-е, при исправности всего остального, вся гадость заключается именно в дескрипторе репортов. Потому что именно он определяет назначение пришедшей информации.
NewWriter вне форума  
Непрочитано 19.02.2021, 09:49  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от NewWriter Посмотреть сообщение
Нууу ээээ... Хотите - читайте материалы по формату дескриптора репортов (отчетов) HID.
Ну нормально же общались, че началось то?
Читаю я мануалы в силу своих возможностей, но весь этот USB инопрешленцами сделан. Про дескрипторы читал, пытался даже сам что то написать, но стандартная логика там видимо не работает. В итоге то что я писал дает стабильно ошибку 10 на компе.
Если уж прям совсем бы было все плохо то всегда есть вариант CDC да и то. С хидом проблем не было пока 10 не появилась с каким то своим новым драйвером.
worldmasters вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Программирование программатором STERH 007 PIC микроконтроллеров ispitatel1 Песочница (вопросы новичков) 4 17.04.2017 17:18
Виндовс 8 Caxaroza Ремонт оргтехники 322 28.10.2013 00:12
Видеоуроки, видеообзоры, видеоинструкции... Kroom73 Делимся опытом 39 19.06.2011 15:41
Техногенная катастрофа и что с ней теперь делать VOVOKA Отвлекитесь, эмбеддеры! 122 05.01.2011 19:23


Часовой пояс GMT +4, время: 21:00.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot