и вдогонку!

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
                Hi, All!


    Снова вопрос для тех, кто знаком с ЮСБ. Какой дескриптор даёт возможность
кампу определить устройство CDC, как, последовательный порт?


                                        oleg

Re: и вдогонку!
   Привет, Oleg!



29 июл 08 16:56, oleg dozhdev -> All:

0 od>     Снова вопрос для тех, кто знаком с ЮСБ. Какой дескриптор даёт
0 od>     возможность кампу
0 od> определить
 od> устройство CDC, как, последовательный порт?

То что считываешь по ID SUB



    С уважением, Oleg.   http://altcto.narod.ru



и вдогонку!
                Hi, Oleg!


 0 od>>     Снова вопрос для тех, кто знаком с ЮСБ. Какой дескриптор
 0 od>> даёт возможность кампу определить
 od>> устройство CDC, как, последовательный порт?

 OP> То что считываешь по ID SUB

    Это что такое? я в спецификации не нашёл именно такого. поясни, пожалуйста.



                                        oleg

и вдогонку!
                Hi, Oleg!


 0 od>>     Снова вопрос для тех, кто знаком с ЮСБ. Какой дескриптор
 0 od>> даёт возможность кампу определить
 od>> устройство CDC, как, последовательный порт?

 OP> То что считываешь по ID SUB

    Вот, посмотри, пожалуйста. Я тут синим выделил. Это единственный
дескриптор, в котором хоть что-то прописывается. Я пока написал в изготовители
Атмел.

    Я написал 3 дескриптора: сводный дескриптор устройства, сводный для функции
и текстовый с языком устройства и своими данными о производителе и версии.
    Устройство имеет тип CDC без подклассов и протокола, одна конфигурация и в
ней 2 интерфейса. В первом инетефейсе - коммуникационный интерфейс - с одной
конечной точкой по прерыванию для извещения. Второй интерфейс - интерфейс
данных - две конечные точки для общения массивами.

    Вот выжимки:

    // Standard Device Descriptor
        sizeof(S_device_descriptor),
        DEVICE_DESCRIPTOR_TYPE,
        USB2_00,
        COMMUNICATION_DEVICE_CLASS,
        0x00,   // No device subclass code
        0x00,   // No device protocol code
        0x08,   // Maximum packet size for endpoint zero
        _0x03eb,_ // ATMEL vendor ID
        _0x6119,_ // Product ID
        0x0001, // Device release number
        0x04,   // Index of manufacturer description
        0x1c,   // Index of product description
        0x28,   // Index of serial number description
        0x32,   // One possible configuration

    В функциональном дескрипторе - заголовок, дескриптор абстрактной модели,
поддерживающей све запросы, кроме Network_Connection, дескриптор обработки
вызовов и объедиения. с вызовами - вопрос.

    Кстати, всё подчистую содранно с атмеловского CDC driver.

// Interfaces Numbers
#define MASTER_INTERFACE     0x00    // Communication Class Interface (control)
#define SLAVE_INTERFACE      0x01    // Data Class Interface (slave)


    // Call Management Functional Descriptor
        sizeof(S_call_management),
        CS_INTERFACE,
        CALL_MANAGEMENT_FUNCTIONAL_DESCRIPTOR,
        0x01,   // Device handles call management itself via Communication //
Class Interface
        _SLAVE_INTERFACE,_ // ТУТ ВОПРОС

    Вопрос тут вот где: почему указывается номер интерфейса, через который
передаются данные? Почему бы не написать номер интерфейса управления?


    Вот, допустим, я всё это залью в микроконтроллер (пока мекетка ещё не
готова, да и программить дома нечем). А что должно получиться на выходе? Что
будет, если я подключу его к кампу? Он запросит дескрипторы, а потом попросит
драйвер? а какой драйвер он попросит? мой собственный или атмеловский? а как
мне написать, чтоб камп попросил либо стандартный виндовский драйвер устройства
CDC, либо драйвер winusb.sys? что надо для этого сделать? изменить дескриптор
Device Desccriptor (в частности ID)? а на что pаменить? А какой ID написать,
чтоб камп знал, что тут девайс самопальный? и какие ID можно использовать
вообще? ссылка на сайт очень приветствуеццо =)

    можно ли посмотреть твои дескрипторы? и чего ты хотел добиться?




                                        oleg

Site Timeline