EPROM Memory Programming Specifications - Microchip

28

Transcript of EPROM Memory Programming Specifications - Microchip

Page 1: EPROM Memory Programming Specifications - Microchip

PIC17C7XXEPROM Memory Programming Specifications

This document includes the programming specifications for the following devices:

• PIC17C752

• PIC17C756• PIC17C756A• PIC17C762

• PIC17C766

1.0 PROGRAMMING THE PIC17C7XX

The PIC17C7XX is programmed using the TABLWTinstruction. The table pointer points to the internalEPROM location start. Therefore, a user can programan EPROM location while executing code (even frominternal EPROM). This programming specificationapplies to PIC17C7XX devices in all packages.

For the convenience of a programmer developer, a“program & verify” routine is provided in the on-chip testprogram memory space. The program resides in ROMand not EPROM, therefore, it is not erasable. The “pro-gram/verify” routine allows the user to load anyaddress, program a location, verify a location or incre-ment to the next location. It allows variable program-ming pulse width.

The PIC17C7XX group of the High End Family hasadded a feature that allows the serial programming ofthe device. This is very useful in applications where it isdesirable to program the device after it has been man-ufactured into the users system (In-circuit Serial Pro-gramming (ISP)). This allows the product to be shippedwith the most current version of the firmware, since themicrocontroller can be programmed just before finaltest as opposed to before board manufacture. Devicesmay be serialized to make the product unique, “special”variants of the product may be offered, and codeupdates are possible. This allows for increased designflexibility.

1.1 Hardware Requirements

Since the PIC17C7XX under programming is actuallyexecuting code from “boot ROM,” a clock must be pro-vided to the part. Furthermore, the PIC17C7XX underprogramming may have any oscillator configuration(EC, XT, LF or RC). Therefore, the external clock drivermust be able to overdrive pulldown in RC mode. CMOSdrivers are required since the OSC1 input has aSchmitt trigger input with levels (typically) of 0.2 VDD

and 0.8 VDD. See the PIC17C7XX data sheet(DS30289) for exact specifications.

The PIC17C7XX requires two programmable powersupplies, one for VDD (3.0V to 5.5V recommended) andone for VPP (13 ± 0.25V). Both supplies should have aminimum resolution of 0.25V.

The PIC17C7XX uses an intelligent algorithm. Thealgorithm calls for program verification at VDDmin aswell as VDDmax. Verification at VDDmin guaranteesgood “erase margin”. Verification at VDDmax guaran-tees good “program margin.” Three times (3X)additional pulses will increase program margin beyondVDDmax and insure safe operation in user system.

The actual programming must be done with VDD in theVDDP range (Parameter PD1).

VDDP = VDD range required during programming.

VDDmin. = minimum operating VDD spec. for the part.

VDDmax. = maximum operating VCC spec for the part.

Programmers must verify the PIC17C7XX at its speci-fied VDDmax and VDDmin levels. Since Microchip mayintroduce future versions of the PIC17C7XX with abroader VDD range, it is best that these levels are userselectable (defaults are ok). Blank checks should beperformed at VDDMIN.

Note: Any programmer not meeting theserequirements may only be classified as“prototype” or “development” programmerbut not a “production” quality programmer.

1998 Microchip Technology Inc. DS30274B-page 1

Page 2: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 1-1: PIC17C752/756/756A/762/766 LCC

TABLE 1-1: PIN DESCRIPTIONS (DURING PROGRAMMING IN PARALLEL MODE): PIC17C7XX

Pin Name

During Programming

Pin Name Pin Type Pin Description

RA4:RA0 RA4:RA0 I Necessary in programming modeTEST TEST I Must be set to “high” to enter programming mode

PORTB<7:0> DAD15:DAD8 I/O Address & data: high bytePORTC<7:0> DAD7:DAD0 I/O Address & data: low byte

MCLR/VPP VPP P Programming Power

VDD VDD P Power SupplyVSS VSS P Ground

Legend: I = Input, O = Output, P = Power

1011121314151617181920212223242526

6059

585756555453525150494847464544

9 8 7 6 5 4 3 2 1 68 67 66 65 64 63 62 61

2728 29 30 3132 33 34 35 36 37 38 39 40 41 42 43

Top View

RA0/INTRB0/CAP1RB1/CAP2RB3/PWM2RB4/TCLK12RB5/TCLK3RB2/PWM1VSS

NCOSC2/CLKOUTOSC1/CLKINVDD

RB7/SDO

RA3/SDI/SDARA2/SS/SCLRA1/T0CKI

RD1/AD9RD0/AD8RE0/ALERE1/OERE2/WR

RE3/CAP4MCLR/VPP

TEST

VSS

VDD

RF7/AN11RF6/AN10RF5/AN9RF4/AN8RF3/AN7RF2/AN6

RD

2/A

D10

RD

3/A

D11

RD

4/A

D12

RD

5/A

D13

RD

6/A

D14

RD

7/A

D15

RC

0/A

D0

VD

D

NC

VS

S

RC

1/A

D1

RC

2/A

D2

RC

3/A

D3

RC

4/A

D4

RC

5/A

D5

RC

6/A

D6

RC

7/A

D7

RF

1/A

N5

RF

0/A

N4

AV

DD

AV

SS

RG

3/A

N0/

VR

EF+

RG

2/A

N1

/VR

EF-

RG

1/A

N2

RG

0/A

N3

NC

VS

S

VD

D

RG

4/C

AP

3R

G5/

PW

M3

RG

7/T

X2/

CK

2R

G6

/RX

2/D

T2

RA

4/R

X1/

DT

1R

A5/

TX

1/C

K1

NC

RB6/SCK

RF

1/A

N5

RF

0/A

N4

AV

DD

AV

SS

RG

3/A

N0/

VR

EF+

RG

2/A

N1/

VR

EF-

RG

1/A

