I haven't compared them with other available devices, but, you may want to look at the national USBN9603/9604. They have both parallel and SPI interface capability, and they have a few nice things like a clock-out line with internal programmable divider, which can be a plus. However, as to overhead, the 9603/4 don't even do DATA0/DATA1 toggling for you, though they do put them nicely in registers rather than making you sort out the packet ID. I don't know which would be better for your application but I thought that you might want to know that there were also these out there. From what you describe, the 9603/4 that I'm using sounds reasonably similar to what you have already found. At 01:48 PM 19/12/2002 -0500, you wrote: >I need to get a basic bi-directional byte stream via USB to/from an >18F258, which will talk to a CAN bus and do a few other things. I'm >looking for advice or experience from people that have been this way >before. > >Long winded background: > >So far I have found and read the data sheets for the Philips PDIUSBD12 and >the Cypress SL811S. Both these devices connect directly to the USB and >provide an 8 bit parallel interface for control and data operations. > >Both seem to be rather low level in that they just pass on the control >packets from the host and expect the micro to figure them out and respond. >I was hoping I could set some state indicating which endpoints I was going >to use how, the manufacturer's ID, etc, have the device automatically deal >with all the USB BS, and just give me an input stream and an output >stream. There does not seem to be any device like that, so the firmware >will have to handle this. Oh well. -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.