PIC18F2221/2321/4221/4321 Silicon/Data Sheet Errata

PIC18F2221/2321/4221/4321
PIC18F2221/2321/4221/4321 Family
Silicon Errata and Data Sheet Clarification
The PIC18F2221/2321/4221/4321 devices that you
have received conform functionally to the current
Device Data Sheet (DS39689F), except for the anomalies described in this document.
For example, to identify the silicon revision level
using MPLAB IDE in conjunction with a hardware
debugger:
1.
The silicon issues discussed in the following pages are
for silicon revisions with the Device and Revision IDs
listed in Table 1. The silicon issues are summarized in
Table 2.
2.
3.
The errata described in this document will be addressed
in future revisions of the PIC18F2221/2321/4221/4321
silicon.
Note:
4.
This document summarizes all silicon
errata issues from all revisions of silicon,
previous as well as current. Only the
issues indicated in the last column of
Table 2 apply to the current silicon
revision (B3).
5.
Data Sheet clarifications and corrections start on page
5, following the discussion of silicon issues.
Note:
The silicon revision level can be identified using the
current version of MPLAB® IDE and Microchip’s programmers, debuggers, and emulation tools, which are
available at the Microchip corporate web site
(www.microchip.com).
TABLE 1:
The DEVREV values for the various PIC18F2221/2321/
4221/4321 silicon revisions are shown in Table 1.
(1)
Revision ID for Silicon Revision(2)
Device ID
PIC18F2221
216h
PIC18F2321
212h
PIC18F4221
214h
PIC18F4321
210h
2:
If you are unable to extract the silicon
revision level, please contact your local
Microchip sales office for assistance.
SILICON DEVREV VALUES
Part Number
Note 1:
Using the appropriate interface, connect the
device to the hardware debugger.
Open an MPLAB IDE project.
Configure the MPLAB IDE project for the
appropriate device and hardware debugger.
Based on the version of MPLAB IDE you are
using, do one of the following:
a) For MPLAB IDE 8, select Programmer >
Reconnect.
b) For MPLAB X IDE, select Window >
Dashboard and click the Refresh Debug
Tool Status icon (
).
Depending on the development tool used, the
part number and Device Revision ID value
appear in the Output window.
B2
B3
2h
3h
The Device IDs (DEVID and DEVREV) are located at the last two implemented addresses of configuration
memory space. They are shown in hexadecimal in the format “DEVID DEVREV”.
Refer to the “PIC18F2XXX/4XXX Family Flash Microcontroller Programming Specification” (DS39622) for
detailed information on Device and Revision IDs for your specific device.
 2006-2014 Microchip Technology Inc.
DS80000285D-page 1
PIC18F2221/2321/4221/4321
TABLE 2:
SILICON ISSUE SUMMARY
Module
10-Bit Analog-to-Digital Converter (A/D)
Feature
2 TOSC or
RC
Item
Number
Affected
Revisions(1)
Issue Summary
B2
B3
1.
When the A/D clock source is set as 2 TOSC
or RC, the Integral Linearity Error and Differential Linearity Error may exceed the data
sheet specification, in extremely rare cases,
at codes 511 and 512.
X
X
X
X
X
X
Master Synchronous
Serial Port (MSSP)
I2C™ Slave
Reception
2.
When configured for I2C slave reception, the
MSSP module may not receive the correct
data if the SSPBUF register is not read
within a window after an SSPIF interrupt
occurs.
Timer1/3
Interrupt
3.
When the timer is operated in Asynchronous
External Input mode, unexpected interrupt
flag generation may occur.
Note 1:
Only those issues indicated in the last column apply to the current silicon revision.
DS80000285D-page 2
 2006-2014 Microchip Technology Inc.
