SCI
1631
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Serial Communication Interface (SCI)/ Local Interconnect Network (LIN)
Module
29.2.1.4 SCI Multiprocessor Communication Modes
In some applications, the SCI may be connected to more than one serial communication device. In such a
multiprocessor configuration, several frames of data may be sent to all connected devices or to an
individual device. In the case of data sent to an individual device, the receiving devices must determine
when they are being addressed. When a message is not intended for them, the devices can ignore the
following data. When only two devices make up the SCI network, addressing is not needed, so
multiprocessor communication schemes are not required.
SCI supports two multiprocessor communication modes which can be selected using COMM MODE bit:
•
Idle-Line Mode
•
Address Bit Mode
When the SCI is not used in a multiprocessor environment, software can consider all frames as data
frames. In this case, the only distinction between the idle-line and address-bit modes is the presence of an
extra bit (the address bit) in each frame sent with the address-bit protocol.
The SCI allows full-duplex communication where data can be sent and received via the transmit and
receive pins simultaneously. However, the protocol used by the SCI assumes that only one device
transmits data on the same bus line at any one time. No arbitration is done by the SCI.
29.2.1.4.1 Idle-Line Multiprocessor Modes
In idle-line multiprocessor mode, a frame that is preceded by an idle period (10 or more idle bits) is an
address frame. A frame that is preceded by fewer than 10 idle bits is a data frame.
illustrates
the format of several blocks and frames with idle-line mode.
There are two ways to transmit an address frame using idle-line mode:
Method 1:
In software, deliberately leave an idle period between the transmission of the last data frame of
the previous block and the address frame of the new block.
Method 2:
Configure the SCI to automatically send an idle period between the last data frame of the
previous block and the address frame of the new block.
Although Method 1 is only accomplished by a delay loop in software, Method 2 can be implemented by
using the transmit buffer and the TXWAKE bit in the following manner:
Step 1: Write a 1 to the TXWAKE bit.
Step 2: Write a dummy data value to the SCITD register. This triggers the SCI to begin the idle period as
soon as the transmitter shift register is empty.
Step 3: Wait for the SCI to clear the TXWAKE flag.
Step 4: Write the address value to SCITD.
As indicated by Step 3, software should wait for the SCI to clear the TXWAKE bit. However, the SCI
clears the TXWAKE bit at the same time it sets TXRDY (that is, transfers data from SCITD into
SCITXSHF). Therefore, if the TX INT ENA bit is set, the transfer of data from SCITD to SCITXSHF causes
an interrupt to be generated at the same time that the SCI clears the TXWAKE bit. If this interrupt method
is used, software is not required to poll the TXWAKE bit waiting for the SCI to clear it.
When idle-line multiprocessor communications are used, software must ensure that the idle time exceeds
10 bit periods before addresses (using one of the methods mentioned above), and software must also
ensure that data frames are written to the transmitter quickly enough to be sent without a delay of 10 bit
periods between frames. Failure to comply with these conditions will result in data interpretation errors by
other devices receiving the transmission.