Peripherals & Enhanced FLASH

Download Report

Transcript Peripherals & Enhanced FLASH

Peripherals & Enhanced FLASH
Enhanced FLASH
PIC16F87X and PIC16F62X
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
1
Peripherals & Enhanced FLASH
PIC16F87X Features at a Glance

8K x 14 FLASH Program
Memory



256 x 8 EEPROM Data
Memory




USART
Min. 100K E/W

25mA sink/source

1 - 16-bit
2 - 8-bit
10-bit A/D
© 1999 Microchip Technology Incorporated. All Rights Reserved.

9-bit addressable

High Speed
Enhanced SPI

All 4 SPI modes supported

Microwire Support
Master I2C

3 Timers


Two Capture/Compare/PWMs

368 x 8 Data Memory (RAM)
33 I/O ports


Typ. 1000 E/W
Byte/Word Read/Write at VDD

Hardware Write to I2C
devices

In-Circuit-Serial Programming

In-Circuit-Debugger

Parallel Slave Port
S4525A Peripherals & Enhanced FLASH
2
Peripherals & Enhanced FLASH
PIC16F62X Features at a Glance


18-pin package
Up to 2K x 14 FLASH
Program Memory





Typ. 1000 E/W
Byte/Word Read/Write at
VDD
Min. 100K E/W
224 x 8 Data Memory (RAM)
16 I/O ports

25mA sink/source
© 1999 Microchip Technology Incorporated. All Rights Reserved.
3 Timers

1 - 16-bit
2 - 8-bit

Capture/Compare/PWM

USART
128 x 8 EEPROM Data
Memory




9-bit addressable

High Speed

2 Comparators

In-Circuit-Serial Programming

Internal RC Oscillator
S4525A Peripherals & Enhanced FLASH
3
Peripherals & Enhanced FLASH
FLASH Program & Data EEPROM:
Programming/Erase Operation





Program timing controlled by an internal RC
oscillator.
Timeout set for ~2mS per word.
When timeout occurs, EEIF flag is set.
Read operation has to be done to verify write.
Write operation sequence has to be followed for
each location:


Write 0x55 then 0xAA to EECON2, then set write flag.
Failure to follow sequence aborts write operation.

Advantage: Prevents inadvertent write operations.
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
5
Peripherals & Enhanced FLASH
FLASH Program
and Data EEPROM Memory
S. F. R.
EEADRH
8
13
FLASH Program
Memory
8K X 14
EEADR
8
256 X 8
Data
EEPROM
Memory
14
EEDATH EEDATA
EECON1
EECON2
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
6
Peripherals & Enhanced FLASH
FLASH Program Memory:
Three Programming Modes
 Low Voltage ICSP mode (Default mode):


Programming at VDD (typically 5V).
RB3/PGM pin dedicated as Program Mode Select.
 High Voltage ICSP mode:



High voltage (13V) required on MCLR/VPP pin.
Same ICSP mode as in many other PICmicro® MCUs.
RB3/PGM pin can be used as normal I/O.
 Internal Program Write mode:


Single word writes during program execution.
Example: Calibration constants etc.
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
10
Peripherals & Enhanced FLASH
FLASH Program Memory:
Low Voltage ICSP Mode (Default)
VDD
PIC16F87X or
PIC16F62X
PIC16F87X or PIC16F62X
Enters LV Programming Mode
RB3
VSS
RB6
CLK
RB7
DATA
VDD
VDD
MCLR
VDD
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
11
Peripherals & Enhanced FLASH
FLASH Program Memory:
High Voltage ICSP Mode
PIC16F87X or
PIC16F62X
RB6
CLK
RB7
DATA
5V
+5V
VDD
VDD
13V
MCLR
© 1999 Microchip Technology Incorporated. All Rights Reserved.
PIC16F87X or PIC16F62X enters
High Voltage ICSP™ Mode
S4525A Peripherals & Enhanced FLASH
13
Peripherals & Enhanced FLASH
FLASH Program Memory:
Internal Program Write Mode




During normal program execution, a device can
write to its own program space.
VDD can be at any operating level: 2.0V to 5.5 V.
Erase automatically precedes the write to the word.
Application Usage:






