Ports
May 22, 2013, 03:56:49 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: SMF - Just Installed!
 
   Home   Help Search Login Register  
Welcome to the PORTS Forum. Please post your questions, answers, and comments relating to USB and other hardware interfaces in the appropriate forums below. - Jan
Pages: [1]
  Print  
Author Topic: Need suggestion about data acquisition via USB  (Read 761 times)
xihad
Member
*
Posts: 5


« on: March 19, 2012, 05:09:40 am »

Hi Jan,

For one of my projects i need to transfer 2000 bytes of data in 40 microsecond guaranteed time interval. As i m a complete newbie with USB interfacing, can you please suggest me a possible combination of Micro controller and USB data transfer type i should use to accomplish the desired data acquisition.

Thanks in advance. take care.


Zihad
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 1629


WWW
« Reply #1 on: March 19, 2012, 09:17:41 am »

2000 bytes / 0.000040 sec = 50 MBytes/sec.

SuperSpeed isochronous transfers can do this but don't provide error-checking.

High speed is 480 Mbits/sec, which works out to 60 MBytes/sec, but the maximum data throughput is lower due to addressing, error-checking bits, etc. 

Compressing the data before sending is one way to reduce the amount of data to send.

Jan
Logged
xihad
Member
*
Posts: 5


« Reply #2 on: March 19, 2012, 10:06:02 am »

HI Jan,

Thank you very much for the response! In my previous post i actually made a mistake . I actually tried to mean i need to acquire total 2000 bytes of data at a rate of 1byte per 40 micro second.
Also can you please suggest me any micro-controller which would be useful in that case? really appreciate your help. Thanks!
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 1629


WWW
« Reply #3 on: March 19, 2012, 10:43:24 am »

A high-speed interrupt endpoint can do this.

If you don't want to provide a host driver, take a look at HID:

www.lvr.com/hidpage.htm

or WinUSB:

http://www.lvr.com/winusb.htm

Some things that can affect throughput are the size of the data packets and the length of the transfer (whether each transfer is a single byte or multiple bytes).

Just about all general-purpose high-speed controllers support interrupt transfers. Look for one with example code:

http://www.lvr.com/usbchips.htm

If you have control over how busy the bus is with other traffic, you may be able to use bulk transfers. In that case, the easiest path may be the FT232H or similar.

Jan
Logged
Bret
Member
***
Posts: 35


« Reply #4 on: March 19, 2012, 03:07:51 pm »

Do you actually need each byte at precisely 40 microsecond intervals, or does this just need to be an average?  Do you care about latency or jitter in the timing?  Do you need to guarantee data delivery or integrity?  Just some of the questions you need to answer before you decide on an appropriate transfer mechanism in USB, or whether USB is even an appropriate medium to use.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!