PIC18F2221/2321/4221/4321
3. Module: Timer1/3
Silicon Errata Issues
Note:
This document summarizes all silicon
errata issues from all revisions of silicon,
previous as well as current. Only the
issues indicated by the shaded column in
the following tables apply to the current
silicon revision (B3).
1. Module: 10-Bit Analog-to-Digital
Converter (A/D)
Work around
When the AD clock source is selected as 2 TOSC
or RC (when ADCS<2:0 = 000 or x11), in
extremely rare cases, the EIL (Integral Linearity
Error) and EDL (Differential Linearity Error) may
exceed the data sheet specification at
codes 511 and 512.
Work around
Select the AD clock source as 4 TOSC, 8 TOSC,
16 TOSC, 32 TOSC or 64 TOSC and avoid
selecting 2 TOSC or RC.
Affected Silicon Revisions
B2
B3
X
X
When Timer1 or Timer3 is operated in
Asynchronous External Input mode, unexpected
interrupt flag generation may occur if an external
clock edge arrives too soon following a firmware
write to the TMRxH:TMRxL registers. An
unexpected interrupt flag event may also occur
when enabling the module or switching from
Synchronous to Asynchronous mode.
2. Module: Master Synchronous Serial Port
(MSSP)
When configured for I2C™ slave reception, the
MSSP module may not receive the correct data, in
extremely rare cases. This occurs only if the Serial
Receive/Transmit Buffer Register (SSPBUF) is
not read within a window after the SSPIF interrupt
(PIR1<3>) has occurred.
Work around
This issue only applies when operating the timer
in Asynchronous mode. Whenever possible,
operate the timer module in Synchronous mode
to avoid spurious timer interrupts.
If Asynchronous mode must be used in the
application, potential strategies to mitigate the
issue may include any of the following:
• Design the firmware so it does not rely on
the TMRxIF flag or keep the respective
interrupt disabled. The timer still counts
normally and does not reset to 0x0000
when the spurious interrupt flag event is
generated.
• Design the firmware so that it does not
write to the TMRxH:TMRxL registers or
does not periodically disable/enable the
timer, or switch modes. Reading from the
timer does not trigger the spurious interrupt
flag events.
• If the firmware must use the timer interrupts and must write to the timer (or disable/enable, or mode switch the timer),
implement code to suppress the spurious
interrupt event, should it occur. This can be
achieved by following the process shown in
Example 1.
The issue can be resolved in either of these ways:
• Prior to the I2C slave reception, enable the
clock stretching feature.
This is done by
(SSPCON2<0>).
setting
the
SEN
bit
• Each time the SSPIF is set, read the SSPBUF
before the first rising clock edge of the next byte
being received.
Affected Silicon Revisions
B2
B3
X
X
 2006-2014 Microchip Technology Inc.
DS80000285D-page 3
PIC18F2221/2321/4221/4321
EXAMPLE 1:
ASYNCHRONOUS TIMER MODE WORK AROUND TO AVOID SPURIOUS
INTERRUPT
//Timer1 update procedure in asynchronous mode
//The code below uses Timer1 as example
T1CONbits.TMR1ON = 0;
PIE1bits.TMR1IE = 0;
TMR1H = 0x00;
TMR1L = 0x00;
T1CONbits.TMR1ON = 1;
//Stop timer from incrementing
//Temporarily disable Timer1 interrupt vectoring
//Update timer value
//Turn on timer
//Now wait at least two full T1CKI periods + 2TCY before re-enabling Timer1 interrupts.
//Depending upon clock edge timing relative to TMR1H/TMR1L firmware write operation,
//a spurious TMR1IF flag event may sometimes assert. If this happens, to suppress
//the actual interrupt vectoring, the TMR1IE bit should be kept clear until
//after the "window of opportunity" (for the spurious interrupt flag event has passed).
//After the window is passed, no further spurious interrupts occur, at least
//until the next timer write (or mode switch/enable event).
while(TMR1L < 0x02);
NOP();
NOP();
PIR1bits.TMR1IF = 0;
PIE1bits.TMR1IE = 1;
//Wait for 2 timer increments more than the Updated Timer
//value (indicating more than 2 full T1CKI clock periods elapsed)
//Wait two more instruction cycles
//Clear TMR1IF flag, in case it was spuriously set
//Now re-enable interrupt vectoring for timer 1
Affected Silicon Revisions
B2
B3
X
X
DS80000285D-page 4
 2006-2014 Microchip Technology Inc.