Storing calibration constants for sensors and transducers in program
memory.
Field re-calibration of constants.
Remote re-programming of sections of code excluding code
protected areas.
Checksum.
Code revisions.
Tech Briefs: TB025 and TB026.
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
15
Peripherals & Enhanced FLASH
FLASH Program Memory:
Read/Write Operations Over Voltage

Internal Read/Write Operations:



Can always read any locations at any voltage.
When writes are enabled, can write at any voltage.
External (ICSP) Read/Write Operations:

When enabled:
 Read from any location over voltage.
 Perform a write to a single location over voltage.
 Perform an erase/write cycle to a single location
over voltage.
 Bulk erase when VDD > 4.5V.
© 1999 Microchip Technology Incorporated. All Rights Reserved.
S4525A Peripherals & Enhanced FLASH
16
Peripherals & Enhanced FLASH
Data EEPROM Memory:
Reading Locations
BSF
BCF
MOVLW
MOVWF
BSF
BCF
BSF
BCF
MOVF
STATUS,RP1
STATUS,RP0
ADDRESS
EEADR
STATUS,RP0
EECON1,EEPGD
EECON1,RD
STATUS,RP0
EEDATA,W
© 1999 Microchip Technology Incorporated. All Rights Reserved.
Program:
;Move to Bank2
;Write data memory address
into the EEADR register
;Move to Bank3
;Point to Data Memory
;Start the Read Operation,
data will be available in
the very next Tcy
;Move the data into W
S4525A Peripherals & Enhanced FLASH
18
Peripherals & Enhanced FLASH
Data EEPROM Memory:
Writing to Locations
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
BCF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
BCF
STATUS,RP1
STATUS,RP0
ADDRESS
EEADR
VALUE
EEDATA
STATUS,RP0
EECON1,WREN
EECON1,EEPGD
INTCON,GIE
55h
EECON2
AAh
EECON2
EECON1,WR
INTCON,GIE
EECON1,WREN
© 1999 Microchip Technology Incorporated. All Rights Reserved.
;Move to Bank2
;Write desired address to EEADR
;Write desired data to EEDATA
;Move to Bank3
;Enable EEPROM writes
;Disable interrupts
;Point to data memory
;Next five instructions are required
;sequence to initiate a write sequence
;Initiate the write sequence
;Enable interrupts
;Disable EEPROM writes, does not affect
the current write cycle
S4525A Peripherals & Enhanced FLASH
20
Peripherals & Enhanced FLASH
FLASH Program Memory:
Reading Locations
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
BSF
NOP
NOP
BCF
MOVF
MOVWF
MOVF
STATUS,RP1
STATUS,RP0
ADDRH
EEADRH
ADDRL
EEADR
STATUS,RP0
EECON1,EEPGD
EECON1,RD
STATUS,RP0
EEDATA,W
Temp
EEDATH,W
© 1999 Microchip Technology Incorporated. All Rights Reserved.
;Move to Bank2
;Write data memory address into
;the EEADRH:EEADR register
;Point to program memory
;Start the Read Operation, data will
;be available in the third TCY
;Move the data into W
S4525A Peripherals & Enhanced FLASH
22
Peripherals & Enhanced FLASH
FLASH Program Memory:
Writing to Locations
BANKSEL
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
BSF
BSF
BCF
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
BSF
BCF
EEADDRH
ADDRH
EEADRH
ADDRL
EEADR
DATAH
EEDATH
DATAL
EEDATA
STATUS,RP0
EECON1,WREN
EECON1,EEPGD
INTCON,GIE
55h
EECON2
AAh
EECON2
EECON1,WR
INTCON,GIE
EECON1,WREN
© 1999 Microchip Technology Incorporated. All Rights Reserved.
;Move to Bank2
;Write desired address to EEADRH:EEADR
;Write desired data to EEDATH:EEDATA
;Move to Bank3
;Enable EEPROM writes
;Point to program memory
;Disable interrupts
;Next five instructions are required
;sequence to initiate a write sequence
;Initiate the write sequence
;Instruction is executed normally
;Instruction is ignored, processor halts
;Enable interrupts
;Disable EEPROM writes
S4525A Peripherals & Enhanced FLASH
24