Information
© 2006 Microchip Technology Inc. DS80131E-page 1
MSSP MODULE
The PICmicro
®
microcontrollers you have received all
exhibit anomalous behavior in their Master SSP
(MSSP) modules, as described in this document. They
otherwise conform functionally to the descriptions
provided in their respective Device Data Sheets and
Reference Manuals, as amended by silicon release
errata for particular devices.
Users are encouraged to review the latest Device Data
Sheets and errata available for additional information
concerning an individual device. These documents
may be obtained directly from the Microchip corporate
web site, at www.microchip.com.
These issues are expected to be resolved in future
silicon revisions of the designated parts.
Silicon issues 1 and 2 affect all silicon revisions of the
following devices:
1. Module: I
2
C™ (Slave Mode)
In its current implementation, the module may fail
to correctly recognize certain Repeated Start
conditions. For this discussion, a Repeated Start is
defined as a Start condition presented to the bus
after an initial valid Start condition has been recog-
nized and the Start status bit (SSPSTAT<3>) has
been set and before a valid Stop condition is
received.
If a Repeated Start is not recognized, a loss of
synchronization between the Master and Slave
may occur; the condition may continue until the
module is reset. A NACK condition, generated by
the Slave for any reason, will not reset the module.
This failure has been observed only under two
circumstances:
• A Repeated Start occurs within the frame of a
data or address byte. The unexpected Start
condition may be erroneously interpreted as a
data bit, provided that the required conditions
for setup and hold times are met.
• A Repeated Start condition occurs between two
back-to-back slave address matches in the
same Slave, with the R/W
bit set to Read (= 1)
in both cases. (This circumstance is regarded
as being unlikely in normal operation.)
Work around
A time-out routine should be used to monitor the
module’s operation. The timer is enabled upon the
receipt of a valid Start condition; if a time-out
occurs, the module is reset. The length of the time-
out period will vary from application to application
and will need to be determined by the user.
Two methods are suggested to reset the module:
1. Change the mode of the module to something
other than the desired mode by changing the set-
tings of bits, SSPM3:SSPM0 (SSPCON1<3:0>);
then, change the bits back to the desired
configuration.
2. Disable the module by clearing the SSPEN bit
(SSPCON1<5>); then, re-enable the module
by setting the bit.
Other methods may be available.
• PIC16C717 • PIC18F2220
• PIC16C770 • PIC18F2320
• PIC16C771 • PIC18F242
• PIC16C773 • PIC18F2439
• PIC16C774 • PIC18F248
•PIC16F737 •PIC18F252
•PIC16F747 •PIC18F2539
•PIC16F767 •PIC18F258
•PIC16F777 •PIC18F4220
•PIC16F872 •PIC18F4320
•PIC16F873 •PIC18F442
• PIC16F873A • PIC18F4439
•PIC16F874 •PIC18F448
• PIC16F874A • PIC18F452
•PIC16F876 •PIC18F4539
• PIC16F876A • PIC18F458
•PIC16F877 •PIC18F6520
• PIC16F877A • PIC18F6525
• PIC17C752 • PIC17F6585
• PIC17C756 • PIC18F6620
• PIC17C756A • PIC18F6621
• PIC17C762 • PIC18F6680
• PIC17C766 • PIC18F6720
• PIC18C242 • PIC18F8520
• PIC18C252 • PIC18F8525
• PIC18C442 • PIC18F8585
• PIC18C452 • PIC18F8620
• PIC18C601 • PIC18F8621
• PIC18C801 • PIC18F8680
• PIC18C658 • PIC18F8720
• PIC18C858
MSSP Module Silicon/Data Sheet Errata