23.04.2013 Views

TMPM330 - Keil

TMPM330 - Keil

TMPM330 - Keil

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Slave mode ( = “0”)<br />

Under development<br />

<strong>TMPM330</strong> (rev 0.4) 10-23<br />

<strong>TMPM330</strong><br />

In the slave mode, the SBI generates the INTSBIx interrupt request on four occasions: 1)<br />

when the SBI has received any slave address from the master, 2) when the SBI has<br />

received a general-call address, 3) when the received slave address matches its own<br />

address, and 4) when a data transfer has been completed in response to a general-call.<br />

Also, if the SBI detects Arbitration Lost in the master mode, it switches to the slave mode.<br />

Upon the completion of data word transfer in which Arbitration Lost is detected, the INTSBIx<br />

interrupt request is generated, is cleared to “0,” and the SCL pin is pulled to the “L”<br />

level. When data is written to or read from SBIxDBR or when is set to “1,” the SCL<br />

pin is released after a period of tLOW.<br />

In the slave mode, the normal slave mode processing or the processing as a result of<br />

Arbitration Lost is carried out.<br />

SBIxSR , , and are tested to determine the processing required.<br />

Table 15-19 shows the slave mode states and required processing.<br />

Example: When the received slave address matches the SBI's own address and the<br />

direction bit is “1” in the slave receiver mode.<br />

INTSBIx interrupt<br />

if TRX = 0<br />

Then go to other processing<br />

if AL = 1<br />

Then go to other processing<br />

if AAS = 0<br />

Then go to other processing<br />

SBIxCR1 ← X X X 1 0 X X X Sets the number of bits to be transmitted.<br />

SBIxDBR ← X X X X 0 X X X Sets the transmit data.<br />

(Note) X: Don’t care<br />

Serial Bus Interface (SBI)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!