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.