USB Design by Example: A Practical Guide to Building I/O Devices, Second Edition

In this chapter I assume that you have already produced a PC peripheral, such as a modem, scanner, or other device that attaches to the PC s RS232 serial port, parallel port, or ISA bus. Your peripheral works fine, but you re considering a USB connection because of the excitement around USB and the reality that these legacy connections will be eliminated on future PCs.
I ll present multiple alternatives so that you can choose the one that s best for your product.
First we ll design a USB-to-serial bridge. I ve supplied example code for this alternative.
Then we ll design a high-speed communications peripheral a 56-Kbps modem that uses a USB connection.
We ll implement a design that takes a generic ISA-based card and migrates it into a USB peripheral
Finally, we ll look at other standard connections found in the PC industry, such as floppy disk, hard disk, SCSI, and Local Area Network standards, and build bridges from all of them to USB.
Adding USB capability to an existing product is straightforward, and the new product inherits all of the benefits of USB.
The RS232 connection to a PC has proved to be a popular interface choice for peripheral device manufacturers so popular, in fact, that many users have had to buy more plug-in serial port cards or external switch boxes to accommodate all of their peripherals! The original IBM PC had a single serial port and allowed the addition of three more. The MS-DOS operating system called these ports COM1, COM2,...