[aprssig] Re: USB to RS232 adapters? (again)
Scott Miller scott at opentrac.orgFri Feb 11 19:16:53 UTC 2005
- Previous message: [aprssig] Re: USB to RS232 adapters? (again)
- Next message: [aprssig] APRS W,W and W,W,W example
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> For general purpose serial port usage in both Linux and Windows 2k > (and XP), my personal experience is only with one particular model, a > 4-port from Keyspan. It works for all datastreaming type applications, > but I've never tried it with any pin-twiddling applications. My data > input therefore is pretty useless :-) I'm learning a lot more about this subject, being right in the middle of writing the firmware for such a device myself. The USB spec defines virtual serial ports as part of its Communications Device Class specification. The Abstract Control Model (ACM) defines how things like modem commands are passed to the device, and provides commands like GET_LINE_CODING and SET_LINE_CODING to set baud rate, stop bits, and so on. Control lines are set through another command (SET_CONTROL_LINE_STATE) - but none of these commands are mandatory. Also, control line state changes get sent to the host through a different mechanism, typically an interrupt-in endpoint. Regardless of how it's done, the fact remains that USB just works differently. Unless you're using isochronous transfers, your bandwidth and latency aren't guaranteed. You can't be sure of any control line or data timing. And if you are using isochronous, you have no guarantee of reliability - it'll drop packets if needed. Besides, control line setting (like you'd use for a Baycom serial port modem) is done through a control transfer. That means something like half a dozen packets zipping back and forth on the wire to send an 8-byte message that sets a couple of bits. Hmm, and now that I look at the docs, that only specifies carrier and DTR. The standard CDC class devices can use the drivers that come with the operating system - at least, for Windows, Linux, and probably OS X. Devices from some vendors might provide their own driver, and implement their own transfer protocol and interface with the COM port system. They still can't get around the unpredictable latency inherent in USB, so timing-critical pin-twiddling applications are always going to be bad idea. Scott N1VG
- Previous message: [aprssig] Re: USB to RS232 adapters? (again)
- Next message: [aprssig] APRS W,W and W,W,W example
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the aprssig mailing list
