Re: USB Stick on c-64 tape port?

From: Mark McDougall (msmcdoug_at_iinet.net.au)
Date: 2008-03-05 16:33:58

Marko Mäkelä wrote:

> I may be wrong, but doesn't the USB "interrupt" transfer mode mean that
> the host must be polling the devices every x milliseconds?

Yes, the host chip allocates bandwidth for "interrupt" transfers and 
regularly polls each device for any buffered interrupt packets. Each device 
is polled no more frequently than every (IIRC) 10ms. The devices cannot send 
unsolicited data to the host.

> In any case, I believe that the only way to implement a USB host is to
> use an interface chip for that.  Or a chip that embeds the USB
> controller on the processor core.

That's right, the complexity of a host plus the host USB (software) stack 
prohibits any hacky 8-bit micro implementation...

> It would be
> much easier to implement a USB device than a USB host.

USB device chipsets have been available for a long time now, are cheap and 
offer varied microprocessor interfaces - you'd be stupid for trying to 
roll-your-own. It also says something about the complexity of the task of 
talking USB that I recently implemented an interface to a USB FIFO chip in 
an FPGA - if you don't care to get an FPGA talking USB then you certainly 
wouldn't attempt to have a 1/2MHz 65xx doing it!

Also, I've noticed that host chips with interfaces are becoming more 
abundant, although IIUC their functionality is generally less "generic" and 
more geared towards a particular class of application. One in particular 
(FTDI IIRC) is specifically designed for interfacing to USB storage devices!

Regards,

-- 
|              Mark McDougall                | "Electrical Engineers do it
|  <http://members.iinet.net.au/~msmcdoug>   |   with less resistance!"

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.