Keyspan 1.9 installation instructions TX Ack Advance, Overview, Problem, Work Around

Page 32

Keyspan:High Speed USB Serial Adapter for Mac OS-v1.9 User Manual

7.1.f - TX Ack Advance

Overview

Many Keyspan USB serial adapters support configurable "Transmit Acknowledgment Advance" (aka TX-ACK threshold, aka TX-ACK(nowledgement) advance, etc.) in the Keyspan Manager. This feature allows the user to adjust a device's transmit behavior to achieve the optimum compromise between compatibility (exact emulation of built-in ports) and maximum throughput. This document describes the factors which a user should be aware of to guide their configuration of this feature.

The Problem

In the case of a standard, "built-in" serial port, the host CPU (the "brain" of the computer) can communicate directly with the serial hardware because the (serial) hardware is in the address space directly accessible to the CPU. When the serial port has transmitted all the data in its transmit FIFO (the buffer that holds characters waiting to be sent), it interrupts the CPU, which then adds more characters to the transmit FIFO with a minimal time delay.

By contrast, in a USB to serial adapter, information about the state of the serial port FIFO reaches the CPU by means of USB messages. The USB subsystem in most computers delays the delivery of inbound (USB peripheral to USB host computer) USB messages by about 1 millisecond. The impact of this delay on serial throughput depends on the baud rate. At 9600 baud, it takes about 1 millisecond to transmit a character. If the serial adapter signals the host when it begins transmitting the last character in its FIFO, the host learns about it at about the same time the character is actually finished being transmitted. Since outbound (USB host computer to USB peripheral) USB messages are not subject to such a long delay, the host can supply new data before the serial port has been idle for too long.

At higher baud rates, however, this 1-millisecond delay becomes more of a problem. For example, at 920 Kbps, 1 millisecond is enough time to send 92 characters. So, if you're sending 92 characters at a time, you will only achieve 50% throughput, since half the time is spent with the adapter waiting for the host to send more data.

The Work Around

Since there's no way to eliminate the USB delays, there's only one work around: the serial adapter has to lie about when it's done transmitting. The size of the lie is what's being configured with the "TX Ack Advance" parameter: it specifies how many characters ahead of time the adapter tells the host "I'm done." This way, the adapter still has some data to transmit while it's waiting for more to arrive from the host. If the next data from the host arrives before the previous data is completely sent, the new data can be sent with no delay, and the device will achieve 100% transmit throughput.

This User Manual applies to the Keyspan High Speed USB Serial Adapter Software for Mac OS.

(rev 02may12JA)

Page 32

Image 32
Contents Table of Contents Requirements ContentsIntroduction Specifications Hardware Specifications SoftwareCapabilities Keyspan High Speed USB Serial Adapter PortRev 02may12JA Installation Instructions Keyspan Serial Assistant in the Control Panels folderConnect the USB cable to the Adapter if necessary Configuring Your Serial Devices Software Configuring Your Serial DeviceConnecting Your Serial Device Hardware Keyspan Serial Assistant window Use Your Serial Device Launching the Keyspan Serial Assistant Explanation of Assistant FeaturesKeyspan Serial Assistant Keyspan Serial Assistant Window Assist Menu Explanation of Manager Features Keyspan Manager WindowRev 02may12JA On next Special Menu On next Adapter and Keyspan USB PDA Adapter Software/Serial Device Troubleshooting Problem SolvingHardware Troubleshooting When You Need More Help Appendices Frequently Asked Questions FAQs Frequently Asked Question ListRev 02may12JA Compatibility List for Mac OS Modems and Modem Software Configuration Examples for Mac OS C.01 Palm Desktop Before you beginOpen the HotSync Manager application Serial Port Settings tab and window External Loopback Connector Information Serial Port Pin OutsLED Behavior Problem TX Ack AdvanceOverview Work AroundWhat Should I Use? Integer baud / totalBitsPerCharacter * 1000 + Declaration of Conformity CE Mark Declaration of Conformity Canada Digital Apparatus EMI StandardTrademarks Australia/New ZealandCopyright License Grant Keyspan Warranty InformationCopyright Protection Limited Warranty on Software and Media No Liability for Consequential DamagesGeneral International Support Options Support InformationContacting Support