Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите выбрать класс устройства :)
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
mempfis_
Привет всем !!!!
Есть у меня вопрос к тем, кто хорошо ориентируется в классах устройств USB
и в мах скорости их передачи.
Создал я устройство которое умеет записывать изображение:
статическая картинка с разрешением 800 на 600 и разрядностью 16 бит.
Для передачи этой картинки в компьютер применил USB1.1-контроллер isp1181a
в связке с ATmega64 и создал на их основе устройство HID-класса.
Проблема в том, что эта картинка (~1Мбайт) передаётся в компьютер очень долго
гдето секунд 30.
Собственно в чём мой вопрос: можно-ли применив другой класс устройства USB
повысить скорость передачи?
Если да - то какой это класс и до какого предела можно повысить скорость?
Заранее спасибо всем откликнувшимся. smile.gif
Warlord
Цитата(mempfis_ @ Mar 20 2007, 18:20) *
можно-ли применив другой класс устройства USB повысить скорость передачи?

Ответ: нельзя. В принципе все равно какой используется класс, тут главное скорость передачи. Low-speed(1.5 МБит\c), Full-speed(12 МБит\c) и Hi-speed(480 МБит\c).
Судя по тому что 1Мб передается за 30!! секунд, можно сказать что это не есть нормально. Ищи косяки. Даже при Low-speed картинка передастся быстрее (секунд за 6). На Hi-speed реально достичь 44МБ\с
Oldring
Цитата(Warlord @ Mar 21 2007, 10:52) *
Ответ: нельзя. В принципе все равно какой используется класс, тут главное скорость передачи. Low-speed(1.5 МБит\c), Full-speed(12 МБит\c) и Hi-speed(480 МБит\c).
Судя по тому что 1Мб передается за 30!! секунд, можно сказать что это не есть нормально. Ищи косяки. Даже при Low-speed картинка передастся быстрее (секунд за 6). На Hi-speed реально достичь 44МБ\с


IMHO косяк - "устройство HID класса". Они не предназначены для bulk, поддерживая только control и interrupt EP. Ответ - можно.
mempfis_
IMHO косяк - "устройство HID класса". Они не предназначены для bulk, поддерживая только control и interrupt EP. Ответ - можно.

В том-то и дело, что для простоты (и для того, чтоб не писать свой драйвер) сначала изучался HID-класс (на этапе изучения скорость не имела значения)
Теперь хочу ускорить передачу.
Из того, что было написано выше, я понял что bulk-передача позволит ускорить процесс передачи данных.
Я просматривал документацию по CDC-классу, и там кажется присутствовали конечные точки типа bulk.
Если применить этот класс на сколько может увеличится скорость.
И вообще, намного-ли сложнее он по сравнению с HID-классом?
smile.gif
torik
выход еще более простой - сделайте не HID, а CDC переходник RS232-USB... Т.е. виртуальный COM-порт в компе, в результате повысите скорость, проще писать прогу на компе (как с обычным ком-портом)...
Кроме того - плюс еще и в том, что подобные устройства наверняка расписаны атмелем или теми кто пользуется этими контроллерами. Одним словом берете прогу под контролле, может чуть дорабатываете и все нормуль.
khach
Зачем велосипед изобретать. Применяйте или Still Image Class или Video Class. Все тут http://www.usb.org/developers/devclass_docs
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.