PIC16F87XA
DS39582B-page 100
2003 Microchip Technology Inc.
9.4.9
I2C MASTER MODE REPEATED
START CONDITION TIMING
A Repeated Start condition occurs when the RSEN bit
(SSPCON2<1>) is programmed high and the I2C logic
module is in the Idle state. When the RSEN bit is set,
the SCL pin is asserted low. When the SCL pin is sam-
pled low, the Baud Rate Generator is loaded with the
contents of SSPADD<5:0> and begins counting. The
SDA pin is released (brought high) for one Baud Rate
Generator count (TBRG). When the Baud Rate Genera-
tor times out, if SDA is sampled high, the SCL pin will
be deasserted (brought high). When SCL is sampled
high, the Baud Rate Generator is reloaded with the
contents of SSPADD<6:0> and begins counting. SDA
and SCL must be sampled high for one TBRG. This
action is then followed by assertion of the SDA pin
(SDA = 0) for one TBRG while SCL is high. Following
this, the RSEN bit (SSPCON2<1>) will be automatically
cleared and the Baud Rate Generator will not be
reloaded, leaving the SDA pin held low. As soon as a
Start condition is detected on the SDA and SCL pins,
the S bit (SSPSTAT<3>) will be set. The SSPIF bit will
not be set until the Baud Rate Generator has timed out.
Immediately following the SSPIF bit getting set, the user
may write the SSPBUF with the 7-bit address in 7-bit
mode or the default first address in 10-bit mode. After
the first eight bits are transmitted and an ACK is
received, the user may then transmit an additional eight
bits of address (10-bit mode) or eight bits of data (7-bit
mode).
9.4.9.1
WCOL Status Flag
If the user writes the SSPBUF when a Repeated Start
sequence is in progress, the WCOL is set and the con-
tents of the buffer are unchanged (the write doesn’t
occur).
FIGURE 9-20:
REPEAT START CONDITION WAVEFORM
Note 1: If RSEN is programmed while any other
event is in progress, it will not take effect.
2: A bus collision during the Repeated Start
condition occurs if:
SDA is sampled low when SCL goes
from low to high.
SCL goes low before SDA is
asserted low. This may indicate that
another master is attempting to
transmit a data ‘1’.
Note:
Because queueing of events
is
not
allowed, writing of the lower 5 bits of
SSPCON2 is disabled until the Repeated
Start condition is complete.
SDA
SCL
Sr = Repeated Start
Write to SSPCON2
Write to SSPBUF occurs here
Falling edge of ninth clock,
end of Xmit
At completion of Start bit,
hardware clears RSEN bit
1st Bit
Set S (SSPSTAT<3>)
TBRG
SDA = 1,
SCL (no change)
SCL = 1
occurs here,
TBRG
and sets SSPIF
相关PDF资料
MP2-HS240-51 CONN SHROUD 2-FB 240POS 5ROW
DSPIC33FJ64MC506-I/PT IC DSPIC MCU/DSP 64K 64TQFP
DSPIC33FJ128MC802-I/SO IC DSPIC MCU/DSP 128K 28SOIC
PIC18LF4331-I/P IC PIC MCU FLASH 4KX16 40DIP
DSPIC33FJ128GP306-I/PT IC DSPIC MCU/DSP 128K 64TQFP
PIC24HJ128GP306-I/PT IC PIC MCU FLASH 128KB 64TQFP
PIC16F873-20/SO IC MCU FLASH 4KX14 EE 28SOIC
PIC18F4431-I/P IC PIC MCU FLASH 8KX16 40DIP
相关代理商/技术参数
PIC16F877A-I/P 制造商:Microchip Technology Inc 功能描述:IC 8BIT FLASH MCU 16F877 DIP40
PIC16F877A-I/PG 功能描述:8位微控制器 -MCU 14KB 368 RAM 33 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F877A-I/PT 功能描述:8位微控制器 -MCU 14KB 368 RAM 33 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F877A-I/PT 制造商:Microchip Technology Inc 功能描述:8BIT FLASH MCU SMD 16F877 TQFP44
PIC16F877A-I/PTG 功能描述:8位微控制器 -MCU 14KB 368 RAM 33 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F877AIL 制造商:Microchip Technology Inc 功能描述:
PIC16F877AIP 制造商:Microchip Technology Inc 功能描述:
PIC16F877AIPT 制造商:Microchip Technology Inc 功能描述: