HOW DO I REALLY GET 128 KBPS OUT OF MY ISDN TERMINAL ADAPTER? Q:Is there a solution? A:Yes! The LavaPort Communications Accelerators. Q:So what exactly is the Problem? A:Simple. Your serial port isn't fast enough for ISDN. Q:The documentation for my external ISDN terminal adapter recommends a 16550 UART serial port (which I have). Supposedly, this type of port supports a maximum data rate of 115 200 bits/second. A:That's true. The problem is, that 115.2 KBps is a theoretical maximum. If you're communicating using Windows, 115.2 KBps is often difficult to acheive. Q:Why? A:Using an analogue modem in DOS (or other single-tasking environment), most users should not have a problem acheiving very close that rate over a decent phone line. Windows however, throws another variable into the loop: a Graphical User Interface (GUI) which requires an exorbitant amount of CPU time, and therefore tends to slow everything down. Furthermore Windows handles the 16550 UART very inefficiently. Because the buffer of the 16550 is relatively small (16-bytes), Windows "tells" the serial port to interrupt the CPU and request service after each byte transferred . Effectively, this causes the whole system to slow down during data transfer. Q:What's the solution? A:The LavaPorts incorporate 32-byte FIFO buffers (the 16650 UART has twice the buffer of a 16550 UART). In addition, LavaPorts ship with Windows device drivers for Windows 3.1x &, Win95/98/Me, Win-NT, and Windows 2000 which allow the user to configure Buffer Triggers for most efficient operation. In this way, the port is triggered to interrupt the CPU only when really necessary, leaving the CPU free to perform other tasks. Since the LavaPorts incorporate a large buffer, the CPU can send & retrieve large chunks of data each time it services the port, rather than having to be interrupted for each byte sent or received. For transmission, the size of this "chunk" can actually be configured by the user using the Tx Blk (burst) function of the Lava driver. Unlike the 16550 UART, where the CPU must verify the status of the buffer after each byte sent to the serial port, LavaPorts allow the CPU to send a burst of data to the port without fear of error. Q:Well that's great, but it still doesn't get me beyond 115.2 KBps - it just makes me more efficient at the same, slow rate. How can I acheive 128 KBps? A:You'll notice that newer ISDN terminal adapters support 3 high-speed DTE rates: 115.2, 230.4, and 460.8 KBps. Now remember, we're talking about serial port rates between the computer and terminal adapter - not between terminal adapter and telephone company. The outgoing (to the telephone line) rates can be 56, 64, 112, or 128 KBps - with the last two being key to this discussion. Think of it this way: if your TA is going to be transmitting out through the telephone system at 128 KBps (and probably compressing that data at least a little), shouldn't you be feeding that transmission at a higher rate? That's where LavaPorts become key. They support a maximum DTE rate of 460.8 KBps and can also fall back to rates of 230.4, and 115.2 KBps. Q:How do you do it, when others can't? A:The LavaPorts incorporate an onboard high-speed clock, which allows for DTE speeds faster than 115.2 KBps. Because the standard 16550 UART runs with an 1.8432 MHz clock-crystal, its mathematical maximum baud rate is 115.2 KBps. LavaPorts use a faster onboard clock-crystal (7.3728 MHz) and can therefore generate a faster baud rate. Combined with the its 32-byte buffer and Windows drivers, the Lavaport family breaks the 115.2 KBps barrier, efficiently and reliably. Q:A final question: One of the big headaches of ISDN is synchronizing flow control between the terminal adapter and serial port. How do LavaPorts handle this? A:One of the main features of LavaPorts are their onboard flow control. First, let's look at how flow control is handled by a 16550 serial port. The 16550 UART is basically a dumb device: it performs only two instructions: a) send what's in the buffer, and b) if there's a problem tell the CPU about it. If the 16550 UART receives a signal from the ISDN adapter to stop sending data (in the form of either a toggling of the RTS/CTS line - hardware flow control - or in the form of an Xoff character - software), it will send this message to the CPU, but will continue sending the data which is in its buffer. Since the ISDN adapter can no longer receive this data, an error occurs and the CPU must find what bytes were not received and retry the transmission. In contrast, LavaPorts handle all flow control functions without intervention from the CPU. If a LavaPort receives a signal to stop transmission (either through hardware or through software flow control), it stops. The CPU is not interrupted needlessly, and no retry is ever required. When the signal to resume transmission is received, the LavaPort resumes, and only notifies the CPU when the data in its buffer has been depleted to the appropriate trigger level. Q:So if I get a LavaPort, I can use BONDING to actually achieve 128 KBps with my ISDN terminal adapter? A:Now let's get our terminology straight. LavaPorts are not synchronous DTE interfaces. It will not allow you to do what is technically called BONDING. LavaPorts will however support true 128 KBps operation - in asynchronous mode. You may therefore use both Asynchronous Inverse Multiplexing (AIMux) and Multi-Link PPP protocols to "bond" both 64 KBps B-Channels together to acheive 128 KBps. With Multi-Link PPP, you'll be able to switch from 128 KBps to 64 KBps data + Voice and back seamlessly. Most importantly, a LavaPort will allow you to acheive the data rates which you paid for when you bought your ISDN terminal adapter: 128 KBps direct to your desktop.