Keyspan USA-49WG Computer Drive User Manual


 
21
7.1.f – TX ACK Advance
Data ushing: Somemes, an applicaon will issue a “transmit ush” command to the adapter to get rid of extra data.
For example, let’s say an applicaon sends “AAAA” to the adapter, and then, once it’s received the “I’m done” indicaon
sends “BBBB.” Now, let’s say that someme aer sending “BBBB,” the applicaon decides to cancel whatever part of
the ‘BBBB” has yet to leave the serial port, and sends a “transmit ush” command to the adapter. If the adapter had
been lying about being done sending “”AAAA,” it might sll not be done, and the ush could purge the transmit FIFO
of some of the A’s (which is not what the applicaon was expecng) in addion to the B’s.
Timing: In some applicaons, the receipt of the “I’m done” indicaon is used as a ming reference point. For example,
an applicaon could send a data stream like this:
COMMAND…………………………………………………….
The extra periods following COMMAND would be just used to establish a ming interval: the applicaon would know
that once the serial port said “I’m done,” the receiver would have had at least 64 character mes to process COMMAND.
If the “I’m done” indicaon was sent early, the applicaon might then do it’s subsequently acon too early.
Another possibility is that the applicaon is using the ming of the “I’m done” message to determine the baud rate. For
example, if the serial port was using external clocking, the applicaon might not know what baud rate was being used,
so it would send a message and see how long it took. The early delivery of “I’m done” could screw up its calculaon.
There are many other communicaon protocols in which me periods are counted from the point that message has
been delivered. Any me you change the ming of the “I’m done” indicaon, you run the risk if interfering with such
protocols.
What Should I Use?
There are various way to congure Tx Ack Advance. Following is a discussion of some possibilies:
None: If you’re using a baud rate of 9600 or less, you probably don’t have a problem. The 1 millisecond delay will not
signicantly aect your throughput, and you can select this opon. This opon is also a good choice if you are running
an applicaon in which throughput is not an issue, or one in which guaranteeing 100% correct operaon is important
enough that you’d prefer not to risk having problems.
Auto: The ‘Auto” seng uses that calculaon described above when internal clocking is used and sets the Tx Ack
Advance to “None” when external clocking is used (this is because the host doesn’t know the baud rate when the
clocking is supplied externally).
Experiment: If you’re using a baud rate above 9600, you can simply try increasing the Tx Ack Advance seng, and
see whether it improves performance 9in which case, great!), causes problems (in which case, don’t use it) or doesn’t
make any dierence (in which case it doesn’t maer what you do).