Professional Documents
Culture Documents
AN-739 rs232 Cop800
AN-739 rs232 Cop800
National Semiconductor
RS-232C Interface with Application Note 739
COP800 Michelle Giles
May 1991
INTRODUCTION
This application note describes an implementation of the The terminal is setup to interface with the COP888CG by
RS-232C interface with a COP888CG. The COP888CG 8-bit selecting the 9600 baud, 7 bits/character, odd parity and
microcontroller features three 16-bit timer/counters, one stop bit options. The local echo back of characters is
MICROWIRE/PLUSTM Serial I/O, multi-source vectored in- disabled to allow the COP888CG to perform the echo back
terrupt capability, two comparators, a full duplex UART, and function. The terminal is also configured to use the hard-
two power saving modes (HALT and IDLE). The COP888CG ware control signals (CTS, DSR, RTS, DTR) for handshak-
feature set allows for efficient handling of RS-232C hard- ing.
ware handshaking and serial data transmission/reception.
SOFTWARE DESCRIPTION
SYSTEM OVERVIEW The software for this application consists of an initialization
In this application, a COP888CG is connected to a terminal routine, several interrupt routines, and a disable routine.
using the standard RS-232C interface. The serial port of the These routines handle RS-232C handshaking, transmitting
terminal is attached to the COP888CG interface hardware and receiving of characters, error checking, and echoing
using a standard ribbon cable with DB-25 connectors on back of received characters. Figures 2 thru 5 contain flow-
either end. The terminal keyboard transmits ASCII charac- charts of the routines. The complete code is given at the
ters via the cable to the COP888CG interface. All characters end of this application note.
received by the COP888CG are echoed back to the terminal The initialization routine configures the UART, initializes the
screen. If the COP888CG detects a parity or framing error, it transmit/receive data buffer, and enables the 8-bit L PORT
transmits an error message back to the terminal screen. handling of RS-232C control signals. In this particular exam-
HARDWARE DESCRIPTION ple, the UART is configured to operate at 9600 BAUD in full
duplex, asynchronous mode. The framing format is chosen
The COP888CG features used in this application include the
to be: 7 bits/character, odd parity, and one stop bit. Differ-
user programmable UART, the 8-bit configurable L PORT,
ent baud rates, modes of operation, and framing formats
and vectored interrupts. In addition to the COP888CG, the
may be selected by setting the ENUCMD, ENUICMD,
RS-232C interface requires a DS14C88 driver and a
BAUDVAL and PSRVAL constants located at the beginning
DS14C89A receiver. The DS14C88 converts TTL/CMOS
of the code to alternative values. (Refer to the COP888CG
level signals to RS-232C defined levels and the DS14C89A
data sheet or COP888 Family User’s Manual for details on
does the opposite. Figure 1 contains a diagram of the
configuring the UART.) Each RS-232C control signal is as-
COP888CG interface hardware.
signed to an L PORT pin. Pins L0, L2, L5 and L6 are config-
The COP888CG is configured as data communications ured as outputs for the DCD, TxD, CTS and DSR signals,
equipment (DCE) and the terminal is assumed to be data respectively. Pins L3, L4 and L7 are configured as inputs for
terminal equipment (DTE). The following RS-232C signals TxD, RTS and DTR, respectively. The transmit/receive data
are used to communicate between the COP888CG (DCE) buffer is a circular buffer whose location and size is selected
and the terminal (DTE): by setting the START and END constants located at the
beginning of the program. The initialization routine sets up
RS-232C Signal Name Signal Origin
the buffer based on these constants.
TxD (Transmit Data) DTE The interrupt routines respond to transmit buffer empty, re-
RxD (Receive Data) DCE ceive buffer full, and L PORT interrupts. A generic context
CTS (Clear To Send) DCE switching routine is used for entering and exiting all inter-
RTS (Request To Send) DTE rupts. This routine saves the contents of the accumulator,
DSR (Data Set Ready) DCE the PSW register and the B pointer before vectoring to the
appropriate interrupt routine. It also restores the contents of
DTR (Data Terminal Ready) DTE
saved registers before a return from interrupt is executed.
DCD (Data Carrier Detect) DCE
The UART transmitter interrupt is called when the transmit
Five general purpose I/O pins on the COP888CG L PORT buffer empty flag (TBMT) is set. This routine checks for ac-
are used for the control signals CTS, DSR, DCD, RTS and tive RTS and DTR control signals. If both signals are active
DTR. Two additional L PORT pins are used for TxD and and there is data to be transmitted, a byte of data is loaded
RxD. These two general purpose pins are configured for into the UART transmit buffer. Otherwise, the UART trans-
their alternate functions, UART transmit (TDX) and UART mitter is disabled.
receive (RDX). According to the RS-232C interface stan- The L PORT interrupts are used to indicate an active-low
dard, DCE transmits data to DTE on RxD and receives data transition of RTS and/or DTR. When both signals are active
from DTE on TxD. Therefore, the UART transmit data pin (the remote receiver is ready to accept data), this routine
(TDX) is used for the RS-232C receive data signal (RxD) enables the UART transmitter.
and the UART receive data pin (RDX) is used for the RS-
The UART receiver interrupt routine is called when the re-
232C transmit data signal (TxD). In this example, all hand-
ceive buffer full flag (RBFL) is set. This routine reads the
AN-739
TL/DD/11110 – 1
FIGURE 1. Interface Diagram
2
TL/DD/11110 – 2
FIGURE 2. Main Program Flow
3
TL/DD/11110 – 3
FIGURE 3. Receiver Interrupt Routine
4
TL/DD/11110 – 4
FIGURE 4. Transmitter Interrupt Routine
5
TL/DD/11110 – 5
FIGURE 5. L Port Interrupt Routine
6
TL/DD/11110 – 6
7
TL/DD/11110 – 7
8
TL/DD/11110 – 8
9
TL/DD/11110 – 9
10
TL/DD/11110 – 10
11
RS-232C Interface with COP800
TL/DD/11110 – 11
TL/DD/11110 – 12
NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT
DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF NATIONAL
SEMICONDUCTOR CORPORATION. As used herein:
1. Life support devices or systems are devices or 2. A critical component is any component of a life
systems which, (a) are intended for surgical implant support device or system whose failure to perform can
into the body, or (b) support or sustain life, and whose be reasonably expected to cause the failure of the life
failure to perform, when properly used in accordance support device or system, or to affect its safety or
with instructions for use provided in the labeling, can effectiveness.
be reasonably expected to result in a significant injury
to the user.
National Semiconductor National Semiconductor National Semiconductor National Semiconductor National Semiconductores National Semiconductor
Corporation GmbH Japan Ltd. Hong Kong Ltd. Do Brazil Ltda. (Australia) Pty, Ltd.
AN-739
2900 Semiconductor Drive Livry-Gargan-Str. 10 Sumitomo Chemical 13th Floor, Straight Block, Rue Deputado Lacorda Franco Building 16
P.O. Box 58090 D-82256 F4urstenfeldbruck Engineering Center Ocean Centre, 5 Canton Rd. 120-3A Business Park Drive
Santa Clara, CA 95052-8090 Germany Bldg. 7F Tsimshatsui, Kowloon Sao Paulo-SP Monash Business Park
Tel: 1(800) 272-9959 Tel: (81-41) 35-0 1-7-1, Nakase, Mihama-Ku Hong Kong Brazil 05418-000 Nottinghill, Melbourne
TWX: (910) 339-9240 Telex: 527649 Chiba-City, Tel: (852) 2737-1600 Tel: (55-11) 212-5066 Victoria 3168 Australia
Fax: (81-41) 35-1 Ciba Prefecture 261 Fax: (852) 2736-9960 Telex: 391-1131931 NSBR BR Tel: (3) 558-9999
Tel: (043) 299-2300 Fax: (55-11) 212-1181 Fax: (3) 558-9998
Fax: (043) 299-2500
National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.