|
|
  |
Два фнукциональных устройства в одном физическом |
|
|
|
Nov 21 2009, 06:01
|

Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063

|
DiMonstr, а что за софт дескриптор устройства в таком виде(html) отображает?
--------------------
© korbian
|
|
|
|
|
Nov 22 2009, 09:22
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706

|
Цитата(korbian @ Nov 21 2009, 09:01)  Да любой софт для анализа обмена на шине usb.Я использую последнее время USBAnalyser.
|
|
|
|
|
Nov 22 2009, 09:41
|

Группа: Участник
Сообщений: 13
Регистрация: 13-03-09
Пользователь №: 46 063

|
Цитата(DiMonstr @ Nov 22 2009, 12:22)  Да любой софт для анализа обмена на шине usb.Я использую последнее время USBAnalyser. а ссылку можно, а то гугл много чего выдает на такой запрос!
--------------------
© korbian
|
|
|
|
|
Nov 23 2009, 11:31
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706

|
Цитата(korbian @ Nov 22 2009, 12:41)  а ссылку можно, а то гугл много чего выдает на такой запрос! Извиняюсь за невеное название софта. Вот список программ для анализа USB трафика: USBlyzer.1.5.97 SysNucleus USBTrace Advanced USB Port Monitor 2.3.0.14.
|
|
|
|
|
Nov 23 2009, 11:55
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(DiMonstr @ Nov 20 2009, 17:17)  Хочу опровергнуть заявление galjoen о невозможности создания составного устройста Сегодня попробовал сделать составное USB устройство: Mass Storage Device и CDC Ethernet Emulation Model. Ну, если можно сделать MS+CDC, то это радует. Хотя м.б. эта возможность только начиная с SP1 появилась. И ещё, неизвестно как драйвера встали - по bInterfaceClass или по VID+PID. Попробуйте, как я в своё время, в дескрипторе DEVICE idVendor=idProduct=bcdDevice=0 сделать. Если и в этом случае всё работать будет, то действительно можно радоваться... К списку ПО, анализирующего USB, могу ещё BusHound (не совсем то и платное  ) и SnoopyPro (лично мне нравится и бесплатное) добавить.
|
|
|
|
|
Nov 25 2009, 13:04
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706

|
Для класса устройства Mass Storage Device описанного в дескрипторе интерфейса №0 драйвера у меня встали автоматически. Для класса устройства Communication Device Descriptor описанного в дескрипторе интерфейса №1 драйвера автоматически ось не поставила. Чтобы установить стандартный драйвер usbser.sys для интерфейса №1, необходимо создать INF-файл. Образец я выложил. Основная его фишка в этой строке: Код %USBtoSerialConverter%=USBtoSer.Install,USB\VID_DC99&PID_C906&MI_01 Здесь идентификатор устройства включает Vendor ID, Product ID и "MI_01" означает номер интерфейса USB устройства для которого нужно поставить драйвер. Как вы заметили, я не применял дескриптор Interface Association Descriptor (IAD). Я описал интерфейс CDC с тремя конечными точками. Я не стал отдельно создавать интерфейс данных и коммуникационный интерфейс. Кроме того, я не описал следующие дескрипторы: - заголовочный (Header Functional Descriptor); - режима команд (Call Management Functional Descriptor); - абстракции устройства (Abstract Control Management Functional Descriptor); - группирования (Union Functional Descriptor). Работу девайса по второму интерфейсу я пока не проверял. На днях протестирую.
Сообщение отредактировал DiMonstr - Nov 25 2009, 13:06
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 26 2009, 11:34
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(DiMonstr @ Nov 25 2009, 16:04)  Для класса устройства Communication Device Descriptor описанного в дескрипторе интерфейса №1 драйвера автоматически ось не поставила. И у меня так было. Поэтому и дальнейшие попытки не предпринимал т.к. мне нужно было чтобы программа со встроенного диска без установки на комп работала. А вот если в дескрипторе DEVICE bDeviceClass=CDC установить, то драйвера автоматически ставятся в т.ч. и при VID=PID=0, но устройство уже будет без MassStorage. Хотя я, к сожалению, не попробовал при этом устройство составным, в т.ч. и с интерфейсом MassStorage, делать. А вдруг прокатило бы?
|
|
|
|
|
Feb 5 2010, 12:03
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706

|
Цитата(aal @ Jan 15 2010, 13:19)  2 DiMonstr Ну и чем опыты закончились? На этом всё и закончилось  Сейчас другим делом занят. Разбираюсь со спецификацией Remote NDIS. Хочу забацать типа адаптера USB-Ethernet
|
|
|
|
|
Aug 4 2010, 20:30
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 25-10-06
Пользователь №: 21 655

|
народ, а кто нить писал композитное устройство на основе cy7c68013? Хочу сделать Mass Storage плюс свой девайс, чтобы драйвера и софт на него таскать вместе с ним и ставить прямо с него. Я там понимаю проблема далеко не нова и повсеместно применяется в мобильных usb девайсах, модемах и пр. Мож есть какие примеры на эту тему? Вообще мне нужно корректно поставить задачу для проектирования и разводки ПП для устройтва. А как программировать его можно разобраться и позже. То есть необходимо составить что то вроде функциональной схемы. Пока в голову приходит вот что:
CY7c16013 (Cypress, usb fx2) связан с FPGA (она все равно будет в девайсе для реализации его основного функционала), на FPGA заведена FLASH память какая-нить (для mass storage девайса). Вооот... Все остальное достигается за счет программирования CY7c16013 и FPGA.
|
|
|
|
|
Aug 5 2010, 05:09
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 25-10-06
Пользователь №: 21 655

