5.3.3 Hardware Handshake
The VCOM peripheral supports basic RTS/CTS flow control.
VCOM_CTS (target clear to send) is a signal that is output from the board controller and input to the target device. The board controller
de-asserts this pin whenever its input buffer is full and it is unable to accept more data from the target device. If hardware handshake is
enabled in the target firmware, its UART peripheral will halt when data is not being consumed by the host. This implements end-to-end
flow control for data moving from the target device to the host.
VCOM_CTS is connected to the RTS pin on the board controller and is enabled by setting handshake to either RTS or RTSCTS using
the "serial vcom config" command.
VCOM_RTS (target request to send) is a signal that is output from the target device and input to the board controller. The board control-
ler will halt transmission of data towards the target if the target device de-asserts this signal. This gives the target firmware a means to
hold off incoming data until it can be processed. Note that de-asserting RTS will not abort the byte currently being transmitted, so the
target firmware must be able to accept at least one more character after RTS is de-asserted.
VCOM_RTS is connected to the CTS pin of the board controller. It is enabled by setting handshake to either CTS or RTSCTS using the
"serial vcom config" command in the admin console. If CTS flow control is disabled, the state of VCOM_RTS will be ignored and data
will be transmitted to the target device anyway.
Table 5.2. Hardware Handshake Configuration
Mode
Description
disabled
RTS (VCOM_CTS) is not driven by the board controller and CTS (VCOM_RTS) is ignored.
rts
RTS (VCOM_CTS) is driven by the board controller to halt target from transmitting when input buffer is full. CTS
(VCOM_RTS) is ignored.
cts
RTS (VCOM_CTS) is not driven by the board controller. Data is transmitted to the target device if CTS
(VCOM_RTS) is asserted, and halted when de-asserted.
rtscts
RTS (VCOM_CTS) is driven by the board controller to halt target when buffers are full. Data is transmitted to the
target device if CTS (VCOM_RTS) is asserted, and halted when de-asserted.
Note:
Enabling CTS flow control without configuring the VCOM_RTS pin can result in no data being transmitted from the host to the
target device.
UG431: EFR32xG22 2.4 GHz 6 dBm QFN32 Wireless Starter Kit User's Guide
Peripherals
silabs.com
| Building a more connected world.
Rev. 1.0 | 19