BT900-Sx Hardware Integration Guide
Intelligent BTv4.0 Dual Mode Module
Embedded Wireless Solutions Support Center:
http://ews-support.lairdtech.com
www.lairdtech.com/bluetooth
22
Americas: +1-800-492-2320
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
5.5
UART Interface
The Universal Asynchronous Receiver/Transmitter (UART) offers fast, full-duplex, asynchronous serial
communication with built-in flow control support (UART_CTS, UART_RTS) in hardware up to 2 Mbps baud.
No parity checking, 8 data bits, and 1 stop bit are supported.
UART_TX, UART_RX, UART_RTS, and UART_CTS form a conventional asynchronous serial data port with
handshaking. The interface is designed to operate correctly when connected to other UART devices such as
the 16550A. The signalling levels are nominal 0 V and 3.3 V (tracks VCC) and are inverted with respect to the
signalling on an RS232 cable.
Two-way hardware flow control is implemented by UART_RTS and UART_CTS. UART_RTS is an output and
UART_CTS is an input. Both are active low.
These signals operate according to normal industry convention. UART_RX, UART_TX, UART_CTS, and
UART_RTS are 3.3 V level logic (tracks VCC). For example, when RX and TX are idle they sit at 3.3 V.
Conversely for handshaking pins CTS, RTS at 0 V is treated as an assertion.
The module communicates with the customer application using the following signals:
Port/TXD of the application sends data to the module’s UART_RX signal line
Port/RXD of the application receives data from the module’s UART_TX signal line
Note: The BT900 serial module output is at 3.3V CMOS logic levels (tracks VCC). Level conversion must
be added to interface with an RS-232 level compliant interface.
Some serial implementations link CTS and RTS to remove the need for handshaking. We do not recommend
linking CTS and RTS except for testing and prototyping. If these pins are linked and the host sends data when
the BT900 deasserts its RTS signal, there is significant risk that internal receive buffers will overflow, which
could lead to an internal processor crash. This drops the connection and may require a power cycle to reset
the module. We recommend that you adhere to the correct CTS/RTS handshaking protocol for proper
operation.
Table 11: UART Interface
Signal Name
Pin No I/O
Comments
SIO_1 / UART_TX
45
O
SIO_1 (alternative function UART_TX) is an output, set high (in FW).
SIO_0 / UART_RX
44
I
SIO_0 (alternative function UART_RX) is an input, set with internal
pull-up (in FW).
SIO_2 / UART_RTS
46
O
SIO_2 (alternative function UART_RTS) is an output, set low
(in FW).
SIO_3 / UART_CTS
1
I
SIO_3 (alternative function UART_CTS) is an input, set with internal
pull-up
(in FW).
The UART interface is also used to load customer developed
smart
BASIC application script.
UART has a deep buffer (UART_RX deep buffer) of 1024 bytes.
BT900
UART_TX
UART_RX
UART_CTS
UART_RTS
Application - Host
/RXD
/TXD
/RTS
/CTS