DSPIC30F6012A-30I/PT Microchip Technology, DSPIC30F6012A-30I/PT Datasheet - Page 3

IC DSPIC MCU/DSP 144K 64TQFP

DSPIC30F6012A-30I/PT

Manufacturer Part Number
DSPIC30F6012A-30I/PT
Description
IC DSPIC MCU/DSP 144K 64TQFP
Manufacturer
Microchip Technology
Series
dsPIC™ 30Fr

Specifications of DSPIC30F6012A-30I/PT

Program Memory Type
FLASH
Program Memory Size
144KB (48K x 24)
Package / Case
64-TFQFP
Core Processor
dsPIC
Core Size
16-Bit
Speed
30 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
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 ~ 85°C
Product
DSCs
Data Bus Width
16 bit
Processor Series
DSPIC30F
Core
dsPIC
Maximum Clock Frequency
30 MHz
Number Of Programmable I/os
52
Data Ram Size
8 KB
Maximum Operating Temperature
+ 85 C
Mounting Style
SMD/SMT
3rd Party Development Tools
52713-733, 52714-737, 53276-922, EWDSPIC
Development Tools By Supplier
PG164130, DV164035, DV244005, DV164005, PG164120, ICE4000, DM240002, DM330011
Minimum Operating Temperature
- 40 C
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
XLT64PT5 - SOCKET TRAN ICE 64MQFP/TQFPAC164319 - MODULE SKT MPLAB PM3 64TQFPAC30F008 - MODULE SKT FOR DSPIC30F 64TQFPDV164005 - KIT ICD2 SIMPLE SUIT W/USB CABLE
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
DSPIC30F6012A30IP

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
DSPIC30F6012A-30I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
DSPIC30F6012A-30I/PT
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Part Number:
DSPIC30F6012A-30I/PT
0
Company:
Part Number:
DSPIC30F6012A-30I/PT
Quantity:
3 200
Company:
Part Number:
DSPIC30F6012A-30I/PT
Quantity:
1 600
3. Module: Sleep Mode
EXAMPLE 2:
© 2008 Microchip Technology Inc.
; ----------------------------------------------------------------------------------------------
.global __reset
.global _main
.global _GotoSleep
.global __AddressError
.global __INT1Interrupt
; ----------------------------------------------------------------------------------------------
_main:
_continue:
; ----------------------------------------------------------------------------------------------
; Address Error Trap
__AddressError:
; ----------------------------------------------------------------------------------------------
__INT1Interrupt:
; ----------------------------------------------------------------------------------------------
_GotoSleep:
; fill remainder of the last row with NOP instructions
; Place SLEEP instruction in the last word of program memory
Execution of the Sleep instruction (PWRSAV #0)
may cause incorrect program operation after the
device wakes up from Sleep. The current
consumption during Sleep may also increase
beyond the specifications listed in the device data
sheet.
Work arounds
To avoid this issue, any of the following three work
arounds can be implemented, depending on the
application requirements.
Work around 1:
Ensure that the PWRSAV #0 instruction is located
at the end of the last row of Program Flash
Memory available on the target device and fill the
remainder of the row with NOP instructions.
Work around 2:
.section *, code
BSET
BCLR
BSET
CALL
BRA
BCLR
; Set program memory return address to _continue
POP.D
MOV.B
MOV
PUSH.D W0
RETFIE
BCLR
RETFIE
.section *, code, address (0x17FC0)
.rept 31
.endr
PWRSAV #0
NOP
_continue
W0
#tblpage (_continue), W1
#tbloffset (_continue), W0
IFS1, #INT1IF
INTCON2, #INT1EP
IFS1, #INT1IF
IEC1, #INT1IE
_GotoSleep
INTCON1, #ADDRERR
dsPIC30F6011A/6012A/6013A/6014A
; Set up INT pins to detect falling edge
; Clear interrupt pin interrupt flag bits
; Enable ISR processing for INT pins
; Call function to enter SLEEP mode
; Ensure flag is reset
; Return from Interrupt Service Routine
This can be accomplished by replacing all
occurrences of the PWRSAV #0 instruction with a
function call to a suitably aligned subroutine. The
address( ) attribute provided by the MPLAB
ASM30 assembler can be utilized to correctly align
the instructions in the subroutine. For an
application written in C, the function call would be
GotoSleep( ), while for an assembly language
application,
CALL _GotoSleep.
The Address Error Trap Service Routine software
can then replace the invalid return address saved
on the stack with the address of the instruction
immediately
GotoSleep( ) function call. This ensures that
the device continues executing the correct code
sequence after waking up from Sleep mode.
Example 2
described above, as it would apply to a
dsPIC30F6014A device.
demonstrates
the
following
function
the
the
_GotoSleep
call
DS80303E-page 3
work
would
around
be
or

Related parts for DSPIC30F6012A-30I/PT