TMP91C824
91C824-176
#
8-Bit Receive Mode
bit 7
SCK pin
SIOF
SO pin
bit 6
t
SODH
=
Min. 3.5/f
FPH
[s]
Figure 3.10.27
Transmitted data hold time at end of transmission
Set the control register to receive mode and set SBI0CR1<SIOS> to “1” for switching to receive
mode. Data is received into the Shift Register via the SI pin and synchronized with the serial clock,
starting from the least significant bit (LSB). When 8-bit data is received, the data is transferred from
the Shift Register to SBI0DBR. An INTS2 (buffer full) interrupt request is generated to request that
the received data be read. The data is then read from SBI0DBR by the interrupt service program.
When an internal clock is used, the serial clock will stop and the automatic wait function will be in
effect until the received data has been read from SBI0DBR.
When an external clock is used, since shift operation is synchronized with an external clock pulse,
the received data should be read from SBI0DBR before the next serial clock pulse is input. If the
received data is not read, any further data which is to be received is canceled. The maximum transfer
speed when an external clock is used is determined by the delay time between the time when an
interrupt request is generated and the time when the received data is read.
Receiving of data ends when <SIOS> is cleared to “0” by the buffer full interrupt service program
or when <SIOINH> is set to “1”. If <SIOS> is cleared to “0”, received data is transferred to
SBI0DBR in complete blocks. The received mode ends when the transfer is complete. In order to
confirm whether data is being received properly by the program, set SBI0SR<SIOF> to be sensed.
<SIOF> is cleared to “0” when receiving has been completed. When it is confirmed that receiving
has been completed, the last data is read. When <SIOINH> is set to “1”, data receiving stops.
<SIOF> is cleared to “0” (the received data becomes invalid, therefore no need to read it).
Note: When the transfer mode is changed, the contents of SBI0DBR will be lost. If the mode must be changed,
conclude data receiving by clearing <SIOS> to “0”, read the last data, then change the mode.