Fujitsu FR81S User Manual

Page of 2342
CHAPTER 40: MULTI-FUNCTION SERIAL INTERFACE 
 
 
8. Operation of I2C 
 
FUJITSU SEMICONDUCTOR LIMITED 
CHAPTER : MULTI-FUNCTION SERIAL INTERFACE 
FUJITSU SEMICONDUCTOR CONFIDENTIAL 
338 
 
 DMA Mode Disabled (SSR:DMA=0) 
 FIFO Disabled (Both Transmission and Reception FIFOs Disabled) 
 
If the IBSR:RSA bit is "0", the interrupt flag (IBCR:INT) is set to "1" and SCL is held to "L" and 
waited if the SSR:TDRE bit is "1" after acknowledge reception. To release the wait, write "0" to the 
interrupt flag. If the SSR:TDRE bit is "0", the reception of ACK causes clock generation on SCL 
without setting the interrupt flag to "1". 
 
If the IBSR:RSA bit is "1", the interrupt flag (IBCR:INT) is set to "1" and SCL is held to "L" and 
waited after reserved address reception (before acknowledge). After the RDR register is read, the 
interrupt flag becomes "0" to release the wait when you set the IBCR:ACKE bit and the transmission 
data, and write "0" to the interrupt flag. 
 
The received acknowledge is set to the IBSR:RACK bit. The IBSR:RACK bit is checked during wait 
state. If it is NACK, "0" will be written to the IBCR:MSS bit or "1" is written to the IBCR:SCC bit to 
generate a stop condition or a repeated start condition. At this time, the IBCR:NT bit will be 
automatically cleared to "0". 
 
 FIFO Enabling 
 
Before setting the IBCR:MSS bit to "1", it is necessary to configure the following FIFO settings: 
  For transmission to the slave (data direction bit = "0"), set data including the slave address, etc. in the 
transmission FIFO. 
  For data reception from the slave (data direction bit = "1"), configure the FIFO byte count register to 
specify the number of bytes to be received, write to the transmit data register using the slave address, 
data direction bit, and number of dummy data to be received. 
 
If the IBSR:RSA bit is "0", the master, after receiving ACK as an acknowledge, does not set the 
interrupt flag (IBCR:INT) to "1", but transmits/receives data according to the data direction bit (not 
waited). If NACK is received, the interrupt flag (IBCR:INT) is set to "1" and SCL is held to "L" and 
waited. 
 
The received acknowledge is set to the IBSR:RACK bit. The IBSR:RACK bit is checked during wait 
state. If it is NACK, "0" is written to the IBCR:MSS bit or "1" is written to the IBCR:SCC bit to 
generate a stop condition or a repeated start condition. At this time, the IBCR:INT bit is automatically 
cleared to "0". 
MB91520 Series
MN705-00010-1v0-E
1651