PIC18F2221/2321/4221/4321
1. Module: Configuration Bits and Device IDs
Data Sheet Clarifications
Table 23-1: Configuration Bits and Device IDs,
on Page 253, has been changed to designate
Bit 3 of CONFIG4L as unimplemented.
The following typographic corrections and clarifications
are to be noted for the latest version of the device data
sheet (DS39689F):
Note:
The table is changed as shown.
Corrections are shown in bold. Where
possible, the original bold text formatting
has been removed for clarity.
TABLE 23-1:
CONFIGURATION BITS AND DEVICE IDs
File Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
300001h
CONFIG1H
IESO
FCMEN
—
—
FOSC3
FOSC2
300002h
CONFIG2L
—
—
—
BORV1
BORV0
BOREN1
300003h
CONFIG2H
—
—
—
Bit 1
Bit 0
FOSC1
FOSC0
BOREN0 PWRTEN
WDTPS3 WDTPS2 WDTPS1 WDTPS0
LPT1OSC PBADEN
Default/
Unprogrammed
Value
00-- 0111
---1 1111
WDTEN
---1 1111
CCP2MX
1--- -011
300005h
CONFIG3H
MCLRE
—
—
—
—
300006h
CONFIG4L
DEBUG
XINST
BBSIZ1
BBSIZ0
—
LVP
—
STVREN
1000 -1-1
300008h
CONFIG5L
—
—
—
—
—
—
CP1
CP0
---- --11
11-- ----
300009h
CONFIG5H
CPD
CPB
—
—
—
—
—
—
30000Ah
CONFIG6L
—
—
—
—
—
—
WRT1
WRT0
---- --11
30000Bh
CONFIG6H
WRTD
WRTB
WRTC
—
—
—
—
—
111- ----
30000Ch
CONFIG7L
—
—
—
—
—
—
EBTR1
EBTR0
---- --11
30000Dh
CONFIG7H
-1-- ----
3FFFFEh DEVID1(1)
(1)
—
EBTRB
—
—
—
—
—
—
DEV2
DEV1
DEV0
REV4
REV3
REV2
REV1
REV0
xxxx xxxx(2)
DEV10
DEV9
DEV8
DEV7
DEV6
DEV5
DEV4
DEV3
0000 1100
3FFFFFh
DEVID2
Legend:
x = unknown, u = unchanged, - = unimplemented, q = value depends on condition.
Shaded cells are unimplemented, read as ‘0’.
Unimplemented in PIC18F2221/4221 devices; maintain these bits set.
See Register 23-14 for DEVID1 values. DEVID registers are read-only and cannot be programmed by the user.
Note 1:
2:
 2006-2014 Microchip Technology Inc.
DS80000285D-page 5
PIC18F2221/2321/4221/4321
2. Module: CONFIG4L Register
Register 23-5 CONFIG4L: Configuration Register 4 Low (Byte Address 300006h), on Page 258,
has been changed to designate Bit 3 of
CONFIG4L as unimplemented.
The register is changed as shown.
REGISTER 23-5:
CONFIG4L: CONFIGURATION REGISTER 4 LOW (BYTE ADDRESS 300006h)
R/P-1
R/P-0
U-0
U-0
U-0
R/P-1
U-0
R/P-1
DEBUG
XINST
BBSIZ1
BBSIZ0
—
LVP
—
STVREN
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
U = Unimplemented bit, read as ‘0’
-n = Value at POR
‘1’ = Bit is set
‘0’ = Bit is cleared
x = Bit is unknown
bit 7
DEBUG: Background Debugger Enable bit
1 = Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
0 = Background debugger enabled, RB6 and RB7 are dedicated to In-Circuit Debug
bit 6
XINST: Extended Instruction Set Enable bit
1 = Instruction set extension and Indexed Addressing mode enabled
0 = Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
bit 5-4
BBSIZ<1:0>: Boot Block Size Select bits
Feature2 Devices:
1x = 1024 Words
01 = 512 Words
00 = 256 Words
Feature1 Devices:
1x = 512 Words
x1 = 512 Words
00 = 256 Words
bit 3
Unimplemented: Read as ‘0’
bit 2
LVP: Single-Supply ICSP™ Enable bit
1 = Single-Supply ICSP enabled
0 = Single-Supply ICSP disabled
bit 1
Unimplemented: Read as ‘0’
bit 0
STVREN: Stack Full/Underflow Reset Enable bit
1 = Stack full/underflow will cause Reset
0 = Stack full/underflow will not cause Reset
DS80000285D-page 6
 2006-2014 Microchip Technology Inc.
