MC55 AT Command Set
1.6 Flow Control s
m
obil
e
MC55_ATC_V01.05 Page 26 of 469 2/10/04
Confidential / Released
1.6 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 capaci ty,
the receiving device should be capable to cause the sending device to p ause 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% o f the total buffer size. The Low
Watermark is recommended to be about 30%. The data flow should be stopped when the capacity ris es close to
the High Watermark and resumed when it drops below the Low Watermark. Th e time required to cause stop and
go results in a hysteresis between the High and Low Watermarks.
In Multiplex mode, it is recommended to use hardware flow control.
1.6.1 Software flow control (XON/OFF flow control)
Software flow control sends different characters to stop (XOFF, decimal 19) and resume (X ON, decimal 17) data
flow. The only advantage of software flow control is that three wires would be s ufficient on the serial interface.
1.6.2 Hardware flow control (RTS/CTS flow control)
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 on ce 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 engi ne. This needs to be done with
the AT command AT\Q3 - it is not sufficient to set RTS/CTS handshake in the used Terminal program only.
The default setting of the GSM engine is AT\Q0 (no flow control) which must be altere d to AT\Q3 (RTS/CTS
hardware handshake on). The setting is stored volatile and must be restored each time after the GSM engine
was switched off.
AT\Q has no read command. To verify the current setting of AT\Q, simply check t he settings of the active profile
with AT&V.
Often, fax programs run an intialization procedure when started up. The intialization c ommonly includes enabling
RTS/CTS hardware handshake, eliminating the need to set AT\Q3 once ag ain. 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 AT+CFUN.
Note: After deactivating the RTS line, the ME may still send up to 264 bytes (worst ca se). This can be easily
handled if the buffer of the host application is sufficiently sized, and if a hysteresis is implemented in 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.