Toshiba TLCS-900 Computer Hardware User Manual


 
TMP92CM22
2007-02-16
92CM22-181
(8) Interrupt service requests and interrupt cancellation
When a serial bus interface interrupt request 0 (INTSBE0) occurs, the SBI0SR2
<PIN> is cleared to “0”. During the time that the SBI0SR2<PIN> is “0”, the SCL line is
pulled down to the low level.
The <PIN> is cleared to “0” when end of transmission or receiving 1 word of data.
And when writing data to SBI0DBR or reading data from SBI0DBR, <PIN> is set to
“1”.
The time from the <PIN> being set to “1” until the SCL line is released takes t
LOW
.
In the address recognition mode (<ALS> = 0), <PIN> is cleared to “0” when the
received slave address is the same as the value set at the I2C0AR or when a GENERAL
CALL is received (All 8-bit data are “0” after a start condition). Although
SBI0CR2<PIN> can be set to “1” by the program, the <PIN> is not clear it to “0” when
it is programmed “0”.
(9) Serial bus interface operation mode selection
SBI0CR2<SBIM1:0> is used to specify the serial bus interface operation mode. Set
SBI0CR2<SBIM1:0> to “10” when the device is to be used in I
2
C bus mode after
confirming pin condition of serial bus interface to “H”.
Switch a mode to port after confirming a bus is free.
(10) Arbitration lost detection monitor
Since more than one master device can exist simultaneously on the bus in I
2
C bus
mode, a bus arbitration procedure has been implemented in order to guarantee the
integrity of transferred data.
Data on the SDA line is used for I
2
C bus arbitration.
The following shows an example of a bus arbitration procedure when two master
devices exist simultaneously on the bus. Master A and master B output the same data
until point “a”. After master A outputs “L” and master B, “H”, the SDA line of the bus is
wire-AND and the SDA line is pulled down to the low level by master A. When the SCL
line of the bus is pulled up at point b, the slave device reads the data on the SDA line,
that is, data in master A. A data transmitted from master B becomes invalid. The state
in master B is called “ARBITRATION LOST”. Master B device that loses arbitration
releases the internal SDA output in order not to affect data transmitted from other
masters with arbitration. When more than one master sends the same data at the first
word, arbitration occurs continuously after the second word.
Figure 3.10.11 Arbitration Lost
Set internal SDA output to “1”
after arbitration has been lost.
a
SCL (Line)
Internal SDA output
(Master A)
SDA line
b
Internal SDA output
(Master B)