PIC16F872-E/SS Microchip Technology, PIC16F872-E/SS Datasheet - Page 326

no-image

PIC16F872-E/SS

Manufacturer Part Number
PIC16F872-E/SS
Description
IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,SSOP,28PIN,PLASTIC
Manufacturer
Microchip Technology
Series
PIC® 16Fr

Specifications of PIC16F872-E/SS

Rohs Compliant
YES
Core Processor
PIC
Core Size
8-Bit
Speed
20MHz
Connectivity
I²C, SPI
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
22
Program Memory Size
3.5KB (2K x 14)
Program Memory Type
FLASH
Eeprom Size
64 x 8
Ram Size
128 x 8
Voltage - Supply (vcc/vdd)
4 V ~ 5.5 V
Data Converters
A/D 5x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 125°C
Package / Case
28-SSOP
Package
28SSOP
Device Core
PIC
Family Name
PIC16
Maximum Speed
20 MHz
Operating Supply Voltage
5 V
Data Bus Width
8 Bit
Number Of Programmable I/os
22
Interface Type
I2C/SPI
On-chip Adc
5-chx10-bit
Number Of Timers
3
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
PICmicro MID-RANGE MCU FAMILY
17.4.18.1 Bus Collision During a START Condition
DS31017A-page 17-50
During a START condition, a bus collision occurs if:
a)
b)
During a START condition both the SDA and the SCL pins are monitored.
If:
then:
The START condition begins with the SDA and SCL pins de-asserted. When the SDA pin is sam-
pled high, the baud rate generator is loaded from SSPADD<6:0> and counts down to 0. If the
SCL pin is sampled low 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.
If the SDA pin is sampled low during this count, the BRG is reset and the SDA line is asserted
early
the end of the BRG count. The baud rate generator is then reloaded and counts down to 0, and
during this time, if the SCL pins is sampled as '0', a bus collision does not occur. At the end of
the BRG count the SCL pin is asserted low.
Note:
SDA or SCL are sampled low at the beginning of the START condition
SCL is sampled low before SDA is asserted low
the SDA pin is already low
or the SCL pin is already low,
the START condition is aborted,
and the BCLIF flag is set,
and the SSP module is reset to its IDLE state
(Figure
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 fol-
lowing the START condition, and if the address is the same, arbitration must be
allowed to continue into the data portion, Repeated Start, or STOP conditions.
17-37). If however a '1' is sampled on the SDA pin, the SDA pin is asserted low at
Preliminary
(Figure
(Figure
17-35).
17-36).
1997 Microchip Technology Inc.
(Figure
17-35).

Related parts for PIC16F872-E/SS