Baudrate Serial USB

Пеппев
Втюд 07 июня 2016 12:06
Пожалуйста, кто -нибудь может сказать мне Макс Бодрате, которого я могу достичь с серийным соединением USB? Моя доска - клон Maple Mini Baite.

Mrburnette
Вторник 07 июня 2016 г., 17:55
Я запускаю 115 200, но я подозреваю, что ваше терминальное оборудование (ПК) может иметь проблемы в зависимости от возраста, ОС, USB -спецификации., Адаптерные центры и т. Д.


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

Луча

Rogerclark
Вторник 07 июня 2016 г., 21:59
Я разместил несколько тестов лет назад. Я не могу вспомнить, где они находятся на форуме, вы можете попробовать Google на сайте E.глин. использовать. сайт:www.STM32duino.компонент в запросе.

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

Если вы отправите отдельные Chars, за которыми следуют новая линия, скорость, вероятно, только 115200 или, возможно, ниже.

Но если вы отправите более длинные строки, E.глин. 32 или 64 чар, скорость намного выше.

Я не уверен, почему новички изменили ситуацию. Это может быть что -то в обработке USB Libmaple, но в равной степени может быть что -то в The Hosts USB Driver или в программе Therinal Hosts.

Я не копал глубже, так как обнаружил, что для меня достаточно быстро записывать данные из акселерометра и отправить в режиме реального времени на ПК, чтобы я мог сделать анализ вибрации на лазерной грань

Сжимать
Вт
Встроенный USB - это последовательное устройство CDC, на самом деле оно не последовательно, кажется, на вашем компьютере как последовательно, но нет настоящих бодратов. Данные передаются так быстро, как позволяет USB -код/интерфейс/процессор (это сильно зависит от количества байтов в каждом вызове). Я вспомнил некоторые испытания на время, которые мы сделали несколько месяцев назад, скорость с пакетами передачи около 50 байтов была похожа на UART на 5 мбауда.

http: // www.STM32duino.com/viewtopic.PHP ... = 10#p12059

Пито
Ср. 08 июня 2016 г., 6:36
Да, с USB «Baudrate» не имеет значения. Максимальная теоретическая скорость составляет 12 Мбит с полной скоростью USB. Поэтому я ожидаю, что 5MBIT может быть выполнен, это зависит от нагрузки на процессор Mmini.
Baudrate имеет значение, когда у вас есть «USB для серийного ключа» между ними. Но этот ключ не используется при общении с Maple Mini через USB Serial.


ПК USB <----------USB = 12 Мбит----------->Maple Mini USB (зависит от скорости обработки MM)

ПК USB <------USB = 12MBIT ------ | USB в серийный ключ | ------- Serial 9K6..115K2..3 Мбит----->Maple Mini Uart

Стивестронг
Вт 14 июня 2016 г. 12:08
HM, я использую трансмиссию с ручной грункой (Maple Mini отправляет блок данных и ожидает ACK с ПК), и я никогда не смогу пройти ~ 160 кбит / с.
Я что -то упускаю?
Конечно, в этой ситуации задержка ПК оказывает огромное влияние, но это максимальная средняя скорость, что я могу получить с i5 2.25 ГГц Win10 Machine.

Mrburnette
Вт 14 июня 2016 г. 12:22 вечера
Стивестронг написал:HM, я использую трансмиссию с ручной грункой (Maple Mini отправляет блок данных и ожидает ACK с ПК), и я никогда не смогу пройти ~ 160 кбит / с.
Я что -то упускаю?
Конечно, в этой ситуации задержка ПК оказывает огромное влияние, но это максимальная средняя скорость, что я могу получить с i5 2.25 ГГц Win10 Machine.

Стивестронг
Вт 14 июня 2016 г. 12:39
«Рука»-это улица с двусторонним движением ... Даже если у ПК нет задержки, на уровне UC еще предстоит проделать значительный объем работы. Рэй, я тоже наверняка осознаю эту задержку. Кстати, как «много» (длинная) работа, о которой мы на самом деле говорим здесь (на стороне UC)?
Просто задавался вопросом, может ли кто -нибудь еще получить лучшие результаты.

Mrburnette
Вт 14 июня 2016 г. 12:51 вечера
Стивестронг написал:«Рука»-это улица с двусторонним движением ... Даже если у ПК нет задержки, на уровне UC еще предстоит проделать значительный объем работы. Рэй, я тоже наверняка осознаю эту задержку. Кстати, как «много» (длинная) работа, о которой мы на самом деле говорим здесь (на стороне UC)?
Просто задавался вопросом, может ли кто -нибудь еще получить лучшие результаты.

Martinayotte
Вт 14 июня 2016 г., 16:37
Стивестронг написал:HM, я использую трансмиссию с ручной грункой (Maple Mini отправляет блок данных и ожидает ACK с ПК), и я никогда не смогу пройти ~ 160 кбит / с.
Я что -то упускаю?
Конечно, в этой ситуации задержка ПК оказывает огромное влияние, но это максимальная средняя скорость, что я могу получить с i5 2.25 ГГц Win10 Machine.

Стивестронг
Вт 14 июня 2016 г., 21:09
1.72 Мбит / с ... совсем не плохо.
Я использую рукопожатие точно, потому что в противном случае я иногда могу потерять байты или получать не сумасшедшие данные, когда становятся слишком много байтов ... это переполнение USB?
Я был бы заинтересован в .enableblockingtx () для f103.

Martinayotte
Вт 14 июня 2016 г., 21:19
Да, то, что вы видели, это USB -переполнение.
Для EnableBlockingTX () под F103 я предполагаю, что он может быть реализован.
Из того, что я видел в коде, следующий код, вероятно, должен просто ждать, вместо того, чтобы вернуться, не отправляя данные в зависимости от блокировки флага.
build.extra_flags= -DLED_BUILTIN={build.led_builtin} {build.upload_flags} {build.cpu_flags} {build.hs_flag} {build.common_flags}

Задержать менее 1 мкс ?