|
Цитата(KIM @ Aug 5 2010, 00:30)  CY7c16013 (Cypress, usb fx2) связан с FPGA (она все равно будет в девайсе для реализации его основного функционала), на FPGA заведена FLASH память какая-нить (для mass storage девайса). Вооот... Все остальное достигается за счет программирования CY7c16013 и FPGA. Пардон, не CY7c16013 , а CY7C68013
|
|
|
|
|
Aug 5 2010, 08:45
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(KIM @ Aug 5 2010, 00:30)  CY7c16013 (Cypress, usb fx2) связан с FPGA (она все равно будет в девайсе для реализации его основного функционала), на FPGA заведена FLASH память какая-нить (для mass storage девайса). Вооот... Все остальное достигается за счет программирования CY7c16013 и FPGA. Чтобы сделать составное устойство нужно чтобы кол-во EndPoint (EP) было достаточным. Вот например для HID+MassStorage нужно 3 EP (не считая 0й) - 1. HID-овская InterruptIn, 2. MassStorage Bulk IN, 2. MassStorage Bulk OUT. Можно обойтись и без InterruptIn EP - сделать HID только с Get(Set)Feature через контрольный канал (0-я EP). Но у CY7C68013 кол-во EP для всех случаев вполне достаточное. Не знаю какие требования к скорости и объёму передаваемых данных (кроме MassStorage) в вашем случае, поэтому рекомендовать ничего не могу. Но хочу заметить, что м.б. всё можно сделать и вообще без CY7C68013? На самой FPGA.
|
|
|
|
|
Aug 5 2010, 15:22
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 25-10-06
Пользователь №: 21 655

|
Цитата(galjoen @ Aug 5 2010, 12:45)  Чтобы сделать составное устойство нужно чтобы кол-во EndPoint (EP) было достаточным. Вот например для HID+MassStorage нужно 3 EP (не считая 0й) - 1. HID-овская InterruptIn, 2. MassStorage Bulk IN, 2. MassStorage Bulk OUT. Можно обойтись и без InterruptIn EP - сделать HID только с Get(Set)Feature через контрольный канал (0-я EP). Но у CY7C68013 кол-во EP для всех случаев вполне достаточное.
Не знаю какие требования к скорости и объёму передаваемых данных (кроме MassStorage) в вашем случае, поэтому рекомендовать ничего не могу. Но хочу заметить, что м.б. всё можно сделать и вообще без CY7C68013? На самой FPGA. Честно говоря, у меня есть опыт работы с cy7c68013, а на FPGA я usb никогда не реализовывал. Думаю есть готовые ядра, но я их пока не смотрел. Кстати FPGA скорее всего будет EP3C55 (Altera Cyclone III). Для моего девайса вполне достаточно будет двух Bulk EP (одна на вход, одна на выход), скорости там небольшие - если 15 мегабит на проходе через девайс получится, буднет очень Здорово. FPGA как вы наверняка поняли, будет определенную обработку входных данных проводить и гнать их обратно. То есть создание композитного девайса заключается в написании драйвера и прошивки для CY7C680013, данные получать из FLASH через FPGA... Интерфейс для mass storage сложен в реализации? Мост между ним и FPGA с флеш-памятью придется на CY7C68013 реализовывать, я правильно понимаю?
|
|
|
|
|
Aug 5 2010, 16:00
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(KIM @ Aug 5 2010, 19:22)  Для моего девайса вполне достаточно будет двух Bulk EP (одна на вход, одна на выход), скорости там небольшие - если 15 мегабит на проходе через девайс получится, буднет очень Здорово.
FPGA как вы наверняка поняли, будет определенную обработку входных данных проводить и гнать их обратно.
Интерфейс для mass storage сложен в реализации? Тогда вам вообще составное устройство не нужно. Можно одним MassStorage обойтись. Например, опишите его как устройство с 2-мя логическими дисками и всё. На одном, защищённом от записи, все программы для работы с вашим девайсом, а на другой, фиктивный, будет для приёма-передачи данных использоваться. Работать с ним придётся через запись/чтение сектора (иначе винда закэширует), но зато никаких драйверов не нужно. И две bulk EP нужны всего. Так что, вам никакого общения с внешним миром не нужно? Что же это такое будет? Защита от копирования? MassStorage в реализации не сложен, но требуется аккуратность. И виндовсие глюки обойти, иначе виндой отформатировать невозможно будет.
|
|
|
|
|
Aug 5 2010, 19:03
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 25-10-06
Пользователь №: 21 655

|
Цитата(galjoen @ Aug 5 2010, 20:00)  Так что, вам никакого общения с внешним миром не нужно? Что же это такое будет? Защита от копирования? Да, типа того, защита от копирования, реинженеринга и все такое, плюс шифрованный конфиг прям на девайсе - получается все свое ношу с собой ) А может есть где в открытом доступе примеры реализации композитных девайсов под CY7C68013? А примеры драйверов для композитных девайсов?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|