Chapter 11 asynchronous serial i/o unit, 1 overview, Chapter 11, “asynchronous serial i/o unit – Intel 386 User Manual

Page 288

Advertising
background image

11-1

CHAPTER 11

ASYNCHRONOUS SERIAL I/O UNIT

The asynchronous serial I/O (SIO) unit provides a means for the system to communicate with ex-
ternal peripheral devices and modems. The SIO unit performs serial-to-parallel conversions on
data characters received from a peripheral device or modem and parallel-to-serial conversions on
data characters received from the CPU. The SIO unit consists of two independent SIO channels,
each of which is compatible with National Semiconductor’s NS16C450.

This chapter is organized as follows:

Overview (see below)

SIO Operation (page 11-4)

Register Definitions (page 11-15)

Programming Considerations (page 11-32)

11.1 OVERVIEW

Each SIO channel contains a baud-rate generator, transmitter, receiver, and modem control unit.
These are shown in Figure 11-1 for SIO Unit 1 (see Figure 5-8 on page 5-15 for the SIO Unit 0
configuration). The baud-rate generator can be clocked by either the internal serial clock (SER-
CLK) signal or the COMCLK pin. The transmitter and receiver contain shift registers and buffers.
Data to be transmitted is written to the transmit buffer. The buffer’s contents are transferred to the
transmit shift register and shifted out via the transmit data pin (TXDn). Data received is shifted
in via the receive data pin (RXDn). When a data byte is received, the contents of the receive shift
register are transferred to the receive buffer. The modem control logic provides interfacing for the
handshaking signals between an SIO channel and a modem or data set.

In addition to the transmit and receive channels, each SIO can generate an interrupt or a request
to the DMA unit, or both. An interrupt can be generated when an error has occurred in the receive
channel, when the transmit channel is ready to transmit another character, when the receive chan-
nel is full, or when a change in any of the modem control signals has occurred. A DMA request
may be issued any time a channel’s receive buffer is full or its transmit buffer is empty. This al-
lows the SIO to run at higher speeds for more efficient processing of serial data.

Advertising