Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Help me solve USB1.1 transferring data error

Status
Not open for further replies.

brmadhukar

Advanced Member level 3
Joined
Jun 21, 2002
Messages
840
Helped
42
Reputation
84
Reaction score
11
Trophy points
1,298
Location
India
Activity points
6,783
USB1.1 through put

Hi,
I am using USB1.1 Scanlogic device for transferring data. I am able to transfer at less than 1MB/s though the spec says 12MB/s in full speed mode. My data side is waiting for ACK signal for a very long time. How do I debug this problem.
TIA
brmadhukar
 

year

Member level 3
Joined
Feb 21, 2002
Messages
62
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
441
You may understand the USB spec more.

Device will send as fast as possible.

USB host will be slow if loosing timeing to transfer....
 

elektrom

Full Member level 2
Joined
Jul 2, 2001
Messages
127
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,298
Activity points
965
USB1.1 through put

8Mbit/s is maximum possible for EZ-USB using Ms-Windows PC.
 

brmadhukar

Advanced Member level 3
Joined
Jun 21, 2002
Messages
840
Helped
42
Reputation
84
Reaction score
11
Trophy points
1,298
Location
India
Activity points
6,783
Hi,
Are there any procedures to determine if the USB device is performing optimally. Is there a difference between Isochronous throughput and Bulkmode transfer throughput.

The scan logic device dat sheet says that a maximum of 12 Mbps is possible. Ebven 8M is OK for me. However on my target side I am waiting for ACK signal so the limitation seems to be from the PC side. The USB host controller property shows a bandwidth of 10% on windows properties page. How do I improve the situation.

brmadhukar
 

brmadhukar

Advanced Member level 3
Joined
Jun 21, 2002
Messages
840
Helped
42
Reputation
84
Reaction score
11
Trophy points
1,298
Location
India
Activity points
6,783
Hi,
I have checked on the target side of the USB and found that it is waiting for the ack 90% of the time. The driver on host side (API call) seems to take 900us for each transfer.
brmadhukar
 

usbman

Advanced Member level 4
Joined
Sep 22, 2002
Messages
118
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,298
Location
Germany
Activity points
1,019
brmadhukar said:
Hi,
Are there any procedures to determine if the USB device is performing optimally. Is there a difference between Isochronous throughput and Bulkmode transfer throughput.

The scan logic device dat sheet says that a maximum of 12 Mbps is possible. Ebven 8M is OK for me. However on my target side I am waiting for ACK signal so the limitation seems to be from the PC side. The USB host controller property shows a bandwidth of 10% on windows properties page. How do I improve the situation.
brmadhukar
Make shure that your device never NAKs any request. NAK will produce
delays because the host has to retry the request again.
You will need a good driver to archive 8 MBits. One device side you
should use a double buffering scheme also make shure that your
controller is able to handle the datarate.
The 10% BW is the reserved BW for control transfers which means
you can use 90% off the BW for your device (about 10 MBits)

usbman
 

brmadhukar

Advanced Member level 3
Joined
Jun 21, 2002
Messages
840
Helped
42
Reputation
84
Reaction score
11
Trophy points
1,298
Location
India
Activity points
6,783
Thanks for the inputs.

I am using bulk transfer mode and there are no other devices. I am getting zero NACKs.

Should I change to different mode to increase througput.
 

usbman

Advanced Member level 4
Joined
Sep 22, 2002
Messages
118
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,298
Location
Germany
Activity points
1,019
No I don't think so . ISO is only for realtime data like audio or video.
For ISO there is no error checking so this is maybe not what you need.
And Interupt is therible slow

Try to use more URBs to increase the datarate in your driver.
Examples can be found in Walter Oney's "Programming The Windows Driver Model"

usbman
 

brmadhukar

Advanced Member level 3
Joined
Jun 21, 2002
Messages
840
Helped
42
Reputation
84
Reaction score
11
Trophy points
1,298
Location
India
Activity points
6,783
Hi,
Thnx for comments usbman.

Currently I am using a evaluation coipy of the Jungo driver set. Is this a cause for slow data rate?

brmadhukar
 

brmadhukar

Advanced Member level 3
Joined
Jun 21, 2002
Messages
840
Helped
42
Reputation
84
Reaction score
11
Trophy points
1,298
Location
India
Activity points
6,783
Hi USBMAN,
In our system, I am using bulk transfer mode and the packet size is 64B. but the packet is transmitted at 1kHz rate (?). We are getting SOF each ms from the driver. How do I disable this on host side.
TIA
brmadhukar
 

usbman

Advanced Member level 4
Joined
Sep 22, 2002
Messages
118
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,298
Location
Germany
Activity points
1,019
You can not disable SOF because then your device must go to suspend
SOF is the alive clock for your system.
Within one SOF there is space for 17 Bulk packets ! (see the spec)

Your problem is the driver
You should take a look at bulkusb from 2000 DDK..

A good driver can allmost produce / get 1 MByte per second depending
on the used usb silicon. I don't know Jungo so I can not say anything
about that product.

usbman
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top