Native USB vs. USB to RS-232 interfaces help please?
grasshopper
Posts: 438
I designed a complex device that controls temperature using the propeller at its core. Included in the design is the FTDI USB to RS232. We have sold a few hundred and the future is looking very bright. My problem is that recently a customer asked me to use a new USB IC. He claims that the FTDI IC is not a native USB device. This is because he is controlling other devices that also use USB and his code is written in JAVA. He stated that COM-port style RS-232 interfaces, is inadequate because native USB will open a device and perform bulk transfers, specifying bytes to write and a number of bytes to read on each transaction.
Could some one elaborate on the differences and or point me towards correct decimation that may help me.
Could some one elaborate on the differences and or point me towards correct decimation that may help me.
Comments
What I don't get is "He stated that COM-port style RS-232 interfaces, is inadequate because native USB will open a device and perform bulk transfers, specifying bytes to write and a number of bytes to read on each transaction." .. why do you need such fine grained control over the communications channel? is there a requirement I'm missing?
If you wanted to, you could actually talk to the FTDI device directly with libusb, using that to configure it (endpoint 0) and then transfer data to and from it (endpoint 1), but why indulge in such masochistic behaviour when there is a perfectly good driver available?
I'd go so far as to say your customer is being overly difficult [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pull my finger!
Basically, using a USB to serial RS232 converter makes for a VERY simple USB installation. The RS-232 signalling rates are quite low compared to what USB could do. Your customer is correct in this.
However, you also have to look at the solution domain. How much data really HAS to transfer back and forth for your hardware to work? If you were creating a USB hard-drive, then yes, you'd want to use the highest speed USB modes you could. But if 115 KBaud is good enough for what your hardware has to do, then spending the additional time and trouble of getting a higher speed USB IC to work probably has very low ROI. And the off-the-shelf FTDI solution is VERY cost effective.
Some engineers tend to be perfectionists, "gold-plating" parts of the solution when gold-plating really isn't needed. If your customer has created other USB interfaces in Java, certainly opening a serial port in Java should be trivial for him. Why spend a few tens of thousands of dollars getting a new interface working, when you already HAVE an interface that solves your problems?
The FTDI chips will run up to 2M for the serial model and about 4M for the FIFO.. so speed is rarely a limiting factor.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Pull my finger!
I agree with your conclusion, though. "Speed is rarely a limiting factor".
Edit: Right, USB 1.1 goes to 12 MBit per second -- My bad.· Which is STILL higher than the FTDI 4 MBit/second, so the point stands.
Post Edited (allanlane5) : 6/10/2008 5:59:54 PM GMT