DSPIC30F2010-20I/MM Microchip Technology, DSPIC30F2010-20I/MM Datasheet - Page 3

IC DSPIC MCU/DSP 12K 28QFN

DSPIC30F2010-20I/MM

Manufacturer Part Number
DSPIC30F2010-20I/MM
Description
IC DSPIC MCU/DSP 12K 28QFN
Manufacturer
Microchip Technology
Series
dsPIC™ 30Fr

Specifications of DSPIC30F2010-20I/MM

Core Processor
dsPIC
Core Size
16-Bit
Speed
20 MIPS
Connectivity
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
12KB (4K x 24)
Program Memory Type
FLASH
Eeprom Size
1K x 8
Ram Size
512 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-QFN
Core Frequency
40MHz
Core Supply Voltage
5.5V
Embedded Interface Type
I2C, SPI, UART
No. Of I/o's
20
Flash Memory Size
12KB
Supply Voltage Range
2.5V To 5.5V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
AC164322 - MODULE SOCKET MPLAB PM3 28/44QFN
Lead Free Status / RoHS Status
Lead free / RoHS Compliant, Lead free / RoHS Compliant
Other names
DSPIC30F2010-20I/MMG
DSPIC30F201020IMM
DSPIC30F201020IMM
1. Module: Y Data Space Dependency
EXAMPLE 1:
EXAMPLE 2:
© 2008 Microchip Technology Inc.
When an instruction that writes to a location in the
address range of Y data memory (addresses
between 0x0900 and 0x09FF) is immediately
followed by a MAC type DSP instruction that reads
a location also resident in Y data memory, the two
operations will not be executed as specified. This
is demonstrated in Example 1.
Work arounds
Work around 1:
Insert a NOP between the two instructions as
shown in Example 2.
Work around 2:
If work around #1 is not feasible due to real-time
application constraints, the user may take
precautions to ensure that a write operation
performed on a location in Y data memory is not
immediately followed by a DSP MAC type
instruction that performs a read operation of a
location in Y data memory.
MOV
MOV
MOV
MAC
MOV
MOV
MOV
NOP
MAC
#0x090A, W0
#0x09B0, W10
W2, [W0++]
W4*W5, A, [W10]+=2, W5 ;Perform
#0x090A, W0
#0x09B0, W10
W2, [W0++]
W4*W5, A, [W10]+=2, W5 ;Perform
INCORRECT RESULTS
CORRECT RESULTS
;Load address > =
;0x900 into W0
;Load address >=
;0x900 into W10
;Perform indirect
;write via W0 to
;address >= 0x900
;read operation
;using Y-AGU
;Load address > =
;0x900 into W0
;Load address >=
;0x900 into W10
;Perform indirect
;write via W0 to
;address >= 0x900
;No operation
;read operation
;using Y-AGU
2. Module: MAC Class Instructions with +4
3. Module: CPU –
EXAMPLE 3:
L0:daw.b
L1: ....
Sequential MAC class instructions, which prefetch
data from Y data space using +4 address
modification, will cause an address error trap. The
trap occurs only when all of the following
conditions are true:
1. Two sequential MAC class instructions (or a
2. Both instructions prefetch data from Y data
3. Neither of the instruction uses an accumulator
Work around
This problem can be avoided using any of the
following methods:
1. Inserting any other instruction between the two
2. Adding an accumulator write back (a dummy
3. Do not use the + = 4 or - = 4 address
4. Do not prefetch data from Y data space.
The Decimal Adjust instruction, DAW.b, may
improperly clear the Carry bit, C (SR<0>), when
executed.
Work around
Check the state of the Carry bit prior to executing
the DAW.b instruction. If the Carry bit is already
set, set the Carry bit again after executing the
DAW.b instruction. Example 3 shows how the
application should process the Carry bit during a
BCD addition operation.
.include “p30f6010.inc”
.......
mov.b
mov.b
add.b
bra
daw.b
bset.b
bra
MAC class instruction executed in a REPEAT or
DO loop) that prefetch from Y data space.
space using the + = 4 or - = 4 address
modification.
write back.
MAC class instructions.
write back if needed) to either of the MAC class
instructions.
modification.
#0x80, w0
#0x80, w1
w0, w1, w2 ;Perform addition
NC, L0
w2
L1
w2
SR, #C
Address Modification
dsPIC30F2010
CHECK CARRY BIT BEFORE
DAW.b
DAW.b
;First BCD number
;Second BCD number
;If C set go to L0
;If not,do DAW and
;set the carry bit
;and exit
Instruction
DS80186J-page 3

Related parts for DSPIC30F2010-20I/MM