|
STM32f103 USB speed |
|
|
|
Jan 23 2014, 03:18
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 29-12-13
Из: St.Petersburg
Пользователь №: 79 852

|
Есть задача - передать поток данных от ADC через USB на комп. Два ADC генерируют по больше 20 мбит. Вопрос в том сколько может пропустить USB.
Правильно ли я понял что ограничения такие: 1 фрейм за 1 милисек за 1 фрейм можно передать один буфер из EndPoint. Максимальный размер буфера = 512 -0x18 (BTAB) - 2 * 0x40 (END0 buff) = ~ 350 байт
Т.е. максимальная скорость STM32 USB будет 3,5 мбайта?
--------------------
Скудность мысли порождает легионы единомышленников.
|
|
|
|
|
 |
Ответов
|
Jan 23 2014, 05:16
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Для устройств USB 2.0 регламентировано три режима работы: Low-speed, 10—1500 Кбит/c (клавиатуры, мыши, джойстики) Full-speed, 0,5—12 Мбит/с (аудио-, видеоустройства) High-speed, 25—480 Мбит/с (видеоустройства, устройства хранения информации)
этот проц фул спид, значит до 12 мегабит должен качать.
просто есть разные виды передачи, и максимум будет в изохронном режиме, правда без гарантий... и это 1.5 МБайта,
|
|
|
|
|
Jan 23 2014, 07:34
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Golikov A. @ Jan 22 2014, 22:16)  просто есть разные виды передачи, и максимум будет в изохронном режиме, правда без гарантий... и это 1.5 МБайта, Максимум будет в Bulk, если шина не нагружена и хост сможет поставить 19 запросов за кадр. Bulk - 19*64 байт = 1216 байт/мс = 1.2 МБ/c. Iso - 1023 байт / мс = 1.023 МБ/c. Edit: На практике ни винда ни линукс 19 запросов на моем железе не ставят, получается 13-15 только. Поддержка Iso в ОС и библиотеках тоже оставляет желать лучшего.
Сообщение отредактировал Taradov Alexander - Jan 23 2014, 07:34
|
|
|
|
|
Jan 23 2014, 09:42
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 29-12-13
Из: St.Petersburg
Пользователь №: 79 852

|
Цитата(Taradov Alexander @ Jan 23 2014, 11:34)  Максимум будет в Bulk, если шина не нагружена и хост сможет поставить 19 запросов за кадр. А можешь объяснить или дать ссылку - как сделать больше одного запроса за кадр? Мне нужна конкретная реализация на STM32F103 идеально если есть пример. Абстрактные ограничения протокола или драйверов Win это вторично если до этого дойдет. Пока я вижу - только 350 байт за 1 милисек. Это 350 кбайт/сек или 2.7 мбит/сек.
--------------------
Скудность мысли порождает легионы единомышленников.
|
|
|
|
|
Jan 23 2014, 10:28
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(Utyff @ Jan 23 2014, 13:42)  А можешь объяснить или дать ссылку - как сделать больше одного запроса за кадр?
Мне нужна конкретная реализация на STM32F103 идеально если есть пример. Абстрактные ограничения протокола или драйверов Win это вторично если до этого дойдет.
Пока я вижу - только 350 байт за 1 милисек. Это 350 кбайт/сек или 2.7 мбит/сек. запросы делает HOST, то есть компьютер, как у него есть на это силы. Так что никак вы его больше запросов чем он хочет сделать не заставите. Может я что-то не так помню, но вроде википедия со мной согласна: Изохронный канал позволяет доставлять пакеты без гарантии доставки и без ответов/подтверждений, но с гарантированной скоростью доставки в N пакетов на один период шины (1 КГц у low и full speed, 8 КГц у high speed) Поточный канал дает гарантию доставки каждого пакета, поддерживает автоматическую приостановку передачи данных по нежеланию устройства (переполнение или опустошение буфера), но не дает гарантий скорости и задержки доставки. последний это Bulk они так назвали.
|
|
|
|
Сообщений в этой теме
Utyff STM32f103 USB speed Jan 23 2014, 03:18    Utyff Цитата(Taradov Alexander @ Jan 23 2014, 11... Jan 23 2014, 10:52 Golikov A. вот потому максимум и будет в изохроне%
15*64 Кба... Jan 23 2014, 08:07 Taradov Alexander QUOTE (Golikov A. @ Jan 23 2014, 01:07) б... Jan 23 2014, 08:15 Golikov A. стандарт говорит
The USB limits the maximum data p... Jan 23 2014, 11:32 Utyff Golikov A.
Спасибо! Изохронный больше подойдет... Jan 23 2014, 13:54  Rikoesev Цитата(Utyff @ Jan 23 2014, 17:54) Goliko... Jan 23 2014, 15:13   Taradov Alexander QUOTE (Rikoesev @ Jan 23 2014, 08:13) Как... Jan 23 2014, 16:45    misyachniy ЦитатаЯ с этим чипом не знаком близко, но если мак... Jan 23 2014, 17:16     Taradov Alexander QUOTE (misyachniy @ Jan 23 2014, 10:16) Д... Jan 23 2014, 18:57      Golikov A. Цитата(Taradov Alexander @ Jan 23 2014, 22... Jan 23 2014, 19:17       Taradov Alexander QUOTE (Golikov A. @ Jan 23 2014, 12:17) в... Jan 23 2014, 19:21   Utyff Цитата(Rikoesev @ Jan 23 2014, 19:13) Сто... Jan 23 2014, 16:56 Golikov A. Цитирую официальный документ
стандарт USB 2.0
The... Jan 23 2014, 22:12 Taradov Alexander QUOTE (Golikov A. @ Jan 23 2014, 15:12) Ц... Jan 23 2014, 22:29 Golikov A. таблица приведенная для FS, для HS идет таблица да... Jan 23 2014, 23:38 Taradov Alexander QUOTE (Golikov A. @ Jan 23 2014, 16:38) н... Jan 23 2014, 23:48 Golikov A. USB establishes a 1 millisecond time base called a... Jan 24 2014, 05:29 Taradov Alexander "(micro)frame" - это microframe в HS и f... Jan 24 2014, 07:47  Golikov A. Цитата(Taradov Alexander @ Jan 24 2014, 11... Jan 24 2014, 13:39   aaarrr Цитата(Golikov A. @ Jan 24 2014, 17:39) а... Jan 24 2014, 16:40 Rikoesev Фигня какая то получается. Тогда у STM32 нету реал... Jan 24 2014, 11:16 Taradov Alexander QUOTE (Rikoesev @ Jan 24 2014, 04:16) Фиг... Jan 24 2014, 17:07 Alex11 ЦитатаHS сам по себе содержит 8 микрокадров в кадр... Jan 24 2014, 11:44 aaarrr Цитата(Alex11 @ Jan 24 2014, 15:44) В win... Jan 24 2014, 13:04 Golikov A. тогда я ничего не понимаю окончательно
что такое
h... Jan 24 2014, 16:43 aaarrr Цитата(Golikov A. @ Jan 24 2014, 20:43) т... Jan 24 2014, 16:56  Golikov A. Цитата(aaarrr @ Jan 24 2014, 20:56) Есть,... Jan 24 2014, 18:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|