beautypg.com

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)

background image

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 (

AT+CMUX

) 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

AT\Q

3 - it is not sufficient to set RTS/CTS handshake in the used Terminal program only.

The default setting of the GSM engine is

AT\Q

0 (no flow control) which must be altered to

AT\Q

3 (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 the settings of the active profile

with

AT&V

.

Often, fax programs run an intialization procedure when started up. The intialization commonly includes enabling

RTS/CTS hardware handshake, eliminating the need to set

AT\Q

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

AT+CFUN

.

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.