Introduction

The PIC18F26/46/56Q84 devices that you have received conform functionally to the current device data sheet (DS40002259D), except for the anomalies described in this document.

The silicon issues discussed in the following pages are for silicon revisions with the Device and Revision IDs listed in the table below.

The errata described in this document will be addressed in future revisions of the PIC18F26/46/56Q84 silicon.

Note: This document summarizes all silicon errata issues from all revisions of silicon, previous as well as current.
Table . Silicon Device Identification
Part Number Device IDRevision ID
A1A2B0
PIC18F26Q840xA3000xA0010xA0020xA400
PIC18F46Q840xA3010xA0010xA0020xA400
PIC18F56Q840xA3020xA0010xA0020xA400
Important: Refer to the Device/Revision ID section in the current “PIC18FXXQ84 Family Programming Specification” (DS40002137) for more detailed information on Device Identification and Revision IDs for your specific device.
Table . Silicon Issue Summary
ModuleFeatureItem No.Issue SummaryAffected Revisions
A1A2B0
UTMRLevel-triggered ERS Start/Reset conditionDead Zone Exists in Level-Triggered Start/Reset Condition When an ERS Signal Is Generated Due to an SFR AccessDead zone exists in level-triggered Start/Reset condition when ERS signal is generated due to an SFR accessXXX
Hardware Reset conditionReset Does Not Happen at Period Match When the Prescaler > 0 and the Timer Stops at Period MatchReset does not happen at period match when the prescaler > 0 and the Timer stops at period match (includes One Shot mode)XXX
Output Pulse1.1.3Pulse output does not occur at period match when the prescaler = 1XXX
Clear commandClear Command May Not Work Properly in Asynchronous ModeClear command may not work properlyXXX
InterruptsInterrupts Do Not Work When Leaving Debug ModeInterrupts do not work after the user exits a debug sessionXXX
I2CStart and Stop interrupt functionThe I2C Start and/or Stop Flags May Be Set When I2C Is EnabledThe I2C Start and/or Stop flags may be set when I2C is enabled XXX
Clock StretchingCSTR Bit Is Not Cleared after Bus Time-OutCSTR bit will not clear after a bus time-out XXX
Bus free divider ratioThe Bus Free Divider Ratio BFREDR = 1 Value Is Not FunctionalBFREDR =1 mode is nonfunctionalXXX
Host data requestMDR Bit Is Not Cleared after Bus Time-OutMDR bit will not clear after a bus time-outXXX
Clock stretchingBus Time-Out Not Detected Properly When External Host Clock StretchesBus time-out not detected during clock stretchingXXX
Clock stretchingClock Stretch Disable Not Working ProperlyDisabling clock stretching can fail with specific timingXXX
Multi-Host modeBus Collision Followed by a Stop Condition During a Transaction by an External Host Device May Hang the BusBus collisions can hang the bus in mult-host modeXXX
Clock StretchingWriting to the I2CCNT Register During Clock Stretching May Corrupt the I2CCNT ValueI2CCNT value may be corrupted if written to during clock stretchingXXX
SMTReset bitReset BitSMT stops working if RST is set while the prescaler setting is not zeroXXX
ADCC with ContextDouble sample conversionsAn Unexpected Acquisition Time is Added Between the First and Second ConversionsAn unexpected acquisition time is added between the first and second conversionXXX
PIC18 CoreFSR shadow registersFSR Shadow Registers Are Not WritableFSR shadow registers are not writableXXX
UARTStop bitUART TXDE Signal May Go Low Before the STOP Bit Has Been Entirely TransmittedTXDE signal may go low before the Stop bit has been entirely transmittedXXX
ICDSingle-Step (SSTEP) functionSingle-Step Function Does Not Execute at SW BreakpointSingle-Step function does not execute at Software BreakpointXXX
PWMPWM modeWrong Duty Cycle for CCP ModuleWrong duty cycle for the CCP moduleXXX
ICSPLow-Voltage Programming (LVP)Low-Voltage Programming Not PossibleLVP is not possible when VDD is below BORV while BOR is enabledXXX
CAN FDMasks/FiltersFilters 8–11 Will Erroneously Accept Incoming Messages With SID of 0x000Filters 8–11 will erroneously accept incoming messages with SID of 0x000XX
Instruction SetPUSHL instruction1.11.1The PUSHL instruction executes incorrectly XXX
Timer 1Gate InterruptChanging the Timer1 Gate Source May Cause Unexpected InterruptsWriting to the gate source select may set the gate interrupt flagXXX
MemoryDIA1.13.1The TSLR2 and TSHR2 Values Stored in the DIA Table are IncorrectXXX
Capture/Compare/PWM (CCP)Compare Toggle Mode1.14.1CCP Compare Toggle Output Mode Does Not Work as ExpectedXXX
Power-Saving ModesXLP Power ModeXLP Power Mode Does Not Work as ExpectedXLP Power Mode Does Not Work as ExpectedXXX
Note: Only issues indicated in the last column apply to the current silicon revision.