PIC18F2221/2321/4221/4321
APPENDIX A:
DOCUMENT
REVISION HISTORY
Rev A Document (7/2006)
First revision of this document. Silicon issue 1 (MSSP).
Rev B Document (6/2007)
Added silicon
Converter).
issue
2 (10-Bit
Analog-to-Digital
Rev C Document (5/2010)
Converted existing silicon errata and data sheet errata
documents to new, combined format. Removed
issue 1 (MSSP), making former issue 2 (10-Bit A/D)
issue 1. Added silicon issue 2 (MSSP) and removed
data sheet clarifications 1-3 and 6-14.
This document replaces these errata documents:
• DS80285B, “PIC18F2221/2321/4221/4321
Rev. B2 Silicon Errata” – DS number assumed by
this errata
• DS80310G, “PIC18F2221/2321/4221/4321 Data
Sheet Errata” – Document retired
Rev D Document (7/2014)
Updated errata to new format; Added MPLAB X IDE;
Added Module 3, Timer1/3, to Silicon Errata Issues
section.
 2006-2014 Microchip Technology Inc.
DS80000285D-page 7
Note the following details of the code protection feature on Microchip devices:
•
Microchip products meet the specification contained in their particular Microchip Data Sheet.
•
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
•
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•
Microchip is willing to work with the customer who is concerned about the integrity of their code.
•
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WHETHER EXPRESS OR
IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION,
QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability
arising from this information and its use. Use of Microchip
devices in life support and/or safety applications is entirely at
the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims,
suits, or expenses resulting from such use. No licenses are
conveyed, implicitly or otherwise, under any Microchip
intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC,
FlashFlex, flexPWR, JukeBlox, KEELOQ, KEELOQ logo, Kleer,
LANCheck, MediaLB, MOST, MOST logo, MPLAB,
OptoLyzer, PIC, PICSTART, PIC32 logo, RightTouch, SpyNIC,
SST, SST Logo, SuperFlash and UNI/O are registered
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
The Embedded Control Solutions Company and mTouch are
registered trademarks of Microchip Technology Incorporated
in the U.S.A.
Analog-for-the-Digital Age, BodyCom, chipKIT, chipKIT logo,
CodeGuard, dsPICDEM, dsPICDEM.net, ECAN, In-Circuit
Serial Programming, ICSP, Inter-Chip Connectivity, KleerNet,
KleerNet logo, MiWi, MPASM, MPF, MPLAB Certified logo,
MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code
Generation, PICDEM, PICDEM.net, PICkit, PICtail,
RightTouch logo, REAL ICE, SQI, Serial Quad I/O, Total
Endurance, TSHARC, USBCheck, VariSense, ViewSpan,
WiperLock, Wireless DNA, and ZENA are trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
Silicon Storage Technology is a registered trademark of
Microchip Technology Inc. in other countries.
GestIC is a registered trademarks of Microchip Technology
Germany II GmbH & Co. KG, a subsidiary of Microchip
Technology Inc., in other countries.
All other trademarks mentioned herein are property of their
respective companies.
© 2006-2014, Microchip Technology Incorporated, Printed in
the U.S.A., All Rights Reserved.
ISBN: 978-1-63276-446-1
QUALITY MANAGEMENT SYSTEM
CERTIFIED BY DNV
== ISO/TS 16949 ==
DS80000285D-page 8
Microchip received ISO/TS-16949:2009 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
 2006-2014 Microchip Technology Inc.
Worldwide Sales and Service
AMERICAS
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://www.microchip.com/
support
Web Address:
www.microchip.com
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2943-5100
Fax: 852-2401-3431
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
China - Beijing
Tel: 86-10-8569-7000
Fax: 86-10-8528-2104
Austin, TX
Tel: 512-257-3370
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Canada - Toronto
Tel: 905-673-0699
Fax: 905-673-6509
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
China - Hangzhou
Tel: 86-571-8792-8115
Fax: 86-571-8792-8116
China - Hong Kong SAR
Tel: 852-2943-5100
Fax: 852-2401-3431
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8864-2200
Fax: 86-755-8203-1760
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
India - Pune
Tel: 91-20-3019-1500
Japan - Osaka
Tel: 81-6-6152-7160
Fax: 81-6-6152-9310
Japan - Tokyo
Tel: 81-3-6880- 3770
Fax: 81-3-6880-3771
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany - Dusseldorf
Tel: 49-2129-3766400
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Germany - Pforzheim
Tel: 49-7231-424750
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italy - Venice
Tel: 39-049-7625286
Malaysia - Kuala Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
Poland - Warsaw
Tel: 48-22-3325737
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Hsin Chu
Tel: 886-3-5778-366
Fax: 886-3-5770-955
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden - Stockholm
Tel: 46-8-5090-4654
UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
Taiwan - Kaohsiung
Tel: 886-7-213-7830
Taiwan - Taipei
Tel: 886-2-2508-8600
Fax: 886-2-2508-0102
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
 2006-2014 Microchip Technology Inc.
03/25/14
DS80000285D-page 9