[iyonix-support] Re: Iyonix driving K8055 board via USB - very slow?

  • From: dave higton <davehigton@xxxxxxxxxxxxx>
  • To: iyonix-support@xxxxxxxxxxxxx
  • Date: Mon, 03 Aug 2009 11:15:36 +0100

Quoting Neil F <faz@xxxxxxxxxxxxx>:

> That should be Velleman K8055, of course, not Kellerman.
> 
> -----Original Message-----
> From: iyonix-support-bounce@xxxxxxxxxxxxx
> [mailto:iyonix-support-bounce@xxxxxxxxxxxxx] On Behalf Of Neil F
> Sent: 03 August 09 11:09
> To: iyonix-support@xxxxxxxxxxxxx
> Subject: [iyonix-support] Iyonix driving K8055 board via USB - very
> slow?
> 
> 
> Anyone fully familiar with the USB standard re sending bytes to a USB
> 1.1 device?
> 
> I'm using a heavily cut down, single-tasking version of Dave Higton's
> USB prog for driving the Kellerman K8055 USB experimenter's board (as
> sold by Maplin etc). I've been using it to drive stepper motors on an
> old 8-bit robot arm but find there's an absolute upper limit to the
> step speed that I can get the board to output, which seems to be
> around 100Hz or 10ms per pulse.
> 
> This of course is too slow to get the arm moving at more than a crawl
> - at least twice that pulse speed would be preferable. I have to
> introduce delays in the coding to stop the Iyonix overrunning the card
> ATM so clearly the hold up is not in the coding or processor speed.
> 
> I've seen references to the USB standard having a minimum update rate
> of 10ms, which would account for the slow timing I'm getting. I
> presume this means that while large packets of data can be sent to a
> USB device at high speed (e.g. file transfers) there's an unavoidable
> minimum overhead of 10ms for each packet. So if you want to send a
> series of one-byte transfers (as I do) then the fastest transfer rate
> possible is 100Hz.
> 
> Can anyone confirm this is the case, so I can stop trying to achieve
> the impossible and start looking for other solutions?

There is no 10 ms limit inherent in USB in general.

The K8055 board uses a particularly lame 8-bit CPU - a PIC - so I
think you'll find that's the limit to what you want to do.

I've programmed an STR711 to do two embedded jobs.  It's a far more
powerful CPU (an ARM that will run at up to around 32 MHz), and
Olimex do very low cost header boards and development boards.  If
you use a more powerful CPU, and one that you can programme yourself,
you can implement a higher level protocol, which would require less
transactions from the host.  You can get an excellent tool set free
from IAR, though you will at some stage need a J-Link JTAG programmer,
so an IAR development kit would be good value for money.  I would
commend that approach, or a similar one, to you.

Dave


-------------------------------------------------
Visit Pipex Business: The homepage for UK Small Businesses

Go to http://www.pipex.co.uk/business-services

---
To alter your preferences or leave the group, 
visit //www.freelists.org/list/iyonix-support
Other info via //www.freelists.org/webpage/iyonix-support

Other related posts: