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

 
 
> Bulk-Only в MassStorage USB, 64b/1ms, как заставить работать быстрее? прошу помощи...
Alex2172
сообщение Feb 6 2006, 10:19
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 25-08-04
Пользователь №: 537



Господа, прошу направить на путь истинный...
Возможно для кого-то эта тема уже избита, но все же... ткните носом в документацию, примеры, Ваш личный опыт...

Есть пример USB-MEM для LPC214x эмулирующий диск 16кБ в RAM, видоизменил SCSI для работы с реальной MMC/SD - все ок. Но за один фрейм передается 64 байта, что и следует ожидать. А это всего лишь 30кБ/сек, представляете сколько будет читаться MMC карточка объемом 512Мб.

Вопросы:
1. Как передавать несколько пакетов за один фрейм в BulkOnly режиме чтобы увеличить скорость хотя бы до 1Mb/сек?
2. Встречал ли кто в сети исходники для реализации Control/Bulk/Interrupt (кажется uC/MSD реализует CBI, но х.з. где он, на фтп нет, в будках нет)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nikkov
сообщение Feb 7 2006, 02:12
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 217
Регистрация: 1-02-05
Пользователь №: 2 332



См. здесь http://electronix.ru/forum/index.php?showtopic=11785
Я тоже пробовал, пока шина свободна, скорость передачи в режиме BULK приближается к максимальной скорости USB шины. Для Interrupt и Isochron-го режимов макс. скорость равна размеру буфера конечной точки*1000 байт/сек.
Go to the top of the page
 
+Quote Post
KolyanV
сообщение Feb 27 2006, 12:46
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 1-06-05
Пользователь №: 5 621



Цитата(nikkov @ Feb 7 2006, 04:12) *
См. здесь http://electronix.ru/forum/index.php?showtopic=11785
Я тоже пробовал, пока шина свободна, скорость передачи в режиме BULK приближается к максимальной скорости USB шины. Для Interrupt и Isochron-го режимов макс. скорость равна размеру буфера конечной точки*1000 байт/сек.

Если я не ошибаюсь, пакет от конечной точки в FullSpeed BULK режиме по определению не может быть больше 64 байт (в спецификации USB 2.0). Т.е согласно этой формулы физический предел для BULK в FullSpeed (12 Мбит/сек) режиме должен быть 64 кБ/Сек. На практике, за один фрейм может отсылаться множество пакетов.

Сообщение отредактировал KolyanV - Feb 27 2006, 13:09
Go to the top of the page
 
+Quote Post
nikkov
сообщение Mar 3 2006, 02:48
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 217
Регистрация: 1-02-05
Пользователь №: 2 332



Цитата(KolyanV @ Feb 27 2006, 18:46) *
Если я не ошибаюсь, пакет от конечной точки в FullSpeed BULK режиме по определению не может быть больше 64 байт (в спецификации USB 2.0). Т.е согласно этой формулы физический предел для BULK в FullSpeed (12 Мбит/сек) режиме должен быть 64 кБ/Сек. На практике, за один фрейм может отсылаться множество пакетов.

См. внимательнее, формула справедлива для "Для Interrupt и Isochron-го режимов макс. скорость равна размеру буфера конечной точки*1000 байт/сек", для BULK все зависит от наличия данных для передачи и свободности шины
Go to the top of the page
 
+Quote Post



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

 


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


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