N2

RG

0/A

N3

NC

VS

S

VD

D

RG

4/C

AP

3R

G5/

PW

M3

RG

7/T

X2/

CK

2R

G6

/RX

2/D

T2

RA

4/R

X1/

DT

1R

A5/

TX

1/C

K1

RJ0

RJ1

RH

6/A

N14

RH

7/A

N15

RD1/AD9RD0/AD8RE0/ALERE1/OERE2/WR

RE3/CAP4MCLR/VPP

TEST

VSS

VDDRF7/AN11RF6/AN10RF5/AN9RF4/AN8RF3/AN7RF2/AN6

NC

RH2RH3

RH4/AN12RH5/AN13

1011121314151617181920212223242526 60

595857565554

53525150494847464544

9 8 7 6 5 4 3 2 1

272829303132

3334353637383940414243

Top View

RA0/INTRB0/CAP1RB1/CAP2RB3/PWM2RB4/TCLK12RB5/TCLK3RB2/PWM1VSS

NCOSC2/CLKOUTOSC1/CLKINVDD

RB7/SDO

RA3/SDI/SDARA2/SS/SCLRA1/T0CKI

RD

2/A

D10

RD

3/A

D11

RD

4/A

D12

RD

5/A

D13

RD

6/A

D14

RD

7/A

D15

RC

0/A

D0

VD

D

NC

VS

S

RC

1/A

D1

RC

2/A

D2

RC

3/A

D3

RC

4/A

D4

RC

5/A

D5

RC

6/A

D6

RC

7/A

D7

RB6/SCK

RJ5RJ4

RJ7

RJ6

RJ3RJ2

RH

1R

H0

67666564636261

68

7473727170

767978778083828184 75

69

PIC17C762/766

PIC17C752/756/756A

DS30274B-page 2 1998 Microchip Technology Inc.

Page 3: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

2.0 PARALLEL MODE PROGRAM ENTRY

To execute the programming routine, the user must holdTEST pin high, RA2, RA3 must be low and RA4 mustbe high (after power-up) while keeping MCLR low andthen raise MCLR pin from VIL to VDD or VPP. This willforce FFE0h in the program counter and execution willbegin at that location (the beginning of the boot code)following reset.

All unused pins during programming are in hi-imped-ance state.

PORTB (RB pins) has internal weak pull-ups which areactive during the programming mode. When the TESTpin is high, the Power-up timer (PWRT) and OscillatorStart-up Timers (OST) are disabled.

2.1 Program/Verify Mode

The program/verify mode is intended for full-featureprogrammers. This mode offers the following capabili-ties:

a) Load any arbitrary 16-bit address to start pro-gram and/or verify at that location.

b) Increment address to program/verify the nextlocation.

c) Allows arbitrary length programming pulse width.

d) Following a “verify” allows option to program thesame location or increment and verify the nextlocation.

e) Following a “program” allows options to programthe same location again, verify the same loca-tion or to increment and verify the next location.

FIGURE 2-1: PROGRAMMING/VERIFY STATE DIAGRAM

Note: The Oscillator must not have 72 OSCclocks while the device MCLR is betweenVIL and VIHH.

ResetJump toProgramRoutine

LoadAddress

Reset

PulseRA1

PulseRA1

Pulse RA1(Raise RA1after RA0↓)

RA0↑

ProgramRaise RA1before RA0↓

Pulse RA0(RA0 pulsewidth isprogramming time)

IncrementAddress

PulseRA1

1998 Microchip Technology Inc. DS30274B-page 3

Page 4: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

2.1.1 LOADING NEW ADDRESS

The program allows new address to be loaded right outof reset. A 16-bit address is presented on ports B (highbyte) and C (low byte) and the RA1 is pulsed (0 → 1,then 1 → 0). The address is latched on the rising edgeof RA1. See timing diagrams for details. After loadingan address, the program automatically goes into a “ver-ify cycle.” To load a new address at any time, thePIC17C7XX must be reset and the programming modere-entered.

2.1.2 VERIFY (OR READ) MODE

“Verify mode” can be entered from “Load address”mode, “program mode” or “verify mode.” In verify modepulsing RA1 will turn on PORTB and PORTC outputdrivers and output the 16-bit value from the currentlocation. Pulsing RA1 again will increment locationcount and be ready for the next verify cycle. PulsingRA0 will begin a program cycle.

2.1.3 PROGRAM CYCLE

“Program cycle” is entered from “verify cycle” or pro-gram cycle” itself. After a verify, pulsing RA0 will begina program cycle. 16-bit data must be presented onPORTB (high byte) and PORTC (low byte) before RA0is raised.

The data is sampled 3 TCY cycles after the rising edgeof RA0. Programming continues for the duration of RA0pulse.

At the end of programming, the user can choose one ofthree different routes. If RA1 is kept low and RA0 ispulsed again, the same location will be programmedagain. This is useful for applying over programmingpulses. If RA1 is raised before RA0 falling edge, then averify cycle is started without address increment. Rais-ing RA1 after RA0 goes low will increment address andbegin verify cycle on the next address.

FIGURE 2-2: PIC17C7XX PROGRAM MEMORY MAP

FOSC0

FOSC1

WDTPS0

WDTPS1

PM0

PM1

PM2

Reserved

Reserved

Reserved

FE00h

FE01h

FE02h

FE03h

FE04h

FE05h

FE06h

FE07h

FE08h

FE09h

FE0Fh

Reserved

BODENFE0Eh

On-chipProgramEPROM

ConfigurationWord

0000h

1FFFh

FE00hFE0Fh

FFFFh

On-chipProgramEPROM

ConfigurationWord

On-chipProgramEPROM

ConfigurationWord

On-chipProgramEPROM

ConfigurationWord

PIC17C752 PIC17C756/756A PIC17C762 PIC17C766

3FFFh

DS30274B-page 4 1998 Microchip Technology Inc.

Page 5: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

3.0 PARALLEL MODE PROGRAMMING SPECIFICATIONS

FIGURE 3-1: PROGRAMMING ROUTINE FLOWCHART

RESET

RA2 = 0RA3 = 0RA4 = 1

MCLR = 1Bport = 0xE1(hold for 10 TCY)

Present address on ports RB, RChold TCY afterRA1 changesto 1

RA1 = 0

RA1 = 1

Stop driving address on ports

RA1 = 0

RA1 = 1

B port = MSB of Data

C port = LSB of Data

Read MSB of datafrom portB.

Read LSB of datafrom portC

Enable RA0 to endprogram cycle

Program16-bitdata

RA0 = 0

RA1 = 0

Bport = xxx

Bport = xxx

RA1 = 0

RA1 = 1

RA1 = 0

B and Cports not

driven by part

If programming is desiredforce portB = MSB of dataforce portC = LSB of data(hold 10 Tcy after RA0is raised)

RA0 = 1

RA1 = 1

IncrementAddress

YES

YES

YES

YES

NO

NO

NO

NO

YES

YES

YES

NO

NO

NO

NO

NO

RA0 = 1

RA1 = 1

NO

NO

YESYES

YES

YES

YES

NO

NO

- B port is forced by the part

- B port tristate, should be forced by user

Min RA + high or low = 10 TCY

1998 Microchip Technology Inc. DS30274B-page 5

Page 6: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 3-2: RECOMMENDED PROGRAMMING ALGORITHM FOR USER EPROM

Apply (3x Pulse-count)more 100 µs programming

pulses for margin(Over programming)

Start

Load new addressPulse-count = 0

Set VDD = VDDMIN

Verify blank

PulseBlank

Check?

Load new data

Set VDD to VDDP

Program using 100 µspulse increment

pulse-count

Verify locationfor correct date

Pass?

Pulse-Count>25

Location failsprogramming issue error

message “Unable to programming location”

Issue “Blank check fail”error message

Pass?

Set VDD = VDDMIN

verify location

Set VDD = VDDMIN

verify location(s)

Program error messageIssue eror message

“Fail verify @ VDDMIN/MAX”

Set VDD = VDDMIN

YES

NO

NO

YES

YES

NO

NO

YES

DS30274B-page 6 1998 Microchip Technology Inc.

Page 7: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 3-3: RECOMMENDED PROGRAMMING ALGORITHM FOR CONFIGURATION WORDS

Load new addressPulse-count = 0

Set VDD = VDDmin

Verify blank

Issue “blank check fail”

Load new data

Set VDD = VDDP

Set VDD = VDDmax

Set VDD = VDDmin Verify location for

Program using 100 µs

Location fails

Programming error:

NO

YES

NO

NO

YES

YES

Start

PassBlank

check?

pulse incrementpulse-count

Pass?

Issue error message“Fail verify @ VDDmin/max”

Verify location(s)

Pass?

NO

YES Pulsecount<100

programming, issue errormessage “Unable to

program location”

correct data

error message

Set VDD = VDDMIN

Set VDD = VDDminVerify location

1998 Microchip Technology Inc. DS30274B-page 7

Page 8: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

4.0 SERIAL MODE PROGRAM ENTRY

4.1 Hardware Requirements

Certain design criteria must be taken into account forISP. Seven pins are required for the interface. Theseare shown in Table 4-1.

4.2 Serial Program Mode Entry

To place the device into the serial programming testmode, two pins will need to be placed at VIHH. Theseare the TEST pin and the MCLR/VPP pins. Also, the fol-lowing sequence of events must occur:

1. The TEST pin is placed at VIHH. 2. The MCLR/VPP pin is placed at VIHH.

There is a setup time between step 1 and step 2 thatmust be meet (See “Electrical Specifications for SerialProgramming Mode” on page 23.)

After this sequence the Program Counter is pointing toProgram Memory Address 0xFF60. This location is inthe Boot ROM. The code initializes the USART/SCI sothat it can receive commands. For this the device mustbe clocked. The device clock source in this mode is theRA1/T0CKI pin. Once the USART/SCI has been initial-ized, commands may be received. The flow is show inthese 3 steps:

1. The device clock source starts.2. Wait 80 device clocks for Boot ROM code

to configure the USART/SCI.3. Commands may be sent now.

TABLE 4-1: ISP Interface PinsDuring Programming

Name Function Type Description

RA4/RX/DT DT I/O Serial Data

RA5/TX/CK CK I Serial Clock

RA1/T0CKI OSCI I Device Clock Source

TEST TEST I Test mode selection control input. Force to VIHH,

MCLR/VPP MCLR/VPP P Programming Power

VDD VDD P Power Supply

VSS VSS P Ground

DS30274B-page 8 1998 Microchip Technology Inc.

Page 9: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

4.3 Software Commands

This feature is similar to that of the PIC16CXXX mid-range family, but the programming commands havebeen implemented in the device Boot ROM. The BootROM is located in the program memory from 0xFF60 to0xFFFF. The ISP mode is entered when the TEST pinhas a VIHH voltage applied. Once in ISP mode, theUSART/SCI module is configured as a synchronousslave receiver, and the device waits for a command tobe received. The ISP firmware recognizes eight com-mands. These are shown in Table 4-2.

TABLE 4-2: ISP COMMANDS

4.3.1 RESET PROGRAM MEMORY POINTER

This is used to clear the address pointer to the ProgramMemory. This ensures that the pointer is at a knownstate as well as pointing to the first location in programmemory.

4.3.2 INCREMENT ADDRESS

This is used to increment the address pointer to theProgram Memory. This is used after the current locationhas been programmed (or read).

FIGURE 4-1: RESET ADDRESS POINTER COMMAND (PROGRAM/VERIFY)

