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

 
 
> Как добиться скорости в 20 Мб/с по HS USB
Vitaliy S.
сообщение Nov 11 2008, 13:39
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 11-11-08
Пользователь №: 41 539



Исследую вопрос mass storage, и не могу понять как card readerы и прочие читаки и USB диски получают скорость в 20-50 Мб/сек, при том что все устройства у них сконфигурированы в HS режиме с одним! ендпоинтом, который по спецификации USB 2.0 может давать не больше 4,5 Мб/с?

Была идея что читалки используют несколько ендпоинтов параллельно на вывод за счёт чего получается большая скорость, но как то везде в конфигурации устройств вижу лишь 1 EP на вывод.

Изучил несколько исходников firmware LPC2888, Cortex M3, Cypress . Везде BOT режим с двум енпоинтами!!

Вобщем для меня загадка как это работает больше 4 МБ!?

Может кто знает как это делается? Буду очень благодарен за советы и ссылки?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mempfis_
сообщение Nov 20 2008, 11:37
Сообщение #2


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Vitaliy S. @ Nov 11 2008, 17:39) *
Исследую вопрос mass storage, и не могу понять как card readerы и прочие читаки и USB диски получают скорость в 20-50 Мб/сек, при том что все устройства у них сконфигурированы в HS режиме с одним! ендпоинтом, который по спецификации USB 2.0 может давать не больше 4,5 Мб/с?


В таких устройствах используется bulk-передача - пока канал не занят (например контрольными передачами) устройство может посылать буффер bulk-EP один за одним. Для сравнения в interrupt-EP передача возможна только раз в период опроса (например 1мс в USB1.1 при максимальном размере EP в 64 байта и скорость передачи в таком случае ограничивается 64kB/S). В bulk-EP таких ограничений нет (да и буффер конечной точки побольше) вот и получается нормальная скорость smile.gif
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Dec 3 2008, 09:14
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Нигде почему-то не упомянуто о том что endpoit-ы могут иметь один или два буфера.
Если буфер один, то перерывы в передаче обеспечены.
Кроме того со стороны компьютера нужно запрашивать передачу не по 64 или 512 байт а бОльшими блоками.

Я исследовал возможности ОС для предачи данных для режима FS(на последней странице).
В зависимости от ОС размер запрошенного блока может быть от 4 до 64 килобайт.
http://njnmnp.narod.ru/note/USB_for_programmer.pdf
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vitaliy S.   Как добиться скорости в 20 Мб/с по HS USB   Nov 11 2008, 13:39
- - alexkok   Цитата(Vitaliy S. @ Nov 11 2008, 16:39) И...   Nov 11 2008, 17:45
|- - Vitaliy S.   Цитата(alexkok @ Nov 11 2008, 20:45) 480М...   Nov 12 2008, 08:49
- - sergeeff   Наличие в контроллере USB 2.0 вовсе не означает, ч...   Nov 12 2008, 16:14
|- - Vitaliy S.   Цитата(sergeeff @ Nov 12 2008, 19:14) Нал...   Nov 14 2008, 15:02
|- - Stanislav   Цитата(Vitaliy S. @ Nov 14 2008, 18:02) С...   Nov 14 2008, 20:13
- - uriy   Vitaliy S.Я уже запутался где у вас мегабит а где ...   Nov 14 2008, 17:10
- - Alex11   Что-то я не помню в спецификации, где прописано эт...   Nov 14 2008, 21:07
|- - galjoen   Цитата(Alex11 @ Nov 15 2008, 00:07) Что-т...   Nov 17 2008, 09:00
|- - Vitaliy S.   Цитата(galjoen @ Nov 17 2008, 12:00) Я то...   Nov 17 2008, 10:09
|- - -Al-   Цитата(Vitaliy S. @ Nov 17 2008, 13:09) Н...   Nov 17 2008, 11:30
|- - Vitaliy S.   Цитата(-Al- @ Nov 17 2008, 14:3...   Nov 17 2008, 11:34
- - mempfis_   ЦитатаНигде почему-то не упомянуто о том что endpo...   Dec 8 2008, 09:01
- - _4afc_   Цитата(mempfis_ @ Dec 8 2008, 12:01) Имее...   Dec 8 2008, 09:37


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 19:09
Рейтинг@Mail.ru


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