English
Language : 

M32C80 Datasheet, PDF (217/352 Pages) Renesas Technology Corp – 16/32-BIT SINGLE-CHIP MICROCOMPUTER M16C FAMILY / M32C/80 SERIES
M32C/80 Group
16. Serial I/O (Special Function)
16.3.3 Arbitration
The ABC bit in the UiSMR register (i=0 to 4) determines an update timing for the ABT bit in the UiRB
register. On the rising edge of the SCLi pin, the microcomputer determines whether a transmit data
matches data input to the SDAi pin.
When the ABC bit is set to "0" (update per bit), the ABT bit is set to "1" (detected-arbitration is lost) as
soon as a data discrepancy is detected. The ABT bit is set to "0" (not detected-arbitration is won) if not
detected. When the ABC bit is set to "1" (update per byte), the ABT bit is set to "1" on the falling edge of
the ninth bit of the transfer clock if any discrepancy is detected. When the ABT bit is updated per byte, set
the ABT bit to "0" between an ACK detection in the first byte data and the next byte data to be transferred.
When the ALS bit in the UiSMR2 register is set to "1" (SDA output stop enabled), the arbitration lost
occurs. As soon as the ABT bit is set to "1", the SDAi pin is placed in a high-impedance state.
16.3.4 Transfer Clock
The transfer clock transmits and receives data as is shown in Figure 16.20.
The CSC bit in the UiSMR2 register (i=0 to 4) synchronizes an internally generated clock (internal SCLi)
with the external clock applied to the SCLi pin. When the CSC bit is set to "1" (clock synchronous en-
abled) and the internal SCLi is held high ("H"), the internal SCLi become low ("L") if signal applied to the
SCLi pin is on the falling edge. Value of the UiBRG register is reloaded to start counting for low level. A
counter stops when the SCLi pin is held "L" and then the internal SCLi changes "L" to "H". Counting is
resumed when the SCLi pin become "H". The transfer clock of UARTi is equivalent to the AND for signals
from the internal SCLi and the SCLi pin.
The transfer clock is synchronized between a half cycle before the falling edge of first bit of the internal
SCLi and the rising edge of the ninth bit. Select the internal clock as the transfer clock while the CSC bit
is set to "1".
The SWC bit in the UiSMR2 register determines whether the SCLi pin is fixed to be an "L" signal output on
the falling edge of the ninth cycle of the transfer clock or not.
When the SCLHI bit in the UiSMR4 register is set to "1" (enabled), a SCLi output stops when a stop
condition is detected (high-impedance).
When the SWC2 bit in the UiSMR2 register is set to "1" (0 output), the SCLi pin focibly outputs an "L" signal
while transmitting and receiving. The fixed "L" signal applied to the SCLi pin is cancelled by setting the
SWC2 bit to "0" (transfer clock) and the transfer clock input to and output from the SCLi pin are provided.
When the CKPH bit in the UiSMR3 register is set to "1" and the SWC9 bit in the UiSMR4 register is set to
"1" (SCL "L" hold enabled), the SCLi pin is fixed to be an "L" signal output on the next falling edge after the
ninth bit of the clock. The fixed "L" signal applied to the SCLi pin is cancelled by setting the SWC9 bit to
"0" (SCL "L" hold disabled).
16.3.5 SDA Output
Values output set in bits 7 to 0 (D7 to D0) in the UiTB register (i=0 to 4) are provided in descending order
from D7. The ninth bit (D8) is ACK or NACK.
Set the default value of SDAi transmit output when the IICM bit is set to "1" (I2C mode) and the SMD2 to
SMD0 bits in the UiMR register are set to "0002" (serial I/O disabled).
The DL2 to DL0 bits in the UiSMR3 register determine no delay in the SDAi output or a delay of 2 to 8
UiBRG register count source cycles.
When the SDHI bit in the UiSMR2 register is set to "1" (SDA output disabled), the SDAi pin is forcibly
placed in a high-impedance state. Do not set the SDHI bit on the rising edge of the UARTi transfer clock.
The ABT bit in the UiRB register may be set to "1" (detected).
Rev. 1.00 Nov. 01, 2005 Page 198 of 330
REJ09B0271-0100