FIGURE 4-2: INCREMENT ADDRESS COMMAND (PROGRAM/VERIFY)

Command Value

RESET PROGRAMMEMORY POINTER

0000 0000

LOAD DATA 0000 0010

READ DATA 0000 0100

INCREMENT ADDRSS 0000 0110

BEGIN PROGRAMMING 0000 1000

LOAD ADDRESS 0000 1010

READ ADDRESS 0000 1100

END PROGRAMMING 0000 1110

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2

0 0 0 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS6

VIHH

PS3

PS4PS5

PS1

(NEXT COMMAND)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2

0 1 1 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS6

VIHH

PS3

PS4PS5

PS1

(NEXT COMMAND)

1998 Microchip Technology Inc. DS30274B-page 9

Page 10: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

4.3.3 LOAD ADDRESS

This is used to load the address pointer to the ProgramMemory with a specific 16-bit value. This is useful whena specific range of locations are to be accessed.

4.3.4 READ ADDRESS

This is used so that the current address in the ProgramMemory pointer can be determined. This can be usedto increase the robustness of the ISP programming(ensure that the Program Memory pointers are still insync).

FIGURE 4-3: LOAD ADDRESS COMMAND

FIGURE 4-4: READ ADDRESS COMMAND

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 1 0 1 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS7

VIHH

PS3

PS4PS5

PS1

PS6

(NEXT COMMAND)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 0 1 1 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS8

VIHH

PS3

PS4PS5

RA4 = Output

PS6

PS1

PS9

(NEXT COMMAND)

DS30274B-page 10 1998 Microchip Technology Inc.

Page 11: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

4.3.5 LOAD DATA

This is used to load the 16-bit data that is to be pro-grammed into the Program Memory location. The Pro-gram Memory address may be modified after the datais loaded. This data will not be programmed until aBEGIN PROGRAMMING command is executed.

4.3.6 READ DATA

This is used to read the data in Program Memory thatis pointed to by the current address pointer. This is use-ful for doing a verify of the programming cycle and canbe used to determine the number for programmingcycles that are required for the 3X overprogramming.

FIGURE 4-5: LOAD DATA COMMAND

FIGURE 4-6: READ DATA COMMAND

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 1 0 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS7

VIHH

PS3

PS4PS5

PS1

SP6

(NEXT COMMAND)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 0 1 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS8

VIHH

PS3

PS4PS5

RA4 = Output

PS6

PS1

PS9

(NEXT COMMAND)

1998 Microchip Technology Inc. DS30274B-page 11

Page 12: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

4.3.7 BEGIN PROGRAMMING

This is used to program the current 16-bit data (lastdata sent with LOAD DATA Command) into the Pro-gram Memory at the address specified by the currentaddress pointer. The programming cycle time is speci-fied by specification P10. After this time has elapsed,any command must be sent, which wakes the proces-sor from the Long Write cycle. This command will bethe next executed command.

4.3.8 3X OVERPROGRAMMING

Once a location has been both programmed and veri-fied over a range of voltages, 3X overprogrammingshould be applied. In other words, apply three times thenumber of programming pulses that were required toprogram a location in memory, to ensure a solid pro-gramming margin.

This means that every location will be programmed aminimum of 4 times (1 + 3X overprogramming).

FIGURE 4-7: BEGIN PROGRAMMING COMMAND (PROGRAM)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2

0 0 0 1 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS10

VIHH

PS3

PS4PS5

PS1

(NEXT COMMAND)

7 8

DS30274B-page 12 1998 Microchip Technology Inc.

Page 13: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 4-8: RECOMMENDED PROGRAMMING FLOWCHART

ISP CommandINCREMENT ADDRESS

orLOAD ADDRESS

START

TEST = Vihh

MCLR = Vihh

N = 1

ISP Command RESET ADDRESS

ISP Command LOAD DATA

ISP CommandBEGIN PROGRAMMING

Wait approx 100 ms

ISP CommandREAD DATA

Data Correct? N = N + 1

N > 25?Report

ProgrammingFailure

ISP CommandBEGIN PROGRAMMING

Wait approx 100 ms

N = N - 1

N = 0?

Programmed allrequired locations?

4.75V < VDD < 5.25V

Start Device Clock (on RA0),

TEST = MCLR = RA4 = RA5 = Vss

YesNo

Wait 80 Device Clocks

N = 3N

Verify all Locations @ Vddmin

Data Correct?

Report

@ Vddmin

Verify all Locations @ Vddmax

DONE

Data Correct?VerifyError

Report

@ Vddmax

VerifyError

No

Yes

No

No

Yes

Yes

No

Yes

YesNo

1998 Microchip Technology Inc. DS30274B-page 13

Page 14: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

5.0 CONFIGURATION WORDConfiguration bits are mapped into program memory.Each bit is assigned one memory location. In erasedcondition, a bit will read as ‘1’. To program a bit, theuser needs to write to the memory address. The data isimmaterial; the very act of writing will program the bit.The configuration word locations are shown inTable 5-3. The programmer should not program thereserved locations to avoid unpredictable resultsand to be compatible with future variations of thePIC17C7XX. It is also mandatory that configurationlocations are programmed in the strict order start-ing from the first location (0xFE00) and ending withthe last (0xFE0F). Unpredictable results may occurif the sequence is violated.

5.1 Reading Configuration Word

The PIC17C7XX has seven configuration locations(Table 5-1). These locations can be programmed (readas ‘0’) or left unprogrammed (read as ‘1’) to select var-ious device configurations. Any write to a configurationlocation, regardless of the data, will program that con-figuration bit. Reading any configuration locationbetween 0xFE00 and 0xFE07 will place the low byte ofthe configuration word (Table 5-2) into DAD<7:0>(PORTC). DAD<15:8> (PORTD) will be set to 0xFF.Reading a configuration location between 0xFE08 and0xFE0F will place the high byte of the configurationword into DAD<7:0> (PORTC). DAD<15:8> (PORTD)will be set to 0xFF.

TABLE 5-1: CONFIGURATION BIT PROGRAMMING LOCATIONS

TABLE 5-2: READ MAPPING OF CONFIGURATION BITS

Bit Address

FOSC0 0xFE00

FOSC1 0xFE01

WDTPS0 0xFE02

WDTPS1 0xFE03

PM0 0xFE04

PM1 0xFE06

BODEN 0xFE0E

PM2 0xFE0F

—=UnusedPM<2:0>, Processor Mode Select bits

111 = Microprocessor mode110 = Microcontroller mode101 = Extended Microcontroller mode000 = Code protected microcontroller mode

BODEN, Brown-out Detect Enable1 = Brown-out Detect Circuitry enabled0 = Brown-out Detect Circuitry disabled

WDTPS1:WDTPS0, WDT Prescaler Select bits.11 = WDT enabled, postscaler = 110 = WDT enabled, postscaler = 25601 = WDT enabled, postscaler = 6400 = WDT disabled, 16-bit overflow timerFOSC1:FOSC0, Oscillator Select bits

11 = EC oscillator10 = XT oscillator01 = RC oscillator00 = LF oscillator

WDTPS1 FOSC1 FOSC0WDTPS0PM0PM1 ——

PM2

11111111

11111111 BODEN PM2 PM2

89101112131415 01234567

PM2 PM2PM289101112131415 01234567

PM2

DS30274B-page 14 1998 Microchip Technology Inc.

Page 15: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

5.2 Embedding Configuration Word Information in the Hex File

5.3 Reading From and Writing To a Code Protected Device

When a device is code-protected, writing to programmemory is disabled. If program memory is read, thevalue returned is the XNOR8 result of the actual pro-gram memory word. The XNOR8 result is the uppereight bits of the program memory word XNOR’d withthe lower eight bits of the same word. This 8-bit resultis then duplicated into both the upper and lower 8-bitsof the read value. The configuration word can alwaysbe read and written.

To allow portability of code, a PIC17C7XX programmer is required to read the configuration word locations from thehex file when loading the hex file. If the configuration word information was not present in the hex file, then a simplewarning message may be issued. Similarly, while saving a hex file, all configuration word information must be included.An option to not include the configuration word information may be provided. When embedding configuration wordinformation in the hex file, it should be to address FE00h.

Microchip Technology Inc. feels strongly that this feature is important for the benefit of the end customer.

1998 Microchip Technology Inc. DS30274B-page 15

Page 16: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

5.4 CHECKSUM COMPUTATION

The checksum is calculated by summing the following:

• The contents of all program memory locations• The configuration word, appropriately masked• Masked ID locations (when applicable)

The least significant 16 bits of this sum is the check-sum.

Table describes how to calculate the checksum foreach device. Note that the checksum calculation differsdepending on the code protect setting. Since the pro-gram memory locations read out differently, dependingon the code protect setting, the table describes how tomanipulate the actual program memory values to sim-

ulate the values that would be read from a protecteddevice. When calculating a checksum by reading adevice, the entire program memory can simply be readand summed. The configuration word and ID locationscan always be read.

Note: Some older devices have an additionalvalue added in the checksum. This is tomaintain compatibility with older deviceprogrammer checksums.

TABLE 5-3: CHECKSUM COMPUTATION

DeviceCode

ProtectChecksum*

BlankValue

0xC0DE at 0and maxaddress

PIC17C752 MP modeMC mode

EMC modePMC mode

SUM[0x0000:0x1FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x1FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x1FFF] + (CONFIG & 0xC05F)

SUM_XNOR8[0x0000:0x1FFF] + (CONFIG & 0xC05F)

0xA05F0xA04F0xA01F0x200F

0x221D0x220D0x21DD0xE3D3

PIC17C756 MP modeMC mode

EMC modePMC mode

SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)

SUM_XNOR8[0x0000:0x3FFF] + (CONFIG & 0xC05F)

0x805F0x804F0x801F0x000F

0x021D0x020D0x01DD0xC3D3

PIC17C756A MP modeMC mode

EMC modePMC mode

SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)

SUM_XNOR8[0x0000:0x3FFF] + (CONFIG & 0xC05F)

0x805F0x804F0x801F0x000F

0x021D0x020D0x01DD0xC3D3

PIC17C762 MP modeMC mode

EMC modePMC mode

SUM[0x0000:0x1FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x1FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x1FFF] + (CONFIG & 0xC05F)

SUM_XNOR8[0x0000:0x1FFF] + (CONFIG & 0xC05F)

0xA05F0xA04F0xA01F0x200F

0x221D0x220D0x21DD0xE3D3

PIC17C766 MP modeMC mode

EMC modePMC mode

SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)SUM[0x0000:0x3FFF] + (CONFIG & 0xC05F)

SUM_XNOR8[0x0000:0x3FFF] + (CONFIG & 0xC05F)

0x805F0x804F0x801F0x000F

0x021D0x020D0x01DD0xC3D3

Legend: CFGW = Configuration WordSUM[a:b] = [Sum of locations a to b inclusive]SUM_XNOR8(a:b) = [Sum of 8-bit wide XNOR copied into upper and lower byte, of locations a to b inclusive]*Checksum = [Sum of all the individual expressions] MODULO [0xFFFF]+ = Addition& = Bitwise AND

DS30274B-page 16 1998 Microchip Technology Inc.

Page 17: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

5.5 Device ID Register

Program memory location FDFFh is preprogrammedduring the fabrication process with information on thedevice and revision information. These bits areaccessed by a TABLR0 instruction, and are accesswhen the TEST pin is high. As as a result, the device IDbits can be read when the part is code protected.

TABLE 5-4: DEVICE ID REGISTER DECODE

Resultant Device

