6 serial interface flow control, 1 software flow control (xon/off handshake), 2 hardware flow control (rts/cts handshake) – Siemens Brodersen MC55 AT User Manual
Page 25: Serial interface flow control 1.6.1, Software flow control (xon/off handshake), Hardware flow control (rts/cts handshake)
MC55_ATC_V04.00
Page 25 of 475
3/17/06
Confidential / Released
1.6
Serial Interface Flow Control
Flow control is essential to prevent loss of data or avoid errors when, in a data or fax call, the sending device is
transferring data faster than the receiving side is ready to accept. When the receiving buffer reaches its capacity,
the receiving device should be capable to cause the sending device to pause until it catches up.
There are basically two approaches to regulate data flow: Software flow control and hardware flow control. The
High Watermark of the input/output buffer should be set to approximately 60% of the total buffer size. The Low
Watermark is recommended to be about 30%. The data flow should be stopped when the capacity rises close to
the High Watermark and resumed when it drops below the Low Watermark. The time required to cause stop and
go results in a hysteresis between the High and Low Watermarks.
During Multiplex mode (
) it is recommended to use hardware flow control.
1.6.1
Software Flow Control (XON/OFF Handshake)
Software flow control sends different characters to stop (XOFF, decimal 19) and resume (XON, decimal 17) data
flow. The only advantage of software flow control is that three wires would be sufficient on the serial interface.
1.6.2
Hardware Flow Control (RTS/CTS Handshake)
Hardware flow control sets or resets the RTS/CTS wires. This approach is faster and more reliable, and there-
fore, the better choice. When the High Watermark is reached, CTS is set inactive until the transfer from the buffer
has completed. When the Low Watermark is passed, CTS goes active again.
To achieve smooth data flow, ensure that the RTS/CTS lines are present on your application platform. The appli-
cation should include options to enable RTS/CTS handshake with the GSM engine. This needs to be done with
the AT command
3 - it is not sufficient to set RTS/CTS handshake in the used Terminal program only.
The default setting of the GSM engine is
0 (no flow control) which must be altered to
3 (RTS/CTS
hardware handshake on). The setting is stored volatile and must be restored each time after the GSM engine
was switched off.
has no read command. To verify the current setting of
, simply check the settings of the active profile
Often, fax programs run an intialization procedure when started up. The intialization commonly includes enabling
RTS/CTS hardware handshake, eliminating the need to set
3 once again. However, before setting up a
CSD call, you are advised to check that RTS/CTS handshake is set.
RTS/CTS hardware handshake must also be set if you want to take advantage of the CYCLIC SLEEP modes.
For further details refer to
Note: After deactivating the RTS line, the ME may still send up to 264 bytes (worst case). This can be easily
handled if the buffer of the host application is sufficiently sized, and if a hysteresis is implemented regarding its
Rx buffer. For host applications that are required to handle a large amount of data at high speed, a total buffer
capacity of 512 bytes is recommended.