Software Flow Control; Hardware Flow Control - Advantech ARK-3440 Series User Manual

Fanless embedded box pc
Table of Contents

Advertisement

C.1.2

Software Flow Control

Both software and hardware flow control need software to perform the handshaking
task. This makes the term software flow control somewhat misleading. What is meant
is that with hardware flow control, additional lines are present in the communication
cable which signal handshaking conditions. With software flow control, which is also
known as XON-XOFF flow control, bytes are sent to the sender using the standard
communication lines.
Using hardware flow control requires that more lines be present between the sender
and the receiver, leading to a thicker and more expensive cable. Therefore, software
flow control is a good alternative if it is not needed to gain maximum performance in
communications. Software flow control makes use of the data channel between the
two devices, which reduces the bandwidth a bit. The reduction of bandwidth is in
most cases however not so astonishing that it is a reason to not use it.
Two bytes have been predefined in the ASCII character set to be used with software
flow control. These bytes are named XOFF and XON, because they can stop and
restart transmitting. The byte value of XOFF is 19, it can be simulated by pressing
Ctrl-S on the keyboard. XON has the value 17 assigned which is equivalent to Ctrl-Q.
Using software flow control is easy. If sending of characters must be postponed, the
character XOFF is sent on the line, to restart the communication again XON is used.
Sending the XOFF character only stops the communication in the direction of the
device which issued the XOFF.
This method has a few disadvantages. One was already mentioned: using bytes on
the communication channel takes up some bandwidth. One other reason is more
severe. Handshaking is mostly used to prevent an overrun of the receiver buffer, the
buffer in memory used to store the recently received bytes. If an overrun occurs, this
affects the way new incoming characters on the communication channel are handled.
In the worst case where software has been designed badly, these characters are
thrown away without checking them. If such a character is XOFF or XON, the flow of
communication can be severely damaged. The sender will continuously supply new
information if the XOFF is lost, or never send new information if no XON was
received.
This also holds for communication lines where signal quality is bad. What happens if
the XOFF or XON message is not received clearly because of noise on the line? Spe-
cial precaution is also necessary that the information sent does not contain the XON
or XOFF characters as information bytes.
Therefore, serial communication using software flow control is only acceptable when
communication speeds are not too high, and the probability that buffer overruns or
data damage occur are minimal.
C.1.3

Hardware Flow Control

Hardware flow control is superior compared to software flow control using the XON
and XOFF characters. The main problem is that an extra hardware investment is
needed. Extra lines are necessary in the communication cable to carry the handshak-
ing information.
Hardware flow control is sometimes referred to as RTS / CTS flow control. This term
mentions the extra input and outputs used on the serial device to perform this type of
handshaking. RTS / CTS in its original outlook is used for handshaking between a
computer and a device connected to it such as a modem.
First, the computer sets its RTS line to signal the device that some information is
present. The device checks if there is room to receive the information and if so, it sets
the CTS line to start the transfer. When using a null modem connection, this is some-
what different. There are two ways to handle this type of handshaking in that sitiua-
tion.
51
ARK-3440 User Manual

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ark-3440f-u5a2eArk-3440f-u4a2eArk-3440f-u1a2e

Table of Contents