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

 
 
> Как добиться скорости в 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
Ответов
Alex11
сообщение Nov 14 2008, 21:07
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Что-то я не помню в спецификации, где прописано это ограничение. У меня живьем на филипсовском контроллере 20 МБ/сек на одном эндпойнте работает, причем скорость ограничена моими внешними цепями. Контроллер может больше.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 17 2008, 09:00
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Alex11 @ Nov 15 2008, 00:07) *
Что-то я не помню в спецификации, где прописано это ограничение. У меня живьем на филипсовском контроллере 20 МБ/сек на одном эндпойнте работает, причем скорость ограничена моими внешними цепями. Контроллер может больше.

Я тоже про ограничение впервые слышу!
Одна EP может полностью заполнить весь канал. Зарезервируется только 10% пропускной способности на контрольный канал (передачи через EP 0).
Go to the top of the page
 
+Quote Post
Vitaliy S.
сообщение Nov 17 2008, 10:09
Сообщение #4





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



Цитата(galjoen @ Nov 17 2008, 12:00) *
Я тоже про ограничение впервые слышу!
Одна EP может полностью заполнить весь канал. Зарезервируется только 10% пропускной способности на контрольный канал (передачи через EP 0).


Не, ну если может то я только рад. smile.gif Я прочитал про это в книжке Шины PCI, USB, FirwWire от Михаила Гука. ....

Парни! Всё понял!

Выпускная способность ендпоинта зависит от размера буфера ендпоинта! И размера поля данных в кадре! Я тупо не дочитал.

При размере буфера ендпоинта в 3072 байта, ендпоинта может давать 24 Мегабайта в секунду.
При размере буфера ендпоинта в 2048 байт, ендпоинт может давать 16 Мегабайт.

56 не может давать один EP, максимум 24.

Всё, казус в моём сознании разрешился, всем спасибо! Просто в кардиридерах и прочих устройствах
мощная аппаратура с большими буферами, а в простых универсальных контроллерах типа LPC2888 EP имеют 512 байтовый буфер, посему они дают тока 3,5 Мб, что я и видел на своём макете.
Go to the top of the page
 
+Quote Post
-Al-
сообщение Nov 17 2008, 11:30
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(Vitaliy S. @ Nov 17 2008, 13:09) *
Не, ну если может то я только рад. smile.gif Я прочитал про это в книжке Шины PCI, USB, FirwWire от Михаила Гука. ....

Парни! Всё понял!

Выпускная способность ендпоинта зависит от размера буфера ендпоинта! И размера поля данных в кадре! Я тупо не дочитал.

При размере буфера ендпоинта в 3072 байта, ендпоинта может давать 24 Мегабайта в секунду.
При размере буфера ендпоинта в 2048 байт, ендпоинт может давать 16 Мегабайт.

56 не может давать один EP, максимум 24.

Всё, казус в моём сознании разрешился, всем спасибо! Просто в кардиридерах и прочих устройствах
мощная аппаратура с большими буферами, а в простых универсальных контроллерах типа LPC2888 EP имеют 512 байтовый буфер, посему они дают тока 3,5 Мб, что я и видел на своём макете.

Фигня какая-то... Cypress CY7C68013A дает до 40МБайт/сек на 1 Bulk Endpoint с 2мя буферами по 512байт и стандартным драйвером.
Go to the top of the page
 
+Quote Post
Vitaliy S.
сообщение Nov 17 2008, 11:34
Сообщение #6





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



Цитата(-Al- @ Nov 17 2008, 14:30) *
Фигня какая-то... Cypress CY7C68013A дает до 40МБайт/сек на 1 Bulk Endpoint с 2мя буферами по 512байт и стандартным драйвером.


Вероятно имеется ввиду поле данных, в передаваемом за раз блоке, как-то так. Возможно тут и не нужен
большой EP буфер контроллера. Просто чем больше буфер EP тем больше может само ядро контроллера отправить данных на шину, как я понимаю.
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
- - mempfis_   Цитата(Vitaliy S. @ Nov 11 2008, 17:39) И...   Nov 20 2008, 11:37
- - misyachniy   Нигде почему-то не упомянуто о том что endpoit-ы м...   Dec 3 2008, 09:14
- - 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 Текстовая версия Сейчас: 23rd July 2025 - 15:03
Рейтинг@Mail.ru


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