DSPIC30F6012T-20E/PF Microchip Technology, DSPIC30F6012T-20E/PF Datasheet - Page 5

IC DSPIC MCU/DSP 144K 64TQFP

DSPIC30F6012T-20E/PF

Manufacturer Part Number
DSPIC30F6012T-20E/PF
Description
IC DSPIC MCU/DSP 144K 64TQFP
Manufacturer
Microchip Technology
Series
dsPIC™ 30Fr

Specifications of DSPIC30F6012T-20E/PF

Core Processor
dsPIC
Core Size
16-Bit
Speed
20 MIPS
Connectivity
CAN, I²C, SPI, UART/USART
Peripherals
AC'97, Brown-out Detect/Reset, I²S, LVD, POR, PWM, WDT
Number Of I /o
52
Program Memory Size
144KB (48K x 24)
Program Memory Type
FLASH
Eeprom Size
4K x 8
Ram Size
8K x 8
Voltage - Supply (vcc/vdd)
2.5 V ~ 5.5 V
Data Converters
A/D 16x12b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 125°C
Package / Case
64-TQFP, 64-VQFP
For Use With
XLT64PT4 - SOCKET TRAN ICE 64MQFP/TQFPAC164313 - MODULE SKT FOR PM3 64PFAC30F002 - MODULE SOCKET DSPIC30F 64TQFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Other names
DSPIC30F6012T20EP
6. Module: Early Termination of Nested DO
EXAMPLE 4:
7. Module: Reset During RTSP of Program
EXAMPLE 5:
© 2008 Microchip Technology Inc.
LOOP1: MOV
LOOP0:
Note:
__AddressError:
When using two DO loops in a nested fashion,
terminating the inner-level DO loop by setting the
EDT (CORCON<11>) bit will produce unexpected
results. Specifically, the device may continue
executing code within the outer DO loop forever.
This erratum does not affect the operation of the
MPLAB C30 compiler.
Work around
The application should save the DCOUNT SFR
prior to entering the inner DO loop and restore it
upon exiting the inner DO loop. This work around is
shown in Example 4.
If a device Reset occurs while an RTSP operation
is ongoing, code execution after the Reset may
lead to an address error trap.
Work around
The user should define an address error trap
service routine, as shown in Example 5, in order to
allow normal code execution to continue.
bclr
bclr
reset
.include “p30fxxxx.inc”
.......
DO #CNT1, LOOP0
....
PUSH
DO
....
BTSS
BSET
....
....
POP
...
For details on the functionality of
EDT bit, see section 2.9.2.4
in the dsPIC30F Family Reference
Manual.
MOV
RCON, #TRAPR
INTCON1, #ADDRERR
Loops
Flash Memory
DCOUNT
#CNT2, LOOP1
Flag, #0
CORCON, #EDT;Terminate inner
W1, W5
DCOUNT
W5, W8
SAVE AND RESTORE
DCOUNT
TRAP SERVICE ROUTINE
;Outer loop start
;Save DCOUNT
;starts
;DO-loop early
;Inner loop ends
;Restore DCOUNT
;Outer loop ends
;Clear the Trap
;Reset Flag Bit
;Address Error
;trap flag bit
;Software reset
;Inner loop
;Clear the
dsPIC30F6011/6012/6013/6014
8. Module: Y Data Space Dependency
EXAMPLE 6:
EXAMPLE 7:
:Unexpected Results!
:Correct Results!
When an instruction that writes to a location in the
address range of Y data memory (addresses
between 0x1800 and 0x27FF) 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 6.
Work arounds
Work around 1:
Insert a NOP between the two instructions as
shown in Example 7.
Work around 2:
If work around #1 is not feasible due to application
real-time
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
#0x190A, W0
#0x19B0, W10
W2, [W0++]
W4*W5, A, [W10]+=2, W5 ;Perform
#0x190A, W0
#0x19B0, W10
W2, [W0++]
W4*W5, A, [W10]+=2, W5 ;Perform
constraints,
INCORRECT RESULTS
CORRECT RESULTS
the
;Load address > =
;0x1800 into W0
;Load address >=
;0x1800 into W10
;Perform indirect
;write via W0 to
;address >= 0x1800
;read operation
;using Y-AGU
;Load address > =
;0x1800 into W0
;Load address >=
;0x1800 into W10
;Perform indirect
;write via W0 to
;address >= 0x1800
;No operation
;read operation
;using Y-AGU
user
DS80198J-page 5
may
take

Related parts for DSPIC30F6012T-20E/PF