Page 278
18. Serial Bus Interface (SBI)
18.5 Data Transfer of I2C Bus
TMP89FM42
RA001
18.5 Data Transfer of I
2
C Bus
18.5.1 Device initialization
Set POFFCR1<SBI0EN> to "1".
After confirming that the serial bus interface pin is high level, set SBI0CR2<SBIM> to "1" to select the
serial bus interface mode.
Set SBI0CR1<ACK> to "1", SBI0CR1<NOACK> to "0" and SBI0CR1<BC> to "000" to count the number
of clocks for an acknowledge signal, to enable the slave address match detection and the GENERAL CALL
detection, and set the data length to 8 bits. Set T
HIGH
and T
LOW
at SBI0CR1<SCK>.
Set a slave address at I2C0AR<SA> and set I2C0AR<ALS> to "0" to select the I
2
C bus mode.
Finally, set SBI0CR2<MST>, SBI0CR2<TRX> and SBI0CR2<BB> to "0", SBI0CR2<PIN> to "1" and
SBI0CR2<SWRST> to "00" for specifying the default setting to a slave receiver mode.
Note:The initialization of a serial bus interface circuit must be complete within the time from all devices which are
connected to a bus have initialized to and device does not generate a start condition. If not, the data can not
be received correctly because the other device starts transferring before an end of the initialization of a serial
bus interface circuit.
18.5.2 Start condition and slave address generation
Confirm a bus free status (SBI0SR2<BB>="0").
Set SBI0CR1<ACK> to "1" and specify a slave address and a direction bit to be transmitted to the
SBI0DBR.
By writing "1" to SBI0CR2<MST>, SBI0CR2<TRX>, SBI0CR2<BB> and SBI0CR2<PIN>, the start condi-
tion is generated on a bus and then, the slave address and the direction bit which are set to the SBI0DBR are
output. The time from generating the START condition until the falling SBI0 pin takes t
HIGH
.
An interrupt request occurs at the 9th falling edge of a SCL clock cycle, and SBI0CR2<PIN> is cleared to
"0". The SCL0 pin is pulled down to the low level while SBI0CR2<PIN> is "0". When an interrupt request
occurs, SBI0CR2<TRX> changes by the hardware according to the direction bit only when an acknowledge
signal is returned from the slave device.
Note 1: Do not write a slave address to the SBI0DBR while data is transferred. If data is written to the SBI0DBR,
data to be output may be destroyed.
Note 2: The bus free state must be confirmed by software within 98.0
µ
s (the shortest transmitting time according to
the standard mode I
2
C bus standard) or 23.7
µ
s (the shortest transmitting time according to the fast mode
I
2
C bus standard) after setting of the slave address to be output. Only when the bus free state is confirmed,
set "1" to SBI0CR2<MST>, SBI0CR2<TRX>, SBI0CR2<BB> and SBI0CR2<PIN> to generate the start
conditions. If the writing of slave address and setting of SBI0CR2<MST>, SBI0CR2<TRX>, SBI0CR2<BB>
and SBI0CR2<PIN> doesn't finish within 98.0
µ
s or 23.7
µ
s, the other masters may start the transferring and
the slave address data written in SBI0DBR may be broken.
Example :Initialize a device
CHK_PORT:
CMP
(P2PRD), 0x0C
; Checks whether the serial bus interface pin is at the high level
JR
NZ, CHK_PORT
LD
(SBI0CR2), 0x18
; Selects the serial bus interface mode
LD
(SBI0CR1), 0x16
; Selects the acknowledgment mode and sets SBI0CR1<SCK> to
"110"
LD
(I2C0AR), 0xa0
; Sets the slave address to 1010000 and selects the I2C bus mode
LD
(SBI0CR2), 0x18
; Selects the slave receiver mode
Содержание TLCS-870/C1 Series
Страница 1: ...8 Bit Microcontroller TLCS 870 C1 Series TMP89FM42 查询TMP89FM42供应商 捷多邦 专业PCB打样工厂 24小时加急出货 ...
Страница 3: ...Revision History Date Revision 2007 10 25 1 First Release 2007 11 3 2 Contents Revised ...
Страница 4: ......
Страница 14: ......
Страница 18: ...1 3 Block Diagram TMP89FM42 1 3 Block Diagram Figure 1 2 Block Diagram ...
Страница 22: ...1 4 Pin Names and Functions TMP89FM42 ...
Страница 60: ...2 CPU Core 2 5 Revision History TMP89FM42 ...
Страница 76: ...3 Interrupt Control Circuit 3 8 Revision History TMP89FM42 ...
Страница 86: ...4 External Interrupt control circuit 4 3 Function TMP89FM42 ...
Страница 102: ...7 Voltage Detection Circuit 7 5 Revision History TMP89FM42 ...
Страница 126: ...8 I O Ports 8 3 I O Port Registers TMP89FM42 Note 2 i 0 to 1 ...
Страница 136: ...8 I O Ports 8 5 Revision History TMP89FM42 ...
Страница 142: ...9 Special Function Registers 9 3 SFR3 0x0E40 to 0x0EFF TMP89FM42 ...
Страница 146: ...10 Low Power Consumption Function for Peripherals TMP89FM42 ...
Страница 149: ...TMP89FM42 11 3 Revision History Rev Description RA001 Deleted SLEEP2 description ...
Страница 150: ...11 Divider Output DVO 11 3 Revision History TMP89FM42 ...
Страница 220: ...15 Real Time Clock RTC 15 4 Real Time Clock Operation TMP89FM42 ...
Страница 250: ...16 Asynchronous Serial Interface UART 16 15 Revision History TMP89FM42 ...
Страница 302: ...18 Serial Bus Interface SBI 18 7 Revision History TMP89FM42 ...
Страница 336: ...21 Flash Memory 21 4 Toggle Bit D6 TMP89FM42 Note 1 Make sure that you set the C register to 0x00 LD FLSCR2 0xD5 ...
Страница 338: ...21 Flash Memory 21 4 Toggle Bit D6 TMP89FM42 ...
Страница 384: ...22 Serial PROM Mode 22 15 Revision History TMP89FM42 ...
Страница 388: ...24 Input Output Circuit 24 1 Control Pins TMP89FM42 ...
Страница 404: ...25 Electrical Characteristics 25 11 Revision History TMP89FM42 ...
Страница 406: ...26 Package Dimensions TMP89FM42 ...
Страница 408: ......