欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC16F877T-20IL 参数 Datasheet PDF下载

PIC16F877T-20IL图片预览
型号: PIC16F877T-20IL
PDF下载: 下载PDF文件 查看货源
内容描述: 8位微控制器\n [8-Bit Microcontroller ]
分类和应用: 微控制器
文件页数/大小: 200 页 / 3338 K
品牌: ETC [ ETC ]
 浏览型号PIC16F877T-20IL的Datasheet PDF文件第85页浏览型号PIC16F877T-20IL的Datasheet PDF文件第86页浏览型号PIC16F877T-20IL的Datasheet PDF文件第87页浏览型号PIC16F877T-20IL的Datasheet PDF文件第88页浏览型号PIC16F877T-20IL的Datasheet PDF文件第90页浏览型号PIC16F877T-20IL的Datasheet PDF文件第91页浏览型号PIC16F877T-20IL的Datasheet PDF文件第92页浏览型号PIC16F877T-20IL的Datasheet PDF文件第93页  
PIC16F87X  
9.2.18.1 BUS COLLISION DURING A START  
CONDITION  
while SDA is high, a bus collision occurs, because it is  
assumed that another master is attempting to drive a  
data '1' during the START condition.  
During a START condition, a bus collision occurs if:  
If the SDA pin is sampled low during this count, the  
BRG is reset and the SDA line is asserted early  
(Figure 9-22). If however a '1' is sampled on the SDA  
pin, the SDA pin is asserted low at the end of the BRG  
count. The baud rate generator is then reloaded and  
counts down to 0. During this time, if the SCL pins are  
sampled as '0', a bus collision does not occur. At the  
end of the BRG count ,the SCL pin is asserted low.  
a) SDA or SCL are sampled low at the beginning of  
the START condition (Figure 9-20).  
b) SCL is sampled low before SDA is asserted low.  
(Figure 9-21).  
During a START condition both the SDA and the SCL  
pins are monitored.  
If:  
Note: The reason that bus collision is not a factor  
during a START condition is that no two  
bus masters can assert a START condition  
at the exact same time. Therefore, one  
master will always assert SDA before the  
other. This condition does not cause a bus  
collision, because the two masters must be  
allowed to arbitrate the first address follow-  
ing the START condition. If the address is  
the same, arbitration must be allowed to  
continue into the data portion, REPEATED  
START or STOP conditions.  
the SDA pin is already low  
or the SCL pin is already low,  
then:  
the START condition is aborted,  
and the BCLIF flag is set,  
and the SSP module is reset to its IDLE state  
(Figure 9-20).  
The START condition begins with the SDA and SCL  
pins deasserted. When the SDA pin is sampled high,  
the baud rate generator is loaded from SSPADD<6:0>  
and counts down to 0. If the SCL pin is sampled low  
FIGURE 9-20: BUS COLLISION DURING START CONDITION (SDA ONLY)  
SDA goes low before the SEN bit is set.  
Set BCLIF,  
S bit and SSPIF set because  
SDA = 0, SCL = 1  
SDA  
SCL  
Set SEN, enable start  
condition if SDA = 1, SCL=1  
SEN cleared automatically because of bus collision.  
SSP module reset into idle state.  
SEN  
SDA sampled low before  
START condition.  
Set BCLIF.  
S bit and SSPIF set because  
SDA = 0, SCL = 1  
BCLIF  
SSPIF and BCLIF are  
cleared in software.  
S
SSPIF  
SSPIF and BCLIF are  
cleared in software.  
1999 Microchip Technology Inc.  
DS30292B-page 89  
 复制成功!