DeviceDevice ID Value

DEV REV

PIC17C766 0000 0001 001 X XXXX

PIC17C762 0000 0001 101 X XXXX

PIC17C756 0000 0000 001 X XXXX

PIC17C756A 0000 0010 001 X XXXX

PIC17C752 0000 0010 101 X XXXX

1998 Microchip Technology Inc. DS30274B-page 17

Page 18: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

6.0 PARALLEL MODE AC/DC CHARACTERISTICS AND TIMING REQUIREMENTS FOR PROGRAM/VERIFY TEST MODE

Standard Operating Conditions

Operating Temperature: +10°C ≤ TA ≤ +70°C, unless otherwise stated, (25°C is recommended)Operating Voltage: 4.5V ≤ VDD ≤ 5.25V, unless otherwise stated.

ParameterNo.

Sym. Characteristic Min. Typ. Max. Units Conditions/Comments

PD1 VDDP Supply voltage during pro-gramming

4.75 5.0 5.25 V

PD2 IDDP Supply current during pro-gramming

— — 50 mA Freq = 10MHz, VDD = 5.5V

PD3 VDDV Supply voltage during verify VDD min.

— VDD max.

V Note 2

PD4 VPP Voltage on VPP/MCLR pin during programming

12.75 — 13.25 V Note 1

PD6 IPP Programming current on VPP/MCLR pin

— 25 50 mA

P1 FOSCP Osc/clockin frequency dur-ing programming

4 — 10 MHz

P2 TCY Instruction cycle 1 — 0.4 µs TCY = 4/FOSCP

P3 TIRV2TSH RA0, RA1, RA2, RA3, RA4 setup before TEST↑

1 — — µs

P4 TTSH2MCH TEST↑ to MCLR↑ 1 — — µsP5 TBCV2IRH RC7:RC0, RB7:RB0 valid to

RA1 or RA0↑:Address/Data input setup time

0 — — µs

P6 TIRH2BCL RA1 or RA0↑ to RB7:RB0, RC7:RC0 invalid; Address

data hold time;

10 TCY — — µs

P7 T0CKIL2RBCZ RT↓ to RB7:RB0, RC7:RC0 hi-impedance

— — 8TCY

P8 T0CKIH2BCV RA1↑ to data out valid — — 10 TCY

P9 TPROG Programming pulse width 100 1000 µsP10 TIRH2IRL RA0, RA1 high pulse width 10 TCY — — µsP11 TIRL2IRH RA0, RA1 low pulse width 10 TCY — — µsP12 T0CKIV2INL RA1↑ before INT↓ (to go

from prog cycle to verify w/o increment)

0 — — µs

