© 2005 Microchip Technology Inc. DS80180C-page 1
PIC18F2331/2431/4331/4431
The PIC18F2331/2431/4331/4431 parts you have
received conform functionally to the Device Data Sheet
(DS39616), except for the anomalies described below.
Any Data Sheet Clarification issues related to the
PIC18F2331/2431/4331/4431 will be reported in a
separate Data Sheet errata. Please check the
Microchip web site for any existing issues.
All the issues listed here will be addressed in future
revisions of the PIC18F2331/2431/4331/4431 silicon.
The following silicon errata apply only to
PIC18F2331/2431/4331/4431 devices with these
Device/Revision IDs:
1. Module: Timer5
In Debug mode (using the MPLAB® ICD 2), if
“Freeze on Halt” is selected (an option in the
MPLAB ICD 2 settings under the Program tab),
TMR5L will not increment properly when single
stepping if the prescaler is not set to 1:1.
Work around
None. Use in Debug mode only with the 1:1
prescaler.
Date Codes that pertain to this issue:
All engineering and production devices.
2. Module: In-Circuit Serial Programming™
(ICSP™)
A small number of parts may be dif ficult to program
succes sfully at cert ain voltage s using the MPLAB®
ICD 2.
Work around
If such a part is encountered, attempt to program
several times. If unsuccessful, adjust VDD up or
down slightly, within the operating range of the
device . If thi s is n ot pos sible , then try ano the r pa rt.
Date Codes that pertain to this issue:
All engineering and production devices.
3. Module: PCPWM
When the PCPWM is operated in Complementary
mode with a non-zero dead-time value and the
duty cy cle re sults in an act ive-lo w time of less tha n
1T
CY, the PWM ge nerator will miss th e rising edge
for a new PWM period and the PWM output will
alternate between one PWM period high and one
PWM period low.
Work around
When in Complementary mode with a non-zero
dead-time value, ensure that the active-low time
will always be greater than 1TCY. In other words,
when dead-time is not equal to zero, ensure that:
PDCH:PDCL < (4 * PTPERH:PTPERL)
or
PDCH:PDCL > (4 * (PTPERH:PTPERL + 1))
Date Codes that pertain to this issue:
All engineering and production devices.
Part Number Device ID Revision ID
PIC18F2331 00 1000 111 00001
PIC18F2431 00 1000 110 00001
PIC18F4331 00 1000 101 00001
PIC18F4431 00 1000 100 00001
The Devic e IDs (DEVID1 an d DEVID2 ) are located at
addresses 3FFFFEh:3FFFFFh in the device’s
configuration space. They are shown in hexadecimal
in the format “DEVID2 DEVID1”.
PIC18F2331/2431/4331/4431 Rev. A2 Silicon Errata
PIC18F2331/2431/4331/4431
DS80180C-page 2 © 2005 Microchip Technology Inc.
4. Module: PCPWM
When the PCPWM is operated in Center-Aligned
mode with double updates and the duty cycle
alternates on each update between a zero and
non-zero value, an incorrect waveform is gener-
ated (the PWM output will alternate between one
PWM period high and one PWM period low). If in
Complementary mode, dead time will not be
inserted properly.
Work around
Do not use zero duty c ycle when in Center-Aligned
mode with do uble updates. Instead of zero, set the
duty cycle to a small, non-zero value.
Date Codes that pertain to this issue:
All engineering and production devices.
5. Module: PCPWM
When the PCPWM is operated in Center-Aligned
mode with double updates and the duty cycle
alte rnates on ea ch up dat e be tween a gr eat er tha n
100% duty cycle and a non-zero value, an incorrect
waveform is generated.
Work around
Do not use equal to or greater than 100% duty cycle
when in Center-Aligned m ode with double updates.
Ensure that the maximum duty cycle value is
always smaller than or equal to the PWM period,
i.e., PDCH:PDCL (4 * (PTPERH:PTPERL)).
Date Codes that pertain to this issue:
All engineering and production devices.
6. Module: PCPWM
If dead-time insertion is enabled and it is a non-
zero value, glitches in the PWM output will occur
under the following conditions:
1. When the PWM Timer is stopped by clearing
the PTEN bit.
2. When the duty cycle is changed to zero.
Work around
1. Before disabling the PWM timer, ensure that
PORTB is set up to maintain a safe state of
external hardware and that TRISB is set up to
define the pins as outputs.
2. Do not use zero duty cycle when dead-time
insertion is enabled. Instead of zero, set the
duty cycle to a small, non-zero value (such as
1’).
Date Codes that pertain to this issue:
All engineering and production devices.
7. Module: PCPWM
The PTMRH register will read as ‘00’ or the last
value written to it, even though the upper four bits
of the PWM timer may be different. Writing to
PTMRH will effect the upper four bits of the PWM
timer when PTMRL is subsequently written.
Although the PWM timer operates correctly, the
double-buffer circuit does not transfer data to the
PTMRH register from the upper four bits of the
PWM timer.
Work around
PWM operation is not affected. Do not attempt to
read PTMRH.
Date Codes that pertain to this issue:
All engineering and production devices.
8. Module: PCPWM
In Complementary mode with dead-time insertion,
when using OVDCOND and OVDCONS to
override the PWM outputs, dead time is not
inserted corre ctl y whe n the de ad-time pres ca le r is
FOSC/4, FOSC/8 or FOSC/16.
Work around
None. Us e dead-ti me pres caler of FOSC/2 in th ese
circumstances.
Date Codes that pertain to this issue:
All engineering and production devices.
9. Module: Data EEPROM
When writi ng to the dat a EEPROM, the cont ents of
the data EEPROM memory may not be written as
expected if the internal voltage reference is not
enabled.
Work around
Either of two work arounds can be used:
1. Before beginning any writes to the data
EEPROM, enable the LVD (any voltage) and
wait for the internal voltage reference to
become st ab le. LVD interrupt re qu ests may be
ignored. Once the LVD voltage reference is
stable, perform all EEPROM writes normally.
When writes have been completed, the LVD
may be disabled.
2. Configure the BOR as enabled (any voltage).
Select a threshold below VDD to allow normal
operation. If VDD is below the BOR threshold,
the device will be held in Brown-out Reset.
© 2005 Microchip Technology Inc. DS80180C-page 3
PIC18F2331/2431/4331/4431
10. Module: Program Memory
When wri ting to the program memory, the c ontents
of the program memory may not be written as
expected if the internal voltage reference is not
enabled.
Work around
Either of two workarounds can be used:
1. Before beginning any writes to the program
memory, enable the LVD (any voltage) and
wait for the internal voltage reference to
become st able. LVD interrupt request s may be
ignored. Once the LVD voltage reference is
stab le, perform a ll program mem ory writes n or-
mally. When writes have been completed, the
LVD may be disabled.
2. Configure the BOR as enabled (any voltage).
Select a threshold below VDD to allow normal
operation. If VDD is below the BOR threshold,
the device will be held in BOR Reset.
Date Codes that pertain to this issue:
All engineering and production devices.
11. Module: Cor e (DAW Instruction)
The DAW instruction may improperly clear the
Carry bit (Status<0>) when executed.
Work around
Test the Carry bit state before executing the DAW
instruction. If the Carry bit is set, increment the
nex t highe r by te to be adde d, usi ng an inst ruct ion
such as INCFSZ (this instruction does not affect
any Status flags and will not overflow a BCD
nibble). After the DAW instruction has been
executed, process the Carry bit normally (see
Example 1).
EXAMP LE 1: PROCESSING T HE CARRY
BIT DURING BCD A DDITIONS
Date Codes that pertain to this issue:
All engineering and production devices.
12. Module: EUSART
Bit SENDB in the TXSTA register is not automati-
cally cleared by hardware upon completion of
transmission of a Sync Break.
Work around
Check the TRMT bit in TXSTA. If the TRMT bit is
set, Break transmission is said to be complete.
13. Module: EUSART
If the transm itter is left enab led while the modu le is
performing an auto-baud operation, an arbitrary
data byte may get transmitted.
Work around
Clear TXEN (TXSTA<5>) before any auto-baud
operation and set it after auto-baud is complete.
Enable TXEN only when a data byte is to be
transmitted . Care m ust be t aken to ensu re that th e
TX pin is pulled high, either through an external
resistor, or by making the TX pin an output and
writing1’ to it to not disturb the transmit line.
14. Module: EUSART
This module may perform incorrect auto-baud
calculation if the ABDEN (BAUDCON<0>) bit was
set while the receive pin was at a low level.
Work around
Wait for the RX pin to go high and then set the
ABDEN bit.
15. Module: EUSART
In Asynchronous Receiver mode, the EUSART
does no t load the SPBRGH val ue afte r com pletion
of auto-baud.
Work around
Do not enable the BRG16 (BAUDCON<3>) bit.
If the BRG16 is in use, ensure that the auto-baud
SPBRG value does not exceed the 8-bit value.
16. Module: EUSART
The CREN (RCSTA<4>) bit is cleared after every
auto-baud operation.
Work around
Upon completion of auto-baud, manually set the
CREN bit.
MOVLW 0x80 ; .80 (BCD)
ADDLW 0x80 ; .80 (BCD)
BTFSC STATUS, C ; test C
INCFSZ byte2 ; inc next higher LSB
DAW
BTFSC STATUS, C ; test C
INCFSZ byte2 ; inc next higher LSB
This is repeated for each DAW instruction.
PIC18F2331/2431/4331/4431
DS80180C-page 4 © 2005 Microchip Technology Inc.
17. Module: EUSART
Writing to the USART/EUSART TXREG register
faster than the baud rate in Synchronous mode
will overwrite the previous value instead of
double-bufferi ng as in Asynchronous mode.
Work around
Load the firs t cha rac ter int o TXR EG an d then wa it
for a TX interrupt, or check the TXIF bit before
writing each additional character to TXREG.
18. Module: EUSART
The EUSART ca nnot receive asynchronous dat a at
the four fastest baud rates (BRGH = 1, BRG16 = 1
and SPBRG < 4).
Work around
Use a slower baud rate or a faster system clock
speed.
19. Module: HSADC
A ΔIAD (parameter D026) of greater than 300 μA
(for VDD = 3V) is observed when the device is
put into Sleep mode with the HSADC enabled
(ADON = 1) without setting the GO/DONE bit so
that at least one conversio n is p erformed.
Observed ΔIAD will increase in proportion to VDD.
Work around
If no conv ers io n wil l be don e whil e in Sleep m od e,
disabl e th e H SADC m odu le by cle ari ng the ADON
bit before entering Sleep mode.
If power consumption is an issue for the applica-
tion, do not put the part into Sleep mode with the
HSADC enabled if no conversion is to be
performed.
© 2005 Microchip Technology Inc. DS80180C-page 5
PIC18F2331/2431/4331/4431
REVISION HISTORY
Rev A Document (1/2004)
First revi sion of this doc ument. Silico n issues 1 (T imer5),
2 (In-Circuit Serial Programming), 3-8 (PCPWM),
9 (Data EEPROM), 10 (Program Memory), 11 (Core –
DAW In struction) and 12-18 (EUSART) and Data Sheet
Clarification issue 1 (P ower-on Reset).
Rev B Document (2/2004)
Modifications to the Work Around for Silicon issue 3
(PCPWM).
Rev C Document (05/2005)
Added silicon issue 19 (HSADC). All Data Sheet Clarifi-
cation issu es w ere r emov ed an d pl aced into a separ ate
Data Sh ee t Err at a .
PIC18F2331/2431/4331/4431
DS80180C-page 6 © 2005 Microchip Technology Inc.
NOTES:
© 2005 Microchip Technology Inc. DS80180C-page 7
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 WAR-
RANTIES OF ANY KIN D 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. U se of Microc hip’s products as critical com ponents in
life support systems is not authorized except with express
written approval by Microchip. No licenses are conveyed,
implicitly or otherwise, under any Microchip intellectual property
rights.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICST ART ,
PRO MATE, PowerSmart, rfPIC, and SmartShunt are
registered trademarks of Microchip Technology Incorporated
in the U.S.A. and other countries.
AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB,
PICMASTER, SEEVAL, SmartSensor and The Embedded
Control Solutions Company are registered trademarks of
Microchip Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, dsPICDEM,
dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR,
FanSense, FlexROM, fuzzyLAB, In-Circuit Serial
Programming, ICSP, ICEPIC, Linear Active Thermistor,
MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICD EM,
PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo,
PowerMate, Powe rTool, rfLAB, rfPICDEM, Select Mode,
Smart Serial, SmartTel, Total Endurance and WiperLock 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.
All other trademarks mentioned herein are property of their
respective companies.
© 2005, Microchip Technology Inc orporated, Pr inted in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
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 it s family of products is one of the most secure families of its kind on the market t oday, 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 c onstantly evolving. We a t Microchip are commit ted to continuously improving the code protect ion f eatures of our
products. Attempts to break Microchip’ s code protection f eature may be a violati on of t he Digit al Millennium Copyright Act. If such act s
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Microchip received ISO/TS-16949:2002 quality system certification for
its worldwide headquarters, design and wafer fabrication facilities in
Chandler and Tempe, Arizona and Mountain View, California in
October 2003. The Company’s quality system processes and
procedures are for its PICmicro® 8-bit MCUs, KEELOQ® code hopping
devices, Serial EEPROMs, micro peripherals, nonvolat ile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
DS80180C-page 8 © 2005 Microchip Technology Inc.
AMERICAS
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://support.microchip.com
Web Address:
www.microchip.com
Atlanta
Alpharetta, GA
Tel: 770-640-0034
Fax: 770-640-0307
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasc a , IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los A n ge les
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
San Jose
Mountain View, CA
Tel: 650-215-1444
Fax: 650-961-0286
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
ASIA/PACIFIC
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8676-6200
Fax: 86-28-8676-6599
China - Fuzhou
Tel: 86-591-8750-3506
Fax: 86-591-8750-3521
China - Hong Kong SAR
Tel: 852-2401-1200
Fax: 852-2401-3431
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-8203-2660
Fax: 86-755-8203-1760
China - Shunde
Tel: 86-757-2839-5507
Fax: 86-757-2839-5571
China - Qingdao
Tel: 86-532-502-7355
Fax: 86-532-502-7205
ASIA/PACIFIC
India - Bangalore
Tel: 91-80-2229-0061
Fax: 91-80-2229-0062
India - New Delhi
Tel: 91-11-5160-8631
Fax: 91-11-5160-8632
Japan - Kanagawa
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
Malaysia - Penang
Tel:011-604-646-8870
Fax:011-604-646-5086
Philippines - Manila
Tel: 011-632-634-9065
Fax: 011-632-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Kaohsiung
Tel: 886-7-536-4818
Fax: 886-7-536-4803
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
Taiwan - Hsinchu
Tel: 886-3-572-9526
Fax: 886-3-572-6459
EUROPE
Austria - Weis
Tel: 43-7242-2244-399
Fax: 43-7242-2244-393
Denmark - Ballerup
Tel: 45-4450-2828
Fax: 45-4485-2829
France - Massy
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany - Ismaning
Tel: 49-89-627-144-0
Fax: 49-89-627-14 4-44
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
England - Berkshire
Tel: 44-118-921-5869
Fax: 44-118-921- 5820
WORLDWIDE SALES AND SERVICE
04/20/05