APPLICATION
2.3 Serial I/O
Control in the slave unit
After a setting of the related registers is completed as shown in Figure 2.3.26, the slave unit becomes the
state which is received a synchronizing clock at all times, and the Serial I/O receive interrupt request bit is
set to “1” every time an 8-bit synchronous clock is received.
By the serial I/O receive interrupt processing routine, the data to be transmitted next is written to the Transmit
buffer register after received data is read out.
However, if no serial I/O receive interrupt occurs for more than a certain time (head adjustive time), the
following processing will be performed.
1. The first 1 byte data of the transmission data in the block is written into the Transmit buffer register.
2. The data to be received next is processed as the first 1 byte of the received data in the block.
Figure 2.3.28 shows the control in the slave unit using a serial I/O receive interrupt and any timer interrupt
(for head adjustive).
Serial I/O receive interrupt
processing routine
Timer interrupt processing
routine
CLT (Note 1)
CLD (Note 2)
Push register to stack
q Push the register used in
the interrupt processing
routine into the stack.
q Check the received byte
counter to judge if a block
N has been transfered.
Within a block transfer period?
Y
Read a reception data
A received byte counter +1
CLT (Note 1)
CLD (Note 2)
Push register to stack
q Push the register used in
the interrupt processing
routine into the stack.
Heading adjustive counter – 1
Heading adjustive
N
counter = 0?
Y
Write the first transmission data
(first byte) in a block
Y
A received byte counter ≥ 8?
N
Write a transmission data
Write any data (FF16)
Heading adjustive Initialized
counter
value (Note 3)
A received byte counter 0
Pop registers
RTI
q Pop registers which is
pushed to stack.
Pop registers
q Pop registers which is
pushed to stack.
RTI
Fig. 2.3.28 Control in the slave unit
Notes 1: When using the Index X mode flag (T).
2: When using the Decimal mode flag (D).
3: In this example, set the value which is equal to the
heading adjustive time divided by the timer interrupt
cycle as the initialized value of the heading adjustive
counter.
For example: When the heading adjustive time is 8 ms
and the timer interrupt cycle is 1 ms, set
8 as the initialized value.
2-42
3800 GROUP USER’S MANUAL