Serial Management Controllers (SMCs)
7-304
MC68360 USER’S MANUAL
MOTOROLA
Write $B000 to Rx_BD_Status. Write $0000 to Rx_BD_Length (not required—done
for instructional purposes only). Write $00001000 to Rx_BD_Pointer.
10.Initialize the Tx BD. Assume the Tx data buffer is at $00002000 in main memory
and contains five 8-bit characters. Write $B000 to Tx_BD_Status. Write $0005 to
Tx_BD_Length. Write $00002000 to Tx_BD_Pointer.
11.Write $FF to the SMCE to clear any previous events.
12.Write $13 to the SMCM to enable all possible SMC interrupts.
13.Write $00000010 to the CIMR to allow SMC1 to generate a system interrupt. (The
CICR should also be initialized.)
14.Write $3830 to SMCMR to configure 8-bit characters, non-reversed data, and
normal operation (not loopback). Notice that the transmitter and receiver have not
been enabled yet.
15.Write $3833 to SMCMR to enable the SMC transmitter and receiver. This additional
write ensures that the TEN and REN bits will be enabled last.
NOTE
After 5 bytes have been transmitted, the Tx BD is closed. Addi-
tionally, the receive buffer is closed after 16 bytes have been re-
ceived. Any additional receive data beyond 16 bytes will cause
a busy (out-of-buffers) condition since only one Rx BD was pre-
pared.
7.11.12 SMC Transparent TSA Example
The following list is an initialization sequence for operation of the SMC1 transparent channel
over the TSA. It is assumed that the TSA and the TDM pins already have been set up to
route time slot data to the SMC transmitter and receiver. (7.8 Serial Interface with Time Slot
Assigner
shows examples of how to configure the TSA.) The transmit and receive clocks
and synchronization signals are provided internally from the TSA.
1. Write RBASE and TBASE in the SMC parameter RAM to point to the Rx BD and Tx
BD in the dual-port RAM. Assuming one Rx BD at the beginning of dual-port RAM
and one Tx BD following that Rx BD, write RBASE with $0000 and TBASE with
$0008.
2. Program the CR to execute the INIT RX & TX PARAMS command for this channel."
For instance, to execute this command for SCC1, write $0001 to the CR. This com-
mand causes the RBPTR and TBPTR parameters of the serial channel to be updated
with the new values just programmed into RBASE and TBASE.
3. Write RFCR with $18 and TFCR with $18 for normal operation.
4. Write MRBLR with the maximum number of bytes per receive buffer. For this
case,assume 16 bytes, so MRBLR = $0010.
5. Initialize the Rx BD. Assume the Rx data buffer is at $00001000 in main memory.
Write $B000 to Rx_BD_Status. Write $0000 to Rx_BD_Length (not required—done
for instructional purposes only). Write $00001000 to Rx_BD_Pointer.
6. Initialize the Tx BD. Assume the Tx data buffer is at $00002000 in main memory and