Bob Ammerman wrote: > > But I still have to load a -driver- for each and EVERY device. > > With Firewire there is ONE driver and each app ties to it > > as needed (and as expected). > > This is blatently NOT TRUE. > > HID and storage devices all use common drivers. Is not an MP3 player a 'storage' device. Why then the multiplicity of drivers? It just seems so -stupid- since this proprietary protocol business only makes things needlessly more complex. Perhaps it's because it IS difficult to write code to emulate a storage device? > Also, how many different kinds of devices can you interface with firewire? > Have you every tried anything other than a camera, scanner or storage > device? Is there any support for anything other than cameras, scanners and > storage devices? Uhhh, networking under Winblows XP. Runs damned fast and ready to go without the cost of gigabit ethernet. And I can easily put 4 Ibot (firewire) cameras on a single cable at full 640x480x30fps without trouble. Also looked at a megabit/second A/D subsystem that had a choice of 1394 or SCSI. Cost too much so we put a PC out there and linked back with ethernet. AFAIK Firewire is designed for streaming data, so there is low 'management' overhead. USB on the other hand has significant stream overhead (20% I am told). But this is an apples and oranges argument. Each has it's strengths and weaknesses, and I acknowledge that. > > And every MP3 player I've tried in the last month requires > > that it's OWN driver be loaded. None seem to support the generic > > 'storage' device type (e.g. Yepp, IRiver, WaveX, Rio...). > > Not the fault of USB. I'd blame it on the makers of the various devices. If True. But clearly there is a problem if the makers can't get see/make even the most obvious and least complex solution. It makes things needlessly difficult for the end user. And don't get me started on the various DVI standards for HDTV, PVR and DTH boxes. > I was designing one, I'd let it have two modes: 'storage only' and > 'enhanced'. Only the latter would require a custom driver. Exactly what I expected to find in an MP3 player. Storage mode with an obvious directory structure for contents. Unfortunately my installing one lousy USB device cost me a HUGE amount of grief. Is there no quality & performance 'certification' requirement (like XP's logo) before someone can put the USB logo on a product? > > It will be a cold day in hades before Samsung gets another > > dollar out of me. > > Don't blame USB: Blame Samsung. I do, but I also hold USB standards body accountable for allowing them to use the official USB logo on a product with a badly flawed installer/driver/. Consumers expect a certain level of 'fitness and merchantability' in a product, and I didn't get that. If it says it does Win98, I expect it to -work-, not take down an otherwise very stable system. > Don't bet on Firewire being that much easier. And of course, you can't even > get into the Firewire world without being able to handle that 400Mb/Sec data > rate. Certainly more expensive then the 1.5Mb/Sec or even 12Mb/Sec of USB. Of course. I think the problem is one of USB trying to be too many things at once. Firewire was doing nicely handling 400mps streams, while USB covered the slower devices with packets. USB 2.0 uses 480mps signaling, but the overall throughput is lower. This doesn't seem to be an advantage. > > Unfortunately I am about to be -forced- to implement USB on one of our > > medical devices. I am not looking forward to the task. > > If it bothers you, just use the FTDI chip. The RS232 version will let you > operate just like you would with a serial level shifter like a MAX232. The > parallel version will let you get considerably better performance. Yes, I've been reading the FTDI docs. NICE chips. Should make one version of the conversion dead easy, except that I don't have RS232 levels since I'm just driving opto isolators which effectively do the level shifting for me. Hopefully a couple of CMOS inverters with clamp diodes will be sufficient. But then I'm back to the opto isolation problem until the RF side is done. Unfortunately the 2nd part, 802.11 (they haven't decided on which letter) is going to be a PITA. Nothing quite like dictating a solution without their really understanding the problem. He actually said 'I don't know what hardware/software you'll need to use, but the solution should be quite simple'. If he doesn't know WHAT I'll need, how can he tell me that the solution should be 'simple'. > > PLEASE point me in the right direction. I have just been told > > (this afternoon) that a research device which works just fine with > > optically isolated RS232, must now do USB so that > > it can tie to wireless 802.11 USB dongles for laptops. ARGGHH!!! > > Now here you'll have some trouble, I'm afraid. I'm not sure what the 802.11 > dongle is going to want, but at a minimum your controller will have to > implement an IP stack. You'll probably be able to get away with UDP/IP Yep. > instead of TCP/IP, but it'll still be non-trivial. You will also have to Nope. Comms need to be 'robust' since it's setting values in a medical device. I must validate my data on top of the basic CRC protection. And that doesn't even -begin- to cover the FDA certification of software issues (which I leave to the deep pockets people). > provide a Host implementation of USB, which is also non-trivial. Yep. Hence my terror... Surely I can buy a TCP/IP stack for a PIC. Yes I am going to look at the web server on a PIC stuff. In theory, the 802.11 dongles will have the host side handled and I'll just have to open a port for my app, right? > you will likely have to implement all the code behind 802.11, which is > really non-trivial. I'd be looking for an alternative/easier solution here. A new job? Suggest that they contract it out so they'll believe me when I say it's very difficult? > What processor do you have in your instrument? PIC 16F876, with about 2k to spare. Obviously have to go to one of the 18F devices to get the code space. It's also running slow (1.8432Mhz) to conserve power. I could theoretically run it at 32khz were it not for the need to stream data. It straps to a leg so it has to be light, and very power efficient (except with streaming). > What OS, if any, does it run? ASM. Timers and comms interrupts mostly, with a bit of A/D and DSP filtering. Thank you again everyone for your patience and help. Robert -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body