|
|
  |
STM32f103 USB speed |
|
|
|
Jan 23 2014, 19:17
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(Taradov Alexander @ Jan 23 2014, 22:57)  Для максимальной производительности на Iso нужен полный буффер на 1023 байта. Комментарий был про это ограничение. не соглашусь с вами. полный буфер 1023 байта, позволяет передавать только 1 микрофрайм согласно стандарту USB 2.0, в то время как 256 позволяет передать 5, 128 - 10, 64 - 20 микрофраймов. Отсюда скорость максимальной будет как раз на буферах 64-182-256. Даже буфер 512 позволяет передавать только 2 микрофрайма, больше 1023, но меньше 1280 что получается с меньшими буферами. Это согласно стандарта, про конкретную реализацию в процессоре не говорю
|
|
|
|
|
Jan 24 2014, 11:16
|
Группа: Новичок
Сообщений: 2
Регистрация: 23-01-14
Пользователь №: 80 174

|
Фигня какая то получается. Тогда у STM32 нету реальной поддержки FS USB из за ограничений буфера. Зачем народ обманывать???
|
|
|
|
|
Jan 24 2014, 13:39
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(Taradov Alexander @ Jan 24 2014, 11:47)  "(micro)frame" - это microframe в HS и frame в FS. я тоже так понял Цитата(Taradov Alexander @ Jan 24 2014, 11:47)  FS может держать 1 изохронную транзакцию за кадр. Максимальный размер - 1023 байт. Таким образом 1000*1023 = 1023000 байт/ сек - это максимальная пропускная способность в режиме FS. а вот стандарт говорит что для буфера 512 может быть 2 передачи за фрейм для FS. а для буфера 256 может быть 5, и тогда получается тот самый 12 МБит, что требуется для спецификации... Что винда не поддерживает, допускаю, и что конкретный проц может не поддерживать тоже. Но по спецификации так... Как иначе FS устройства могут дать 12 МБит, если 1000*1023 = всего то 10? а вот 256*5 = 12.8.... ну в целом ТС эти теоретически рассуждения не помогут...
|
|
|
|
|
Jan 24 2014, 16:40
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Golikov A. @ Jan 24 2014, 17:39)  а вот стандарт говорит что для буфера 512 может быть 2 передачи за фрейм для FS. а для буфера 256 может быть 5, и тогда получается тот самый 12 МБит, что требуется для спецификации... Не может: Цитата 5.6.4 Isochronous Transfer Bus Access Constraints ... A host must not issue more than 1 transaction in a (micro)frame for an isochronous endpoint unless the endpoint is high-speed, high-bandwidth Примеры загрузки шины приведены для передач через разные конечные точки.
|
|
|
|
|
Jan 24 2014, 16:56
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Golikov A. @ Jan 24 2014, 20:43)  тогда я ничего не понимаю окончательно что такое high-bandwidth? Точка, передающая до трех пакетов за микрофрейм. Цитата(Golikov A. @ Jan 24 2014, 20:43)  может в FS устройстве она может быть high-bandwidth? Нет, только в HS. Цитата(Golikov A. @ Jan 24 2014, 20:43)  потому что в стандарте реально есть таблица для FS с числом передач отличной от 1, и число байт считается в сообщении... Есть, но нигде не говорится, что эти передачи идут через одну точку.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|