DSPIC30F4012-20I/SO Microchip Technology, DSPIC30F4012-20I/SO Datasheet - Page 57

no-image

DSPIC30F4012-20I/SO

Manufacturer Part Number
DSPIC30F4012-20I/SO
Description
IC, DSC, 16BIT, 48KB 20MHZ, 5.5V, SOIC28
Manufacturer
Microchip Technology
Series
DsPIC30Fr

Specifications of DSPIC30F4012-20I/SO

Core Frequency
20MHz
Embedded Interface Type
CAN, I2C, SPI, UART
No. Of I/o's
20
Flash Memory Size
48KB
Supply Voltage Range
2.5V To 5.5V
Core Processor
dsPIC
Core Size
16-Bit
Speed
20 MIPS
Connectivity
CAN, I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, Motor Control PWM, QEI, POR, PWM, WDT
Number Of I /o
20
Program Memory Size
48KB (16K x 24)
Program Memory Type
FLASH
Eeprom Size
1K x 8
Ram Size
2K x 8
Voltage - Supply (vcc/vdd)
2.5 V ~ 5.5 V
Data Converters
A/D 6x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
28-SOIC (7.5mm Width)
Package
28SOIC W
Device Core
dsPIC
Family Name
dsPIC30
Maximum Speed
20 MHz
Operating Supply Voltage
2.5|3.3|5 V
Data Bus Width
16 Bit
Number Of Programmable I/os
20
Interface Type
CAN/I2C/SPI/UART
On-chip Adc
6-chx10-bit
Number Of Timers
5
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
XLT28SO-1 - SOCKET TRANSITION 28SOIC 300MIL
Lead Free Status / RoHS Status
Lead free / RoHS Compliant, Lead free / RoHS Compliant
Other names
DSPIC30F401220ISO

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
DSPIC30F4012-20I/SO
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
7.3
To write an EEPROM data location, the following
sequence must be followed:
1.
2.
3.
EXAMPLE 7-4:
© 2010 Microchip Technology Inc.
; Point to data memory
; The NVMADR captures last table access address
; Select data EEPROM for 1 word op
; Operate key to allow write operation
; Write cycle will complete in 2mS. CPU is not stalled for the Data Write Cycle
; User can poll WR bit, use NVMIF or Timer IRQ to determine write complete
Erase data EEPROM word.
a)
b)
c)
d)
e)
f)
g)
h)
Write data word into data EEPROM write
latches.
Program 1 data word into data EEPROM.
a)
b)
c)
d)
e)
f)
g)
MOV
MOV
MOV
MOV
TBLWTL
MOV
MOV
DISI
MOV
MOV
MOV
MOV
BSET
NOP
NOP
Writing to the Data EEPROM
Select word, data EEPROM; erase and set
WREN bit in NVMCON register.
Write address of word to be erased into
NVMADRU/NVMADR.
Enable NVM interrupt (optional).
Write 0x55 to NVMKEY.
Write 0xAA to NVMKEY.
Set the WR bit. This will begin erase cycle.
Either poll NVMIF bit or wait for NVMIF
interrupt.
The WR bit is cleared when the erase cycle
ends.
Select word, data EEPROM; program and
set WREN bit in NVMCON register.
Enable NVM write done interrupt (optional).
Write 0x55 to NVMKEY.
Write 0xAA to NVMKEY.
Set the WR bit. This will begin program
cycle.
Either poll NVMIF bit or wait for NVM
interrupt.
The WR bit is cleared when the write cycle
ends.
#5
DATA EEPROM WORD WRITE
#LOW_ADDR_WORD,W0
#HIGH_ADDR_WORD,W1
W1
#LOW(WORD),W2
W2
#0x4004,W0
W0
#0x55,W0
W0
#0xAA,W1
W1
NVMCON,#WR
,
,
,
,
,
TBLPAG
[ W0]
NVMCON
NVMKEY
NVMKEY
; Block all interrupts with priority < 7
; for next 5 instructions
The write will not initiate if the above sequence is not
exactly followed (write 0x55 to NVMKEY, write 0xAA to
NVMCON, then set WR bit) for each word. It is strongly
recommended that interrupts be disabled during this
code segment.
Additionally, the WREN bit in NVMCON must be set to
enable writes. This mechanism prevents accidental
writes to data EEPROM due to unexpected code exe-
cution. The WREN bit should be kept clear at all times
except when updating the EEPROM. The WREN bit is
not cleared by hardware.
After a write sequence has been initiated, clearing the
WREN bit will not affect the current write cycle. The WR
bit will be inhibited from being set unless the WREN bit
is set. The WREN bit must be set on a previous
instruction. Both WR and WREN cannot be set with the
same instruction.
At the completion of the write cycle, the WR bit is
cleared in hardware and the Nonvolatile Memory Write
Complete Interrupt Flag bit (NVMIF) is set. The user
may either enable this interrupt or poll this bit. NVMIF
must be cleared by software.
7.3.1
Once the user has erased the word to be programmed,
then a table write instruction is used to write one write
latch, as shown in
; Init pointer
; Get data
; Write data
; Write the 0x55 key
; Write the 0xAA key
; Initiate program sequence
dsPIC30F4011/4012
WRITING A WORD OF DATA
EEPROM
Example
7-4.
DS70135G-page 57

Related parts for DSPIC30F4012-20I/SO