Kruftin 0 9 июля, 2012 Опубликовано 9 июля, 2012 (изменено) · Жалоба Подскажите что должно быть выполнено со стороны устройства slave usb для того, чтобы данное устройство было определено ПК(какое должно быть состояние сигналов)? Т.е. есть устройство slave usb и его надо протестировать(записать, прочитать из него), какие программы для этого необходимы? Ну или чем можно послать данные по определенному порту, если устройство usb slave не отобразилось. Изменено 9 июля, 2012 пользователем Kruftin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 9 июля, 2012 Опубликовано 9 июля, 2012 · Жалоба Процесс называется энумерация. При этом должно выполниться очень много чего, согласно USB протокола. Тут нельзя говорить про состояние сигналов. Сигналы - это самое начало процесса. Нужно подтянуть D+ или D- к 3.3 В (+ для full speed, - для low speed). Если устройство не подключено, то на него ничего нельзя послать. Если подключилось - то нужен в общем случае для начала драйвер. Если устройство стандартного класса - то драйвер уже есть в системе. Какая программа с ним будет общаться, зависит от класса устройства. Так что ответа в общем виде не существует. Рассказывайте подробнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 16 июля, 2012 Опубликовано 16 июля, 2012 · Жалоба Ну а например с процессора с поддержкой usb можно сэмулировать флэшку, дескриптор который вычитал программой мониторинга usb порта? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Konst_777 0 17 июля, 2012 Опубликовано 17 июля, 2012 · Жалоба Ну а например с процессора с поддержкой usb можно сэмулировать флэшку, дескриптор который вычитал программой мониторинга usb порта? Можно. Но нужно прочитать следующие книги: П. Агуров "Интерфейс USB. Практика использования и программирования" 2004 г. П. Агуров "Практика программирования USB" 2006 г. Jan Axelson "USB Complete. The Developer's Guide. Fourth Edition" 2009 г. Jan Axelson "USB Mass Storage. Designing and Programming Devices and Embedded Hosts" 2006 г. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 17 июля, 2012 Опубликовано 17 июля, 2012 · Жалоба Спасибо! Почитаю, правда там что-то так много всего надо заполнять я гляжу. Ну и что будет если у меня проц с интерфейсом usb определится как флешка? При попытке записи я так понимаю usb выдаст ошибку доступа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 35 17 июля, 2012 Опубликовано 17 июля, 2012 · Жалоба Ну а например с процессора с поддержкой usb можно сэмулировать флэшку, дескриптор который вычитал программой мониторинга usb порта? Конечно можно! Причем, именно так, как вы сами сказали - вычитать дискрипторы, которыми представляется оригинальная флешка. Работа того же типа описана в интернете в отношении джейлбрейка для приставок PlayStation (PS3), чтобы в нелицензированные игры можно было играть. :). Там тоже подсмотрели протокол и сделали эмулятор. Вы тоже можете, подсмотрев дискрипторы, сделать так, что ваше устройство будет опознаваться, как флешка или как любое другое USB-устройство, однако проблема в том, чтобы и далее своей роли соответствовать. А то назваться-то можно и груздем, но потом придется полезать в кузов :), когда комп начнет на псевдофлешку писать. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kruftin 0 17 июля, 2012 Опубликовано 17 июля, 2012 · Жалоба Ну т.е. я просто беру вычитываю дескриптор и нужные мне данные любого устройства, которым хочу представиться для ПК, а затем просто посылаю их без всяких задержек через процессор на ПК и все должно быть гуд? Т.е. не начнет ли ПК что-нибудь посылать по поводу драйвера и т.п. инфы. Или лучше сначала взять флешку и поставить к ней драйвер, а потом уже подключать процессор с usb? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 35 17 июля, 2012 Опубликовано 17 июля, 2012 · Жалоба Ну т.е. я просто беру вычитываю дескриптор и нужные мне данные любого устройства, которым хочу представиться для ПК, а затем просто посылаю их без всяких задержек через процессор на ПК и все должно быть гуд? Т.е. не начнет ли ПК что-нибудь посылать по поводу драйвера и т.п. инфы. Или лучше сначала взять флешку и поставить к ней драйвер, а потом уже подключать процессор с usb? То, что "сначала сидело" в USB-гнезде никакой роли не играет. Новое устройство обязательно проходит свой процесс енумерации и привязки к соответствующему ему драйверу. Опять же для флешек, начиная с WinXP, отдельные драверы не практикуются - практически все флешки работают под управлением стандартного драйвера USBSTOR.SYS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Edit2007 3 18 июля, 2012 Опубликовано 18 июля, 2012 · Жалоба а затем просто посылаю их без всяких задержек через процессор на ПК и все должно быть гуд? Совсем НЕ ГУД. Каждому дескриптору свое время и строго по запросу от ПК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PIC16F876A 0 3 августа, 2012 Опубликовано 3 августа, 2012 · Жалоба Вопрос к знатокам, может кто знает? Не по теме, но на всякий случай. Не люблю я новые темы создавать Как под Windows скоростное устройство USB 2.0 заставить работать на медленной скорости как по USB 1.1 ? Только, пожалуйста, не нужно доказывать, что мне это не надо. Ещё как надо, и надо всем: половина 3G модемов глючат из-за скоростного USB, а когда втыкаешь в медленный USB, работают нормально. Заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Konst_777 0 3 августа, 2012 Опубликовано 3 августа, 2012 · Жалоба ...Как под Windows скоростное устройство USB 2.0 заставить работать на медленной скорости как по USB 1.1 ?... Использовать внешний USB хаб, поддерживающий только USB 1.1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 35 3 августа, 2012 Опубликовано 3 августа, 2012 · Жалоба Использовать внешний USB хаб, поддерживающий только USB 1.1 Но ведь флешка-то на USB2.0 нормально работает в порту USB1.1 без всяких промежуточных хабов. Разве не так? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PIC16F876A 0 4 августа, 2012 Опубликовано 4 августа, 2012 (изменено) · Жалоба Всё так. Глючат только модемы. Хабы USB 1.1 уже не сохранились, не достанешь. Порты 1.1 тоже не в моде. Говорят, на некоторых биосах можно выставить режим USB 1.1, но не у всех такие биосы. Поэтому нужен чисто программный способ. Изменено 4 августа, 2012 пользователем Ноль с переносом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 35 4 августа, 2012 Опубликовано 4 августа, 2012 · Жалоба Всё так. Глючат только модемы. Хабы USB 1.1 уже не сохранились, не достанешь. Порты 1.1 тоже не в моде. Говорят, на некоторых биосах можно выставить режим USB 1.1, но не у всех такие биосы. Поэтому нужен чисто программный способ. Что касается устройства, то любое из расчитанных на 2.0 может работать, как 1.1. Только частоту PLL оно у себя должно другую выставить и в дескрипторе, когда тот попросят, указать USB_SPECIFICATION не 0x200, а 0x110. Плохо только то, что устройство не может знать, к какому порту его присоединили, потому что именно ему дают команду представиться, запросив посылку, где кроме PID/VID должно указать еще и USB_SPECIFICATION. Т.е. процедура такова, что компьютер должен подстраиваться к устройству, а не наоборот. При большом желании, конечно, можно рычажок или джампер поставить, по состоянию замкнутости которого МК будет активировать разные скорости USB, только вряд ли кто захочет этим делом заморачиваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Konst_777 0 4 августа, 2012 Опубликовано 4 августа, 2012 · Жалоба ...Хабы USB 1.1 уже не сохранились, не достанешь.... Поэтому нужен чисто программный способ. В Диспетчере устройств в ветке "Контроллеры USB" отключите "Стандартный расширенный PCI - USB хост-контроллер". После этого все USB порты компьютера будут поддерживать только протокол обмена USB 1.1, соответственно только скорости обмена Full Speed (12 Мбит/сек) и Low Speed (1.5 Мбит/сек). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться