1. Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
    Dismiss Notice

Piccolo F28069 USB Bulk Device Work FIFO size 64 but NOT WORK FIFO size 1024 byte Throughput

Discussion in 'Microcontrollers' started by bnymnsogut, Oct 10, 2017.

  1. bnymnsogut

    bnymnsogut New Member

    Joined:
    Oct 10, 2017
    Messages:
    1
    Likes:
    0
    I have been testing F2806x USB Bulk Device Example project 'usb_dev_bulk' from TI controlSUITE. In the USB2.0 Specification there is noted that maximum allowed data packet size is 64 bytes where data is transmitted within 1ms frame.

    When i predefined value of '#define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_64' -> '#define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_1024' , i can send more bytes than 64-byte in 1ms frame but just send USB3.0 port on some computer (random operating system ex. win7 win xp win 10). But i can't send any data some computer.

    I share some details about 64 byte and 1024 byte for the non-working computer . I saw "Current Config Value : 0x00 ERROR: must be non-zero" and "Number Of Open Pipes : 0x00 (0)" in Connection Information for 1024 byte data. How can i fix it ?

    For #define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_64 ;

    +++++++++++++++++ Device Information ++++++++++++++++++
    Device Description : SMB
    Device Path : \\?\usb#vid_1cbe&pid_0003#12345678#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Device ID : USB\VID_1CBE&PID_0003\12345678
    Hardware IDs : USB\VID_1CBE&PID_0003&REV_0100 USB\VID_1CBE&PID_0003
    Driver KeyName : {eb781aaf-9c70-4523-a5df-642a87eca567}\0000 ({EB781AAF-9C70-4523-A5DF-642A87ECA567})
    Driver : system32\DRIVERS\libusb0.sys (Version: 1.2.6.0 Date: 2017-09-15)
    Driver Inf : C:\Windows\inf\oem59.inf
    Legacy BusType : PNPBus
    Class : libusb-win32 devices
    Class GUID : {eb781aaf-9c70-4523-a5df-642a87eca567}
    Interface GUID : {a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
    Service : libusb0
    Enumerator : USB
    Location Info : Port_#0002.Hub_#0004
    Location IDs : PCIROOT(0)#PCI(1D00)#USBROOT(0)#USB(1)#USB(2)
    Container ID : {66740512-d1e6-5bc7-bc09-594d33c026b1}
    Manufacturer Info : B
    Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
    Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
    Problem Code : 0
    Power State : D0 (supported: D0, D3, wake from D0)

    ---------------- Connection Information ---------------
    Connection Index : 0x02 (2)
    Connection Status : 0x01 (DeviceConnected)
    Current Config Value : 0x01
    Device Address : 0x03 (3)
    Is Hub : 0x00 (no)
    Number Of Open Pipes : 0x02 (2)
    Device Bus Speed : 0x01 (Full-Speed)
    Pipe0ScheduleOffset : 0x00 (0)
    Pipe1ScheduleOffset : 0x00 (0)

    ---------------------- Device Descriptor ----------------------
    bLength : 0x12 (18 bytes)
    bDescriptorType : 0x01 (Device Descriptor)
    bcdUSB : 0x110 (USB Version 1.10)
    bDeviceClass : 0xFF (Vendor Specific)
    bDeviceSubClass : 0x00
    bDeviceProtocol : 0x00
    bMaxPacketSize0 : 0x40 (64 bytes)
    idVendor : 0x1CBE
    idProduct : 0x0003
    bcdDevice : 0x0100
    iManufacturer : 0x01 (String Descriptor 1)
    Language 0x0409 : "Texas Instruments"
    iProduct : 0x02 (String Descriptor 2)
    Language 0x0409 : "Generic Bulk Device"
    iSerialNumber : 0x03 (String Descriptor 3)
    Language 0x0409 : "12345678"
    bNumConfigurations : 0x01 (1 Configuration)

    ------------------ Configuration Descriptor -------------------
    bLength : 0x09 (9 bytes)
    bDescriptorType : 0x02 (Configuration Descriptor)
    wTotalLength : 0x0020 (32 bytes)
    bNumInterfaces : 0x01 (1 Interface)
    bConfigurationValue : 0x01 (Configuration 1)
    iConfiguration : 0x05 (String Descriptor 5)
    Language 0x0409 : "Bulk Data Configuration"
    bmAttributes : 0xC0
    D7: Reserved, set 1 : 0x01
    D6: Self Powered : 0x01 (yes)
    D5: Remote Wakeup : 0x00 (no)
    D4..0: Reserved, set 0 : 0x00
    MaxPower : 0xFA (500 mA)

    ---------------- Interface Descriptor -----------------
    bLength : 0x09 (9 bytes)
    bDescriptorType : 0x04 (Interface Descriptor)
    bInterfaceNumber : 0x00
    bAlternateSetting : 0x00
    bNumEndpoints : 0x02 (2 Endpoints)
    bInterfaceClass : 0xFF (Vendor Specific)
    bInterfaceSubClass : 0x00
    bInterfaceProtocol : 0x00
    iInterface : 0x04 (String Descriptor 4)
    Language 0x0409 : "Bulk Data Interface"

    ----------------- Endpoint Descriptor -----------------
    bLength : 0x07 (7 bytes)
    bDescriptorType : 0x05 (Endpoint Descriptor)
    bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
    bmAttributes : 0x02 (TransferType=Bulk)
    wMaxPacketSize : 0x0040 (64 bytes)
    bInterval : 0x00 (ignored)

    ----------------- Endpoint Descriptor -----------------
    bLength : 0x07 (7 bytes)
    bDescriptorType : 0x05 (Endpoint Descriptor)
    bEndpointAddress : 0x01 (Direction=OUT EndpointID=1)
    bmAttributes : 0x02 (TransferType=Bulk)
    wMaxPacketSize : 0x0040 (64 bytes)
    bInterval : 0x00 (ignored)

    -------------------- String Descriptors -------------------
    ------ String Descriptor 0 ------
    bLength : 0x04 (4 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language ID[0] : 0x0409 (English - United States)
    ------ String Descriptor 1 ------
    bLength : 0x24 (36 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Texas Instruments"
    ------ String Descriptor 2 ------
    bLength : 0x28 (40 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Generic Bulk Device"
    ------ String Descriptor 3 ------
    bLength : 0x12 (18 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "12345678"
    ------ String Descriptor 4 ------
    bLength : 0x28 (40 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Bulk Data Interface"
    ------ String Descriptor 5 ------
    bLength : 0x30 (48 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Bulk Data Configuration"


    For #define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_1024;

    +++++++++++++++++ Device Information ++++++++++++++++++
    Device Description : SMB
    Device Path : \\.\usb#vid_1cbe&pid_0003#12345678#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Device ID : USB\VID_1CBE&PID_0003\12345678
    Hardware IDs : USB\VID_1CBE&PID_0003&REV_0100 USB\VID_1CBE&PID_0003
    Driver KeyName : {eb781aaf-9c70-4523-a5df-642a87eca567}\0000 ({EB781AAF-9C70-4523-A5DF-642A87ECA567})
    Driver : system32\DRIVERS\libusb0.sys (Version: 1.2.6.0 Date: 2017-09-15)
    Driver Inf : C:\Windows\inf\oem59.inf
    Legacy BusType : PNPBus
    Class : libusb-win32 devices
    Class GUID : {eb781aaf-9c70-4523-a5df-642a87eca567}
    Interface GUID : {a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
    Service : libusb0
    Enumerator : USB
    Location Info : Port_#0002.Hub_#0004
    Location IDs : PCIROOT(0)#PCI(1D00)#USBROOT(0)#USB(1)#USB(2)
    Container ID : {66740512-d1e6-5bc7-bc09-594d33c026b1}
    Manufacturer Info : B
    Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
    Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
    Problem Code : 0
    Power State : D0 (supported: D0, D3, wake from D0)

    ---------------- Connection Information ---------------
    Connection Index : 0x02 (2)
    Connection Status : 0x01 (DeviceConnected)
    Current Config Value : 0x00 ERROR: must be non-zero
    Device Address : 0x03 (3)
    Is Hub : 0x00 (no)
    Number Of Open Pipes : 0x00 (0)
    Device Bus Speed : 0x01 (Full-Speed)

    ---------------------- Device Descriptor ----------------------
    bLength : 0x12 (18 bytes)
    bDescriptorType : 0x01 (Device Descriptor)
    bcdUSB : 0x110 (USB Version 1.10)
    bDeviceClass : 0xFF (Vendor Specific)
    bDeviceSubClass : 0x00
    bDeviceProtocol : 0x00
    bMaxPacketSize0 : 0x40 (64 bytes)
    idVendor : 0x1CBE
    idProduct : 0x0003
    bcdDevice : 0x0100
    iManufacturer : 0x01 (String Descriptor 1)
    Language 0x0409 : "Texas Instruments"
    iProduct : 0x02 (String Descriptor 2)
    Language 0x0409 : "Generic Bulk Device"
    iSerialNumber : 0x03 (String Descriptor 3)
    Language 0x0409 : "12345678"
    bNumConfigurations : 0x01 (1 Configuration)

    ------------------ Configuration Descriptor -------------------
    bLength : 0x09 (9 bytes)
    bDescriptorType : 0x02 (Configuration Descriptor)
    wTotalLength : 0x0020 (32 bytes)
    bNumInterfaces : 0x01 (1 Interface)
    bConfigurationValue : 0x01 (Configuration 1)
    iConfiguration : 0x05 (String Descriptor 5)
    Language 0x0409 : "Bulk Data Configuration"
    bmAttributes : 0xC0
    D7: Reserved, set 1 : 0x01
    D6: Self Powered : 0x01 (yes)
    D5: Remote Wakeup : 0x00 (no)
    D4..0: Reserved, set 0 : 0x00
    MaxPower : 0xFA (500 mA)

    ---------------- Interface Descriptor -----------------
    bLength : 0x09 (9 bytes)
    bDescriptorType : 0x04 (Interface Descriptor)
    bInterfaceNumber : 0x00
    bAlternateSetting : 0x00
    bNumEndpoints : 0x02 (2 Endpoints)
    bInterfaceClass : 0xFF (Vendor Specific)
    bInterfaceSubClass : 0x00
    bInterfaceProtocol : 0x00
    iInterface : 0x04 (String Descriptor 4)
    Language 0x0409 : "Bulk Data Interface"

    ----------------- Endpoint Descriptor -----------------
    bLength : 0x07 (7 bytes)
    bDescriptorType : 0x05 (Endpoint Descriptor)
    bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
    bmAttributes : 0x02 (TransferType=Bulk)
    wMaxPacketSize : 0x0400 (1024 bytes)
    bInterval : 0x00 (ignored)

    ----------------- Endpoint Descriptor -----------------
    bLength : 0x07 (7 bytes)
    bDescriptorType : 0x05 (Endpoint Descriptor)
    bEndpointAddress : 0x01 (Direction=OUT EndpointID=1)
    bmAttributes : 0x02 (TransferType=Bulk)
    wMaxPacketSize : 0x0400 (1024 bytes)
    bInterval : 0x00 (ignored)

    -------------------- String Descriptors -------------------
    ------ String Descriptor 0 ------
    bLength : 0x04 (4 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language ID[0] : 0x0409 (English - United States)
    ------ String Descriptor 1 ------
    bLength : 0x24 (36 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Texas Instruments"
    ------ String Descriptor 2 ------
    bLength : 0x28 (40 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Generic Bulk Device"
    ------ String Descriptor 3 ------
    bLength : 0x12 (18 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "12345678"
    ------ String Descriptor 4 ------
    bLength : 0x28 (40 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Bulk Data Interface"
    ------ String Descriptor 5 ------
    bLength : 0x30 (48 bytes)
    bDescriptorType : 0x03 (String Descriptor)
    Language 0x0409 : "Bulk Data Configuration"
     

Share This Page