P13 TINL2RTL RA1 valid after RA0 (to select increment or no

increment going from pro-gram to verify cycle

10 TCY — — µs

P14 TVPPS VPP setup time before RA0↑ 100 — — µs Note 1 P15 TVPPH VPP hold time after INT↓ 0 — — µs Note 1 P16 TVDV2TSH VDD stable to TEST↑ 10 — — msP17 TRBV2MCH RB input (E1h) valid to VPP/

MCLR↑ 0 — — µs

P18 TMCH2RBI RB input (E1h) hold after VPP/MCLR↑

10TCY — — ns

P19 TVPL2VDL VDD power down after VPP power down

10 — — ms

Note 1: VPP/MCLR pin must only be equal to or greater than VDD at times other than programming. 2: Program must be verified at the minimum and maximum VDD limits for the part.

DS30274B-page 18 1998 Microchip Technology Inc.

Page 19: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 6-1: PARALLEL MODE PROGRAMMING AND VERIFY TIMINGS I

Test

MC

LR

RA

1

RA

0

RB

<7:

0>

RC

<7:

0>

P4

P5

P18

INC

AD

DR

E1H

AD

DR

_HI

DAT

A_H

I OU

TD

ATA

_HI O

UT

DD

ATA

_HI O

UT

AD

DR

_LO

DAT

A_L

O O

UT

DAT

A_L

O O

UT

DAT

A_L

O O

UT

DAT

A_L

O O

UT

DAT

A_H

I OU

T

13V

5V

P14

P9

P15

P10

P11

P9

P7

P5

P6

Jum

p A

ddre

ssIn

put

Pro

gram

min

g

Mod

e E

ntry

Load

Add

ress

X

Ver

ify lo

catio

n X

Incr

emen

t Add

ress

to X

+ 1

by p

ulsi

ng R

A1

Ver

ify lo

catio

n X

+ 1

Pro

gram

loca

tion

X +

!

Do

not i

ncre

men

t PC

by r

aisi

ng R

A1

befo

re

RA

0

Ver

ify lo

catio

n X

+ 1

No

te:

RA

2 =

0R

A3

= 0

RA

4 =

1

1998 Microchip Technology Inc. DS30274B-page 19

Page 20: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 6-2: PARALLEL MODE PROGRAMMING AND VERIFY TIMINGS II

Test

13V

5V

VP

P/M

CLR

RA

1

RA

0

RB

<7:

0>

RC

<7:

0>

E1H

AD

DR

_HI

DAT

A_H

I OU

TD

ATA

_HI_

IND

ATA

_HI_

IND

ATA

_HI_

IND

ATA

_HI O

UT

AD

DR

_LO

DAT

A_L

O O

UT

DAT

A_L

O O

UT

DAT

A_L

O_I

ND

ATA

_LO

_IN

DAT

A_L

O_I

N

P15

P9

P9

P9

Jum

p A

ddre

ssIn

put

Pro

gram

min

gm

ode

entr

yLo

ad a

ddre

ss X

Ver

ify lo

catio

n X

Pro

gram

loca

tion

X

Pro

gram

loca

tion

XM

ove

to v

erify

cyc

leP

reve

n in

crem

ent o

fP

C b

y ra

isin

g R

A1

befo

re R

A0

Ver

ify lo

catio

n X

No

te:

RA

2 =

0R

A3

= 0

RA

4 =

1

P14

DS30274B-page 20 1998 Microchip Technology Inc.

Page 21: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 6-3: PARALLEL MODE PROGRAMMING AND VERIFY TIMINGS III

P13

P13

P12

DAT

A_H

IOU

TD

ATA

_HI I

ND

ATA

_HI O

UT

DAT

A_H

I IN

DAT

A_H

I OU

TD

ATA

_HI I

N

DAT

A_LO

OU

TD

ATA

_LO

IND

ATA

_LO

OU

TD

ATA

_LO

IND

ATA

_LO

OU

TD

ATA

_LO

IN

Ver

ify lo

catio

n X

Pro

gram

loca

tion

XD

o no

t inc

rem

ent

PC

Rai

s R

A1

befo

reR

A0

to d

o th

is

Ver

ify lo

catio

n X

Pro

gram

loca

tion

XR

aise

RA

1 af

ter

RA

0to

incr

emen

t loc

atio

n X

+ 1

Ver

ify lo

catio

n X

+ 1

Pul

se R

A1

to in

crem

ent

addr

ess

to X

+ 2

Ver

ify lo

catio

n X

+ 2

RA

1

RA

0

RB

<7:

0>

RC

<7:

0>

INC

PC No

te:

Dev

ice

in P

GM

mod

eTe

st =

+6

VP

P/M

CLR

= V

PP

RA

2 =

0R

A3

= 0

RA

4 =

1

INC

PC

INC

PC

1998 Microchip Technology Inc. DS30274B-page 21

Page 22: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 6-4: POWER-UP/DOWN SEQUENCE FOR PROGRAMMING

P16

P19

P3

P17

P18

E1H

VDD

VPP/MCLR

Test

RA4

RA2

RA3

RA0

RB<7:0>

DS30274B-page 22 1998 Microchip Technology Inc.

Page 23: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

7.0 ELECTRICAL SPECIFICATIONS FOR SERIAL PROGRAMMING MODE

All parameters apply across the specified operating ranges unless otherwise noted.

Vcc = 2.5V to 5.5VCommercial (C): Tamb = 0° to +70°CIndustrial (I): Tamb = -40°C to +85°C

Parameter No.

Sym Characteristic Min Typ† Max Units Conditions

VIHH Programming Voltage on VPP/MCLR pin and TEST pin.

12.75 — 13.75 V

IPP Programming current on MCLR pin — 25 50 mA

FOSC Input OSC frequency on RA1 — — 8 MHz

TCY Instruction Cycle Time — 4/FOSC —

PS1 TVH2VH Setup time between TEST = VIHH and MCLR = VIHH

1 — — µs

PS2 TSER Serial setup time 20 — — TCY

PS3 TSCLK Serial Clock period 1 — — TCY

PS4 TSET1 Input Data Setup Time to serial clock ↓

15 — — ns

PS5 THLD1 Input Data Hold Time from serial clock ↓

15 — — ns

PS6 TDLY1 Delay between last clock ↓ to first clock ↑ of next command

20 — — TCY

PS7 TDLY2 Delay between last clock ↓ of com-mand byte to first clock ↑ of read of

data word

20 — — TCY

PS8 TDLY3 Delay between last clock ↓ of com-mand byte to first clock ↑ of write of

data word

30 — — TCY

PS9 TDLY4 Data input not driven to next clock input

1 — — TCY

PS10 TDLY5 Delay between last begin program-ming clock ↓ to last clock ↓ of next command (minimum programming

time)

100 — — µs

* These parameters are characterized but not tested.† Data in “Typ” column is at 5V, 25°C unless otherwise stated. These parameters are for design guidance only and are not

tested.

1998 Microchip Technology Inc. DS30274B-page 23

Page 24: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 7-1: RESET ADDRESS POINTER COMMAND (PROGRAM/VERIFY)

FIGURE 7-2: INCREMENT ADDRESS COMMAND (PROGRAM/VERIFY)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2

0 0 0 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS6

VIHH

PS3

PS4PS5

PS1

(NEXT COMMAND)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2

0 1 1 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS6

VIHH

PS3

PS4PS5

PS1

(NEXT COMMAND)

DS30274B-page 24 1998 Microchip Technology Inc.

Page 25: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 7-3: LOAD ADDRESS COMMAND

FIGURE 7-4: READ ADDRESS COMMAND

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 1 0 1 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS7

VIHH

PS3

PS4PS5

PS1

PS6

(NEXT COMMAND)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 0 1 1 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS8

VIHH

PS3

PS4PS5

RA4 = Output

PS6

PS1

PS9

(NEXT COMMAND)

1998 Microchip Technology Inc. DS30274B-page 25

Page 26: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

FIGURE 7-5: LOAD DATA COMMAND

FIGURE 7-6: READ DATA COMMAND

FIGURE 7-7: BEGIN PROGRAMMING COMMAND (PROGRAM)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 1 0 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS7

VIHH

PS3

PS4PS5

PS1

PS6

(NEXT COMMAND)

MCLR/VPPVIHH

RA1T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2 3 15 16 1

0 0 1 0 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS8

VIHH

PS3

PS4PS5

RA4 = Output

PS6

PS1

PS9

(NEXT COMMAND)

MCLR/VPPVIHH

RA1/T0CKI

Test

RA5 (Clock)

RA4 (Data)

1 2 3 4 5 6 7 8 1 2

0 0 0 1 0 0 0 0

PS2

Reset

RA4 = Input

Program/Verify Test Mode

PS10

VIHH

PS3

PS4PS

PS1

(NEXT COMMAND)

7 8

DS30274B-page 26 1998 Microchip Technology Inc.

Page 27: EPROM Memory Programming Specifications - Microchip

PIC17C7XX

NOTES:

1998 Microchip Technology Inc. DS30274B-page 27

Page 28: EPROM Memory Programming Specifications - Microchip

Information contained in this publication regarding device applications and the like is intended for suggestion only and may be superseded by updates. No representation or warranty is given and no liability is assumedby Microchip Technology Incorporated with respect to the accuracy or use of such information, or infringement of patents or other intellectual property rights arising from such use or otherwise. Use of Microchip’s productsas critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any intellectual property rights. The Microchiplogo and name are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All rights reserved. All other trademarks mentioned herein are the property of their respective companies.

1999 Microchip Technology Inc.

All rights reserved. © 1999 Microchip Technology Incorporated. Printed in the USA. 11/99 Printed on recycled paper.

AMERICASCorporate OfficeMicrochip Technology Inc.2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-786-7200 Fax: 480-786-7277Technical Support: 480-786-7627Web Address: http://www.microchip.com

AtlantaMicrochip Technology Inc.500 Sugar Mill Road, Suite 200BAtlanta, GA 30350Tel: 770-640-0034 Fax: 770-640-0307BostonMicrochip Technology Inc.5 Mount Royal AvenueMarlborough, MA 01752Tel: 508-480-9990 Fax: 508-480-8575ChicagoMicrochip Technology Inc.333 Pierce Road, Suite 180Itasca, IL 60143Tel: 630-285-0071 Fax: 630-285-0075DallasMicrochip Technology Inc.4570 Westgrove Drive, Suite 160Addison, TX 75248Tel: 972-818-7423 Fax: 972-818-2924DaytonMicrochip Technology Inc.Two Prestige Place, Suite 150Miamisburg, OH 45342Tel: 937-291-1654 Fax: 937-291-9175DetroitMicrochip Technology Inc.Tri-Atria Office Building 32255 Northwestern Highway, Suite 190Farmington Hills, MI 48334Tel: 248-538-2250 Fax: 248-538-2260Los AngelesMicrochip Technology Inc.18201 Von Karman, Suite 1090Irvine, CA 92612Tel: 949-263-1888 Fax: 949-263-1338New YorkMicrochip Technology Inc.150 Motor Parkway, Suite 202Hauppauge, NY 11788Tel: 631-273-5305 Fax: 631-273-5335San JoseMicrochip Technology Inc.2107 North First Street, Suite 590San Jose, CA 95131Tel: 408-436-7950 Fax: 408-436-7955

AMERICAS (continued)TorontoMicrochip Technology Inc.5925 Airport Road, Suite 200Mississauga, Ontario L4V 1W1, Canada Tel: 905-405-6279 Fax: 905-405-6253

ASIA/PACIFICHong KongMicrochip Asia PacificUnit 2101, Tower 2Metroplaza223 Hing Fong RoadKwai Fong, N.T., Hong KongTel: 852-2-401-1200 Fax: 852-2-401-3431BeijingMicrochip Technology, Beijing Unit 915, 6 Chaoyangmen Bei Dajie Dong Erhuan Road, Dongcheng District New China Hong Kong Manhattan BuildingBeijing 100027 PRC Tel: 86-10-85282100 Fax: 86-10-85282104IndiaMicrochip Technology Inc.India Liaison OfficeNo. 6, Legacy, Convent RoadBangalore 560 025, IndiaTel: 91-80-229-0061 Fax: 91-80-229-0062JapanMicrochip Technology Intl. Inc.Benex S-1 6F3-18-20, ShinyokohamaKohoku-Ku, Yokohama-shiKanagawa 222-0033 JapanTel: 81-45-471- 6166 Fax: 81-45-471-6122KoreaMicrochip Technology Korea168-1, Youngbo Bldg. 3 FloorSamsung-Dong, Kangnam-KuSeoul, KoreaTel: 82-2-554-7200 Fax: 82-2-558-5934ShanghaiMicrochip Technology RM 406 Shanghai Golden Bridge Bldg.2077 Yan’an Road West, Hong Qiao DistrictShanghai, PRC 200335Tel: 86-21-6275-5700 Fax: 86 21-6275-5060

ASIA/PACIFIC (continued)SingaporeMicrochip Technology Singapore Pte Ltd.200 Middle Road#07-02 Prime CentreSingapore 188980Tel: 65-334-8870 Fax: 65-334-8850Taiwan, R.O.CMicrochip Technology Taiwan10F-1C 207Tung Hua North RoadTaipei, Taiwan, ROCTel: 886-2-2717-7175 Fax: 886-2-2545-0139

EUROPEUnited KingdomArizona Microchip Technology Ltd.505 Eskdale RoadWinnersh TriangleWokingham Berkshire, England RG41 5TUTel: 44 118 921 5858 Fax: 44-118 921-5835DenmarkMicrochip Technology Denmark ApSRegus Business CentreLautrup hoj 1-3Ballerup DK-2750 DenmarkTel: 45 4420 9895 Fax: 45 4420 9910FranceArizona Microchip Technology SARLParc d’Activite du Moulin de Massy43 Rue du Saule TrapuBatiment A - ler Etage91300 Massy, FranceTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79GermanyArizona Microchip Technology GmbHGustav-Heinemann-Ring 125D-81739 München, GermanyTel: 49-89-627-144 0 Fax: 49-89-627-144-44ItalyArizona Microchip Technology SRLCentro Direzionale Colleoni Palazzo Taurus 1 V. Le Colleoni 120041 Agrate BrianzaMilan, Italy Tel: 39-039-65791-1 Fax: 39-039-6899883

11/15/99

WORLDWIDE SALES AND SERVICE

Microchip received QS-9000 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona in July 1999. The Company’s quality system processes and procedures are QS-9000 compliant for its PICmicro® 8-bit MCUs, KEELOQ® code hopping devices, Serial EEPROMs and microperipheral products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001 certified.