dsPIC30F5011, dsPIC30F5013
dsPIC30F5011, dsPIC30F5013
dsPIC30F5011, dsPIC30F5013
Data Sheet
High-Performance
Digital Signal Controllers
Preliminary
DS70116D
Note the following details of the code protection feature on Microchip devices:
Microchip products meet the specification contained in their particular Microchip Data Sheet.
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchips Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
Microchip is willing to work with the customer who is concerned about the integrity of their code.
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as unbreakable.
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchips code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICSTART,
PRO MATE, PowerSmart, rfPIC, and SmartShunt are
registered trademarks of Microchip Technology Incorporated
in the U.S.A. and other countries.
AmpLab, FilterLab, MXDEV, MXLAB, PICMASTER, SEEVAL,
SmartSensor and The Embedded Control Solutions Company
are registered trademarks of Microchip Technology
Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, dsPICDEM,
dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR,
FanSense, FlexROM, fuzzyLAB, In-Circuit Serial
Programming, ICSP, ICEPIC, Migratable Memory, MPASM,
MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net,
PICLAB, PICtail, PowerCal, PowerInfo, PowerMate,
PowerTool, rfLAB, rfPICDEM, Select Mode, Smart Serial,
SmartTel and Total Endurance are trademarks of Microchip
Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
2004, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
DS70116D-page ii
Preliminary
dsPIC30F5011/5013
dsPIC30F5011/5013 High Performance
Digital Signal Controllers
Note: This data sheet summarizes features of this group
of dsPIC30F devices and is not intended to be a complete
reference source. For more information on the CPU,
peripherals, register descriptions and general device
functionality, refer to the dsPIC30F Family Reference
Manual (DS70046). For more information on the device
instruction set and programming, refer to the dsPIC30F
Programmers Reference Manual (DS70030).
DSP Features:
Dual data fetch
Modulo and Bit-reversed modes
Two 40-bit wide accumulators with optional
saturation logic
17-bit x 17-bit single cycle hardware fractional/
integer multiplier
All DSP instructins are single cycle
- Multiply-Accumulate (MAC) operation
Single cycle 16 shift
Peripheral Features:
High current sink/source I/O pins: 25 mA/25 mA
Five 16-bit timers/counters; optionally pair up 16bit timers into 32-bit timer modules
16-bit Capture input functions
16-bit Compare/PWM output functions:
Data Converter Interface (DCI) supports common
audio Codec protocols, including I2S and AC97
3-wire SPI modules (supports 4 Frame modes)
I2C module supports Multi-Master/Slave mode
and 7-bit/10-bit addressing
Two addressable UART modules with FIFO
buffers
Two CAN bus modules compliant with CAN 2.0B
standard
Analog Features:
12-bit Analog-to-Digital Converter (A/D) with:
- 100 Ksps conversion rate
- Up to 16 input channels
- Conversion available during Sleep and Idle
Programmable Low Voltage Detection (PLVD)
Programmable Brown-out Detection and Reset
generation
Preliminary
DS70116D-page 1
dsPIC30F5011/5013
Special Microcontroller Features (Cont.):
CMOS Technology:
I2C
CAN
Output
SRAM EEPROM Timer Input
Codec A/D 12-bit
Comp/Std
Bytes
16-bit Cap
Interface 100 Ksps
Bytes Instructions Bytes
PWM
Pins
UART
Program Memory
Device
dsPIC30F5011
64
66K
22K
4096
1024
AC97, I2S
16 ch
dsPIC30F5013
80
66K
22K
4096
1024
AC97, I2S
16 ch
DS70116D-page 2
Preliminary
dsPIC30F5011/5013
Pin Diagrams
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
CSDO/RG13
CSDI/RG12
CSCK/RG14
C2RX/RG0
C2TX/RG1
C1TX/RF1
C1RX/RF0
VDD
VSS
OC8/CN16/RD7
OC7/CN15/RD6
OC6/IC6/CN14/RD5
OC5/IC5/CN13/RD4
OC4/RD3
OC3/RD2
EMUD2/OC2/RD1
64-Pin TQFP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
dsPIC30F5011
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
EMUC1/SOSCO/T1CK/CN0/RC14
EMUD1/SOSCI/T4CK/CN1/RC13
EMUC2/OC1/RD0
IC4/INT4/RD11
IC3/INT3/RD10
IC2/INT2/RD9
IC1/INT1/RD8
VSS
OSC2/CLKO/RC15
OSC1/CLKI
VDD
SCL/RG2
SDA/RG3
EMUC3/SCK1/INT0/RF6
U1RX/SDI1/RF2
EMUD3/U1TX/SDO1/RF3
PGC/EMUC/AN6/OCFA/RB6
PGD/EMUD/AN7/RB7
AVDD
AVSS
AN8/RB8
AN9/RB9
AN10/RB10
AN11/RB11
VSS
VDD
AN12/RB12
AN13/RB13
AN14/RB14
AN15/OCFB/CN12/RB15
U2RX/CN17/RF4
U2TX/CN18/RF5
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
COFS/RG15
T2CK/RC1
T3CK/RC2
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
MCLR
SS2/CN11/RG9
VSS
VDD
AN5/IC8/CN7/RB5
AN4/IC7/CN6/RB4
AN3/CN5/RB3
AN2/SS1/LVDIN/CN4/RB2
AN1/VREF-/CN3/RB1
AN0/VREF+/CN2/RB0
Note:
Preliminary
DS70116D-page 3
dsPIC30F5011/5013
Pin Diagrams (Continued)
IC5/RD12
OC4/RD3
OC3/RD2
EMUD2/OC2/RD1
OC6/CN14/RD5
OC5/CN13/RD4
IC6/CN19/RD13
OC7/CN15/RD6
CSCK/RG14
CN23/RA7
CN22/RA6
C2RX/RG0
C2TX/RG1
C1TX/RF1
C1RX/RF0
VDD
VSS
OC8/CN16/RD7
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
CSDO/RG13
CSDI/RG12
80-Pin TQFP
COFS/RG15
T2CK/RC1
T3CK/RC2
T4CK/RC3
T5CK/RC4
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
MCLR
5
6
SS2/CN11/RG9
VSS
10
VDD
12
INT1/RA12
13
INT2/RA13
AN5/CN7/RB5
AN4/CN6/RB4
AN3/CN5/RB3
EMUC1/SOSCO/T1CK/CN0/RC14
59
EMUD1/SOSCI/CN1/RC13
58
EMUC2/OC1/RD0
57
56
IC4/RD11
IC3/RD10
55
IC2/RD9
54
IC1/RD8
53
INT4/RA15
52
INT3/RA14
VSS
51
dsPIC30F5013
11
60
49
OSC2/CLKO/RC15
OSC1/CLKI
48
VDD
50
14
15
16
17
47
SCL/RG2
46
SDA/RG3
45
44
EMUC3/SCK1/INT0/RF6
SDI1/RF7
Note:
29
30
31
32
33
34
35
36
37
38
39
40
VSS
VDD
AN12/RB12
AN13/RB13
AN14/RB14
AN15/OCFB/CN12/RB15
IC7/CN20/RD14
IC8/CN21/RD15
U2RX/CN17/RF4
U2TX/CN18/RF5
28
AN11/RB11
27
AN9/RB9
AN10/RB10
26
AVDD
AVSS
25
AN8/RB8
24
U1TX/RF3
VREF+/RA10
41
23
20
VREF-/RA9
U1RX/RF2
PGD/EMUD/AN0/CN2/RB0
21
EMUD3/SDO1/RF8
42
22
43
19
AN7/RB7
18
AN6/OCFA/RB6
AN2/SS1/LVDIN/CN4/RB2
PGC/EMUC/AN1/CN3/RB1
DS70116D-page 4
Preliminary
dsPIC30F5011/5013
Table of Contents
1.0 Device Overview .......................................................................................................................................................................... 7
2.0 CPU Architecture Overview........................................................................................................................................................ 13
3.0 Memory Organization ................................................................................................................................................................. 23
4.0 Address Generator Units............................................................................................................................................................ 35
5.0 Interrupts .................................................................................................................................................................................... 41
6.0 Flash Program Memory.............................................................................................................................................................. 47
7.0 Data EEPROM Memory ............................................................................................................................................................. 53
8.0 I/O Ports ..................................................................................................................................................................................... 59
9.0 Timer1 Module ........................................................................................................................................................................... 65
10.0 Timer2/3 Module ........................................................................................................................................................................ 69
11.0 Timer4/5 Module ....................................................................................................................................................................... 75
12.0 Input Capture Module................................................................................................................................................................. 79
13.0 Output Compare Module ............................................................................................................................................................ 83
14.0 SPI Module................................................................................................................................................................................. 87
15.0 I2C Module ................................................................................................................................................................................. 91
16.0 Universal Asynchronous Receiver Transmitter (UART) Module ................................................................................................ 99
17.0 CAN Module ............................................................................................................................................................................. 107
18.0 Data Converter Interface (DCI) Module.................................................................................................................................... 119
19.0 12-bit Analog-to-Digital Converter (A/D) Module...................................................................................................................... 129
20.0 System Integration ................................................................................................................................................................... 135
21.0 Instruction Set Summary .......................................................................................................................................................... 151
22.0 Development Support............................................................................................................................................................... 159
23.0 Electrical Characteristics .......................................................................................................................................................... 165
24.0 Packaging Information.............................................................................................................................................................. 205
Index .................................................................................................................................................................................................. 209
On-Line Support................................................................................................................................................................................. 215
Systems Information and Upgrade Hot Line ...................................................................................................................................... 215
Reader Response .............................................................................................................................................................................. 216
Product Identification System ............................................................................................................................................................ 217
Errata
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current
devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision
of silicon and revision of document to which it applies.
To determine if an errata sheet exists for a particular device, please check with one of the following:
Microchips Worldwide Web site; http://www.microchip.com
Your local Microchip sales office (see last page)
The Microchip Corporate Literature Center; U.S. FAX: (480) 792-7277
When contacting a sales office or the literature center, please specify which device, revision of silicon and data sheet (include
literature number) you are using.
Preliminary
DS70116D-page 5
dsPIC30F5011/5013
NOTES:
DS70116D-page 6
Preliminary
dsPIC30F5011/5013
1.0
DEVICE OVERVIEW
Preliminary
DS70116D-page 7
dsPIC30F5011/5013
FIGURE 1-1:
16
Interrupt
Controller
Data Latch
Y Data
RAM
(4 Kbytes)
Address
Latch
16
24
Address Latch
Data EEPROM
(4 Kbytes)
AN0/CN2/RB0
AN1/CN3/RB1
AN2/SS1/LVDIN/CN4/RB2
AN3/CN5/RB3
AN4/CN6/RB4
AN5/CN7/RB5
PGC/EMUC/AN6/OCFA/RB6
PGD/EMUD/AN7/RB7
AN8/RB8
AN9/RB9
AN10/RB10
AN11/RB11
AN12/RB12
AN13/RB13
AN14/RB14
AN15/OCFB/CN12/RB15
16
16
X RAGU
X WAGU
Y AGU
Data Latch
X Data
RAM
(4 Kbytes)
Address
Latch
16
16
24
Program Memory
(66 Kbytes)
16
16
Effective Address
16
Data Latch
ROM Latch
PORTB
16
24
IR
16
16 x 16
W Reg Array
Decode
PORTC
Instruction
Decode &
Control
16 16
Control Signals
to Various Blocks
OSC1/CLKI
Power-up
Timer
DSP
Engine
EMUC2/OC1/RD0
EMUD2/OC2/RD1
OC3/RD2
OC4/RD3
OC5/CN13/RD4
OC6/CN14/RD5
OC7/CN15/RD6
OC8/CN16/RD7
IC1/RD8
IC2/RD9
IC3/RD10
IC4/RD11
Divide
Unit
Oscillator
Start-up Timer
Timing
Generation
ALU<16>
POR/BOR
Reset
MCLR
VDD, VSS
AVDD, AVSS
CAN1,
CAN2
T2CK/RC1
T3CK/RC2
EMUD1/SOSCI/CN1/RC13
EMUC1/SOSCO/T1CK/CN0/RC14
OSC2/CLKO/RC15
16
Watchdog
Timer
Low Voltage
Detect
12-bit ADC
Timers
Input
Capture
Module
DCI
16
16
PORTD
Output
Compare
Module
I2C
SPI1,
SPI2
UART1,
UART2
C1RX/RF0
C1TX/RF1
U1RX/SDI1/RF2
EMUD3/U1TX/SDO1/RF3
U2RX/CN17/RF4
U2TX/CN18/RF5
EMUC3/SCK1/INT0/RF6
PORTF
C2RX/RG0
C2TX/RG1
SCL/RG2
SDA/RG3
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
SS2/CN11/RG9
CSDI/RG12
CSDO/RG13
CSCK/RG14
COFS/RG15
PORTG
DS70116D-page 8
Preliminary
dsPIC30F5011/5013
FIGURE 1-2:
Y Data Bus
X Data Bus
Interrupt
Controller
16
16
16
Data Latch
Y Data
RAM
(4 Kbytes)
Address
Latch
16
24
24
Address Latch
Data EEPROM
(4 Kbytes)
16
PORTA
PGD/EMUD/AN0/CN2/RB0
PGC/EMUC/AN1/CN3/RB1
AN2/SS1/LVDIN/CN4/RB2
AN3/CN5/RB3
AN4/CN6/RB4
AN5/CN7/RB5
AN6/OCFA/RB6
AN7/RB7
AN8/RB8
AN9/RB9
AN10/RB10
AN11/RB11
AN12/RB12
AN13/RB13
AN14/RB14
AN15/OCFB/CN12/RB15
16
X RAGU
X WAGU
Y AGU
Data Latch
X Data
RAM
(4 Kbytes)
Address
Latch
16
16
Program Memory
(66 Kbytes)
16
Effective Address
16
Data Latch
ROM Latch
16
24
PORTB
T2CK/RC1
T3CK/RC2
T4CK/RC3
T5CK/RC4
EMUD1/SOSCI/CN1/RC13
EMUC1/SOSCO/T1CK/CN0/RC14
OSC2/CLKO/RC15
IR
16
16
16 x 16
W Reg Array
Decode
Instruction
Decode &
Control
Control Signals
to Various Blocks
OSC1/CLKI
Power-up
Timer
DSP
Engine
EMUC2/OC1/RD0
EMUD2/OC2/RD1
OC3/RD2
OC4/RD3
OC5/CN13/RD4
OC6/CN14/RD5
OC7/CN15/RD6
OC8/CN16/RD7
IC1/RD8
IC2/RD9
IC3/RD10
IC4/RD11
IC5/RD12
IC6/CN19/RD13
IC7/CN20/RD14
IC8/CN21/RD15
Divide
Unit
Oscillator
Start-up Timer
Timing
Generation
ALU<16>
POR/BOR
Reset
MCLR
VDD, VSS
AVDD, AVSS
CAN1,
CAN2
PORTC
16 16
Watchdog
Timer
Low Voltage
Detect
12-bit ADC
Timers
16
16
PORTD
Input
Capture
Module
DCI
Output
Compare
Module
I2C
SPI1,
SPI2
UART1,
UART2
C1RX/RF0
C1TX/RF1
U1RX/RF2
U1TX/RF3
U2RX/CN17/RF4
U2TX/CN18/RF5
EMUC3/SCK1/INT0/RF6
SDI1/RF7
EMUD3/SDO1/RF8
PORTF
C2RX/RG0
C2TX/RG1
SCL/RG2
SDA/RG3
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
SS2/CN11/RG9
CSDI/RG12
CSDO/RG13
CSCK/RG14
COFS/RG15
PORTG
Preliminary
DS70116D-page 9
dsPIC30F5011/5013
Table 1-1 provides a brief description of device I/O
pinouts and the functions that may be multiplexed to a
port pin. Multiple functions may exist on one port pin.
When multiplexing occurs, the peripheral modules
functional requirements may force an override of the
data direction of the port pin.
TABLE 1-1:
Buffer
Type
AN0-AN15
Analog
Pin Name
Description
Analog input channels.
AN0 and AN1 are also used for device programming data and
clock inputs, respectively.
AVDD
AVSS
CLKI
ST/CMOS
CLKO
CN0-CN23
ST
COFS
CSCK
CSDI
CSDO
I/O
I/O
I
O
ST
ST
ST
C1RX
C1TX
C2RX
C2TX
I
O
I
O
ST
ST
EMUD
EMUC
EMUD1
I/O
I/O
I/O
ST
ST
ST
EMUC1
EMUD2
EMUC2
EMUD3
I/O
I/O
I/O
I/O
ST
ST
ST
ST
EMUC3
I/O
ST
IC1-IC8
ST
INT0
INT1
INT2
INT3
INT4
I
I
I
I
I
ST
ST
ST
ST
ST
External interrupt 0.
External interrupt 1.
External interrupt 2.
External interrupt 3.
External interrupt 4.
LVDIN
Analog
MCLR
I/P
ST
OCFA
OCFB
OC1-OC8
I
I
O
ST
ST
Legend:
DS70116D-page 10
Preliminary
dsPIC30F5011/5013
TABLE 1-1:
Buffer
Type
OSC1
ST/CMOS
OSC2
I/O
PGD
PGC
I/O
I
ST
ST
RA6-RA7
RA9-RA10
RA12-RA15
I/O
I/O
I/O
ST
ST
ST
RB0-RB15
I/O
ST
RC1-RC4
RC13-RC15
I/O
I/O
ST
ST
RD0-RD15
I/O
ST
RF0-RF8
I/O
ST
RG0-RG3
RG6-RG9
RG12-RG15
I/O
I/O
I/O
ST
ST
ST
SCK1
SDI1
SDO1
SS1
SCK2
SDI2
SDO2
SS2
I/O
I
O
I
I/O
I
O
I
ST
ST
ST
ST
ST
ST
SCL
SDA
I/O
I/O
ST
ST
SOSCO
SOSCI
O
I
ST/CMOS
T1CK
T2CK
T3CK
T4CK
T5CK
I
I
I
I
I
ST
ST
ST
ST
ST
U1RX
U1TX
U1ARX
U1ATX
U2RX
U2TX
I
O
I
O
I
O
ST
ST
ST
UART1 Receive.
UART1 Transmit.
UART1 Alternate Receive.
UART1 Alternate Transmit.
UART2 Receive.
UART2 Transmit.
VDD
VSS
VREF+
Analog
Analog
Pin Name
VREF-
Legend:
Description
Preliminary
DS70116D-page 11
dsPIC30F5011/5013
NOTES:
DS70116D-page 12
Preliminary
dsPIC30F5011/5013
2.0
CPU ARCHITECTURE
OVERVIEW
2.1
Core Overview
Preliminary
DS70116D-page 13
dsPIC30F5011/5013
The core does not support a multi-stage instruction
pipeline. However, a single stage instruction pre-fetch
mechanism is used, which accesses and partially
decodes instructions a cycle ahead of execution, in
order to maximize available execution time. Most
instructions execute in a single cycle with certain
exceptions.
The core features a vectored exception processing
structure for traps and interrupts, with 62 independent
vectors. The exceptions consist of up to 8 traps (of
which 4 are reserved) and 54 interrupts. Each interrupt
is prioritized based on a user assigned priority between
1 and 7 (1 being the lowest priority and 7 being the
highest), in conjunction with a predetermined natural
order. Traps have fixed priorities ranging from 8 to 15.
2.2
Programmers Model
2.2.1
2.2.2
STATUS REGISTER
2.2.3
PROGRAM COUNTER
When a byte operation is performed on a working register, only the Least Significant Byte of the target register is affected. However, a benefit of memory mapped
working registers is that both the Least and Most Significant Bytes can be manipulated through byte wide
data memory space accesses.
DS70116D-page 14
Preliminary
dsPIC30F5011/5013
FIGURE 2-1:
PROGRAMMERS MODEL
D15
D0
W0/WREG
PUSH.S Shadow
W1
DO Shadow
W2
W3
Legend
W4
DSP Operand
Registers
W5
W6
W7
Working Registers
W8
W9
DSP Address
Registers
W10
W11
W12/DSP Offset
W13/DSP Write Back
W14/Frame Pointer
W15/Stack Pointer
SPLIM
AD39
AD15
AD31
AD0
AccA
DSP
Accumulators
AccB
PC22
PC0
Program Counter
0
0
7
TABPAG
TBLPAG
7
PSVPAG
0
RCOUNT
15
0
DCOUNT
DO Loop Counter
22
0
DOSTART
DOEND
22
15
0
Core Configuration Register
CORCON
OA
OB
SA
SB OAB SAB DA
SRH
OV
Status Register
SRL
Preliminary
DS70116D-page 15
dsPIC30F5011/5013
2.3
Divide Support
TABLE 2-1:
DIVIDE INSTRUCTIONS
Instruction
DIVF
Note:
Function
Signed fractional divide: Wm/Wn W0; Rem W1
DIV.sd
DIV.sw or
DIV.s
DIV.ud
DIV.uw or
DIV.u
DS70116D-page 16
Preliminary
dsPIC30F5011/5013
2.4
DSP Engine
TABLE 2-2:
7.
Note:
Instruction
CLR
ED
Algebraic Operation
A=0
ACC WB?
Yes
A = (x y)2
No
2
No
EDAC
A = A + (x y)
MAC
A = A + (x * y)
MAC
A = A + x2
No
No change in A
Yes
A=x*y
No
A=x*y
No
A=Ax*y
Yes
MOVSAC
MPY
MPY.N
MSC
Preliminary
Yes
DS70116D-page 17
dsPIC30F5011/5013
FIGURE 2-2:
40
S
a
40 Round t 16
u
Logic r
a
t
e
40-bit Accumulator A
40-bit Accumulator B
Carry/Borrow Out
Carry/Borrow In
Saturate
Adder
Negate
40
40
40
16
X Data Bus
Barrel
Shifter
40
Y Data Bus
Sign-Extend
32
16
Zero Backfill
32
33
17-bit
Multiplier/Scaler
16
16
To/From W Array
DS70116D-page 18
Preliminary
dsPIC30F5011/5013
2.4.1
MULTIPLIER
2.4.2.1
2.4.2
4.
5.
6.
OA:
AccA overflowed into guard bits
OB:
AccB overflowed into guard bits
SA:
AccA saturated (bit 31 overflow and saturation)
or
AccA overflowed into guard bits and saturated
(bit 39 overflow and saturation)
SB:
AccB saturated (bit 31 overflow and saturation)
or
AccB overflowed into guard bits and saturated
(bit 39 overflow and saturation)
OAB:
Logical OR of OA and OB
SAB:
Logical OR of SA and SB
Preliminary
DS70116D-page 19
dsPIC30F5011/5013
The SA and SB bits are modified each time data
passes through the adder/subtracter but can only be
cleared by the user. When set, they indicate that the
accumulator has overflowed its maximum range (bit 31
for 32-bit saturation, or bit 39 for 40-bit saturation) and
will be saturated (if saturation is enabled). When saturation is not enabled, SA and SB default to bit 39 overflow and thus indicate that a catastrophic overflow has
occurred. If the COVTE bit in the INTCON1 register is
set, SA and SB bits will generate an arithmetic warning
trap when saturation is disabled.
The overflow and saturation status bits can optionally
be viewed in the STATUS register (SR) as the logical
OR of OA and OB (in bit OAB) and the logical OR of SA
and SB (in bit SAB). This allows programmers to check
one bit in the STATUS register to determine if either
accumulator has overflowed, or one bit to determine if
either accumulator has saturated. This would be useful
for complex number arithmetic which typically uses
both the accumulators.
The device supports three saturation and overflow
modes:
1.
2.
3.
DS70116D-page 20
2.4.2.2
2.
2.4.2.3
Round Logic
The round logic is a combinational block which performs a conventional (biased) or convergent (unbiased) round function during an accumulator write
(store). The Round mode is determined by the state of
the RND bit in the CORCON register. It generates a 16bit, 1.15 data value which is passed to the data space
write saturation logic. If rounding is not indicated by the
instruction, a truncated 1.15 data value is stored and
the LS Word is simply discarded.
Conventional rounding takes bit 15 of the accumulator,
zero-extends it and adds it to the ACCxH word (bits 16
through 31 of the accumulator). If the ACCxL word
(bits 0 through 15 of the accumulator) is between
0x8000 and 0xFFFF (0x8000 included), ACCxH is
incremented. If ACCxL is between 0x0000 and 0x7FFF,
ACCxH is left unchanged. A consequence of this algorithm is that over a succession of random rounding
operations, the value will tend to be biased slightly
positive.
Convergent (or unbiased) rounding operates in the
same manner as conventional rounding, except when
ACCxL equals 0x8000. If this is the case, the LS bit
(bit 16 of the accumulator) of ACCxH is examined. If it
is 1, ACCxH is incremented. If it is 0, ACCxH is not
modified. Assuming that bit 16 is effectively random in
nature, this scheme will remove any rounding bias that
may accumulate.
The SAC and SAC.R instructions store either a truncated (SAC) or rounded (SAC.R) version of the contents
of the target accumulator to data memory via the X bus
(subject to data saturation, see Section 2.4.2.4). Note
that for the MAC class of instructions, the accumulator
write back operation will function in the same manner,
addressing combined MCU (X and Y) data space
though the X bus. For this class of instructions, the data
is always subject to rounding.
Preliminary
dsPIC30F5011/5013
2.4.2.4
2.4.3
BARREL SHIFTER
Preliminary
DS70116D-page 21
dsPIC30F5011/5013
NOTES:
DS70116D-page 22
Preliminary
dsPIC30F5011/5013
3.0
MEMORY ORGANIZATION
FIGURE 3-1:
PROGRAM SPACE
MEMORY MAP
Reset - GOTO Instruction
Reset - Target Address
000000
000002
000004
Vector Tables
Interrupt Vector Table
User Memory
Space
3.1
Reserved
Alternate Vector Table
User Flash
Program Memory
(22K instructions)
Reserved
(Read 0s)
Data EEPROM
(1 Kbyte)
00007E
000080
000084
0000FE
000100
00AFFE
00B000
7FFBFE
7FFC00
7FFFFE
800000
Configuration Memory
Space
Reserved
8005BE
8005C0
8005FE
800600
Reserved
Device Configuration
Registers
F7FFFE
F80000
F8000E
F80010
Reserved
DEVID (2)
Preliminary
FEFFFE
FF0000
FFFFFE
DS70116D-page 23
dsPIC30F5011/5013
TABLE 3-1:
Access
Space
Access Type
<23>
<22:16>
<15>
<14:1>
Instruction Access
User
TBLRD/TBLWT
User
(TBLPAG<7> = 0)
TBLPAG<7:0>
Data EA<15:0>
TBLRD/TBLWT
Configuration
(TBLPAG<7> = 1)
TBLPAG<7:0>
Data EA<15:0>
User
FIGURE 3-2:
<0>
PC<22:1>
PSVPAG<7:0>
Data EA<14:0>
Program Counter
Select
Using
Program
Space
Visibility
EA
PSVPAG Reg
8 bits
15 bits
EA
Using
Table
Instruction
1/0
User/
Configuration
Space
Select
Note:
DS70116D-page 24
TBLPAG Reg
8 bits
16 bits
24-bit EA
Byte
Select
Program space visibility cannot be used to access bits <23:16> of a word in program memory.
Preliminary
dsPIC30F5011/5013
3.1.1
2.
3.
4.
Figure 3-2 shows how the EA is created for table operations and data space accesses (PSV = 1). Here,
P<23:0> refers to a program space word, whereas
D<15:0> refers to a data space word.
FIGURE 3-3:
PC Address
0x000000
0x000002
0x000004
0x000006
23
16
00000000
00000000
00000000
00000000
Program Memory
Phantom Byte
(read as 0)
TBLRDL.W
TBLRDL.B (Wn<0> = 0)
TBLRDL.B (Wn<0> = 1)
Preliminary
DS70116D-page 25
dsPIC30F5011/5013
FIGURE 3-4:
23
16
00000000
00000000
00000000
00000000
TBLRDH.B (Wn<0> = 0)
Program Memory
Phantom Byte
(read as 0)
3.1.2
TBLRDH.B (Wn<0> = 1)
DS70116D-page 26
Preliminary
dsPIC30F5011/5013
FIGURE 3-5:
Data Space
0x0000
EA<15> = 0
PSVPAG(1)
0x01
8
15
Data 16
Space
15
EA
EA<15> = 1
0x8000
15
Address
Concatenation 23
23
15
0x008000
0x008200
0xFFFF
BSET
MOV
MOV
MOV
CORCON,#2
#0x21, W0
W0, PSVPAG
0x8200, W0
Data Read
Note:
3.2
PSVPAG is an 8-bit register, containing bits <22:15> of the program space address (i.e., it defines
the page in program space to which the upper half of data space is being mapped).
3.2.1
The core has two data spaces. The data spaces can be
considered either separate (for some DSP instructions), or as one unified linear address range (for MCU
instructions). The data spaces are accessed using two
Address Generation Units (AGUs) and separate data
paths.
Preliminary
DS70116D-page 27
dsPIC30F5011/5013
When executing any instruction other than one of the
MAC class of instructions, the X block consists of the 64Kbyte data address space (including all Y addresses).
When executing one of the MAC class of instructions,
the X block consists of the 64-Kbyte data address
space excluding the Y address block (for data reads
only). In other words, all other instructions regard the
entire data memory as one composite address space.
FIGURE 3-6:
16 bits
MSB
2 Kbyte
SFR Space
LS Byte
Address
LSB
0x0000
0x0001
SFR Space
0x07FE
0x0800
0x07FF
0x0801
X Data RAM (X)
4 Kbyte
SRAM Space
0x0FFF
0x1001
Y Data RAM (Y)
0x17FF
0x1801
0x17FE
0x1800
0x1FFF
0x1FFE
0x8001
0x8000
X Data
Unimplemented (X)
Optionally
Mapped
into Program
Memory
0xFFFF
DS70116D-page 28
8 Kbyte
Near
Data
Space
0x0FFE
0x1000
0xFFFE
Preliminary
dsPIC30F5011/5013
DATA SPACE FOR MCU AND DSP (MAC CLASS) INSTRUCTIONS EXAMPLE
SFR SPACE
SFR SPACE
X SPACE
FIGURE 3-7:
Y SPACE
UNUSED
X SPACE
(Y SPACE)
X SPACE
UNUSED
UNUSED
Preliminary
DS70116D-page 29
dsPIC30F5011/5013
3.2.2
DATA SPACES
3.2.3
The X data space is used by all instructions and supports all Addressing modes. There are separate read
and write data buses. The X read data bus is the return
data path for all instructions that view data space as
combined X and Y address space. It is also the X
address space data path for the dual operand read
instructions (MAC class). The X write data bus is the
only write path to data space for all instructions.
The X data space also supports modulo addressing for
all instructions, subject to Addressing mode restrictions. Bit-reversed addressing is only supported for
writes to X data space.
The Y data space is used in concert with the X data
space by the MAC class of instructions (CLR, ED,
EDAC, MAC, MOVSAC, MPY, MPY.N and MSC) to
provide two concurrent data read paths. No writes
occur across the Y bus. This class of instructions dedicates two W register pointers, W10 and W11, to always
address Y data space, independent of X data space,
whereas W8 and W9 always address X data space.
Note that during accumulator write back, the data
address space is considered a combination of X and Y
data spaces, so the write occurs across the X bus.
Consequently, the write can be to any address in the
entire data space.
The Y data space can only be used for the data prefetch operation associated with the MAC class of
instructions. It also supports modulo addressing for
automated circular buffers. Of course, all other instructions can access the Y data address space through the
X data path as part of the composite linear space.
The boundary between the X and Y data spaces is
defined as shown in Figure 3-6 and is not user programmable. Should an EA point to data outside its own
assigned address space, or to a location outside physical memory, an all zero word/byte will be returned. For
example, although Y address space is visible by all
non-MAC instructions using any Addressing mode, an
attempt by a MAC instruction to fetch data from that
space using W8 or W9 (X space pointers) will return
0x0000.
TABLE 3-2:
3.2.4
15
Data Returned
EA = an unimplemented address
0x0000
0x0000
0x0000
DATA ALIGNMENT
FIGURE 3-8:
EFFECT OF INVALID
MEMORY ACCESSES
Attempted Operation
DATA ALIGNMENT
MS Byte
87
LS Byte
0001
Byte1
Byte 0
0000
0003
Byte3
Byte 2
0002
0005
Byte5
Byte 4
0004
DS70116D-page 30
Preliminary
dsPIC30F5011/5013
All byte loads into any W register are loaded into the
LS Byte. The MSB is not modified.
A sign-extend (SE) instruction is provided to allow
users to translate 8-bit signed data to 16-bit signed
values. Alternatively, for 16-bit unsigned data, users
can clear the MSB of any W register by executing a
zero-extend (ZE) instruction on the appropriate
address.
Although most instructions are capable of operating on
word or byte data sizes, it should be noted that some
instructions, including the DSP instructions, operate
only on words.
3.2.5
There is a Stack Pointer Limit register (SPLIM) associated with the stack pointer. SPLIM is uninitialized at
Reset. As is the case for the stack pointer, SPLIM<0>
is forced to 0 because all stack operations must be
word aligned. Whenever an effective address (EA) is
generated using W15 as a source or destination
pointer, the address thus generated is compared with
the value in SPLIM. If the contents of the Stack Pointer
(W15) and the SPLIM register are equal and a push
operation is performed, a Stack Error Trap will not
occur. The Stack Error Trap will occur on a subsequent
push operation. Thus, for example, if it is desirable to
cause a Stack Error Trap when the stack grows beyond
address 0x2000 in RAM, initialize the SPLIM with the
value, 0x1FFE.
Similarly, a stack pointer underflow (stack error) trap is
generated when the stack pointer address is found to
be less than 0x0800, thus preventing the stack from
interfering with the Special Function Register (SFR)
space.
A write to the SPLIM register should not be immediately
followed by an indirect read operation using W15.
FIGURE 3-9:
3.2.6
SOFTWARE STACK
0x0000
Preliminary
15
PC<15:0>
000000000 PC<22:16>
<Free Word>
DS70116D-page 31
DS70116D-page 32
Preliminary
003C
003E
0040
0042
DOSTARTH
DOENDL
DOENDH
SR
OA
Bit 15
u = uninitialized bit
003A
DOSTARTL
Legend:
0038
0032
TBLPAG
DCOUNT
0030
PCH
0036
002E
PCL
RCOUNT
002C
ACCBU
0034
002A
ACCBH
PSVPAG
0028
001A
W13
ACCBL
0018
W12
0026
0016
W11
ACCAU
0014
W10
0024
0012
W9
ACCAH
0010
W8
0022
000E
W7
ACCAL
000C
W6
0020
000A
W5
SPLIM
0008
W4
001E
0006
W3
W15
0004
W2
001C
0002
W1
W14
0000
W0
SFR Name
OB
Bit 14
Bit 12
Bit 11
SA
SB
OAB
Sign-Extension (ACCB<39>)
SAB
Bit 10
Sign-Extension (ACCA<39>)
Bit 13
Address
(Home)
TABLE 3-3:
DA
DCOUNT
RCOUNT
PCL
ACCBH
ACCBL
ACCAH
ACCAL
SPLIM
W15
W14
W13
W12
W11
W10
W9
W8
W7
W6
W5
W4
W3
W2
W1
DC
DOENDL
IPL2
Bit 7
W0 / WREG
Bit 8
DOSTARTL
Bit 9
IPL1
Bit 6
IPL0
Bit 5
Bit 3
RA
DOENDH
DOSTARTH
PSVPAG
TBLPAG
PCH
ACCBU
ACCAU
Bit 4
OV
Bit 2
Bit 1
Bit 0
Reset State
dsPIC30F5011/5013
004E
0050
0052
YMODSRT
YMODEND
XBREV
DISICNT
BREN
YMODEN
Bit 14
US
Bit 12
Bit 13
EDT
Bit 11
DL1
Bit 9
BWM<3:0>
DL2
Bit 10
YE<15:1>
YS<15:1>
XE<15:1>
XS<15:1>
DL0
Bit 8
Bit 4
SATDW ACCSAT
Bit 5
YWM<3:0>
SATB
Bit 6
DISICNT<13:0>
XB<14:0>
SATA
Bit 7
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
u = uninitialized bit
004C
XMODEND
Legend:
0048
004A
XMODSRT
XMODEN
0044
0046
CORCON
Bit 15
Address
(Home)
MODCON
SFR Name
TABLE 3-3:
IPL3
Bit 3
RND
Bit 1
XWM<3:0>
PSV
Bit 2
IF
Bit 0
Reset State
dsPIC30F5011/5013
Preliminary
DS70116D-page 33
dsPIC30F5011/5013
NOTES:
DS70116D-page 34
Preliminary
dsPIC30F5011/5013
4.0
4.1.2
MCU INSTRUCTIONS
4.1
4.1.1
Register Direct
Register Indirect
Register Indirect Post-modified
Register Indirect Pre-modified
5-bit or 10-bit Literal
Note:
TABLE 4-1:
Not all instructions support all the addressing modes given above. Individual
instructions may support different subsets
of these addressing modes.
Addressing Mode
Description
Register Direct
Register Indirect
Register Indirect with Register Offset The sum of Wn and Wb forms the EA.
Register Indirect with Literal Offset
Preliminary
DS70116D-page 35
dsPIC30F5011/5013
4.1.3
Register Direct
Register Indirect
Register Indirect Post-modified
Register Indirect Pre-modified
Register Indirect with Register Offset (Indexed)
Register Indirect with Literal Offset
8-bit Literal
16-bit Literal
Note:
4.1.4
Register Indirect
Register Indirect Post-modified by 2
Register Indirect Post-modified by 4
Register Indirect Post-modified by 6
Register Indirect with Register Offset (Indexed)
4.1.5
OTHER INSTRUCTIONS
4.2
Modulo Addressing
Modulo addressing is a method of providing an automated means to support circular data buffers using
hardware. The objective is to remove the need for software to perform data address boundary checks when
executing tightly looped code, as is typical in many
DSP algorithms.
Not all instructions support all the addressing modes given above. Individual
instructions may support different subsets
of these addressing modes.
MAC INSTRUCTIONS
Modulo addressing can operate in either data or program space (since the data pointer mechanism is
essentially the same for both). One circular buffer can
be supported in each of the X (which also provides the
pointers into program space) and Y data spaces. Modulo addressing can operate on any W register pointer.
However, it is not advisable to use W14 or W15 for modulo addressing since these two registers are used as
the stack frame pointer and stack pointer, respectively.
In general, any particular circular buffer can only be
configured to operate in one direction, as there are certain restrictions on the buffer start address (for incrementing buffers), or end address (for decrementing
buffers) based upon the direction of the buffer.
The only exception to the usage restrictions is for buffers which have a power-of-2 length. As these buffers
satisfy the start and end address criteria, they may
operate in a Bidirectional mode (i.e., address boundary
checks will be performed on both the lower and upper
address boundaries).
DS70116D-page 36
Preliminary
dsPIC30F5011/5013
4.2.1
4.2.2
Y space modulo addressing EA calculations assume word sized data (LS bit of
every EA is always clear).
W ADDRESS REGISTER
SELECTION
The Modulo and Bit-Reversed Addressing Control register MODCON<15:0> contains enable flags as well as
a W register field to specify the W address registers.
The XWM and YWM fields select which registers will
operate with modulo addressing. If XWM = 15, X
RAGU and X WAGU modulo addressing is disabled.
Similarly, if YWM = 15, Y AGU modulo addressing is
disabled.
The X Address Space Pointer W register (XWM), to
which modulo addressing is to be applied, is stored in
MODCON<3:0> (see Table 3-3). Modulo addressing is
enabled for X data space when XWM is set to any value
other than 15 and the XMODEN bit is set at
MODCON<15>.
The Y Address Space Pointer W register (YWM), to
which modulo addressing is to be applied, is stored in
MODCON<7:4>. Modulo addressing is enabled for Y
data space when YWM is set to any value other than
15 and the YMODEN bit is set at MODCON<14>.
FIGURE 4-1:
Byte
Address
0x1100
MOV
MOV
MOV
MOV
MOV
MOV
#0x1100,W0
W0,XMODSRT
#0x1163,W0
W0,MODEND
#0x8001,W0
W0,MODCON
MOV
#0x0000,W0
MOV
#0x1110,W1
;point W1 to buffer
DO
AGAIN,#0x31
MOV
W0,[W1++]
AGAIN: INC W0,W0
0x1163
Preliminary
DS70116D-page 37
dsPIC30F5011/5013
4.2.3
MODULO ADDRESSING
APPLICABILITY
4.3
Bit-Reversed Addressing
Bit-reversed addressing is intended to simplify data reordering for radix-2 FFT algorithms. It is supported by
the X AGU for data writes only.
The modifier, which may be a constant value or register
contents, is regarded as having its bit order reversed. The
address source and destination are kept in normal order.
Thus, the only operand requiring reversal is the modifier.
4.3.1
2.
3.
FIGURE 4-2:
BIT-REVERSED ADDRESSING
IMPLEMENTATION
b7 b6 b5 b4
b3 b2 b1
0
Bit Locations Swapped Left-to-Right
Around Center of Binary Value
b7 b6 b5 b1
b2 b3 b4
Bit-Reversed Address
Pivot Point
XB = 0x0008 for a 16-word Bit-Reversed Buffer
DS70116D-page 38
Preliminary
dsPIC30F5011/5013
TABLE 4-2:
A3
A2
A1
A0
Bit-Reversed Address
Decimal
A3
A2
A1
A0
Decimal
12
10
14
10
11
13
12
13
11
14
15
15
TABLE 4-3:
2048
0x0400
1024
0x0200
512
0x0100
256
0x0080
128
0x0040
64
0x0020
32
0x0010
16
0x0008
0x0004
0x0002
0x0001
Preliminary
DS70116D-page 39
dsPIC30F5011/5013
NOTES:
DS70116D-page 40
Preliminary
dsPIC30F5011/5013
5.0
INTERRUPTS
Note:
Certain interrupts have specialized control bits for features like edge or level triggered interrupts, interrupton-change, etc. Control of these features remains
within the peripheral module which generates the
interrupt.
The DISI instruction can be used to disable the
processing of interrupts of priorities 6 and lower for a
certain number of instructions, during which the DISI bit
(INTCON2<14>) remains set.
When an interrupt is serviced, the PC is loaded with the
address stored in the vector location in program memory that corresponds to the interrupt. There are 63 different vectors within the IVT (refer to Table 5-1). These
vectors are contained in locations 0x000004 through
0x0000FE of program memory (refer to Table 5-1).
These locations contain 24-bit addresses and in order
to preserve robustness, an address error trap will take
place should the PC attempt to fetch any of these
words during normal execution. This prevents execution of random data as a result of accidentally decrementing a PC into vector space, accidentally mapping
a data space address into vector space, or the PC rolling over to 0x000000 after reaching the end of implemented program memory space. Execution of a GOTO
instruction to this vector space will also generate an
address error trap.
Preliminary
DS70116D-page 41
dsPIC30F5011/5013
5.1
TABLE 5-1:
Interrupt Priority
DS70116D-page 42
INT
Number
Vector
Number
Interrupt Source
Preliminary
dsPIC30F5011/5013
5.2
Reset Sequence
5.3
5.2.1
Traps
RESET SOURCES
5.3.1
TRAP SOURCES
The following traps are provided with increasing priority. However, since all traps can be nested, priority has
little effect.
2.
3.
4.
If the user does not intend to take corrective action in the event of a trap error
condition, these vectors must be loaded
with the address of a default handler that
simply contains the RESET instruction. If,
on the other hand, one of the vectors
containing an invalid address is called, an
address error trap is generated.
Preliminary
DS70116D-page 43
dsPIC30F5011/5013
Address Error Trap:
5.3.2
1.
2.
3.
4.
5.
6.
FIGURE 5-1:
TRAP VECTORS
1.
2.
Decreasing
Priority
IVT
AIVT
DS70116D-page 44
Preliminary
Interrupt 52 Vector
Interrupt 53 Vector
Reserved
Reserved
Reserved
Oscillator Fail Trap Vector
Stack Error Trap Vector
Address Error Trap Vector
Math Error Trap Vector
Reserved Vector
Reserved Vector
Reserved Vector
Interrupt 0 Vector
Interrupt 1 Vector
Interrupt 52 Vector
Interrupt 53 Vector
0x000000
0x000002
0x000004
0x000014
0x00007E
0x000080
0x000082
0x000084
0x000094
0x0000FE
dsPIC30F5011/5013
5.4
Interrupt Sequence
5.5
FIGURE 5-2:
0x0000 15
INTERRUPT STACK
FRAME
0
5.6
A context saving option is available using shadow registers. Shadow registers are provided for the DC, N,
OV, Z and C bits in SR, and the registers W0 through
W3. The shadows are only one level deep. The shadow
registers are accessible using the PUSH.S and POP.S
instructions only.
When the processor vectors to an interrupt, the
PUSH.S instruction can be used to store the current
value of the aforementioned registers into their
respective shadow registers.
PC<15:0>
SRL IPL3 PC<22:16>
<Free Word>
PUSH: [W15++]
5.7
Note 1: The user can always lower the priority
level by writing a new value into SR. The
Interrupt Service Routine must clear the
interrupt flag bits in the IFSx register
before lowering the processor interrupt
priority, in order to avoid recursive
interrupts.
2: The IPL3 bit (CORCON<3>) is always
clear when interrupts are being processed. It is set only during execution of
traps.
The RETFIE (return from interrupt) instruction will
unstack the program counter and STATUS registers to
return the processor to its state prior to the interrupt
sequence.
5.8
Preliminary
DS70116D-page 45
0084
0086
0088
008C
008E
0090
0094
0096
0098
009A
009C
IFS0
IFS1
DS70116D-page 46
IFS2
IEC0
IEC1
IEC2
IPC0
IPC1
IPC2
IPC3
IPC4
Preliminary
u = uninitialized bit
Legend:
IC3IE
C1IE
ADIE
C1IF
ADIF
Bit 11
DCIIF
U2TXIF
U1RXIF
OVBTE
Bit 9
LVDIE
SPI2IE
SPI1IE
U2RXIF
SPI1IF
COVTE
Bit 8
LVDIP<2:0>
C2IP<2:0>
OC7IP<2:0>
IC5IP<2:0>
SPI2IP<2:0>
T5IP<2:0>
IC8IP<2:0>
MI2CIP<2:0>
U1TXIP<2:0>
T2IP<2:0>
OC1IP<2:0>
DCIIE
U2TXIE U2RXIE
U1TXIE U1RXIE
LVDIF
SPI2IF
U1TXIF
OVATE
Bit 10
INT2IE
T3IE
INT2IF
T3IF
Bit 7
C2IE
T5IE
T2IE
C2IF
T5IF
T2IF
Bit 6
Bit 4
INT3IE
OC4IE
IC2IE
INT3IF
OC4IF
IC2IF
INT4EP
MATHERR
DCIIP<2:0>
INT41IP<2:0>
OC6IP<2:0>
IC4IP<2:0>
U2TXIP<2:0>
T4IP<2:0>
IC7IP<2:0>
SI2CIP<2:0>
U1RXIP<2:0>
OC2IP<2:0>
IC1IP<2:0>
INT4IE
T4IE
OC2IE
INT4IF
T4IF
OC2IF
Bit 5
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
00A8
IPC10
OC8IP<2:0>
00A6
IPC9
00A4
IPC8
IC6IP<2:0>
00A2
IPC7
C1IP<2:0>
00A0
IPC6
009E
IPC5
IC3IF
NVMIE
OC3IP<2:0>
CNIP<2:0>
ADIP<2:0>
T31P<2:0>
T1IP<2:0>
IC4IE
SI2CIE
INT2IP<2:0>
IC5IE
IC4IF
Bit 12
NVMIF
IC6IE
MI2CIE
CNIE
IC5IF
SI2CIF
MI2CIF
Bit 13
Bit 14
IC6IF
CNIF
0082 ALTIVT
INTCON2
Bit 15
0080 NSTDIS
ADR
INTCON1
SFR
Name
TABLE 5-2:
OC8IE
OC3IE
T1IE
OC8IF
OC3IF
T1IF
INT3EP
ADDRERR
Bit 3
Bit 1
OC7IE
IC8IE
OC1IE
OC7IF
IC8IF
OC1IF
INT2EP
INT3IP<2:0>
OC5IP<2:0>
IC3IP<2:0>
U2RXIP<2:0>
OC4IP<2:0>
INT1IP<2:0>
NVMIP<2:0>
SPI1IP<2:0>
IC2IP<2:0>
INT0IP<2:0>
OC6IE
IC7IE
IC1IE
OC6IF
IC7IF
IC1IF
INT1EP
STKERR OSCFAIL
Bit 2
Reset State
OC5IE
INT1IE
INT0IE
OC5IF
INT1IF
INT0IF
Bit 0
dsPIC30F5011/5013
dsPIC30F5011/5013
6.0
6.2
The dsPIC30F family of devices contains internal program Flash memory for executing user code. There are
two methods by which the user can program this
memory:
1.
2.
6.1
6.3
FIGURE 6-1:
Run-Time Self-Programming
(RTSP)
Program Counter
NVMADR Reg EA
Using
NVMADR
Addressing
1/0
NVMADRU Reg
8 bits
16 bits
Working Reg EA
Using
Table
Instruction
User/Configuration
Space Select
1/0
TBLPAG Reg
8 bits
16 bits
24-bit EA
Preliminary
Byte
Select
DS70116D-page 47
dsPIC30F5011/5013
6.4
RTSP Operation
6.5
NVMCON
NVMADR
NVMADRU
NVMKEY
6.5.1
NVMCON REGISTER
6.5.2
NVMADR REGISTER
6.5.3
NVMADRU REGISTER
6.5.4
NVMKEY REGISTER
DS70116D-page 48
Control Registers
Preliminary
dsPIC30F5011/5013
6.6
Programming Operations
4.
6.6.1
5.
2.
3.
EXAMPLE 6-1:
6.
6.6.2
write
Preliminary
DS70116D-page 49
dsPIC30F5011/5013
6.6.3
EXAMPLE 6-2:
; 31st_program_word
MOV
#LOW_WORD_31,W2
;
MOV
#HIGH_BYTE_31,W3
;
; Write PM low word into program latch
TBLWTL W2, [W0]
; Write PM high byte into program latch
TBLWTH W3, [W0++]
Note: In Example 6-2, the contents of the upper byte of W3 has no effect.
6.6.4
EXAMPLE 6-3:
DISI
#5
MOV
MOV
MOV
MOV
BSET
NOP
NOP
#0x55,W0
W0,NVMKEY
#0xAA,W1
W1,NVMKEY
NVMCON,#WR
DS70116D-page 50
;
;
;
;
;
;
;
;
;
Preliminary
0764
0766
NVMADRU
NVMKEY
WREN
Bit 14
WR
Bit 15
Bit 9
Bit 7
NVMADR<15:0>
TWRI
Bit 8
Bit 6
Bit 5
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
WRERR
Bit 13
u = uninitialized bit
0762
Legend:
0760
NVMCON
Addr.
NVMADR
File Name
TABLE 6-1:
Bit 3
Bit 2
KEY<7:0>
NVMADR<23:16>
PROGOP<6:0>
Bit 4
Bit 1
Bit 0
All RESETS
dsPIC30F5011/5013
Preliminary
DS70116D-page 51
dsPIC30F5011/5013
NOTES:
DS70116D-page 52
Preliminary
dsPIC30F5011/5013
7.0
NVMCON
NVMADR
NVMADRU
NVMKEY
Control bit WR initiates write operations similar to program Flash writes. This bit cannot be cleared, only set,
in software. They are cleared in hardware at the completion of the write operation. The inability to clear the
WR bit in software prevents the accidental or
premature termination of a write operation.
The WREN bit, when set, will allow a write operation.
On power-up, the WREN bit is clear. The WRERR bit is
set when a write operation is interrupted by a MCLR
Reset or a WDT Time-out Reset during normal operation. In these situations, following Reset, the user can
check the WRERR bit and rewrite the location. The
address register NVMADR remains unchanged.
Note:
7.1
Interrupt flag bit NVMIF in the IFS0 register is set when write is complete. It must be
cleared in software.
A TBLRD instruction reads a word at the current program word address. This example uses W0 as a
pointer to data EEPROM. The result is placed in
register W4 as shown in Example 7-1.
EXAMPLE 7-1:
MOV
MOV
MOV
TBLRDL
Preliminary
DS70116D-page 53
dsPIC30F5011/5013
7.2
7.2.1
EXAMPLE 7-2:
7.2.2
EXAMPLE 7-3:
DS70116D-page 54
Preliminary
dsPIC30F5011/5013
7.3
2.
3.
EXAMPLE 7-4:
7.3.1
; Init pointer
; Get data
; Write data
MOV
#0x55,W0
; Write the 0x55 key
MOV
W0,NVMKEY
MOV
#0xAA,W1
; Write the 0xAA key
MOV
W1,NVMKEY
BSET
NVMCON,#WR
; Initiate program sequence
NOP
NOP
; 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
Preliminary
DS70116D-page 55
dsPIC30F5011/5013
7.3.2
EXAMPLE 7-5:
MOV
MOV
MOV
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
TBLWTL
MOV
MOV
DISI
#5
#LOW_ADDR_WORD,W0
#HIGH_ADDR_WORD,W1
W1,TBLPAG
#data1,W2
W2,[ W0]++
#data2,W2
W2,[ W0]++
#data3,W2
W2,[ W0]++
#data4,W2
W2,[ W0]++
#data5,W2
W2,[ W0]++
#data6,W2
W2,[ W0]++
#data7,W2
W2,[ W0]++
#data8,W2
W2,[ W0]++
#data9,W2
W2,[ W0]++
#data10,W2
W2,[ W0]++
#data11,W2
W2,[ W0]++
#data12,W2
W2,[ W0]++
#data13,W2
W2,[ W0]++
#data14,W2
W2,[ W0]++
#data15,W2
W2,[ W0]++
#data16,W2
W2,[ W0]++
#0x400A,W0
W0,NVMCON
MOV
MOV
MOV
MOV
BSET
NOP
NOP
#0x55,W0
W0,NVMKEY
#0xAA,W1
W1,NVMKEY
NVMCON,#WR
DS70116D-page 56
; Init pointer
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
Preliminary
dsPIC30F5011/5013
7.4
Write Verify
7.5
Preliminary
DS70116D-page 57
dsPIC30F5011/5013
NOTES:
DS70116D-page 58
Preliminary
dsPIC30F5011/5013
8.0
I/O PORTS
When a pin is shared with another peripheral or function that is defined as an input only, it is nevertheless
regarded as a dedicated port because there is no
other competing source of outputs. An example is the
INT4 pin.
8.1
A parallel I/O (PIO) port that shares a pin with a peripheral is, in general, subservient to the peripheral. The
peripherals output buffer data and control signals are
provided to a pair of multiplexers. The multiplexers
select whether the peripheral or the associated port
has ownership of the output data and control signals of
the I/O pad cell. Figure 8-2 shows how ports are shared
with other peripherals and the associated I/O cell (pad)
to which they are connected. Table 8-2 through
Table 8-9 show the formats of the registers for the
shared ports, PORTB through PORTG.
FIGURE 8-1:
Note:
Read TRIS
I/O Cell
TRIS Latch
Data Bus
WR TRIS
CK
Data Latch
D
WR LAT +
WR Port
I/O Pad
CK
Read LAT
Read Port
Preliminary
DS70116D-page 59
dsPIC30F5011/5013
FIGURE 8-2:
Peripheral Module
Peripheral Input Data
Peripheral Module Enable
I/O Cell
Peripheral Output Enable
1 Output Enable
0
PIO Module
Output Data
0
Read TRIS
I/O Pad
Data Bus
WR TRIS
CK
TRIS Latch
D
WR LAT +
WR Port
CK
Data Latch
Read LAT
Input Data
Read Port
8.2
8.2.1
DS70116D-page 60
EXAMPLE 8-1:
MOV
0xFF00, W0
MOV
NOP
W0, TRISB
btss
PORTB, #13
Preliminary
PORT WRITE/READ
EXAMPLE
;
;
;
;
Configure PORTB<15:8>
as inputs
and PORTB<7:0> as outputs
additional instruction
cylcle
; bit test RB13 and skip if
set
Bit 13
Bit 12
Bit 11
Bit 10
Preliminary
02D0
u = uninitialized bit
LATC
Legend:
Bit 14
Bit 13
LATC14
RC14
LATC13
RC13
02D0
u = uninitialized bit
LATC
Legend:
LATC15
RC15
02CE
Bit 14
Bit 13
LATC14
RC14
LATC13
RC13
02CC
Bit 15
PORTC
Addr.
TRISC
SFR
Name
LATB11
RB11
LATB10
RB10
LATB9
RB9
TRISB9
Bit 11
Bit 12
Bit 10
Bit 9
Bit 11
Bit 12
Bit 10
Bit 9
LATC15
RC15
02CE
TABLE 8-4:
LATB12
RB12
02CC
Bit 15
PORTC
Addr.
LATB13
RB13
Bit 9
TRISC
SFR
Name
LATB14
RB14
u = uninitialized bit
TABLE 8-3:
Legend:
LATB15
RB15
02CB
Bit 12
LATB
Bit 13
02C8
Bit 14
Bit 15
PORTB
Addr.
LATA9
RA9
Bit 8
Bit 8
Bit 8
LATB8
RB8
Bit 6
LATA6
RA6
TRISA6
Bit 6
Bit 5
Bit 5
Bit 4
Bit 4
Bit 3
Bit 3
Bit 2
Bit 2
Bit 1
Bit 1
Bit 0
Bit 0
Reset State
Reset State
Bit 7
Bit 6
RB6
Bit 5
Bit 5
LATB6
Bit 6
LATB7
RB7
LATC4
RC4
RB4
LATC3
RC3
TRISC3
Bit 3
RB3
RB2
LATC2
RC2
TRISC2
Bit 2
LATC2
RC2
TRISC2
RB1
Bit 1
LATB1
LATC1
RC1
TRISC1
Bit 1
LATC1
RC1
TRISC1
LATB2
Bit 2
LATB3
Bit 3
LATB4
TRISC4
Bit 4
Bit 4
LATB5
RB5
Bit 0
Bit 0
LATB0
RB0
Reset State
Reset State
TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
Bit 7
LATA7
RA7
TRISA7
Bit 7
Bit 7
TRISB8
Bit 8
LATA12
RA10
TRISB
SFR
Name
TABLE 8-2:
LATA13
Bit 9
TRISA10 TRISA9
Bit 10
LATA14
RA12
Note:
LATA15
RA13
02C4
RA14
u = uninitialized bit
RA15
Bit 11
Legend:
02C2
PORTA
Bit 14
Bit 15
LATA
02C0
Addr.
TRISA
SFR
Name
TABLE 8-1:
dsPIC30F5011/5013
DS70116D-page 61
DS70116D-page 62
02D6
LATD
Bit 13
Bit 12
Bit 10
Bit 9
LATD11
RD11
LATD10
RD10
LATD9
RD9
Bit 11
02E0
02E2
LATF
Preliminary
02E0
02E2
PORTF
LATF
Bit 14
Bit 15
02E8
LATG
LATD11
LATD10
RD10
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 8
LATF8
RF8
Bit 14
Bit 13
Bit 12
LATG15
RG15
LATG14
RG14
LATG12
RG12
Bit 10
Bit 11
LATG9
RG9
TRISG9
Bit 9
LATG8
RG8
TRISG8
Bit 8
LATG7
RG7
RD5
Bit 3
Bit 2
Bit 1
Bit 0
Reset State
RD4
Bit 4
LATD4
RD3
Bit 3
LATD3
RD2
Bit 2
LATD2
RD1
Bit 1
LATD1
RD0
Bit 0
LATD0
Reset State
Bit 5
RF5
Bit 5
LATF5
RF5
TRISF5
Bit 5
RD4
Bit 4
Bit 4
LATF4
RF4
TRISF4
Bit 4
LATF4
RF4
RD3
Bit 3
LATG3
RG3
TRISG3
Bit 3
LATF3
RF3
TRISF3
Bit 3
LATF3
RF3
RD2
Bit 2
LATF2
RF2
TRISF2
Bit 2
LATF2
RF2
TRISF2
Bit 2
LATG2
RG2
RD1
Bit 1
LATF1
RF1
TRISF1
Bit 1
LATF1
RF1
TRISF1
Bit 1
LATG1
RG1
RD0
Bit 0
LATF0
RF0
TRISF0
Bit 0
LATF0
RF0
TRISF0
Bit 0
LATD0
LATG0
RG0
TRISG0
LATD1
TRISG1
LATD2
TRISG2
LATD3
TRISF3
LATD4
TRISF4
LATD5
RD5
Reset State
Reset State
Reset State
TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 1111 1111 1111 1111
Bit 5
LATD5
LATF5
LATG6
RG6
Bit 4
TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 0000 1111 1111 1111
Bit 5
TRISF5
TRISG6
Bit 6
LATF6
RF6
TRISF6
TRISG7
Bit 7
LATF7
RF7
Bit 6
LATF6
RF6
TRISF6
Bit 6
LATD6
RD6
TRISD6
Bit 6
LATD6
RD6
TRISD6
Bit 6
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
LATG13
RG13
Bit 15
Bit 7
Bit 7
LATD7
RD7
TRISD7
Bit 7
LATD7
RD7
TRISD7
Bit 7
TRISF7
LATD8
RD8
TRISD8
TRISF8
LATD9
RD9
Bit 8
LATD8
RD8
TRISD8
Bit 8
u = uninitialized bit
02E6
Legend:
02E4
TRISG
Addr.
PORTG
SFR
Name
TABLE 8-9:
LATD12
RD11
u = uninitialized bit
02DE
TRISF
Legend:
Addr.
SFR
Name
TABLE 8-8:
u = uninitialized bit
02DE
TRISF
PORTF
Bit 14
Bit 15
Legend:
LATD13
RD12
Addr.
SFR
Name
LATD14
u = uninitialized bit
TABLE 8-7:
Legend:
LATD15
RD13
Bit 9
02D6
RD14
Bit 10
LATD
RD15
Bit 11
02D4
Bit 12
Bit 13
PORTD
Bit 14
TRISD
Bit 15
Addr.
SFR
Name
u = uninitialized bit
TABLE 8-6:
Legend:
02D4
02D2
TRISD
PORTD
Bit 14
Bit 15
Addr.
SFR
Name
TABLE 8-5:
dsPIC30F5011/5013
dsPIC30F5011/5013
8.3
TABLE 8-10:
SFR
Name
Addr.
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Reset State
CNEN1
00C0
CN15IE
CN14IE
CN13IE
CN12IE
CN11IE
CN10IE
CN9IE
CN8IE
CNEN2
00C2
CNPU1
00C4
CN9PUE
CN8PUE
CNPU2
00C6
Legend:
u = uninitialized bit
TABLE 8-11:
SFR
Name
Addr.
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
CNEN1
00C0
CN7IE
CN6IE
CN5IE
CN4IE
CN3IE
CN2IE
CNEN2
00C2
CN18IE
CNPU1
00C4
CN7PUE
CN6PUE
CN5PUE
CN4PUE
CN3PUE
CN2PUE
CNPU2
00C6
Legend:
u = uninitialized bit
TABLE 8-12:
Bit 2
Bit 1
Bit 0
Reset State
CN1IE
CN0IE
CN17IE
CN16IE
CN1PUE
CN0PUE
CN18PUE CN17PUE
CN16PUE
SFR
Name
Addr.
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
CNEN1
00C0
CN15IE
CN14IE
CN13IE
CN12IE
CN11IE
CN10IE
CN9IE
CN8IE
CNEN2
00C2
CNPU1
00C4
CN9PUE
CN8PUE
CNPU2
00C6
Legend:
u = uninitialized bit
TABLE 8-13:
Reset State
SFR
Name
Addr.
CNEN1
00C0
CN7IE
CN6IE
CN5IE
CN4IE
CN3IE
CN2IE
CNEN2
00C2
CN23IE
CN22IE
CN21IE
CN20IE
CN19IE
CN18IE
CNPU1
00C4
CN7PUE
CN6PUE
CN5PUE
CN4PUE
CN3PUE
CN2PUE
CNPU2
00C6
Legend:
u = uninitialized bit
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Reset State
CN1IE
CN0IE
CN17IE
CN16IE
CN1PUE
CN0PUE
CN16PUE
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
Preliminary
DS70116D-page 63
dsPIC30F5011/5013
NOTES:
DS70116D-page 64
Preliminary
dsPIC30F5011/5013
9.0
TIMER1 MODULE
When the CPU goes into the Idle mode, the timer will
stop incrementing unless the TSIDL (T1CON<13>)
bit = 0. If TSIDL = 1, the timer module logic will resume
the incrementing sequence upon termination of the
CPU Idle mode.
When the CPU goes into the Idle mode, the timer will
stop incrementing unless the respective TSIDL bit = 0.
If TSIDL = 1, the timer module logic will resume the
incrementing sequence upon termination of the CPU
Idle mode.
16-bit Timer
16-bit Synchronous Counter
16-bit Asynchronous Counter
Further, the following operational characteristics are
supported:
FIGURE 9-1:
Comparator x 16
TSYNC
1
Reset
Sync
TMR1
0
T1IF
Event Flag
0
1
CK
TGATE
TCS
TGATE
TGATE
TON
SOSCO/
T1CK
1x
LPOSCEN
SOSCI
TCKPS<1:0>
2
Gate
Sync
01
TCY
00
Preliminary
Prescaler
1, 8, 64, 256
DS70116D-page 65
dsPIC30F5011/5013
9.1
9.4
The 16-bit timer can be placed in the Gated Time Accumulation mode. This mode allows the internal TCY to
increment the respective timer when the gate input signal (T1CK pin) is asserted high. Control bit TGATE
(T1CON<6>) must be set to enable this mode. The
timer must be enabled (TON = 1) and the timer clock
source set to internal (TCS = 0).
When the CPU goes into the Idle mode, the timer will
stop incrementing unless TSIDL = 0. If TSIDL = 1, the
timer will resume the incrementing sequence upon
termination of the CPU Idle mode.
9.2
Timer Prescaler
9.3
Timer Interrupt
9.5
Real-Time Clock
FIGURE 9-2:
RECOMMENDED
COMPONENTS FOR
TIMER1 LP OSCILLATOR
RTC
DS70116D-page 66
Preliminary
C1
SOSCI
32.768 kHz
XTAL
dsPIC30FXXXX
SOSCO
C2
C1 = C2 = 18 pF; R = 100K
dsPIC30F5011/5013
9.5.1
9.5.2
RTC INTERRUPTS
When the CPU enters Sleep mode, the RTC will continue to operate provided the 32 kHz external crystal
oscillator is active and the control bits have not been
changed. The TSIDL bit should be cleared to 0 in
order for RTC to continue operation in Idle mode.
Preliminary
DS70116D-page 67
0102
0104
u = uninitialized bit
PR1
T1CON
Legend:
DS70116D-page 68
Bit 14
TSIDL
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 7
Bit 6
TGATE
Period Register 1
Timer1 Register
Bit 8
Bit 4
TCKPS1 TCKPS0
Bit 5
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
TON
0100
TMR1
Bit 15
Addr.
SFR Name
TABLE 9-1:
Bit 3
TSYNC
Bit 2
TCS
Bit 1
Bit 0
Reset State
dsPIC30F5011/5013
Preliminary
dsPIC30F5011/5013
10.0
TIMER2/3 MODULE
Note:
Preliminary
DS70116D-page 69
dsPIC30F5011/5013
FIGURE 10-1:
TMR3HLD
16
16
Write TMR2
Read TMR2
16
Reset
TMR3
TMR2
MSB
LSB
Sync
Comparator x 32
PR3
PR2
T3IF
Event Flag
CK
TGATE (T2CON<6>)
TCS
TGATE
TGATE
(T2CON<6>)
TON
T2CK
Note:
TCKPS<1:0>
2
1x
Gate
Sync
01
TCY
00
Prescaler
1, 8, 64, 256
Timer configuration bit T32 (T2CON<3>) must be set to 1 for a 32-bit timer/counter operation. All control
bits are respective to the T2CON register.
DS70116D-page 70
Preliminary
dsPIC30F5011/5013
FIGURE 10-2:
Comparator x 16
TMR2
Sync
Reset
T2IF
Event Flag
0
1
CK
TGATE
TCS
TGATE
TGATE
TON
T2CK
FIGURE 10-3:
TCKPS<1:0>
2
1x
Gate
Sync
01
TCY
00
Prescaler
1, 8, 64, 256
Equal
Comparator x 16
TMR3
Reset
0
1
CK
TGATE
TCS
TGATE
T3IF
Event Flag
TGATE
T3CK
Sync
TON
1x
01
TCY
Preliminary
TCKPS<1:0>
2
Prescaler
1, 8, 64, 256
00
DS70116D-page 71
dsPIC30F5011/5013
10.1
10.4
The 32-bit timer can be placed in the Gated Time Accumulation mode. This mode allows the internal TCY to
increment the respective timer when the gate input signal (T2CK pin) is asserted high. Control bit TGATE
(T2CON<6>) must be set to enable this mode. When in
this mode, Timer2 is the originating clock source. The
TGATE setting is ignored for Timer3. The timer must be
enabled (TON = 1) and the timer clock source set to
internal (TCS = 0).
The falling edge of the external signal terminates the
count operation but does not reset the timer. The user
must reset the timer in order to start counting from zero.
10.2
10.3
10.5
Timer Interrupt
Timer Prescaler
DS70116D-page 72
Preliminary
010A
010C
010E
0110
0112
u = uninitialized bit
TMR3
PR2
PR3
T2CON
T3CON
Legend:
TSIDL
TSIDL
Bit 12
Bit 11
Bit 9
Bit 7
Timer2 Register
Bit 8
Bit 6
Bit 5
TGATE
TGATE
Period Register 3
Period Register 2
Timer3 Register
Bit 4
TCKPS1 TCKPS0
TCKPS1 TCKPS0
Bit 10
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
TON
0108
TMR3HLD
TON
0106
TMR2
Bit 13
Bit 15
Bit 14
TABLE 10-1:
T32
Bit 3
Bit 2
TCS
TCS
Bit 1
Bit 0
Reset State
dsPIC30F5011/5013
Preliminary
DS70116D-page 73
dsPIC30F5011/5013
NOTES:
DS70116D-page 74
Preliminary
dsPIC30F5011/5013
11.0
TIMER4/5 MODULE
This section describes the second 32-bit General Purpose (GP) Timer module (Timer4/5) and associated
Operational modes. Figure 11-1 depicts the simplified
block diagram of the 32-bit Timer4/5 module.
Figure 11-2 and Figure 11-3 show Timer4/5 configured
as two independent 16-bit timers, Timer4 and Timer5,
respectively.
FIGURE 11-1:
TMR5HLD
16
16
Write TMR4
Read TMR4
16
Reset
Equal
TMR5
TMR4
MSB
LSB
Sync
Comparator x 32
PR5
PR4
0
T5IF
Event Flag
CK
TGATE (T4CON<6>)
TCS
TGATE
TGATE
(T4CON<6>)
TON
T4CK
Note:
TCKPS<1:0>
2
1x
Gate
Sync
01
TCY
00
Prescaler
1, 8, 64, 256
Timer configuration bit T32 (T4CON<3>) must be set to 1 for a 32-bit timer/counter operation. All control
bits are respective to the T4CON register.
Preliminary
DS70116D-page 75
dsPIC30F5011/5013
FIGURE 11-2:
Reset
TMR4
Sync
0
1
CK
TGATE
TCS
TGATE
T4IF
Event Flag
Comparator x 16
TGATE
TON
T4CK
FIGURE 11-3:
TCKPS<1:0>
2
1x
Gate
Sync
01
TCY
00
Prescaler
1, 8, 64, 256
Equal
Comparator x 16
TMR5
Reset
0
1
CK
TGATE
TCS
TGATE
T5IF
Event Flag
TGATE
T5CK
TON
Sync
1x
01
TCY
Note:
TCKPS<1:0>
2
Prescaler
1, 8, 64, 256
00
In the dsPIC30F5011 device, there is no T5CK pin. Therefore, in this device the following modes should
not be used for Timer5:
1: TCS = 1 (16-bit counter)
2: TCS = 0, TGATE = 1 (gated time accumulation)
DS70116D-page 76
Preliminary
0120
T5CON
TON
TON
Bit 15
Bit 14
TSIDL
TSIDL
Bit 13
Bit 12
u = uninitialized
011E
T4CON
Legend:
011A
011C
0118
TMR5
PR4
0116
PR5
0114
TMR4
Addr.
TMR5HLD
SFR Name
TABLE 11-1:
Bit 11
Bit 9
Bit 7
Bit 6
Timer 4 Register
Bit 8
Bit 5
TGATE
TGATE
Period Register 5
Period Register 4
Timer 5 Register
TCKPS1
TCKPS1
Bit 10
TCKPS0
TCKPS0
Bit 4
T45
Bit 3
Bit 2
TCS
TCS
Bit 1
Bit 0
Reset State
dsPIC30F5011/5013
Preliminary
DS70116D-page 77
dsPIC30F5011/5013
NOTES:
DS70116D-page 78
Preliminary
dsPIC30F5011/5013
12.0
12.1
12.1.1
Frequency/Period/Pulse Measurements
Additional Sources of External Interrupts
CAPTURE PRESCALER
There are four input capture prescaler settings specified by bits ICM<2:0> (ICxCON<2:0>). Whenever the
capture channel is turned off, the prescaler counter will
be cleared. In addition, any Reset will clear the
prescaler counter.
FIGURE 12-1:
T3_CNT
T2_CNT
16
ICx pin
Prescaler
1, 4, 16
3
Clock
Synchronizer
Edge
Detection
Logic
16
ICTMR
FIFO
R/W
Logic
ICM<2:0>
Mode Select
ICxBUF
ICBNE, ICOV
ICI<1:0>
ICxCON
Interrupt
Logic
Data Bus
Note:
Set Flag
ICxIF
Where x is shown, reference is made to the registers or bits associated to the respective input capture
channels 1 through N.
Preliminary
DS70116D-page 79
dsPIC30F5011/5013
12.1.2
12.2
12.1.3
The input capture module consists of up to 8 input capture channels. Each channel can select between one of
two timers for the time base, Timer2 or Timer3.
Selection of the timer resource is accomplished
through SFR bit, ICTMR (ICxCON<7>). Timer3 is the
default timer resource available for the input capture
module.
12.1.4
12.2.1
CPU Sleep mode allows input capture module operation with reduced functionality. In the CPU Sleep mode,
the ICI<1:0> bits are not applicable and the input capture module can only function as an external interrupt
source.
The capture module must be configured for interrupt
only on rising edge (ICM<2:0> = 111) in order for the
input capture module to be used while the device is in
Sleep mode. The prescale settings of 4:1 or 16:1 are
not applicable in this mode.
12.2.2
12.3
DS70116D-page 80
Preliminary
014A
014C
014E
0150
0152
0154
0156
0158
015A
015C
015E
IC3CON
IC4BUF
IC4CON
IC5BUF
IC5CON
IC6BUF
IC6CON
IC7BUF
IC7CON
IC8BUF
IC8CON
Bit 15
ICSIDL
ICSIDL
ICSIDL
ICSIDL
ICSIDL
ICSIDL
ICSIDL
ICSIDL
Bit 13
Bit 12
Bit 11
Bit 10
Bit 8
Bit 7
ICTMR
ICTMR
ICTMR
ICTMR
ICTMR
ICTMR
ICTMR
ICTMR
Bit 9
Bit 5
ICI<1:0>
ICI<1:0>
ICI<1:0>
ICI<1:0>
ICI<1:0>
ICI<1:0>
ICI<1:0>
ICI<1:0>
Bit 6
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
Bit 14
u = uninitialized bit
0148
IC3BUF
Legend:
0144
0146
IC2CON
IC1CON
IC2BUF
0140
0142
IC1BUF
Addr.
SFR Name
TABLE 12-1:
ICOV
ICOV
ICOV
ICOV
ICOV
ICOV
ICOV
ICOV
Bit 4
ICBNE
ICBNE
ICBNE
ICBNE
ICBNE
ICBNE
ICBNE
ICBNE
Bit 3
Bit 2
ICM<2:0>
ICM<2:0>
ICM<2:0>
ICM<2:0>
ICM<2:0>
ICM<2:0>
ICM<2:0>
ICM<2:0>
Bit 1
Bit 0
Reset State
dsPIC30F5011/5013
Preliminary
DS70116D-page 81
dsPIC30F5011/5013
NOTES:
DS70116D-page 82
Preliminary
dsPIC30F5011/5013
13.0
FIGURE 13-1:
OCxRS
Output
Logic
OCxR
OCTSEL
Note:
OCx
OCFA
(for x = 1, 2, 3 or 4)
or OCFB
(for x = 5, 6, 7 or 8)
From GP
Timer Module
TMR2<15:0
Output
Enable
OCM<2:0>
Mode Select
Comparator
S Q
R
TMR3<15:0> T2P2_MATCH
T3P3_MATCH
Where x is shown, reference is made to the registers associated with the respective output compare
channels 1 through N.
Preliminary
DS70116D-page 83
dsPIC30F5011/5013
13.1
13.2
13.3.1
4.
DS70116D-page 84
3.
13.4
13.3
13.3.2
13.4.1
Preliminary
dsPIC30F5011/5013
13.4.2
PWM PERIOD
TMRx is cleared.
The OCx pin is set.
- Exception 1: If PWM duty cycle is 0x0000,
the OCx pin will remain low.
- Exception 2: If duty cycle is greater than PRx,
the pin will remain high.
The PWM duty cycle is latched from OCxRS into
OCxR.
The corresponding timer interrupt flag is set.
EQUATION 13-1:
PWM period = [(PRx) + 1] 4 TOSC
(TMRx prescale value)
PWM frequency is defined as 1 / [PWM period].
FIGURE 13-2:
Duty Cycle
TMR3 = PR3
T3IF = 1
(Interrupt Flag)
OCxR = OCxRS
TMR3 = PR3
T3IF = 1
(Interrupt Flag)
OCxR = OCxRS
13.5
13.6
13.7
The output compare channels have the ability to generate an interrupt on a compare match, for whichever
Match mode has been selected.
For all modes except the PWM mode, when a compare
event occurs, the respective interrupt flag (OCxIF) is
asserted and an interrupt will be generated if enabled.
The OCxIF bit is located in the corresponding IFS
Status register and must be cleared in software. The
interrupt is enabled via the respective compare interrupt enable (OCxIE) bit located in the corresponding
IEC Control register.
For the PWM mode, when an event occurs, the respective timer interrupt flag (T2IF or T3IF) is asserted and
an interrupt will be generated if enabled. The IF bit is
located in the IFS0 Status register and must be cleared
in software. The interrupt is enabled via the respective
timer interrupt enable bit (T2IE or T3IE) located in the
IEC0 Control register. The output compare interrupt
flag is never set during the PWM mode of operation.
Preliminary
DS70116D-page 85
0184
0186
0188
018A
018C
018E
0190
0192
0194
0196
0198
019A
019C
019E
01A0
01A2
01A4
01A6
01A8
01AA
01AC
01AE
u = uninitialized bit
OC2RS
OC2R
OC2CON
OC3RS
OC3R
OC3CON
DS70116D-page 86
OC4RS
OC4R
OC4CON
OC5RS
OC5R
OC5CON
OC6RS
OC6R
OC6CON
OC7RS
OC7R
OC7CON
OC8RS
OC8R
OC8CON
Legend:
Preliminary
OCSIDL
OCSIDL
OCSIDL
OCSIDL
OCSIDL
OCSIDL
OCSIDL
OCSIDL
Bit 8
Bit 7
Bit 6
Bit 5
Bit 9
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
0182
Bit 10
OC1CON
Bit 11
OC1R
Bit 12
0180
Bit 13
Bit 15
Addr.
SFR Name
OC1RS
Bit 14
TABLE 13-1:
OCFLT
OCFLT
OCFLT
OCFLT
OCFLT
OCFLT
OCFLT
OCFLT
Bit 4
OCTSEL
OCTSEL
OCTSEL
OCTSEL
OCTSEL
OCTSEL
OCTSE
OCTSEL
Bit 3
Bit 2
OCM<2:0>
OCM<2:0>
OCM<2:0>
OCM<2:0>
OCM<2:0>
OCM<2:0>
OCM<2:0>
OCM<2:0>
Bit 1
Bit 0
Reset State
dsPIC30F5011/5013
dsPIC30F5011/5013
14.0
SPI MODULE
The Serial Peripheral Interface (SPI) module is a synchronous serial interface. It is useful for communicating
with other peripheral devices, such as EEPROMs, shift
registers, display drivers and A/D converters, or other
microcontrollers. It is compatible with Motorola's SPI
and SIOP interfaces.
14.1
14.1.1
14.1.2
SDOx DISABLE
A control bit, DISSDO, is provided to the SPIxCON register to allow the SDOx output to be disabled. This will
allow the SPI module to be connected in an input only
configuration. SDO can also be used for general
purpose I/O.
14.2
Preliminary
DS70116D-page 87
dsPIC30F5011/5013
FIGURE 14-1:
Write
SPIxBUF
SPIxBUF
Receive
Transmit
SPIxSR
SDIx
bit 0
SDOx
SSx
Shift
Clock
Clock
Control
SS & FSYNC
Control
Edge
Select
Secondary
Prescaler
1, 2, 4, 6, 8
SCKx
Primary
Prescaler
1, 4, 16, 64
FCY
FIGURE 14-2:
SPI Master
SPI Slave
SDOx
SDIy
SDIx
Shift Register
(SPIxSR)
MSb
SDOy
LSb
Shift Register
(SPIySR)
MSb
SCKx
Serial Clock
PROCESSOR 1
LSb
SCKy
PROCESSOR 2
Note: x = 1 or 2, y = 1 or 2.
DS70116D-page 88
Preliminary
dsPIC30F5011/5013
14.3
14.5
14.4
Preliminary
DS70116D-page 89
DS70116D-page 90
u = uninitialized bit
Legend:
0228
022A
SPI2CON
SPI2BUF
SPIFSD
SPISIDL
Bit 13
Bit 12
FRMEN
Bit 14
SPIEN
Bit 15
Bit 12
Bit 10
Bit 10
DISSDO MODE16
Bit 11
DISSDO MODE16
Bit 11
CKE
Bit 8
SSEN
Bit 7
CKP
SPIROV
Bit 6
CKE
Bit 8
SSEN
Bit 7
Bit 6
CKP
SPIROV
SMP
Bit 9
SMP
Bit 9
MSTEN
Bit 5
MSTEN
Bit 5
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
SPIFSD
SPISIDL
Bit 13
u = uninitialized bit
0226
Legend:
Addr.
SFR Name
SPI2STAT
TABLE 14-2:
0224
SPI1BUF
FRMEN
0222
SPIEN
0220
SPI1STAT
Bit 14
SPI1CON
Bit 15
Addr.
SFR
Name
TABLE 14-1:
SPRE2
Bit 4
SPRE2
Bit 4
Bit 2
SPRE0
Bit 2
SPRE1 SPRE0
Bit 3
SPRE1
Bit 3
PPRE1
SPITBF
Bit 1
PPRE1
SPITBF
Bit 1
Reset State
PPRE0
SPIRBF
Bit 0
PPRE0
Reset State
Bit 0
dsPIC30F5011/5013
Preliminary
dsPIC30F5011/5013
15.0
I2C MODULE
15.1.1
TM
15.1
15.1.2
I2C has a 2-pin interface: the SCL pin is clock and the
SDA pin is data.
15.1.3
I2C REGISTERS
FIGURE 15-1:
PROGRAMMERS MODEL
I2CRCV (8 bits)
Bit 7
Bit 0
Bit 7
Bit 0
I2CTRN (8 bits)
I2CBRG (9 bits)
Bit 8
Bit 0
I2CCON (16 bits)
Bit 15
Bit 0
Bit 15
Bit 0
Bit 0
Preliminary
DS70116D-page 91
dsPIC30F5011/5013
FIGURE 15-2:
I2CRCV
Read
SCL
Shift
Clock
I2CRSR
LSB
SDA
Addr_Match
Match Detect
Write
I2CADD
Read
Start and
Stop bit Detect
I2CSTAT
Write
Control Logic
Start, RESTART,
Stop bit Generate
Write
I2CCON
Collision
Detect
Acknowledge
Generation
Clock
Stretching
Read
Read
Write
I2CTRN
LSB
Shift
Clock
Read
Reload
Control
BRG Down
Counter
DS70116D-page 92
Write
I2CBRG
FCY
Preliminary
Read
dsPIC30F5011/5013
15.2
15.3.2
TABLE 15-1:
0x00
Reserved
Valid 7-bit addresses
0x78-0x7b
0x7c-0x7f
Reserved
Note:
SLAVE TRANSMISSION
15.4
In 10-bit mode, the basic receive and transmit operations are the same as in the 7-bit mode. However, the
criteria for address match is more complex.
15.3.1
0x04-0x77
15.3
0x01-0x03
SLAVE RECEPTION
Preliminary
DS70116D-page 93
dsPIC30F5011/5013
15.4.1
15.4.2
15.5
15.5.1
15.5.4
15.5.2
15.5.3
15.6
DS70116D-page 94
Preliminary
dsPIC30F5011/5013
15.7
Interrupts
15.8
Slope Control
15.9
IPMI Support
15.12.1
Transmission of a data byte, a 7-bit address, or the second half of a 10-bit address is accomplished by simply
writing a value to I2CTRN register. The user should
only write to I2CTRN when the module is in a WAIT
state. This action will set the Buffer Full Flag (TBF) and
allow the baud rate generator to begin counting and
start the next transmission. Each bit of address/data
will be shifted out onto the SDA pin after the falling
edge of SCL is asserted. The Transmit Status Flag,
TRSTAT (I2CSTAT<14>), indicates that a master
transmit is in progress.
15.12.2
Preliminary
DS70116D-page 95
dsPIC30F5011/5013
15.12.3
EQUATION 15-1:
I2CBRG =
15.12.4
CY
( FFSCK
FCY
1,111,111
CLOCK ARBITRATION
15.12.5
MULTI-MASTER COMMUNICATION,
BUS COLLISION, AND BUS
ARBITRATION
Multi-master operation support is achieved by bus arbitration. When the master outputs address/data bits
onto the SDA pin, arbitration takes place when the
master outputs a 1 on SDA by letting SDA float high
while another master asserts a 0. When the SCL pin
floats high, data should be stable. If the expected data
on SDA is a 1 and the data sampled on the SDA
pin = 0, then a bus collision has taken place. The
master will set the MI2CIF pulse and reset the master
portion of the I2C port to its Idle state.
15.13.2
For the I2C, the I2CSIDL bit selects if the module will
stop on Idle or continue on Idle. If I2CSIDL = 0, the
module will continue operation on assertion of the Idle
mode. If I2CSIDL = 1, the module will stop on Idle.
DS70116D-page 96
Preliminary
0206
0208
020A
u = uninitialized bit
I2CCON
I2CSTAT
I2CADD
Legend:
TRSTAT
Bit 12
Bit 11
Bit 13
BCL
A10M
Bit 10
GCSTAT
DISSLW
Bit 9
ADD10
SMEN
Bit 8
IWCOL
GCEN
Bit 7
I2COV
STREN
Bit 6
Bit 3
Transmit Register
Receive Register
Bit 4
Address Register
D_A
ACKEN
S
RCEN
Bit 5
ACKDT
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
ACKSTAT
I2CEN
0204
I2CBRG
0202
Bit 14
0200
I2CRCV
Bit 15
I2CTRN
TABLE 15-2:
R_W
PEN
Bit 2
RBF
RSEN
Bit 1
TBF
SEN
Bit 0
Reset State
dsPIC30F5011/5013
Preliminary
DS70116D-page 97
dsPIC30F5011/5013
NOTES:
DS70116D-page 98
Preliminary
dsPIC30F5011/5013
16.0
UNIVERSAL ASYNCHRONOUS
RECEIVER TRANSMITTER
(UART) MODULE
16.1
FIGURE 16-1:
UTX8
Write
Transmit Control
Control TSR
Control Buffer
Generate Flags
Generate Interrupt
Load TSR
UxTXIF
UTXBRK
Data
0 (Start)
UxTX
1 (Stop)
Parity
Parity
Generator
16 Divider
Control
Signals
Note:
x = 1 or 2.
Preliminary
DS70116D-page 99
dsPIC30F5011/5013
FIGURE 16-2:
16
Write
Read
Read Read
UxMODE
Write
UxSTA
0
Start bit Detect
Parity Check
Stop bit Detect
Shift Clock Generation
Wake Logic
Load RSR
to Buffer
Receive Shift Register
(UxRSR)
Control
Signals
FERR
UxRX
8-9
PERR
LPBACK
From UxTX
1
16 Divider
DS70116D-page 100
Preliminary
dsPIC30F5011/5013
16.2
16.2.1
16.3
16.3.1
16.2.2
1.
2.
3.
4.
16.2.3
Transmitting Data
5.
16.3.2
16.3.3
Preliminary
DS70116D-page 101
dsPIC30F5011/5013
16.3.4
TRANSMIT INTERRUPT
16.4.2
b)
16.3.5
TRANSMIT BREAK
16.4.3
RECEIVE INTERRUPT
a)
b)
c)
16.4
Switching between the Interrupt modes during operation is possible, though generally not advisable during
normal operation.
16.4.1
Receiving Data
RECEIVING IN 8-BIT OR 9-BIT
DATA MODE
16.5
16.5.1
1.
2.
3.
4.
5.
DS70116D-page 102
a)
b)
c)
Preliminary
dsPIC30F5011/5013
16.5.2
16.6
16.5.3
16.5.4
IDLE STATUS
16.5.5
RECEIVE BREAK
Setting the ADDEN bit (UxSTA<5>) enables this special mode in which a 9th bit (URX8) value of 1 identifies the received word as an address, rather than data.
This mode is only applicable for 9-bit data communication. The URXISEL control bit does not have any
impact on interrupt generation in this mode since an
interrupt (if enabled) will be generated every time the
received word has the 9th bit set.
16.7
Loopback Mode
16.8
EQUATION 16-1:
BAUD RATE
Preliminary
DS70116D-page 103
dsPIC30F5011/5013
16.9
16.10.2
For the UART, the USIDL bit selects if the module will
stop operation when the device enters Idle mode or
whether the module will continue on Idle. If USIDL = 0,
the module will continue operation during Idle mode. If
USIDL = 1, the module will stop on Idle.
DS70116D-page 104
Preliminary
0212
0214
u = uninitialized bit
U1RXREG
U1BRG
Legend:
Bit 12
021E
u = uninitialized bit
U2BRG
Legend:
Bit 12
Bit 10
Bit 10
UTXBRK UTXEN
Bit 11
UTXBRK UTXEN
Bit 11
UTXBF
Bit 9
URX8
UTX8
TRMT
Bit 8
LPBACK
Bit 6
LPBACK
Bit 6
ABAUD
Bit 5
PERR
Bit 3
RIDLE
Bit 4
PERR
Bit 3
Receive Register
Transmit Register
RIDLE
Bit 4
Receive Register
Transmit Register
WAKE
Bit 7
URX8
UTX8
TRMT
Bit 8
ABAUD
Bit 5
WAKE
Bit 7
UTXBF
Bit 9
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
021A
021C
U2RXREG
USIDL
UARTEN
Bit 13
Bit 14
UTXISEL
Bit 15
USIDL
U2TXREG
0216
0218
U2MODE
U2STA
Addr.
SFR
Name
TABLE 16-2:
0210
U1TXREG
UARTEN
020E
UTXISEL
020C
U1MODE
U1STA
Bit 13
Bit 15
Bit 14
TABLE 16-1:
Bit 1
Bit 0
Reset State
Bit 1
OERR
FERR
OERR
PDSEL1 PDSEL0
Bit 2
FERR
Reset State
Bit 0
Bit 2
dsPIC30F5011/5013
Preliminary
DS70116D-page 105
dsPIC30F5011/5013
NOTES:
DS70116D-page 106
Preliminary
dsPIC30F5011/5013
17.0
CAN MODULE
17.1
Overview
17.2
Frame Types
Preliminary
DS70116D-page 107
dsPIC30F5011/5013
FIGURE 17-1:
BUFFERS
Acceptance Filter
RXF2
MESSAGE
MSGREQ
TXABT
TXLARB
TXERR
MTXBUFF
TXB2
MESSAGE
MSGREQ
TXABT
TXLARB
TXERR
MTXBUFF
MESSAGE
TXB1
MSGREQ
TXABT
TXLARB
TXERR
MTXBUFF
TXB0
A
c
c
e
p
t
R
X
B
0
Message
Queue
Control
Acceptance Mask
RXM0
Acceptance Filter
RXF3
Acceptance Filter
RXF0
Acceptance Filter
RXF4
Acceptance Filter
RXF1
Acceptance Filter
RXF5
Identifier
M
A
B
Data Field
Data Field
PROTOCOL
ENGINE
Note 1:
RERRCNT
TERRCNT
Transmit
Error
Counter
CRC Generator
R
X
B
1
Identifier
Receive
Error
Counter
Transmit Shift
A
c
c
e
p
t
Err Pas
Bus Off
Receive Shift
Protocol
Finite
State
Machine
CRC Check
Transmit
Logic
Bit
Timing
Logic
CiTX(1)
CiRX(1)
Bit Timing
Generator
DS70116D-page 108
Preliminary
dsPIC30F5011/5013
17.3
Modes of Operation
Initialization Mode
Disable Mode
Normal Operation Mode
Listen Only Mode
Loopback Mode
Error Recognition Mode
Note:
17.3.1
INITIALIZATION MODE
17.3.4
DISABLE MODE
17.3.3
17.3.5
17.3.2
17.3.6
LOOPBACK MODE
If the Loopback mode is activated, the module will connect the internal transmit signal to the internal receive
signal at the module boundary. The transmit and
receive pins revert to their port I/O function.
Preliminary
DS70116D-page 109
dsPIC30F5011/5013
17.4
17.4.1
Message Reception
17.4.4
RECEIVE BUFFERS
17.4.2
17.4.3
RECEIVE OVERRUN
17.4.5
RECEIVE ERRORS
17.4.6
RECEIVE INTERRUPTS
DS70116D-page 110
Preliminary
dsPIC30F5011/5013
Receive Error Interrupts:
A receive error interrupt will be indicated by the
ERRIF bit. This bit shows that an error condition
occurred. The source of the error can be determined by checking the bits in the CAN Interrupt
Status register, CiINTF.
- Invalid Message Received:
If any type of error occurred during reception of
the last message, an error will be indicated by
the IVRIF bit.
- Receiver Overrun:
The RXnOVR bit indicates that an overrun
condition occurred.
- Receiver Warning:
The RXWAR bit indicates that the receive error
counter (RERRCNT<7:0>) has reached the
warning limit of 96.
- Receiver Error Passive:
The RXEP bit indicates that the receive error
counter has exceeded the error passive limit of
127 and the module has gone into error passive
state.
17.5
17.5.1
Message Transmission
TRANSMIT BUFFERS
17.5.2
17.5.3
17.5.4
ABORTING MESSAGE
TRANSMISSION
17.5.5
TRANSMISSION ERRORS
TRANSMISSION SEQUENCE
Preliminary
DS70116D-page 111
dsPIC30F5011/5013
17.5.6
17.6
TRANSMIT INTERRUPTS
Transmit Interrupt:
At least one of the three transmit buffers is empty
(not scheduled) and can be loaded to schedule a
message for transmission. Reading the TXnIF
flags will indicate which transmit buffer is available
and caused the interrupt.
FIGURE 17-2:
17.6.1
BIT TIMING
The time segments and also the nominal bit time are
made up of integer units of time called time quanta or
TQ. By definition, the nominal bit time has a minimum
of 8 TQ and a maximum of 25 TQ. Also, by definition,
the minimum nominal bit time is 1 sec corresponding
to a maximum bit rate of 1 MHz.
Input Signal
Sync
Prop
Segment
Phase
Segment 1
Phase
Segment 2
Sync
Sample Point
TQ
DS70116D-page 112
Preliminary
dsPIC30F5011/5013
17.6.2
PRESCALER SETTING
17.6.5
EQUATION 17-1:
17.6.6
PROPAGATION SEGMENT
17.6.4
PHASE SEGMENTS
TQ = 2 (BRP<5:0> + 1) / FCAN
17.6.3
SAMPLE POINT
SYNCHRONIZATION
17.6.6.1
Hard Synchronization
17.6.6.2
Resynchronization
Preliminary
DS70116D-page 113
DS70116D-page 114
Preliminary
0324
0328
0330
0338
0344
C1RXM0EIDL
C1RXM1SID
C1RXM1EIDL 033C
0342
C1RXM0SID
C1RXM1EIDH 033A
0340
C1RXF5EIDL
C1RXM0EIDH 0332
0334
C1RXF5SID
C1RXF5EIDH 032A
032C
C1RXF4EIDL
C1TX2SID
C1TX2EID
C1TX2DLC
0356
C1TX1DLC
C1TX1B1
u = uninitialized bit
0354
C1TX1EID
Legend:
0350
0352
C1TX1SID
034E
0322
C1RXF4EIDH
C1TX2CON
0320
C1RXF4SID
034C
031C
C1RXF3EIDL
C1TX2B4
C1RXF3EIDH 031A
034A
0318
C1RXF3SID
C1TX2B3
0314
C1RXF2EIDL
0348
0312
C1RXF2EIDH
C1TX2B2
0310
C1RXF2SID
0346
030C
C1RXF1EIDL
C1TX2B1
0308
C1RXF1EIDH 030A
C1RXF1SID
0304
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
TXRTR
TXRTR
TXRB1
TXRB1
Bit 2
TXREQ
DLC<3:0>
DLC<3:0>
TXRB0
TXRB0
Bit 3
Bit 4
Bit 10
C1RXF0EIDL
Bit 11
0300
Bit 12
0302
Bit 13
C1RXF0SID
Bit 14
Bit 15
Addr.
C1RXF0EIDH
SFR Name
TABLE 17-1:
SRR
Reset State
MIDE
MIDE
Bit 0
TXPRI<1:0>
SRR
Bit 1
dsPIC30F5011/5013
Preliminary
RX1OVR
CANCAP
RX0OVR
0384
0386
0388
038A
038C
038E
0390
0392
0394
0396
0398
039A
C1RX0B1
C1RX0B2
C1RX0B3
C1RX0B4
C1RX0CON
C1CTRL
C1CFG1
C1CFG2
C1INTF
C1INTE
C1EC
TXEP
ABAT
RXEP
CANCKS
SEG2PH<2:0>
REQOP<2:0>
DLC<3:0>
RXFUL
RXRTRRO
RXRB0
IVRIE
IVRIF
SEG2PHTS
WAKIE
WAKIF
SAM
SJW<1:0>
RXRB0
TX2IF
TX2IE
SRR
FILHIT<2:0>
DLC<3:0>
TX1IF
TX1IE
TX0IE
TX0IF
RX1E
RX1IF
PRSEG<2:0>
ICODE<2:0>
BRP<5:0>
ERRIE
SRR
Reset State
uuuu uuuu uuuu uuuu
TXPRI<1:0>
SRR
DLC<3:0>
Bit 0
TXPRI<1:0>
Bit 1
SEG1PH<2:0>
ERRIF
OPMODE<2:0>
RXFUL
TXREQ
TXREQ
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
TXRB0
Bit 7
TXRB1
Bit 8
TXBO
CSIDLE
TXRTR
Bit 9
Bit 10
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
u = uninitialized bit
WAKFIL
C1RX0DLC
0382
0380
C1RX0EID
C1RX0SID
Legend:
037E
0372
C1RX1EID
C1RX1CON
0370
C1RX1SID
037C
036E
C1TX0CON
C1RX1B4
036C
C1TX0B4
037A
036A
C1TX0B3
C1RX1B3
0368
C1TX0B2
Bit 11
0378
0366
C1TX0DLC
C1TX0B1
Bit 12
Bit 13
0376
0364
C1TX0EID
C1RX1B2
0362
C1TX0SID
C1RX1B1
0360
C1TX1CON
Bit 14
0374
035E
C1TX1B4
Bit 15
C1RX1DLC
035A
035C
C1TX1B3
0358
Addr.
C1TX1B2
SFR Name
TABLE 17-1:
dsPIC30F5011/5013
DS70116D-page 115
DS70116D-page 116
03E0
03E2
03E4
C2RXF3EIDL
C2RXF4SID
C2RXF4EIDH
C2RXF4EIDL
Preliminary
Bit 13
Bit 12
Bit 11
Bit 10
Bit 7
Bit 6
Bit 5
TXRTR
TXRTR
TXRB1
TXRB1
TXRB0
TXRB0
Bit 2
TXLARB
TXERR
TXREQ
DLC<3:0>
TXABT
DLC<3:0>
Bit 3
Bit 4
Bit 8
Bit 9
Bit 14
Bit 15
u = uninitialized bit
0414
Legend:
C2TX1DLC
040E
C2TX2CON
0410
040C
C2TX2B4
0412
040A
C2TX2B3
C2TX1SID
0408
C2TX2B2
C2TX1EID
0404
0406
0402
C2TX2EID
C2TX2B1
0400
C2TX2SID
C2TX2DLC
03FA
03FC
C2RXM1EIDH
03F8
C2RXM1SID
C2RXM1EIDL
03F2
03F4
C2RXM0EIDH
03F0
C2RXM0SID
C2RXM0EIDL
03EA
03EC
C2RXF5EIDH
C2RXF5EIDL
03E8
03DC
C2RXF3EIDH
C2RXF5SID
03D8
03DA
C2RXF3SID
03D2
03D4
C2RXF2EIDH
03D0
C2RXF2SID
C2RXF2EIDL
03CA
03CC
C2RXF1EIDH
C2RXF1EIDL
03C4
03C8
03C2
C2RXF0EIDH
C2RXF1SID
03C0
C2RXF0SID
C2RXF0EIDL
Addr.
SFR Name
TABLE 17-2:
TXIDE
MIDE
MIDE
EXIDE
EXIDE
EXIDE
EXIDE
EXIDE
EXIDE
Bit 0
SRR
TXIDE
TXPRI<1:0>
SRR
Bit 1
Reset State
dsPIC30F5011/5013
Preliminary
Bit 14
Bit 12
Bit 11
Bit 13
RX0OVR
CANCAP
TXEP
ABAT
RXEP
CANCKS
RXWAR
RXRB1
EWARN
RXRB1
SEG2PH<2:0>
TXRB0
Bit 7
Bit 4
TXLARB
TXERR
RXFUL
TXABT
TXERR
SEG2PHTS
IVRIE
WAKIE
WAKIF
SAM
SJW<1:0>
IVRIF
RXRB0
TX2IE
TX1IE
TX1IF
ERRIE
TX2IF
SRR
SRR
TX0IE
RXIDE
RX1E
RX1IF
RX0IE
RX0IF
FILHIT0
RXIDE
PRSEG<2:0>
JTOFF
DLC<3:0>
TX0IF
BRP<5:0>
TXIDE
TXPRI<1:0>
SRR
FILHIT<2:0>
ICODE<2:0>
Bit 0
TXPRI<1:0>
Bit 1
DLC<3:0>
RXRTRRO DBEN
SEG1PH<2:0>
ERRIF
RXRTRRO
RXRB0
TXREQ
DLC<3:0>
TXLARB
OPMODE<2:0>
RXFUL
Bit 2
TXREQ
Bit 3
Bit 5
TXABT
Bit 6
RXRTR
TXRB1
Bit 8
RXRTR
TXRTR
Bit 9
REQOP<2:0>
TXWAR
TXBO
CSIDLE
Bit 10
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
RX1OVR
WAKFIL
Bit 15
u = uninitialized bit
045A
C2EC
Legend:
0458
0452
C2CFG1
C2INTE
0450
C2CTRL
0454
044E
C2RX0CON
0456
044C
C2RX0B4
C2CFG2
044A
C2RX0B3
C2INTF
0448
0440
C2RX0SID
C2RX0B2
043E
C2RX1CON
0446
043C
C2RX1B4
C2RX0B1
043A
C2RX1B3
0442
0438
C2RX1B2
0444
0436
C2RX1B1
C2RX0DLC
0434
C2RX1DLC
C2RX0EID
0430
042E
C2TX0CON
0432
042C
C2TX0B4
C2RX1SID
042A
C2TX0B3
C2RX1EID
0428
C2TX0EID
C2TX0B2
0422
C2TX0SID
0424
0420
C2TX1CON
0426
041E
C2TX1B4
C2TX0B1
041C
C2TX1B3
C2TX0DLC
0418
041A
C2TX1B2
0416
Addr.
C2TX1B1
SFR Name
TABLE 17-2:
Reset State
dsPIC30F5011/5013
DS70116D-page 117
dsPIC30F5011/5013
NOTES:
DS70116D-page 118
Preliminary
dsPIC30F5011/5013
18.0
DATA CONVERTER
INTERFACE (DCI) MODULE
18.2.3
18.1
Module Introduction
18.2
18.2.3.1
Data values are always stored left justified in the buffers since most Codec data is represented as a signed
2s complement fractional number. If the received word
length is less than 16 bits, the unused LS bits in the
receive buffer registers are set to 0 by the module. If
the transmitted word length is less than 16 bits, the
unused LS bits in the transmit buffer register are
ignored by the module. The word length setup is
described in subsequent sections of this document.
18.2.5
COFS PIN
18.2.4
CSDI PIN
TRANSMIT/RECEIVE SHIFT
REGISTER
18.2.1
18.2.6
CSCK PIN
The CSCK pin provides the serial clock for the DCI
module. The CSCK pin may be configured as an input
or output using the CSCKD control bit in the DCICON2
SFR. When configured as an output, the serial clock is
provided by the dsPIC30F. When configured as an
input, the serial clock must be provided by an external
device.
18.2.2
CSDO PIN
The DCI module contains a buffer control unit for transferring data between the shadow buffer memory and
the serial shift register. The buffer control unit is a simple 2-bit address counter that points to word locations
in the shadow buffer memory. For the receive memory
space (high address portion of DCI buffer memory), the
address counter is concatenated with a 0 in the MSb
location to form a 3-bit address. For the transmit memory space (high portion of DCI buffer memory), the
address counter is concatenated with a 1 in the MSb
location.
Note:
Preliminary
DS70116D-page 119
dsPIC30F5011/5013
FIGURE 18-1:
Sample Rate
CSCK
Generator
FSD
Word Size Selection bits
Frame
Synchronization
Generator
COFS
Receive Buffer
Registers w/Shadow
DCI Buffer
Control Unit
15
Transmit Buffer
Registers w/Shadow
0
DCI Shift Register
CSDI
CSDO
DS70116D-page 120
Preliminary
dsPIC30F5011/5013
18.3
18.3.1
18.3.4
18.3.2
18.3.3
EQUATION 18-1:
COFSG PERIOD
Multi-Channel mode
I2S mode
AC-Link mode (16-bit)
AC-Link mode (20-bit)
18.3.5
Preliminary
DS70116D-page 121
dsPIC30F5011/5013
18.3.6
FIGURE 18-2:
CSDI/CSDO
FIGURE 18-3:
MSB
LSB
CSDO or CSDI
SYNC
FIGURE 18-4:
CSCK
CSDI or CSDO
MSB
LSB MSB
LSB
WS
Note:
A 5-bit transfer is shown here for illustration purposes. The I2S protocol does not specify word length - this will
be system dependent.
DS70116D-page 122
Preliminary
dsPIC30F5011/5013
18.3.7
18.3.8
18.3.9
EQUATION 18-2:
FBCK =
FCY
2 (BCG + 1)
TABLE 18-1:
FOSC
PLL
FCYC
2.048 MHz
16x
32.768 MIPs
4.096 MHz
8x
32.768 MIPs
4.800 MHz
8x
38.4 MIPs
9.600 MHz
4x
38.4 MIPs
Note 1: When the CSCK signal is applied externally (CSCKD = 1), the BCG<11:0> bits
have no effect on the operation of the DCI
module.
2: When the CSCK signal is applied externally (CSCKD = 1), the external clock
high and low times must meet the device
timing requirements.
18.3.10
DATA JUSTIFICATION
CONTROL BIT
Preliminary
DS70116D-page 123
dsPIC30F5011/5013
18.3.11
18.3.14
18.3.12
18.3.13
SYNCHRONOUS DATA
TRANSFERS
18.3.15
DS70116D-page 124
Preliminary
dsPIC30F5011/5013
18.3.16
18.3.19
18.3.17
The transmit status bits only indicate status for buffer locations that are used by the
module. If the buffer length is set to less
than four words, for example, the unused
buffer locations will not affect the transmit
status bits.
18.3.20
18.3.21
18.4
The RFUL status bit is read only and indicates that new
data is available in the receive buffers. The RFUL bit is
cleared automatically when all receive buffers in use
have been read by the CPU.
Note:
18.3.18
The SLOT<3:0> status bits in the DCISTAT SFR indicate the current active time slot. These bits will correspond to the value of the frame sync generator counter.
The user may poll these status bits in software when a
DCI interrupt occurs to determine what time slot data
was last received and which time slot data should be
loaded into the TXBUF registers.
Preliminary
DS70116D-page 125
dsPIC30F5011/5013
18.5
18.5.1
18.5.2
If the DCISIDL control bit is cleared (default), the module will continue to operate normally even in Idle mode.
If the DCISIDL bit is set, the module will halt when Idle
mode is asserted.
18.6
18.6.1
18.6.2
The 20-bit AC-Link mode allows all bits in the data time
slots to be transmitted and received but does not maintain data alignment in the TXBUF and RXBUF
registers.
18.7
18.7.1
18.7.2
The 20-bit AC-Link mode functions similar to the MultiChannel mode of the DCI module, except for the duty
cycle of the frame synchronization signal. The AC-Link
frame synchronization signal should remain high for 16
CSCK cycles and should be low for the following
240 cycles.
DS70116D-page 126
Preliminary
DCIEN
0240
0242
0244
DCICON1
DCICON2
DCICON3
DCISTAT
0250
0252
0254
0256
0258
025A
025C
025E
u = uninitialized bit
RXBUF0
RXBUF1
RXBUF2
RXBUF3
TXBUF0
TXBUF1
TXBUF2
TXBUF3
Legend:
TSE13
RSE12
TSE12
Bit 12
RSE11
TSE11
SLOT3
BLEN1
DLOOP
Bit 11
RSE10
TSE10
SLOT2
BLEN0
CSCKD
Bit 10
Bit 7
RSE8
TSE8
SLOT0
CSDOM
Bit 6
RSE7
TSE7
DJST
Bit 5
RSE6
TSE6
RSE5
TSE5
BCG<11:0>
COFSG<3:0>
COFSD UNFM
Bit 8
RSE9
TSE9
SLOT1
CSCKE
Bit 9
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
RSE14
TSE14
TSE15
RSE15
0248
024C
TSCON
0246
RSCON
DCISIDL
Bit 13
Bit 15
Addr.
SFR Name
Bit 14
TABLE 18-2:
TSE3
ROV
Bit 3
RSE4 RSE3
TSE4
Bit 4
RSE2
TSE2
RFUL
Bit 2
RSE1
TSE1
TUNF
WS<3:0>
COFSM1
Bit 1
Reset State
RSE0
TSE0
TMPTY
Bit 0
dsPIC30F5011/5013
Preliminary
DS70116D-page 127
dsPIC30F5011/5013
NOTES:
DS70116D-page 128
Preliminary
dsPIC30F5011/5013
19.0
12-BIT ANALOG-TO-DIGITAL
CONVERTER (A/D) MODULE
FIGURE 19-1:
Note:
VREF+
VREF-
0001
AN2
0010
AN3
0011
AN4
0100
AN5
0101
AN6
0110
AN7
0111
AN9
AN10
AN11
AN12
AN13
AN14
AN15
1000
12-bit SAR
Conversion Logic
16-word, 12-bit
Dual Port
RAM
Sample/Sequence
Control
Sample
1001
1010
Input
Switches
1011
Input MUX
Control
1100
1101
1110
1111
VREFAN1
DAC
Bus Interface
AN1
AN8
Comparator
0000
Data
Format
AN0
S/H
CH0
Preliminary
DS70116D-page 129
dsPIC30F5011/5013
19.1
19.3
19.2
Conversion Operation
2.
3.
4.
5.
6.
7.
The BUFM bit will split the 16-word results buffer into
two 8-word groups. Writing to the 8-word buffers will be
alternated on each interrupt event.
Use of the BUFM bit will depend on how much time is
available for the moving of the buffers after the
interrupt.
If the processor can quickly unload a full buffer within
the time it takes to acquire and convert one channel,
the BUFM bit can be 0 and up to 16 conversions (corresponding to the 16 input channels) may be done per
interrupt. The processor will have one acquisition and
conversion time to move the sixteen conversions.
If the processor cannot unload the buffer within the
acquisition and conversion time, the BUFM bit should be
1. For example, if SMPI<3:0> (ADCON2<5:2>) = 0111,
then eight conversions will be loaded into 1/2 of the
buffer, following which an interrupt occurs. The next
eight conversions will be loaded into the other 1/2 of the
buffer. The processor will have the entire time between
interrupts to move the eight conversions.
The ALTS bit can be used to alternate the inputs
selected during the sampling sequence. The input
multiplexer has two sets of sample inputs: MUX A and
MUX B. If the ALTS bit is 0, only the MUX A inputs are
selected for sampling. If the ALTS bit is 1 and
SMPI<3:0> = 0000 on the first sample/convert
sequence, the MUX A inputs are selected and on the
next acquire/convert sequence, the MUX B inputs are
selected.
The CSCNA bit (ADCON2<10>) will allow the multiplexer input to be alternately scanned across a
selected number of analog inputs for the MUX A group.
The inputs are selected by the ADCSSL register. If a
particular bit in the ADCSSL register is 1, the corresponding input is selected. The inputs are always
scanned from lower to higher numbered inputs, starting
after each interrupt. If the number of inputs selected is
greater than the number of samples taken per interrupt,
the higher numbered inputs are unused.
DS70116D-page 130
Preliminary
dsPIC30F5011/5013
19.4
EXAMPLE 19-1:
The SSRC<2:0> bits select the source of the conversion trigger. The SSRC bits provide for up to 4 alternate
sources of conversion trigger.
TAD
1
TCY
667 nsec
=2
1
33 nsec
= 39.4
ADCS<5:0> = 2
Therefore,
Set ADCS<5:0> = 40
When SSRC<2:0> = 111 (Auto-Start mode), the conversion trigger is under A/D clock control. The SAMC
bits select the number of A/D clocks between the start
of acquisition and the start of conversion. This provides
the fastest conversion rates on multiple channels.
SAMC must always be at least 1 clock cycle.
TCY
(ADCS<5:0> + 1)
2
33 nsec
=
(40 + 1)
2
Actual TAD =
19.5
Aborting a Conversion
If the clearing of the ADON bit coincides with an autostart, the clearing has a higher priority and a new
conversion will not start.
19.6
EQUATION 19-1:
= 677 nsec
19.7
Preliminary
DS70116D-page 131
dsPIC30F5011/5013
FIGURE 19-2:
Rs
VA
ANx
CPIN
RIC 250
VT = 0.6V
Sampling
Switch
RSS 3 k
RSS
VT = 0.6V
I leakage
500 nA
CHOLD
= DAC capacitance
= 18 pF
VSS
Legend: CPIN
= input capacitance
VT
= threshold voltage
I leakage = leakage current at the pin due to
various junctions
RIC
= interconnect resistance
RSS
= sampling switch resistance
CHOLD
= sample/hold capacitance (from DAC)
Note: CPIN value depends on device package and is not tested. Effect of CPIN negligible if Rs 2.5 k.
19.8
19.9
19.9.1
DS70116D-page 132
19.9.2
Preliminary
dsPIC30F5011/5013
FIGURE 19-3:
RAM Contents:
d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00
Read to Bus:
Signed Fractional
d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00
Fractional
d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00
Signed Integer
Integer
d11 d11 d11 d11 d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00
d11 d10 d09 d08 d07 d06 d05 d04 d03 d02 d01 d00
An external RC filter is sometimes added for antialiasing of the input signal. The R component should be
selected to ensure that the sampling time requirements
are satisfied. Any external components connected (via
high impedance) to an analog input pin (capacitor,
zener diode, etc.) should have very little leakage
current at the pin.
Preliminary
DS70116D-page 133
DS70116D-page 134
Preliminary
u = uninitialized bit
CSSL12
Bit 8
FORM<1:0>
Bit 9
CH0SB<3:0>
SAMC<4:0>
CSCNA
Bit 10
ADRC
BUFS
Bit 7
CSSL11
CSSL10 CSSL9
CSSL8
CSSL7
Bit 5
CSSL6
CSSL5
PCFG6 PCFG5
Bit 6
SSRC<2:0>
CH0NB
Bit 11
Bit 12
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
Legend:
ADSIDL
Bit 13
02A8
02AA
ADCSSL
02A6
ADCHS
VCFG<2:0>
ADPCFG
02A2
02A4
ADCON2
ADCON3
02A0
ADCON1
029E
ADCBUFF
ADON
ADCBUFE 029C
ADCBUFB
0294
ADCBUFA
ADCBUFD 029A
0292
ADCBUF9
0290
ADCBUF8
028E
ADCBUF7
ADCBUFC 0298
028C
ADCBUF6
028A
ADCBUF5
0288
ADCBUF4
0296
0286
ADCBUF3
0284
ADCBUF2
Bit 14
Bit 15
0280
0282
ADCBUF0
ADCBUF1
Addr.
SFR
Name
TABLE 19-1:
Bit 3
CSSL4
PCFG4
CH0NA
ASAM
Bit 2
BUFM
SAMP
Bit 1
CSSL3
CSSL2
CSSL1
CH0SA<3:0>
ADCS<5:0>
SMPI<3:0>
Bit 4
CSSL0
PCFG0
ALTS
DONE
Bit 0
Reset State
dsPIC30F5011/5013
dsPIC30F5011/5013
20.0
SYSTEM INTEGRATION
20.1
There are several features intended to maximize system reliability, minimize cost through elimination of
external components, provide Power Saving Operating
modes and offer code protection:
Oscillator Selection
Reset
- Power-on Reset (POR)
- Power-up Timer (PWRT)
- Oscillator Start-up Timer (OST)
- Programmable Brown-out Reset (BOR)
Watchdog Timer (WDT)
Power Saving Modes (Sleep and Idle)
Code Protection
Unit ID Locations
In-Circuit Serial Programming (ICSP)
Preliminary
DS70116D-page 135
dsPIC30F5011/5013
TABLE 20-1:
Oscillator Mode
Description
XTL
XT
XT w/ PLL 4x
XT w/ PLL 8x
XT w/ PLL 16x
LP
HS
EC
ECIO
EC w/ PLL 4x
External clock input (0-40 MHz), OSC2 pin is I/O, 4x PLL enabled(1).
EC w/ PLL 8x
External clock input (0-40 MHz), OSC2 pin is I/O, 8x PLL enabled(1).
EC w/ PLL 16x
External clock input (0-40 MHz), OSC2 pin is I/O, 16x PLL enabled(1).
ERC
ERCIO
FRC
FRC w/ PLL 4x
FRC w/ PLL 8x
LPRC
Note 1:
2:
3:
DS70116D-page 136
Preliminary
dsPIC30F5011/5013
FIGURE 20-1:
OSC1
OSC2
FPLL
Primary
Oscillator
PLL
PLL
Lock
COSC<1:0>
Primary Osc
NOSC<1:0>
Primary
Oscillator
OSWEN
Stability Detector
POR Done
Oscillator
Start-up
Timer
Clock
Secondary Osc
Switching
and Control
Block
SOSCO
SOSCI
32 kHz LP
Oscillator
Secondary
Oscillator
Stability Detector
Programmable
Clock Divider System
Clock
2
POST<1:0>
Internal Fast RC
Oscillator (FRC)
Internal Low
Power RC
Oscillator (LPRC)
LPRC
FCKSM<1:0>
2
Fail-Safe Clock
Monitor (FSCM)
CF
Oscillator Trap
To Timer1
Preliminary
DS70116D-page 137
dsPIC30F5011/5013
20.2
20.2.1
Oscillator Configurations
INITIAL CLOCK SOURCE
SELECTION
TABLE 20-2:
Oscillator Mode
Oscillator
Source
FOS1
FOS0
FPR3
FPR2
FPR1
FPR0
OSC2
Function
1
1
1
0
1
1
CLKO
EC
Primary
1
1
1
1
0
0
I/O
ECIO
Primary
EC w/ PLL 4x
Primary
1
1
1
1
0
1
I/O
EC w/ PLL 8x
Primary
1
1
1
1
1
0
I/O
1
1
1
1
1
1
I/O
EC w/ PLL 16x
Primary
ERC
Primary
1
1
1
0
0
1
CLKO
ERCIO
Primary
1
1
1
0
0
0
I/O
1
1
0
1
0
0
OSC2
XT
Primary
XT w/ PLL 4x
Primary
1
1
0
1
0
1
OSC2
XT w/ PLL 8x
Primary
1
1
0
1
1
0
OSC2
1
1
0
1
1
1
OSC2
XT w/ PLL 16x
Primary
XTL
Primary
1
1
0
0
0
0
OSC2
FRC w/ PLL 4x
Internal FRC
1
1
0
0
0
1
I/O
FRC w/ PLL 8x
Internal FRC
1
1
1
0
1
0
I/O
1
1
0
0
1
1
I/O
FRC w/ PLL 16x
Internal FRC
HS
Primary
1
1
0
0
1
0
OSC2
LP
Secondary
0
0
(Notes 1, 2)
FRC
Internal FRC
0
1
x
x
x
x
(Notes 1, 2)
LPRC
Internal LPRC
1
0
(Notes 1, 2)
Note 1: OSC2 pin function is determined by the Primary Oscillator mode selection (FPR<3:0>).
2: OSC1 pin cannot be used as an I/O pin even if the secondary oscillator or an internal clock source is
selected at all times.
20.2.2
20.2.3
DS70116D-page 138
LP OSCILLATOR CONTROL
1.
2.
Preliminary
dsPIC30F5011/5013
20.2.4
TABLE 20-4:
TABLE 20-3:
TUN<3:0>
Bits
0111
0110
0101
0100
0011
0010
0001
0000
FIN
PLL
Multiplier
FOUT
4 MHz-10 MHz
x4
16 MHz-40 MHz
4 MHz-10 MHz
x8
32 MHz-80 MHz
4 MHz-7.5 MHz
x16
64 MHz-120 MHz
1111
1110
1101
1100
1011
1010
1001
1000
20.2.5
When a 16x PLL is used, the FRC frequency must not be tuned to a frequency
greater than 7.5 MHz.
20.2.6
FRC TUNING
FRC Frequency
+ 10.5%
+ 9.0%
+ 7.5%
+ 6.0%
+ 4.5%
+ 3.0%
+ 1.5%
Center Frequency (oscillator is
running at calibrated frequency)
- 1.5%
- 3.0%
- 4.5%
- 6.0%
- 7.5%
- 9.0%
- 10.5%
- 12.0%
Preliminary
DS70116D-page 139
dsPIC30F5011/5013
20.2.7
Primary
Secondary
Internal FRC
Internal LPRC
20.2.8
PROTECTION AGAINST
ACCIDENTAL WRITES TO OSCCON
DS70116D-page 140
Preliminary
dsPIC30F5011/5013
20.3
Reset
FIGURE 20-2:
Different registers are affected in different ways by various Reset conditions. Most registers are not affected
by a WDT wake-up since this is viewed as the resumption of normal operation. Status bits from the RCON
register are set or cleared differently in different Reset
situations, as indicated in Table 20-5. These bits are
used in software to determine the nature of the Reset.
A block diagram of the On-Chip Reset Circuit is shown
in Figure 20-2.
A MCLR noise filter is provided in the MCLR Reset
path. The filter detects and ignores small pulses.
Internally generated Resets do not drive MCLR pin low.
RESET
Instruction
Digital
Glitch Filter
MCLR
Sleep or Idle
WDT
Module
VDD Rise
Detect
POR
VDD
Brown-out
Reset
BOR
BOREN
R
SYSRST
Trap Conflict
Illegal Opcode/
Uninitialized W Register
20.3.1
Preliminary
DS70116D-page 141
dsPIC30F5011/5013
FIGURE 20-3:
MCLR
INTERNAL POR
TOST
OST TIME-OUT
TPWRT
PWRT TIME-OUT
INTERNAL Reset
FIGURE 20-4:
VDD
MCLR
INTERNAL POR
TOST
OST TIME-OUT
TPWRT
PWRT TIME-OUT
INTERNAL Reset
FIGURE 20-5:
VDD
MCLR
INTERNAL POR
TOST
OST TIME-OUT
TPWRT
PWRT TIME-OUT
INTERNAL Reset
DS70116D-page 142
Preliminary
dsPIC30F5011/5013
20.3.1.1
20.3.1.2
FIGURE 20-6:
20.3.2
VDD
D
Note 1:
2:
3:
Note:
2.0V
2.7V
4.2V
4.5V
Note:
R
R1
BOR: PROGRAMMABLE
BROWN-OUT RESET
EXTERNAL POWER-ON
RESET CIRCUIT (FOR
SLOW VDD POWER-UP)
MCLR
dsPIC30F
Preliminary
DS70116D-page 143
dsPIC30F5011/5013
Table 20-5 shows the Reset conditions for the RCON
register. Since the control bits within the RCON register
are R/W, the information in the table implies that all the
bits are negated prior to the action specified in the
condition column.
TABLE 20-5:
Condition
Program
Counter
Power-on Reset
0x000000
Brown-out Reset
0x000000
0x000000
0x000000
0x000000
0x000000
0x000000
PC + 2
WDT Wake-up
PC + 2
(1)
0x000004
Trap Reset
0x000000
0x000000
Legend:
Note 1:
DS70116D-page 144
Preliminary
dsPIC30F5011/5013
Table 20-6 shows a second example of the bit
conditions for the RCON register. In this case, it is not
assumed the user has set/cleared specific bits prior to
action specified in the condition column.
TABLE 20-6:
Condition
Program
Counter
Power-on Reset
0x000000
Brown-out Reset
0x000000
0x000000
0x000000
0x000000
0x000000
0x000000
PC + 2
WDT Wake-up
(1)
PC + 2
0x000004
Trap Reset
0x000000
0x000000
Legend:
Note 1:
Preliminary
DS70116D-page 145
dsPIC30F5011/5013
20.4
20.4.1
20.6
20.4.2
20.6.1
DS70116D-page 146
SLEEP MODE
20.5
Preliminary
dsPIC30F5011/5013
Any interrupt that is individually enabled (using the corresponding IE bit) and meets the prevailing priority level
will be able to wake-up the processor. The processor will
process the interrupt and branch to the ISR. The Sleep
status bit in the RCON register is set upon wake-up.
Note:
20.6.2
IDLE MODE
20.7
The configuration bits in each device configuration register specify some of the Device modes and are
programmed by a device programmer, or by using the
In-Circuit Serial Programming (ICSP) feature of
the device. Each device configuration register is a
24-bit register, but only the lower 16 bits of each register are used to hold configuration data. There are four
device configuration registers available to the user:
FOSC (0xF80000): Oscillator Configuration
Register
FWDT (0xF80002): Watchdog Timer
Configuration Register
FBORPOR (0xF80004): BOR and POR
Configuration Register
FGS (0xF8000A): General Code Segment
Configuration Register
1.
2.
3.
4.
Note:
Preliminary
DS70116D-page 147
dsPIC30F5011/5013
20.8
The Peripheral Module Disable (PMD) registers provide a method to disable a peripheral module by stopping all clock sources supplied to that module. When a
peripheral is disabled via the appropriate PMD control
bit, the peripheral is in a minimum power consumption
state. The control and status registers associated with
the peripheral will also be disabled so writes to those
registers will have no effect and read values will be
invalid.
A peripheral module will only be enabled if both the
associated bit in the the PMD register is cleared and
the peripheral is supported by the specific dsPIC variant. If the peripheral is present in the device, it is
enabled in the PMD register by default.
Note:
If a PMD bit is set, the corresponding module is disabled after a delay of 1 instruction
cycle. Similarly, if a PMD bit is cleared, the
corresponding module is enabled after a
delay of 1 instruction cycle (assuming the
module control registers are already
configured to enable module operation).
20.9
When MPLAB ICD2 is selected as a Debugger, the InCircuit Debugging functionality is enabled. This function allows simple debugging functions when used with
MPLAB IDE. When the device has this feature enabled,
some of the resources are not available for general
use. These resources include the first 80 bytes of Data
RAM and two I/O pins.
One of four pairs of Debug I/O pins may be selected by
the user using configuration options in MPLAB IDE.
These pin pairs are named EMUD/EMUC, EMUD1/
EMUC1, EMUD2/EMUC2 and MUD3/EMUC3.
In each case, the selected EMUD pin is the Emulation/
Debug Data line, and the EMUC pin is the Emulation/
Debug Clock line. These pins will interface to the
MPLAB ICD 2 module available from Microchip. The
selected pair of Debug I/O pins is used by MPLAB
ICD 2 to send commands and receive responses, as
well as to send and receive data. To use the In-Circuit
Debugger function of the device, the design must
implement ICSP connections to MCLR, VDD, VSS,
PGC, PGD, and the selected EMUDx/EMUCx pin pair.
This gives rise to two possibilities:
1.
2.
DS70116D-page 148
In-Circuit Debugger
Preliminary
1:
2:
T4MD
IC7MD
T3MD
IC6MD
T2MD
IC5MD
IC4MD
T1MD
TUN1
Bit 11
Bit 9
IC3MD
TUN0
IC2MD
MCLREN
F80004
F8000A
FGS
Bit 13
Bit 12
Bit 11
IC1MD
DCIMD
SWR
Bit 6
U2MD
Bit 10
Bit 8
OC6MD
U1MD
LOCK
SWDTEN
Bit 5
FOS<1:0>
Bit 9
OC8MD OC7MD
I2CMD
POST<1:0>
EXTR
Bit 7
Note: Refer to dsPIC30F Family Reference Manual (DS70046) for descriptions of register bit fields.
FWDTEN
F80002
FWDT
Bit 14
FCKSM<1:0>
Bit 15
FBORPOR
Bits 23-16
Addr.
Bit 8
NOSC<1:0>
LVDL<3:0>
Bit 10
F80000
File Name
FOSC
T5MD
IC8MD
TABLE 20-8:
Note
0770
0772
PMD2
LVDEN
Bit 12
COSC<1:0>
PMD1
TUN2
0742
TUN3
0740
RCON
OSCCON
Bit 13
Bit 15
Bit 14
Addr.
SFR
Name
TABLE 20-7:
CF
BOREN
Bit 7
OC5MD
C2MD
IDLE
Bit 2
Bit 6
C1MD
Bit 4
OC2MD
BORV<1:0>
POR
Bit 0
(Note 2)
(Note 1)
Reset State
Bit 3
Bit 1
Bit 0
GCP
GWRP
FPWRT<1:0>
FWPSB<3:0>
FPR<3:0>
Bit 2
LPOSCEN OSWEN
BOR
Bit 1
FWPSA<1:0>
Bit 5
OC4MD OC3MD
SPI2MD SPI1MD
SLEEP
Bit 3
WDTO
Bit 4
dsPIC30F5011/5013
Preliminary
DS70116D-page 149
dsPIC30F5011/5013
NOTES:
DS70116D-page 150
Preliminary
dsPIC30F5011/5013
21.0
Preliminary
DS70116D-page 151
dsPIC30F5011/5013
All instructions are a single word, except for certain
double-word instructions, which were made doubleword instructions so that all the required information is
available in these 48 bits. In the second word, the
8 MSbs are 0s. If this second word is executed as an
instruction (by itself), it will execute as a NOP.
Most single word instructions are executed in a single
instruction cycle, unless a conditional test is true or the
program counter is changed as a result of the instruction. In these cases, the execution takes two instruction
cycles with the additional instruction cycle(s) executed
as a NOP. Notable exceptions are the BRA (unconditional/computed branch), indirect CALL/GOTO, all table
reads and writes, and RETURN/RETFIE instructions,
TABLE 21-1:
Field
Description
#text
(text)
[text]
{ }
<n:m>
.b
.d
.S
.w
Acc
AWB
bit4
C, DC, N, OV, Z
MCU status bits: Carry, Digit Carry, Negative, Overflow, Sticky Zero
Expr
lit1
lit4
lit5
lit8
lit10
10-bit unsigned literal {0...255} for Byte mode, {0:1023} for Word mode
lit14
lit16
lit23
None
DSP status bits: AccA Overflow, AccB Overflow, AccA Saturate, AccB Saturate
PC
Program Counter
Slit10
Slit16
Slit6
DS70116D-page 152
Preliminary
dsPIC30F5011/5013
TABLE 21-1:
Field
Description
Wb
Wd
Wdo
Destination W register
{ Wnd, [Wnd], [Wnd++], [Wnd--], [++Wnd], [--Wnd], [Wnd+Wb] }
Wm,Wn
Wm*Wm
Wm*Wn
Wn
Wnd
Wns
WREG
Ws
Wso
Source W register
{ Wns, [Wns], [Wns++], [Wns--], [++Wns], [--Wns], [Wns+Wb] }
Wx
Wxd
Wy
Wyd
Preliminary
DS70116D-page 153
dsPIC30F5011/5013
TABLE 21-2:
Base
Instr
#
1
Assembly
Mnemonic
ADD
ADDC
AND
ASR
BCLR
BRA
BSET
BSW
Assembly Syntax
Description
# of
# of
Words Cycles
Status Flags
Affected
ADD
Acc
Add Accumulators
ADD
f = f + WREG
OA,OB,SA,SB
C,DC,N,OV,Z
ADD
f,WREG
WREG = f + WREG
C,DC,N,OV,Z
ADD
#lit10,Wn
Wd = lit10 + Wd
C,DC,N,OV,Z
ADD
Wb,Ws,Wd
Wd = Wb + Ws
C,DC,N,OV,Z
ADD
Wb,#lit5,Wd
Wd = Wb + lit5
C,DC,N,OV,Z
ADD
Wso,#Slit4,Acc
OA,OB,SA,SB
ADDC
f = f + WREG + (C)
C,DC,N,OV,Z
ADDC
f,WREG
C,DC,N,OV,Z
ADDC
#lit10,Wn
Wd = lit10 + Wd + (C)
C,DC,N,OV,Z
ADDC
Wb,Ws,Wd
Wd = Wb + Ws + (C)
C,DC,N,OV,Z
ADDC
Wb,#lit5,Wd
Wd = Wb + lit5 + (C)
C,DC,N,OV,Z
AND
f = f .AND. WREG
N,Z
AND
f,WREG
N,Z
AND
#lit10,Wn
Wd = lit10 .AND. Wd
N,Z
AND
Wb,Ws,Wd
Wd = Wb .AND. Ws
N,Z
AND
Wb,#lit5,Wd
Wd = Wb .AND. lit5
N,Z
ASR
C,N,OV,Z
ASR
f,WREG
C,N,OV,Z
ASR
Ws,Wd
C,N,OV,Z
ASR
Wb,Wns,Wnd
N,Z
ASR
Wb,#lit5,Wnd
N,Z
BCLR
f,#bit4
Bit Clear f
None
BCLR
Ws,#bit4
Bit Clear Ws
None
BRA
C,Expr
Branch if Carry
1 (2)
None
None
BRA
GE,Expr
1 (2)
BRA
GEU,Expr
1 (2)
None
BRA
GT,Expr
1 (2)
None
BRA
GTU,Expr
1 (2)
None
BRA
LE,Expr
1 (2)
None
BRA
LEU,Expr
1 (2)
None
BRA
LT,Expr
1 (2)
None
BRA
LTU,Expr
1 (2)
None
BRA
N,Expr
Branch if Negative
1 (2)
None
BRA
NC,Expr
1 (2)
None
BRA
NN,Expr
1 (2)
None
BRA
NOV,Expr
1 (2)
None
BRA
NZ,Expr
1 (2)
None
BRA
OA,Expr
1 (2)
None
BRA
OB,Expr
1 (2)
None
BRA
OV,Expr
Branch if Overflow
1 (2)
None
BRA
SA,Expr
1 (2)
None
BRA
SB,Expr
1 (2)
None
BRA
Expr
Branch Unconditionally
None
BRA
Z,Expr
Branch if Zero
1 (2)
None
BRA
Wn
Computed Branch
None
BSET
f,#bit4
Bit Set f
None
BSET
Ws,#bit4
Bit Set Ws
None
BSW.C
Ws,Wb
None
BSW.Z
Ws,Wb
None
DS70116D-page 154
Preliminary
dsPIC30F5011/5013
TABLE 21-2:
Base
Instr
#
9
10
11
12
13
Assembly
Mnemonic
BTG
BTSC
BTSS
BTST
BTSTS
14
CALL
15
CLR
Assembly Syntax
f,#bit4
Bit Toggle f
Ws,#bit4
Bit Toggle Ws
None
BTSC
f,#bit4
1
(2 or 3)
None
BTSC
Ws,#bit4
1
(2 or 3)
None
BTSS
f,#bit4
1
(2 or 3)
None
BTSS
Ws,#bit4
1
(2 or 3)
None
BTST
f,#bit4
Bit Test f
Ws,#bit4
Bit Test Ws to C
BTST.Z
Ws,#bit4
Bit Test Ws to Z
BTST.C
Ws,Wb
BTST.Z
Ws,Wb
BTSTS
f,#bit4
Z
C
BTSTS.C
Ws,#bit4
BTSTS.Z
Ws,#bit4
CALL
lit23
Call subroutine
None
CALL
Wn
None
CLR
f = 0x0000
None
CLR
WREG
WREG = 0x0000
None
CLR
Ws
Ws = 0x0000
None
CLR
Acc,Wx,Wxd,Wy,Wyd,AWB
Clear Accumulator
OA,OB,SA,SB
WDTO,Sleep
f=f
N,Z
COM
f,WREG
WREG = f
N,Z
COM
Ws,Wd
Wd = Ws
N,Z
CP
C,DC,N,OV,Z
17
COM
COM
20
21
CP0
CP1
CPB
None
BTST.C
CLRWDT
19
Status Flags
Affected
BTG
CLRWDT
CP
# of
# of
Words Cycles
BTG
16
18
Description
CP
Wb,#lit5
C,DC,N,OV,Z
CP
Wb,Ws
C,DC,N,OV,Z
CP0
C,DC,N,OV,Z
CP0
Ws
C,DC,N,OV,Z
C,DC,N,OV,Z
CP1
CP1
Ws
C,DC,N,OV,Z
CPB
C,DC,N,OV,Z
CPB
Wb,#lit5
C,DC,N,OV,Z
CPB
Wb,Ws
C,DC,N,OV,Z
22
CPSEQ
CPSEQ
Wb, Wn
1
(2 or 3)
None
23
CPSGT
CPSGT
Wb, Wn
1
(2 or 3)
None
24
CPSLT
CPSLT
Wb, Wn
1
(2 or 3)
None
25
CPSNE
CPSNE
Wb, Wn
1
(2 or 3)
None
26
DAW
DAW
Wn
Wn = decimal adjust Wn
27
DEC
DEC
f = f -1
C,DC,N,OV,Z
28
DEC2
DEC
f,WREG
WREG = f -1
C,DC,N,OV,Z
DEC
Ws,Wd
Wd = Ws - 1
C,DC,N,OV,Z
C,DC,N,OV,Z
DEC2
f = f -2
DEC2
f,WREG
WREG = f -2
C,DC,N,OV,Z
DEC2
Ws,Wd
Wd = Ws - 2
C,DC,N,OV,Z
Preliminary
DS70116D-page 155
dsPIC30F5011/5013
TABLE 21-2:
Base
Instr
#
Assembly
Mnemonic
Assembly Syntax
Description
# of
# of
Words Cycles
Status Flags
Affected
29
DISI
DISI
#lit14
None
30
DIV
DIV.S
Wm,Wn
18
N,Z,C,OV
DIV.SD
Wm,Wn
18
N,Z,C,OV
DIV.U
Wm,Wn
18
N,Z,C,OV
DIV.UD
Wm,Wn
18
N,Z,C,OV
N,Z,C,OV
31
DIVF
DIVF
Wm,Wn
18
32
DO
DO
#lit14,Expr
None
DO
Wn,Expr
None
33
ED
ED
Wm*Wm,Acc,Wx,Wy,Wxd
OA,OB,OAB,
SA,SB,SAB
34
EDAC
EDAC
Wm*Wm,Acc,Wx,Wy,Wxd
Euclidean Distance
OA,OB,OAB,
SA,SB,SAB
35
EXCH
EXCH
Wns,Wnd
None
36
FBCL
FBCL
Ws,Wnd
37
FF1L
FF1L
Ws,Wnd
38
FF1R
FF1R
Ws,Wnd
39
GOTO
GOTO
Expr
Go to address
None
GOTO
Wn
Go to indirect
None
40
41
42
INC
INC2
IOR
INC
f=f+1
C,DC,N,OV,Z
INC
f,WREG
WREG = f + 1
C,DC,N,OV,Z
INC
Ws,Wd
Wd = Ws + 1
C,DC,N,OV,Z
INC2
f=f+2
C,DC,N,OV,Z
INC2
f,WREG
WREG = f + 2
C,DC,N,OV,Z
INC2
Ws,Wd
Wd = Ws + 2
C,DC,N,OV,Z
IOR
f = f .IOR. WREG
N,Z
IOR
f,WREG
N,Z
IOR
#lit10,Wn
Wd = lit10 .IOR. Wd
N,Z
IOR
Wb,Ws,Wd
Wd = Wb .IOR. Ws
N,Z
IOR
Wb,#lit5,Wd
Wd = Wb .IOR. lit5
N,Z
LAC
LAC
Wso,#Slit4,Acc
Load Accumulator
OA,OB,OAB,
SA,SB,SAB
44
LNK
LNK
#lit14
None
45
LSR
LSR
C,N,OV,Z
LSR
f,WREG
C,N,OV,Z
LSR
Ws,Wd
C,N,OV,Z
LSR
Wb,Wns,Wnd
N,Z
LSR
Wb,#lit5,Wnd
N,Z
MAC
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd,
AWB
OA,OB,OAB,
SA,SB,SAB
MAC
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
OA,OB,OAB,
SA,SB,SAB
43
46
47
48
MAC
MOV
MOVSAC
MOV
f,Wn
Move f to Wn
None
MOV
Move f to f
N,Z
MOV
f,WREG
Move f to WREG
N,Z
MOV
#lit16,Wn
None
MOV.b
#lit8,Wn
None
MOV
Wn,f
Move Wn to f
None
MOV
Wso,Wdo
Move Ws to Wd
None
MOV
WREG,f
Move WREG to f
N,Z
MOV.D
Wns,Wd
None
MOV.D
Ws,Wnd
None
None
MOVSAC Acc,Wx,Wxd,Wy,Wyd,AWB
DS70116D-page 156
Preliminary
dsPIC30F5011/5013
TABLE 21-2:
Base
Instr
#
49
Assembly
Mnemonic
MPY
Assembly Syntax
Multiply Wm by Wn to Accumulator
OA,OB,OAB,
SA,SB,SAB
MPY
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd
Square Wm to Accumulator
OA,OB,OAB,
SA,SB,SAB
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
None
OA,OB,OAB,
SA,SB,SAB
MPY.N
MPY.N
MSC
MSC
52
MUL
54
55
NOP
POP
Wm*Wm,Acc,Wx,Wxd,Wy,Wyd,
AWB
MUL.SS
Wb,Ws,Wnd
None
MUL.SU
Wb,Ws,Wnd
None
MUL.US
Wb,Ws,Wnd
None
MUL.UU
Wb,Ws,Wnd
None
MUL.SU
Wb,#lit5,Wnd
None
MUL.UU
Wb,#lit5,Wnd
None
MUL
W3:W2 = f * WREG
None
NEG
Acc
Negate Accumulator
OA,OB,OAB,
SA,SB,SAB
NEG
f=f+1
C,DC,N,OV,Z
NEG
f,WREG
WREG = f + 1
C,DC,N,OV,Z
NEG
Ws,Wd
C,DC,N,OV,Z
Wd = Ws + 1
NOP
No Operation
None
NOPR
No Operation
None
POP
None
POP
Wdo
None
POP.D
Wnd
None
All
None
None
POP.S
56
PUSH
Status Flags
Affected
Wm*Wn,Acc,Wx,Wxd,Wy,Wyd
50
NEG
# of
# of
Words Cycles
MPY
51
53
Description
PUSH
PUSH
Wso
PUSH.D
Wns
None
None
WDTO,Sleep
PUSH.S
57
PWRSAV
PWRSAV
58
RCALL
RCALL
Expr
Relative Call
None
RCALL
Wn
Computed Call
None
59
REPEAT
#lit1
REPEAT
#lit14
None
REPEAT
Wn
None
60
RESET
RESET
None
61
RETFIE
RETFIE
3 (2)
None
62
RETLW
RETLW
None
63
RETURN
RETURN
64
RLC
RLC
65
66
67
RLNC
RRC
RRNC
#lit10,Wn
3 (2)
3 (2)
None
C,N,Z
RLC
f,WREG
C,N,Z
RLC
Ws,Wd
C,N,Z
N,Z
RLNC
RLNC
f,WREG
N,Z
RLNC
Ws,Wd
N,Z
C,N,Z
RRC
RRC
f,WREG
C,N,Z
RRC
Ws,Wd
C,N,Z
N,Z
RRNC
RRNC
f,WREG
N,Z
RRNC
Ws,Wd
N,Z
Preliminary
DS70116D-page 157
dsPIC30F5011/5013
TABLE 21-2:
Base
Instr
#
68
Assembly
Mnemonic
SAC
69
SE
70
SETM
71
72
73
74
75
76
SFTAC
SL
SUB
SUBB
SUBR
SUBBR
Assembly Syntax
Description
# of
# of
Words Cycles
Status Flags
Affected
SAC
Acc,#Slit4,Wdo
Store Accumulator
SAC.R
Acc,#Slit4,Wdo
None
None
SE
Ws,Wnd
Wnd = sign-extended Ws
C,N,Z
SETM
f = 0xFFFF
None
SETM
WREG
WREG = 0xFFFF
None
SETM
Ws
Ws = 0xFFFF
None
SFTAC
Acc,Wn
OA,OB,OAB,
SA,SB,SAB
SFTAC
Acc,#Slit6
OA,OB,OAB,
SA,SB,SAB
SL
f = Left Shift f
C,N,OV,Z
SL
f,WREG
C,N,OV,Z
SL
Ws,Wd
Wd = Left Shift Ws
C,N,OV,Z
SL
Wb,Wns,Wnd
N,Z
SL
Wb,#lit5,Wnd
N,Z
SUB
Acc
Subtract Accumulators
OA,OB,OAB,
SA,SB,SAB
SUB
f = f - WREG
C,DC,N,OV,Z
SUB
f,WREG
WREG = f - WREG
C,DC,N,OV,Z
SUB
#lit10,Wn
Wn = Wn - lit10
C,DC,N,OV,Z
SUB
Wb,Ws,Wd
Wd = Wb - Ws
C,DC,N,OV,Z
SUB
Wb,#lit5,Wd
Wd = Wb - lit5
C,DC,N,OV,Z
SUBB
f = f - WREG - (C)
C,DC,N,OV,Z
SUBB
f,WREG
C,DC,N,OV,Z
SUBB
#lit10,Wn
Wn = Wn - lit10 - (C)
C,DC,N,OV,Z
C,DC,N,OV,Z
SUBB
Wb,Ws,Wd
Wd = Wb - Ws - (C)
SUBB
Wb,#lit5,Wd
Wd = Wb - lit5 - (C)
SUBR
f = WREG - f
C,DC,N,OV,Z
C,DC,N,OV,Z
SUBR
f,WREG
WREG = WREG - f
C,DC,N,OV,Z
SUBR
Wb,Ws,Wd
Wd = Ws - Wb
C,DC,N,OV,Z
SUBR
Wb,#lit5,Wd
Wd = lit5 - Wb
C,DC,N,OV,Z
SUBBR
f = WREG - f - (C)
C,DC,N,OV,Z
SUBBR
f,WREG
C,DC,N,OV,Z
C,DC,N,OV,Z
SUBBR
Wb,Ws,Wd
Wd = Ws - Wb - (C)
SUBBR
Wb,#lit5,Wd
Wd = lit5 - Wb - (C)
C,DC,N,OV,Z
SWAP.b
Wn
Wn = nibble swap Wn
None
77
SWAP
SWAP
Wn
Wn = byte swap Wn
None
78
TBLRDH
TBLRDH
Ws,Wd
None
79
TBLRDL
TBLRDL
Ws,Wd
Read Prog<15:0> to Wd
None
80
TBLWTH
TBLWTH
Ws,Wd
None
81
TBLWTL
TBLWTL
Ws,Wd
Write Ws to Prog<15:0>
None
82
ULNK
ULNK
None
83
XOR
XOR
f = f .XOR. WREG
N,Z
XOR
f,WREG
N,Z
XOR
#lit10,Wn
Wd = lit10 .XOR. Wd
N,Z
XOR
Wb,Ws,Wd
Wd = Wb .XOR. Ws
N,Z
84
ZE
XOR
Wb,#lit5,Wd
Wd = Wb .XOR. lit5
N,Z
ZE
Ws,Wnd
Wnd = Zero-extend Ws
C,Z,N
DS70116D-page 158
Preliminary
dsPIC30F5011/5013
22.0
DEVELOPMENT SUPPORT
22.1
22.2
MPASM Assembler
Preliminary
DS70116D-page 159
dsPIC30F5011/5013
22.3
22.6
22.4
22.5
DS70116D-page 160
22.7
The MPLAB SIM software simulator allows code development in a PC hosted environment by simulating the
PICmicro series microcontrollers on an instruction
level. On any given instruction, the data areas can be
examined or modified and stimuli can be applied from
a file, or user defined key press, to any pin. The execution can be performed in Single-Step, Execute Until
Break or Trace mode.
The MPLAB SIM simulator fully supports symbolic
debugging using the MPLAB C17 and MPLAB C18
C Compilers, as well as the MPASM assembler. The
software simulator offers the flexibility to develop and
debug code outside of the laboratory environment,
making it an excellent, economical software
development tool.
22.8
Preliminary
dsPIC30F5011/5013
22.9
Preliminary
DS70116D-page 161
dsPIC30F5011/5013
22.14 PICDEM 1 PICmicro
Demonstration Board
DS70116D-page 162
Preliminary
dsPIC30F5011/5013
22.20 PICDEM 18R PIC18C601/801
Demonstration Board
Preliminary
DS70116D-page 163
dsPIC30F5011/5013
NOTES:
DS70116D-page 164
Preliminary
dsPIC30F5011/5013
23.0
ELECTRICAL CHARACTERISTICS
This section provides an overview of dsPIC30F electrical characteristics. Additional information will be provided in future
revisions of this document as it becomes available.
For detailed information about the dsPIC30F architecture and core, refer to dsPIC30F Family Reference Manual
(DS70046).
Absolute maximum ratings for the dsPIC30F family are listed below. Exposure to these maximum rating conditions for
extended periods may affect device reliability. Functional operation of the device at these or any other conditions above
the parameters indicated in the operation listings of this specification is not implied.
NOTICE: Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those or any other conditions above those
indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability.
Note:
All peripheral electrical characteristics are specified. For exact peripherals available on specific
devices, please refer the the Family Cross Reference Table.
Preliminary
DS70116D-page 165
dsPIC30F5011/5013
23.1
DC Characteristics
TABLE 23-1:
VDD Range
Temp Range
dsPIC30FXXX-30I
dsPIC30FXXX-20I
dsPIC30FXXX-20E
30
20
4.5-5.5V
-40C to 85C
4.5-5.5V
-40C to 125C
20
3.0-3.6V
-40C to 85C
15
10
3.0-3.6V
-40C to 125C
10
2.5-3.0V
-40C to 85C
10
7.5
TABLE 23-2:
DC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min
Typ(1)
Max
Units
Conditions
Operating Voltage(2)
DC10
VDD
Supply Voltage
2.5
5.5
Industrial temperature
DC11
VDD
Supply Voltage
3.0
5.5
Extended temperature
Voltage(3)
DC12
VDR
1.5
DC16
VPOR
VSS
DC17
SVDD
0.05
Note 1:
2:
3:
Data in Typ column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
These parameters are characterized but not tested in manufacturing.
This is the limit to which VDD can be lowered without losing RAM data.
DS70116D-page 166
Preliminary
dsPIC30F5011/5013
TABLE 23-3:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
mA
Conditions
-40C
DC20a
3.8
mA
25C
DC20b
mA
85C
DC20c
mA
125C
DC20d
mA
-40C
DC20e
5.7
mA
25C
DC20f
mA
85C
DC20g
mA
125C
DC23
mA
-40C
DC23a
12.3
mA
25C
DC23b
mA
85C
DC23c
mA
125C
DC23d
mA
-40C
DC23e
19.4
mA
25C
DC23f
mA
85C
DC23g
mA
125C
DC24
mA
-40C
DC24a
29.2
mA
25C
DC24b
mA
85C
DC24c
mA
125C
DC24d
mA
-40C
DC24e
45.8
mA
25C
DC24f
mA
85C
DC24g
mA
125C
DC25
mA
-40C
DC25a
24.3
mA
25C
DC25b
mA
85C
DC25c
mA
125C
DC25d
mA
-40C
DC25e
37.6
mA
25C
DC25f
mA
85C
DC25g
mA
125C
Note 1:
2:
3.3V
1 MIPS EC mode
5V
3.3V
4 MIPS EC mode, 4X PLL
5V
3.3V
10 MIPS EC mode, 4X PLL
5V
3.3V
8 MIPS EC mode, 8X PLL
5V
Data in Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
The supply current is mainly a function of the operating voltage and frequency. Other factors such as I/O
pin loading and switching rate, oscillator type, internal code execution pattern and temperature also have
an impact on the current consumption. The test conditions for all IDD measurements are as follows: OSC1
driven with external square wave from rail to rail. All I/O pins are configured as Inputs and pulled to VDD.
MCLR = VDD, WDT, FSCM, LVD and BOR are disabled. CPU, SRAM, Program Memory and Data
Memory are operational. No peripheral modules are operating.
Preliminary
DS70116D-page 167
dsPIC30F5011/5013
TABLE 23-3:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
mA
-40C
DC27a
54.2
mA
25C
DC27b
mA
85C
DC27c
mA
-40C
DC27d
84.4
mA
25C
DC27e
mA
85C
DC27f
mA
125C
DC28
mA
-40C
DC28a
44.3
mA
25C
DC28b
mA
85C
DC28c
mA
-40C
DC28d
70.1
mA
25C
DC28e
mA
85C
DC28f
mA
125C
DC29
mA
-40C
DC29a
116.7
mA
25C
DC29b
mA
85C
DC29c
mA
125C
DC30
mA
-40C
DC30a
6.7
mA
25C
DC30b
mA
85C
DC30c
mA
125C
DC30d
mA
-40C
DC30e
10.05
mA
25C
DC30f
mA
85C
DC30g
mA
125C
Note 1:
2:
3.3V
20 MIPS EC mode, 8X PLL
5V
3.3V
16 MIPS EC mode, 16X PLL
5V
5V
3.3V
FRC (~ 2 MIPS)
5V
Data in Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
The supply current is mainly a function of the operating voltage and frequency. Other factors such as I/O
pin loading and switching rate, oscillator type, internal code execution pattern and temperature also have
an impact on the current consumption. The test conditions for all IDD measurements are as follows: OSC1
driven with external square wave from rail to rail. All I/O pins are configured as Inputs and pulled to VDD.
MCLR = VDD, WDT, FSCM, LVD and BOR are disabled. CPU, SRAM, Program Memory and Data
Memory are operational. No peripheral modules are operating.
DS70116D-page 168
Preliminary
dsPIC30F5011/5013
TABLE 23-3:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
mA
-40C
DC31a
1.13
mA
25C
DC31b
mA
85C
DC31c
mA
125C
DC31d
mA
-40C
DC31e
1.4
mA
25C
DC31f
mA
85C
mA
125C
DC31g
Note 1:
2:
3.3V
LPRC (~ 512 kHz)
5V
Data in Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
The supply current is mainly a function of the operating voltage and frequency. Other factors such as I/O
pin loading and switching rate, oscillator type, internal code execution pattern and temperature also have
an impact on the current consumption. The test conditions for all IDD measurements are as follows: OSC1
driven with external square wave from rail to rail. All I/O pins are configured as Inputs and pulled to VDD.
MCLR = VDD, WDT, FSCM, LVD and BOR are disabled. CPU, SRAM, Program Memory and Data
Memory are operational. No peripheral modules are operating.
Preliminary
DS70116D-page 169
dsPIC30F5011/5013
TABLE 23-4:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
mA
-40C
DC40a
2.6
mA
25C
DC40b
mA
85C
DC40c
mA
125C
DC40d
mA
-40C
DC40e
3.9
mA
25C
DC40f
mA
85C
DC40g
mA
125C
DC43
mA
-40C
DC43a
8.2
mA
25C
DC43b
mA
85C
DC43c
mA
125C
DC43d
mA
-40C
DC43e
12.7
mA
25C
DC43f
mA
85C
DC43g
mA
125C
DC44
mA
-40C
DC44a
19.6
mA
25C
DC44b
mA
85C
DC44c
mA
125C
DC44d
mA
-40C
DC44e
30.2
mA
25C
DC44f
mA
85C
DC44g
mA
125C
DC45
mA
-40C
DC45a
16
mA
25C
DC45b
mA
85C
DC45c
mA
125C
DC45d
mA
-40C
DC45e
24.8
mA
25C
DC45f
mA
85C
DC45g
mA
125C
Note 1:
2:
3.3V
1 MIPS EC mode
5V
3.3V
4 MIPS EC mode, 4X PLL
5V
3.3V
10 MIPS EC mode, 4X PLL
5V
3.3V
8 MIPS EC mode, 8X PLL
5V
Data in Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
Base IIDLE current is measured with Core off, Clock on and all modules turned off.
DS70116D-page 170
Preliminary
dsPIC30F5011/5013
TABLE 23-4:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
DC47a
36.2
DC47b
DC47c
DC47d
56.3
DC47e
DC47f
mA
-40C
mA
25C
mA
85C
mA
-40C
mA
25C
mA
85C
mA
125C
DC48
mA
-40C
DC48a
29.4
mA
25C
DC48b
mA
85C
DC48c
mA
-40C
DC48d
46.5
mA
25C
DC48e
mA
85C
DC48f
mA
125C
DC49
mA
-40C
DC49a
80.1
mA
25C
DC49b
mA
85C
DC49c
mA
125C
DC50
mA
-40C
DC50a
4.38
mA
25C
DC50b
mA
85C
DC50c
mA
125C
DC50d
mA
-40C
DC50e
6.57
mA
25C
DC50f
mA
85C
DC50g
mA
125C
DC51
mA
-40C
DC51a
0.82
mA
25C
DC51b
mA
85C
DC51c
mA
125C
DC51d
mA
-40C
DC51e
1.03
mA
25C
DC51f
mA
85C
DC51g
mA
125C
Note 1:
2:
3.3V
20 MIPS EC mode, 8X PLL
5V
3.3V
16 MIPS EC mode, 16X PLL
5V
5V
3.3V
FRC (~ 2 MIPS)
5V
3.3V
LPRC (~ 512 kHz)
5V
Data in Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only
and are not tested.
Base IIDLE current is measured with Core off, Clock on and all modules turned off.
Preliminary
DS70116D-page 171
dsPIC30F5011/5013
TABLE 23-5:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
-40C
DC60a
25C
DC60b
85C
DC60c
125C
DC60d
-40C
DC60e
25C
DC60f
85C
DC60g
125C
DC61
-40C
DC61a
25C
DC61b
85C
DC61c
125C
DC61d
-40C
DC61e
15
25C
DC61f
85C
DC61g
125C
DC62
-40C
DC62a
25C
DC62b
85C
DC62c
125C
DC62d
-40C
DC62e
25C
DC62f
85C
DC62g
125C
DC63
-40C
DC63a
30
25C
DC63b
85C
DC63c
125C
DC63d
-40C
DC63e
36
25C
DC63f
85C
DC63g
125C
Note 1:
2:
3:
3.3V
Base Power Down Current(3)
5V
3.3V
Watchdog Timer Current: IWDT(3)
5V
3.3V
Timer 1 w/32 kHz Crystal: ITI32(3)
5V
3.3V
BOR On: IBOR(3)
5V
Data in the Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance
only and are not tested.
Base IPD is measured with all peripherals and clocks shut down. All I/Os are configured as inputs and
pulled high. LVD, BOR, WDT, etc. are all switched off.
The current is the additional current consumed when the module is enabled. This current should be
added to the base IPD current.
DS70116D-page 172
Preliminary
dsPIC30F5011/5013
TABLE 23-5:
DC CHARACTERISTICS
Parameter
No.
Typical(1)
Max
Units
Conditions
-40C
DC66a
30
25C
DC66b
85C
DC66c
125C
DC66d
-40C
DC66e
36
25C
DC66f
85C
125C
DC66g
Note 1:
2:
3:
3.3V
Low Voltage Detect: ILVD(3)
5V
Data in the Typical column is at 5V, 25C unless otherwise stated. Parameters are for design guidance
only and are not tested.
Base IPD is measured with all peripherals and clocks shut down. All I/Os are configured as inputs and
pulled high. LVD, BOR, WDT, etc. are all switched off.
The current is the additional current consumed when the module is enabled. This current should be
added to the base IPD current.
Preliminary
DS70116D-page 173
dsPIC30F5011/5013
TABLE 23-6:
DC CHARACTERISTICS
Param
Symbol
No.
VIL
DI10
Characteristic
Min
Typ(1)
Max
Units
VSS
0.2 VDD
Conditions
DI15
MCLR
VSS
0.2 VDD
DI16
VSS
0.2 VDD
(3)
DI17
VSS
0.3 VDD
DI18
SDA, SCL
TBD
TBD
SM bus disabled
SDA, SCL
TBD
TBD
SM bus enabled
I/O pins:
with Schmitt Trigger buffer
0.8 VDD
VDD
DI25
MCLR
0.8 VDD
VDD
DI26
VDD
DI27
(3)
0.9 VDD
VDD
DI28
SDA, SCL
TBD
TBD
SM bus disabled
DI29
SDA, SCL
TBD
TBD
SM bus enabled
50
250
400
TBD
TBD
TBD
DI19
VIH
DI20
ICNPU
CNXX Pull-up
Current(2)
DI30
DI31
IIL
DI50
I/O ports
0.01
DI51
0.50
DI55
MCLR
0.05
DI56
OSC1
0.05
Note 1:
2:
3:
4:
5:
Data in Typ column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
These parameters are characterized but not tested in manufacturing.
In RC oscillator configuration, the OSC1/CLKl pin is a Schmitt Trigger input. It is not recommended that
the dsPIC30F device be driven with an external clock while in RC mode.
The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified
levels represent normal operating conditions. Higher leakage current may be measured at different input
voltages.
Negative current is defined as current sourced by the pin.
DS70116D-page 174
Preliminary
dsPIC30F5011/5013
TABLE 23-7:
DC CHARACTERISTICS
Param
Symbol
No.
VOL
Characteristic
Min
Typ(1)
Max
Units
0.6
Conditions
DO10
I/O ports
TBD
DO16
OSC2/CLKOUT
0.6
TBD
VDD 0.7
TBD
VOH
DO20
DO26
OSC2/CLKOUT
(RC or EC Osc mode)
VDD 0.7
TBD
COSC2
OSC2/SOSC2 pin
15
pF
DO56
CIO
50
pF
RC or EC Osc mode
DO58
CB
SCL, SDA
400
pF
In I2C mode
Note 1:
2:
Data in Typ column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
These parameters are characterized but not tested in manufacturing.
FIGURE 23-1:
LV10
LVDIF
(LVDIF set by hardware)
Preliminary
DS70116D-page 175
dsPIC30F5011/5013
TABLE 23-8:
DC CHARACTERISTICS
Param
No.
LV10
Characteristic(1)
Symbol
VPLVD
Min
Typ
Max
Units
LVDL = 0001(2)
LVDL = 0010(2)
2.50
2.65
LVDL = 0011
(2)
LVDL = 0100
LV15
Note 1:
2:
VLVDIN
LVDL = 0101
2.70
2.86
LVDL = 0110
2.80
2.97
LVDL = 0111
3.00
3.18
LVDL = 1000
3.30
3.50
LVDL = 1001
3.50
3.71
LVDL = 1010
3.60
3.82
LVDL = 1011
3.80
4.03
LVDL = 1100
4.00
4.24
LVDL = 1101
4.20
4.45
LVDL = 1110
4.50
4.77
LVDL = 1111
Conditions
FIGURE 23-2:
BO10
(Device in Brown-out Reset)
BO15
DS70116D-page 176
Preliminary
dsPIC30F5011/5013
TABLE 23-9:
DC CHARACTERISTICS
Param
No.
Symbol
VBOR
BO10
Min
Typ(1)
Max
Units
BORV = 00(3)
BORV = 01
2.7
2.86
BORV = 10
4.2
4.46
BORV = 11
4.5
4.78
mV
Characteristic
BOR Voltage(2) on
VDD transition high to
low
Conditions
Not in operating
range
BO15
VBHYS
Note 1:
Data in Typ column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
These parameters are characterized but not tested in manufacturing.
00 values not in usable operating range.
2:
3:
DC CHARACTERISTICS
Param
Symbol
No.
Characteristic
Min
Typ(1)
Max
Units
Conditions
ED
Byte Endurance
100K
1M
E/W
D121
VDRW
VMIN
5.5
-40C TA +85C
Using EECON to read/write
VMIN = Minimum operating
voltage
D122
TDEW
ms
D123
TRETD
Characteristic Retention
40
100
Year
D124
IDEW
10
30
mA
Row Erase
-40C TA +85C
(2)
EP
Cell Endurance
10K
100K
E/W
D131
VPR
VMIN
5.5
D132
VEB
4.5
5.5
D133
VPEW
3.0
5.5
D134
TPEW
ms
D135
TRETD
Characteristic Retention
40
100
Year
D136
TEB
ms
D137
IPEW
10
30
mA
Row Erase
D138
IEB
10
30
mA
Bulk Erase
Note 1:
2:
Preliminary
DS70116D-page 177
dsPIC30F5011/5013
23.2
The information contained in this section defines dsPIC30F AC characteristics and timing parameters.
AC CHARACTERISTICS
FIGURE 23-3:
VDD/2
RL
CL
Pin
VSS
CL
Pin
RL = 464
CL = 50 pF for all pins except OSC2
5 pF for OSC2 output
VSS
FIGURE 23-4:
Q1
Q2
Q3
Q4
Q1
OSC1
OS20
OS30
OS25
OS30
OS31
OS31
CLKOUT
OS40
DS70116D-page 178
Preliminary
OS41
dsPIC30F5011/5013
TABLE 23-12: EXTERNAL CLOCK TIMING REQUIREMENTS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
Symbol
No.
FOSC
OS10
Characteristic
Min
Typ(1)
Max
Units
DC
4
4
4
40
10
10
7.5
MHz
MHz
MHz
MHz
EC
EC with 4x PLL
EC with 8x PLL
EC with 16x PLL
Oscillator Frequency(2)
DC
0.4
4
4
4
4
10
31
8
512
4
4
10
10
10
7.5
25
33
MHz
MHz
MHz
MHz
MHz
MHz
MHz
kHz
MHz
kHz
RC
XTL
XT
XT with 4x PLL
XT with 8x PLL
XT with 16x PLL
HS
LP
FRC internal
LPRC internal
Conditions
OS20
TOSC
TOSC = 1/FOSC
OS25
TCY
33
DC
ns
OS30
TosL,
TosH
.45 x TOSC
ns
EC
OS31
TosR,
TosF
20
ns
EC
OS40
TckR
10
ns
OS41
TckF
10
ns
Note 1:
2:
3:
4:
Data in Typ column is at 5V, 25C unless otherwise stated. Parameters are for design guidance only and
are not tested.
These parameters are characterized but not tested in manufacturing.
Instruction cycle period (TCY) equals four times the input oscillator time-base period. All specified values
are based on characterization data for that particular oscillator type under standard operating conditions
with the device executing code. Exceeding these specified limits may result in an unstable oscillator
operation and/or higher than expected current consumption. All devices are tested to operate at min.
values with an external clock applied to the OSC1/CLKI pin. When an external clock input is used, the
Max. cycle time limit is DC (no clock) for all devices.
Measurements are taken in EC or ERC modes. The CLKOUT signal is measured on the OSC2 pin.
CLKOUT is low for the Q1-Q2 period (1/2 TCY) and high for the Q3-Q4 period (1/2 TCY).
Preliminary
DS70116D-page 179
dsPIC30F5011/5013
TABLE 23-13: PLL CLOCK TIMING SPECIFICATIONS (VDD = 2.5 TO 5.5 V)
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Characteristic(1)
Symbol
Min
Typ(2)
Max
Units
Conditions
OS50
FPLLI
10
MHz
OS51
FSYS
16
120
MHz
OS52
TLOC
20
50
OS53
DCLK
TBD
TBD
Note 1:
2:
FOSC
(MHz)(1)
TCY (sec)(2)
MIPS(3)
w/o PLL
MIPS(3)
w PLL x4
MIPS(3)
w PLL x8
MIPS(3)
w PLL x16
EC
0.200
20.0
0.05
XT
Note 1:
2:
3:
1.0
1.0
4.0
8.0
16.0
10
0.4
2.5
10.0
20.0
25
0.16
25.0
1.0
1.0
4.0
8.0
16.0
10
0.4
2.5
10.0
20.0
AC CHARACTERISTICS
Param
No.
Characteristic
Min
Typ
Max
Units
Conditions
F16
TBD
TBD
-40C to +85C
VDD = 3.3V
F19
TBD
TBD
-40C to +85C
VDD = 5V
TBD
TBD
-40C to +85C
VDD = 3V
TBD
TBD
-40C to +85C
VDD = 5V
(2)
Frequency calibrated at 25C and 5V. TUN bits can be used to compensate for temperature drift.
LPRC frequency after calibration.
Change of LPRC frequency as VDD changes.
DS70116D-page 180
Preliminary
dsPIC30F5011/5013
FIGURE 23-5:
I/O Pin
(Input)
DI35
DI40
I/O Pin
(Output)
New Value
Old Value
DO31
DO32
AC CHARACTERISTICS
Param
No.
Characteristic(1)(2)(3)
Symbol
Min
Typ(4)
Max
Units
Conditions
10
25
ns
DO31
TIOR
DO32
TIOF
10
25
ns
DI35
TINP
20
ns
TRBP
2 TCY
ns
DI40
Note 1:
2:
3:
4:
These parameters are asynchronous events not related to any internal clock edges
Measurements are taken in RC mode and EC mode where CLKOUT output is 4 x TOSC.
These parameters are characterized but not tested in manufacturing.
Data in Typ column is at 5V, 25C unless otherwise stated.
Preliminary
DS70116D-page 181
dsPIC30F5011/5013
FIGURE 23-6:
VDD
SY12
MCLR
SY10
Internal
POR
SY11
PWRT
Time-out
OSC
Time-out
SY30
Internal
RESET
Watchdog
Timer
RESET
SY13
SY20
SY13
I/O Pins
SY35
FSCM
Delay
Note: Refer to Figure 23-3 for load conditions.
DS70116D-page 182
Preliminary
dsPIC30F5011/5013
TABLE 23-17: RESET, WATCHDOG TIMER, OSCILLATOR START-UP TIMER, POWER-UP TIMER
AND BROWN-OUT RESET TIMING REQUIREMENTS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
Symbol
No.
Characteristic(1)
SY10
TmcL
SY11
TPWRT
Min
Typ(2)
Max
Units
Conditions
-40C to +85C
TBD
TBD
TBD
TBD
0
4
16
64
TBD
TBD
TBD
TBD
ms
-40C to +85C
User programmable
-40C to +85C
SY12
TPOR
10
30
SY13
TIOZ
100
ns
SY20
TWDT1
1.8
2.0
2.2
ms
1.9
2.1
2.3
ms
SY25
TBOR
100
SY30
TOST
1024 TOSC
SY35
TFSCM
100
-40C to +85C
TWDT2
Note 1:
2:
3:
FIGURE 23-7:
0V
Enable Band Gap
(see Note)
Band Gap
Stable
SY40
Param
No.
SY40
Note 1:
2:
Symbol
TBGAP
Characteristic(1)
Min
Typ(2)
Max
Units
20
50
Conditions
Defined as the time between the
instant that the band gap is enabled
and the moment that the band gap
reference voltage is stable.
RCON<13>Status bit
Preliminary
DS70116D-page 183
dsPIC30F5011/5013
FIGURE 23-8:
TxCK
Tx11
Tx10
Tx15
Tx20
OS60
TMRX
AC CHARACTERISTICS
Param
No.
TA10
TA11
TA15
Symbol
TTXH
TTXL
TTXP
Characteristic
TxCK High Time
Min
Typ
Max
Units
Conditions
Synchronous,
no prescaler
0.5 TCY + 20
ns
Synchronous,
with prescaler
10
ns
Asynchronous
10
ns
Synchronous,
no prescaler
0.5 TCY + 20
ns
Synchronous,
with prescaler
10
ns
Asynchronous
10
ns
TCY + 10
ns
Greater of:
20 ns or
(TCY + 40)/N
20
ns
DC
50
kHz
6 TOSC
OS60
Ft1
TA20
Note:
2 TOSC
N = prescale
value
(1, 8, 64, 256)
Timer1 is a Type A.
DS70116D-page 184
Preliminary
dsPIC30F5011/5013
TABLE 23-20: TYPE B TIMER (TIMER2 AND TIMER4) EXTERNAL CLOCK TIMING REQUIREMENTS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
TB10
TB11
TB15
Symbol
TtxH
TtxL
TtxP
Characteristic
TxCK High Time
Min
Typ
Max
Units
Synchronous,
no prescaler
0.5 TCY + 20
ns
Synchronous,
with prescaler
10
ns
Synchronous,
no prescaler
0.5 TCY + 20
ns
Synchronous,
with prescaler
10
ns
TCY + 10
ns
6 TOSC
TB20
Note:
Greater of:
20 ns or
(TCY + 40)/N
2 TOSC
Conditions
Must also meet
parameter TB15
N = prescale
value
(1, 8, 64, 256)
TABLE 23-21: TYPE C TIMER (TIMER3 AND TIMER5) EXTERNAL CLOCK TIMING REQUIREMENTS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min
Typ
Max
Units
Conditions
TC10
TtxH
Synchronous
0.5 TCY + 20
ns
TC11
TtxL
Synchronous
0.5 TCY + 20
ns
TC15
TtxP
TCY + 10
ns
N = prescale
value
(1, 8, 64, 256)
6 TOSC
Synchronous,
with prescaler
TC20
Note:
Greater of:
20 ns or
(TCY + 40)/N
2 TOSC
Preliminary
DS70116D-page 185
dsPIC30F5011/5013
FIGURE 23-9:
IC10
IC11
IC15
AC CHARACTERISTICS
Param
No.
Characteristic(1)
Symbol
IC10
TccL
IC11
TccH
IC15
TccP
No Prescaler
Min
Max
Units
0.5 TCY + 20
ns
With Prescaler
No Prescaler
10
ns
0.5 TCY + 20
ns
With Prescaler
Note 1:
10
ns
(2 TCY + 40)/N
ns
Conditions
N = prescale
value (1, 4, 16)
FIGURE 23-10:
OCx
(Output Compare
or PWM Mode)
OC10
OC11
Param
Symbol
No.
Characteristic(1)
Typ(2)
Max
Units
Conditions
OC10
TccF
10
25
ns
OC11
TccR
10
25
ns
Note 1:
2:
DS70116D-page 186
Preliminary
dsPIC30F5011/5013
FIGURE 23-11:
OCFA/OCFB
OC15
OCx
AC CHARACTERISTICS
Param
Symbol
No.
Characteristic(1)
Min
Typ(2)
Max
Units
25
ns
OC15 TFD
OC20 TFLT
Note 1:
2:
Conditions
VDD = 3V
TBD
ns
VDD = 5V
50
ns
VDD = 3V
TBD
ns
VDD = 5V
-40C to +85C
-40C to +85C
Preliminary
DS70116D-page 187
dsPIC30F5011/5013
FIGURE 23-12:
CSCK
(SCKE = 0)
CS11
CS10
CS21
CS20
CS20
CS21
CSCK
(SCKE = 1)
COFS
CS55 CS56
CS35
CS51
CSDO
HIGH-Z
70
CS50
LSb
MSb
CS30
CSDI
HIGH-Z
CS31
LSb IN
MSb IN
CS40 CS41
DS70116D-page 188
Preliminary
dsPIC30F5011/5013
TABLE 23-25: DCI MODULE (MULTICHANNEL, I2S MODES) TIMING REQUIREMENTS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
TcSCKL
CS10
Characteristic(1)
Min
Typ(2)
Max
Units
Conditions
TCY / 2 + 20
ns
30
ns
TCY / 2 + 20
ns
30
ns
TcSCKH
CS11
CS20
TcSCKF
10
25
ns
CS21
TcSCKR
10
25
ns
CS30
TcSDOF
10
25
ns
10
25
ns
10
ns
Time(4)
CS31
TcSDOR
CS35
TDV
CS36
TDIV
10
20
ns
CS40
TCSDI
20
ns
CS41
THCSDI
20
ns
CS50
TcoFSF
10
25
ns
Note 1
CS51
TcoFSR
10
25
ns
Note 1
CS55
TscoFS
20
ns
CS56
THCOFS
20
ns
Note 1:
2:
3:
4:
Preliminary
DS70116D-page 189
dsPIC30F5011/5013
FIGURE 23-13:
BIT_CLK
(CSCK)
CS61
CS60
CS62
CS21
CS20
CS71
CS70
CS72
SYNC
(COFS)
CS76
CS75
CS80
SDO
(CSDO)
MSb
LSb
LSb
CS76
CS75
MSb IN
SDI
(CSDI)
CS65 CS66
AC CHARACTERISTICS
Param
No.
CS60
CS61
CS62
CS65
CS66
CS70
CS71
CS72
CS75
CS76
CS77
CS78
CS80
Note
Symbol
Characteristic(1)(2)
Min
Typ(3)
Max
Units
Conditions
TBCLKL
TBCLKH
TBCLK
TSACL
BIT_CLK Period
81.4
ns
Bit clock is input
Input Setup Time to
10
ns
10
ns
19.5
s
Note 1
1.3
s
Note 1
TSYNCHI SYNC Data Output High Time
SYNC Data Output Period
20.8
s
Note 1
TSYNC
TRACL
Rise Time, SYNC, SDATA_OUT
10
25
ns
CLOAD = 50 pF, VDD = 5V
TFACL
Fall Time, SYNC, SDATA_OUT
10
25
ns
CLOAD = 50 pF, VDD = 5V
Rise Time, SYNC, SDATA_OUT
TBD
TBD
ns
CLOAD = 50 pF, VDD = 3V
TRACL
Fall Time, SYNC, SDATA_OUT
TBD
TBD
ns
CLOAD = 50 pF, VDD = 3V
TFACL
15
ns
DS70116D-page 190
Preliminary
dsPIC30F5011/5013
FIGURE 23-14:
SCKx
(CKP = 0)
SP11
SP10
SP21
SP20
SP20
SP21
SCKx
(CKP = 1)
SP35
BIT14 - - - - - -1
MSb
SDOx
SP31
SDIx
LSb
SP30
MSb IN
LSb IN
BIT14 - - - -1
SP40 SP41
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic(1)
Min
Typ(2)
Max
Units
Conditions
ns
TscL
TCY / 2
SP11
TscH
Time(3)
TCY / 2
ns
SP20
TscF
10
25
ns
SP21
TscR
10
25
ns
SP30
TdoF
10
25
ns
SP10
(4)
SP31
TdoR
10
25
ns
SP35
TscH2doV,
TscL2doV
30
ns
SP40
TdiV2scH,
TdiV2scL
20
ns
SP41
TscH2diL,
TscL2diL
20
ns
Note 1:
2:
3:
4:
Preliminary
DS70116D-page 191
dsPIC30F5011/5013
FIGURE 23-15:
SCKX
(CKP = 0)
SP11
SP10
SP21
SP20
SP20
SP21
SCKX
(CKP = 1)
SP35
SDOX
BIT14 - - - - - -1
MSb
SP40
SDIX
LSb
SP30,SP31
MSb IN
BIT14 - - - -1
LSb IN
SP41
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic(1)
Min
Typ(2)
Max
Units
Conditions
SP10
TscL
TCY / 2
ns
SP11
TscH
TCY / 2
ns
10
25
ns
10
25
ns
10
25
ns
10
25
ns
time(4)
SP20
TscF
SP21
TscR
SP30
TdoF
SP31
TdoR
SP35
30
ns
SP36
30
ns
SP40
20
ns
SP41
TscH2diL,
TscL2diL
20
ns
Note 1:
2:
3:
4:
DS70116D-page 192
Preliminary
dsPIC30F5011/5013
FIGURE 23-16:
SSX
SP52
SP50
SCKX
(CKP = 0)
SP71
SP70
SP20
SP21
SP20
SP21
SCKX
(CKP = 1)
SP35
MSb
SDOX
LSb
BIT14 - - - - - -1
SP51
SP30,SP31
SDIX
MSb IN
SP40
BIT14 - - - -1
LSb IN
SP41
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic(1)
Min
Typ(2)
Max
Units
Conditions
30
ns
SP70
TscL
SP71
TscH
30
ns
SP20
TscF
10
25
ns
10
25
ns
10
25
ns
Time(3)
SP21
TscR
SP30
TdoF
Time(3)
SP31
TdoR
10
25
ns
SP35
30
ns
SP40
20
ns
SP41
20
ns
SP50
120
ns
SP51
10
50
ns
SP52
ns
Note 1:
2:
3:
Preliminary
DS70116D-page 193
dsPIC30F5011/5013
FIGURE 23-17:
SSX
SP52
SP50
SCKX
(CKP = 0)
SP71
SP70
SP20
SP21
SP20
SP21
SCKX
(CKP = 1)
SP35
SP52
MSb
SDOX
BIT14 - - - - - -1
LSb
SP30,SP31
SDIX
MSb IN
SP51
BIT14 - - - -1
LSb IN
SP41
SP40
DS70116D-page 194
Preliminary
dsPIC30F5011/5013
TABLE 23-30: SPI MODULE SLAVE MODE (CKE = 1) TIMING REQUIREMENTS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic(1)
Min
Typ(2)
Max
Units
Conditions
SP70
TscL
30
ns
SP71
TscH
30
ns
SP20
TscF
10
25
ns
SP21
TscR
10
25
ns
(3)
SP30
TdoF
10
25
ns
SP31
TdoR
10
25
ns
SP35
30
ns
SP40
20
ns
SP41
20
ns
SP50
120
ns
SP51
10
50
ns
SP52
1.5 TCY + 40
ns
SP60
50
ns
Note 1:
2:
3:
4:
Preliminary
DS70116D-page 195
dsPIC30F5011/5013
FIGURE 23-18:
SCL
IM31
IM34
IM30
IM33
SDA
Stop
Condition
Start
Condition
Note: Refer to Figure 23-3 for load conditions.
FIGURE 23-19:
IM21
IM11
IM10
SCL
IM11
IM26
IM10
IM25
IM33
SDA
In
IM40
IM40
IM45
SDA
Out
Note: Refer to Figure 23-3 for load conditions.
DS70116D-page 196
Preliminary
dsPIC30F5011/5013
TABLE 23-31: I2C BUS DATA TIMING REQUIREMENTS (MASTER MODE)
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
Symbol
No.
Min(1)
Max
Units
Conditions
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
1 MHz mode(2)
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
Characteristic
IM10
THI:SCL
IM11
(2)
TCY / 2 (BRG + 1)
ms
300
ns
20 + 0.1 CB
300
ns
1 MHz mode(2)
100
ns
1000
ns
20 + 0.1 CB
300
ns
1 MHz mode(2)
300
ns
250
ns
100
ns
1 MHz mode(2)
TBD
ns
ns
0.9
ms
1 MHz mode(2)
TBD
ns
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
1 MHz mode(2)
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
1 MHz mode
TF:SCL
IM20
TR:SCL
IM21
IM25
IM26
TSU:STA
IM30
Start Condition
Setup Time
IM31
IM33
IM34
Hold Time
TAA:SCL
IM40
Output Valid
From Clock
IM45
CB
IM50
Note 1:
2:
TCY / 2 (BRG + 1)
ms
1 MHz mode(2)
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ms
1 MHz mode(2)
TCY / 2 (BRG + 1)
ms
TCY / 2 (BRG + 1)
ns
CB is specified to be
from 10 to 400 pF
CB is specified to be
from 10 to 400 pF
TCY / 2 (BRG + 1)
ns
1 MHz mode(2)
TCY / 2 (BRG + 1)
ns
3500
ns
1000
ns
(2)
1 MHz mode
ns
4.7
ms
1.3
ms
1 MHz mode(2)
TBD
ms
400
pF
BRG is the value of the I2C Baud Rate Generator. Refer to Section 21 Inter-Integrated Circuit (I2C)
in the dsPIC30F Family Reference Manual.
Maximum pin capacitance = 10 pF for all I2C pins (for 1 MHz mode only).
Preliminary
DS70116D-page 197
dsPIC30F5011/5013
FIGURE 23-20:
SCL
IS34
IS31
IS30
IS33
SDA
Stop
Condition
Start
Condition
FIGURE 23-21:
IS21
IS11
IS10
SCL
IS30
IS26
IS31
IS25
IS33
SDA
In
IS40
IS40
IS45
SDA
Out
DS70116D-page 198
Preliminary
dsPIC30F5011/5013
TABLE 23-32: I2C BUS DATA TIMING REQUIREMENTS (SLAVE MODE)
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
IS10
IS11
IS20
IS21
IS25
IS26
IS30
IS31
IS33
IS34
Symbol
TLO:SCL
THI:SCL
TF:SCL
TR:SCL
TSU:DAT
THD:DAT
TSU:STA
THD:STA
TSU:STO
THD:STO
Characteristic
Clock Low Time
IS40
IS45
IS50
Note 1:
TAA:SCL
TBF:SDA
CB
Min
Max
Units
4.7
1.3
1 MHz mode(1)
0.5
4.0
0.6
1 MHz mode(1)
0.5
300
ns
20 + 0.1 CB
300
ns
1 MHz mode(1)
100
ns
1000
ns
20 + 0.1 CB
300
ns
1 MHz mode(1)
300
ns
250
ns
100
ns
1 MHz mode(1)
100
ns
ns
0.9
1 MHz mode(1)
0.3
4.7
0.6
1 MHz mode(1)
0.25
4.0
0.6
1 MHz mode(1)
0.25
4.7
0.6
1 MHz mode(1)
0.6
4000
ns
600
ns
1 MHz mode(1)
250
0
3500
1000
ns
1 MHz mode(1)
350
ns
4.7
1.3
1 MHz mode(1)
0.5
400
pF
Bus Capacitive
Loading
CB is specified to be from
10 to 400 pF
CB is specified to be from
10 to 400 pF
ns
Conditions
ns
Maximum pin capacitance = 10 pF for all I2C pins (for 1 MHz mode only).
Preliminary
DS70116D-page 199
dsPIC30F5011/5013
FIGURE 23-22:
CXTX Pin
(output)
New Value
Old Value
CA10 CA11
CXRX Pin
(input)
CA20
Param
No.
Symbol
Min
Typ(2)
Max
Units
Conditions
CA10
TioF
10
25
ns
CA11
TioR
10
25
ns
CA20
Tcwf
500
ns
Note 1:
2:
DS70116D-page 200
Preliminary
dsPIC30F5011/5013
TABLE 23-34: 12-BIT A/D MODULE SPECIFICATIONS
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min.
Typ
Max.
Units
Conditions
Device Supply
AD01
AVDD
Greater of
VDD - 0.3
or 2.7
Lesser of
VDD + 0.3
or 5.5
AD02
AVSS
VSS - 0.3
VSS + 0.3
AD05
VREFH
AVDD
Reference Inputs
AD06
VREFL
AD07
VREF
Absolute Reference
Voltage
AD08
IREF
Current Drain
AD10
AVSS + 2.7
AVSS
AVDD - 2.7
AVSS - 0.3
AVDD + 0.3
200
.001
300
3
A
A
A/D operating
A/D off
VREFH
See Note
Analog Input
VREFL
AD11
VIN
AVDD + 0.3
AD12
Leakage Current
AVSS - 0.3
0.001
0.610
AD13
Leakage Current
0.001
0.610
AD15
RSS
Switch Resistance
3.2K
AD16
CSAMPLE
Sample Capacitor
18
pF
AD17
RIN
Recommended Impedance
of Analog Voltage Source
AD20
Nr
Resolution
AD21
INL
Integral Nonlinearity
0.75
TBD
LSb
AD21A INL
Integral Nonlinearity
0.75
TBD
LSb
AD22
DNL
Differential Nonlinearity
0.5
< 1
LSb
AD22A DNL
Differential Nonlinearity
0.5
< 1
LSb
GERR
Gain Error
1.25
TBD
LSb
AD23A GERR
Gain Error
1.25
TBD
LSb
2.5K
DC Accuracy
AD23
Note 1:
12 data bits
bits
The A/D conversion result never decreases with an increase in the input voltage, and has no missing
codes.
Preliminary
DS70116D-page 201
dsPIC30F5011/5013
TABLE 23-34: 12-BIT A/D MODULE SPECIFICATIONS (CONTINUED)
Standard Operating Conditions: 2.5V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min.
Typ
Max.
Units
Conditions
EOFF
Offset Error
1.25
TBD
LSb
AD24A EOFF
Offset Error
1.25
TBD
LSb
AD25
Monotonicity(1)
AD26
CMRR
Common-Mode Rejection
TBD
dB
AD27
PSRR
TBD
dB
AD28
CTLK
Channel to Channel
Crosstalk
TBD
dB
AD30
THD
dB
AD31
SINAD
TBD
dB
AD32
SFDR
TBD
dB
AD33
FNYQ
50
kHz
AD34
ENOB
TBD
TBD
bits
AD24
Guaranteed
Dynamic Performance
Note 1:
The A/D conversion result never decreases with an increase in the input voltage, and has no missing
codes.
DS70116D-page 202
Preliminary
dsPIC30F5011/5013
FIGURE 23-23:
ADCLK
Instruction
Execution
Set SAMP
Clear SAMP
SAMP
ch0_dischrg
ch0_samp
eoc
AD61
AD60
TSAMP
AD55
DONE
ADIF
ADRES(0)
Preliminary
DS70116D-page 203
dsPIC30F5011/5013
TABLE 23-35: 12-BIT A/D CONVERSION TIMING REQUIREMENTS
Standard Operating Conditions: 2.7V to 5.5V
(unless otherwise stated)
Operating temperature -40C TA +85C for Industrial
-40C TA +125C for Extended
AC CHARACTERISTICS
Param
No.
Symbol
Characteristic
Min.
Typ
Max.
Units
Conditions
Clock Parameters
AD50
TAD
AD51
tRC
667
ns
1.2
1.5
1.8
Conversion Rate
AD55
tCONV
Conversion Time
14 TAD
ns
AD56
FCNV
Throughput Rate
100
ksps
AD57
TSAMP
Sampling Time
1 TAD
ns
AD60
tPCS
AD61
tPSS
AD62
AD63
VDD = VREF = 5V
VDD = 3-5.5V source
resistance
RS = 0-2.5 k
Timing Parameters
Note 1:
2:
TAD
ns
0.5 TAD
1.5 TAD
ns
tCSS
Conversion Completion to
Sample Start (ASAM = 1)
TBD
ns
tDPU
TBD
Because the sample caps will eventually lose charge, clock rates below 10 kHz can affect linearity
performance, especially at elevated temperatures.
These parameters are characterized but not tested in manufacturing.
DS70116D-page 204
Preliminary
dsPIC30F5011/5013
24.0
PACKAGING INFORMATION
24.1
Example
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
YYWWNNN
dsPIC30F
5011-30I/PT
0348017
80-Lead TQFP
Example
XXXXXXXXXXXX
XXXXXXXXXXXX
YYWWNNN
Legend: XX...X
Y
YY
WW
NNN
Note:
dsPIC30F5013
-30I/PT
0348017
In the event the full Microchip part number cannot be marked on one line, it will
be carried over to the next line thus limiting the number of available characters
for customer specific information.
* Standard device marking consists of Microchip part number, year code, week code, and traceability code.
For device marking beyond this, certain price adders apply. Please check with your Microchip Sales Office.
For QTP devices, any special marking adders are included in QTP price.
Preliminary
DS70116D-page 205
dsPIC30F5011/5013
64-Lead Plastic Thin Quad Flatpack (PT) 10x10x1 mm Body, 1.0/0.10 mm Lead Form (TQFP)
E
E1
#leads=n1
p
D1
2
1
B
n
CH x 45
A
c
A2
A1
(F)
Units
Dimension Limits
n
p
Number of Pins
Pitch
Pins per Side
Overall Height
Molded Package Thickness
Standoff
Foot Length
Footprint (Reference)
Foot Angle
Overall Width
Overall Length
Molded Package Width
Molded Package Length
Lead Thickness
Lead Width
Pin 1 Corner Chamfer
Mold Draft Angle Top
Mold Draft Angle Bottom
n1
A
A2
A1
L
(F)
E
D
E1
D1
c
B
CH
MIN
.039
.037
.002
.018
0
.463
.463
.390
.390
.005
.007
.025
5
5
INCHES
NOM
64
.020
16
.043
.039
.006
.024
.039
3.5
.472
.472
.394
.394
.007
.009
.035
10
10
MAX
.047
.041
.010
.030
7
.482
.482
.398
.398
.009
.011
.045
15
15
MILLIMETERS*
NOM
64
0.50
16
1.00
1.10
0.95
1.00
0.05
0.15
0.45
0.60
1.00
0
3.5
11.75
12.00
11.75
12.00
9.90
10.00
9.90
10.00
0.13
0.18
0.17
0.22
0.64
0.89
5
10
5
10
MIN
MAX
1.20
1.05
0.25
0.75
7
12.25
12.25
10.10
10.10
0.23
0.27
1.14
15
15
* Controlling Parameter
Significant Characteristic
Notes:
Dimensions D1 and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
.010 (0.254mm) per side.
JEDEC Equivalent: MS-026
Drawing No. C04-085
DS70116D-page 206
Preliminary
dsPIC30F5011/5013
80-Lead Plastic Thin Quad Flatpack (PT) 12x12x1 mm Body, 1.0/0.10 mm Lead Form (TQFP)
E
E1
#leads=n1
p
D1
2
1
CH x 45
A
A2
A1
(F)
Units
Dimension Limits
n
p
Number of Pins
Pitch
Pins per Side
Overall Height
Molded Package Thickness
Standoff
Foot Length
Footprint (Reference)
Foot Angle
Overall Width
Overall Length
Molded Package Width
Molded Package Length
Lead Thickness
Lead Width
Pin 1 Corner Chamfer
Mold Draft Angle Top
Mold Draft Angle Bottom
n1
A
A2
A1
L
(F)
E
D
E1
D1
c
B
CH
MIN
.039
.037
.002
.018
0
.541
.541
.463
.463
.004
.007
.025
5
5
INCHES
NOM
80
.020
20
.043
.039
.004
.024
.039
3.5
.551
.551
.472
.472
.006
.009
.035
10
10
MAX
.047
.041
.006
.030
7
.561
.561
.482
.482
.008
.011
.045
15
15
MILLIMETERS*
NOM
80
0.50
20
1.00
1.10
0.95
1.00
0.05
0.10
0.45
0.60
1.00
0
3.5
13.75
14.00
13.75
14.00
11.75
12.00
11.75
12.00
0.09
0.15
0.17
0.22
0.64
0.89
5
10
5
10
MIN
MAX
1.20
1.05
0.15
0.75
7
14.25
14.25
12.25
12.25
0.20
0.27
1.14
15
15
* Controlling Parameter
Significant Characteristic
Notes:
Dimensions D1 and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
.010 (0.254mm) per side.
JEDEC Equivalent: MS-026
Drawing No. C04-092
Preliminary
DS70116D-page 207
dsPIC30F5011/5013
NOTES:
DS70116D-page 208
Preliminary
dsPIC30F5011/5013
INDEX
Numerics
12-bit Analog-to-Digital Converter (A/D) Module .............. 129
A
A/D .................................................................................... 129
Aborting a Conversion .............................................. 131
ADCHS Register ....................................................... 129
ADCON1 Register..................................................... 129
ADCON2 Register..................................................... 129
ADCON3 Register..................................................... 129
ADCSSL Register ..................................................... 129
ADPCFG Register..................................................... 129
Configuring Analog Port Pins.............................. 60, 133
Connection Considerations....................................... 133
Conversion Operation ............................................... 130
Effects of a Reset...................................................... 132
Operation During CPU Idle Mode ............................. 132
Operation During CPU Sleep Mode.......................... 132
Output Formats ......................................................... 132
Power-down Modes .................................................. 132
Programming the Sample Trigger............................. 131
Register Map............................................................. 134
Result Buffer ............................................................. 130
Sampling Requirements............................................ 131
Selecting the Conversion Clock ................................ 131
Selecting the Conversion Sequence......................... 130
AC Characteristics ............................................................ 178
Load Conditions ........................................................ 178
AC Temperature and Voltage Specifications .................... 178
AC-Link Mode Operation .................................................. 126
16-bit Mode ............................................................... 126
20-bit Mode ............................................................... 126
Address Generator Units .................................................... 35
Alternate Vector Table ........................................................ 45
Analog-to-Digital Converter. See A/D.
Assembler
MPASM Assembler................................................... 159
Automatic Clock Stretch...................................................... 94
During 10-bit Addressing (STREN = 1)....................... 94
During 7-bit Addressing (STREN = 1)......................... 94
Receive Mode ............................................................. 94
Transmit Mode ............................................................ 94
B
Bandgap Start-up Time
Requirements............................................................ 183
Timing Characteristics .............................................. 183
Barrel Shifter ....................................................................... 21
Bit-Reversed Addressing .................................................... 38
Example ...................................................................... 38
Implementation ........................................................... 38
Modifier Values Table ................................................. 39
Sequence Table (16-Entry)......................................... 39
Block Diagrams
12-bit A/D Functional ................................................ 129
16-bit Timer1 Module .................................................. 65
16-bit Timer2............................................................... 71
16-bit Timer3............................................................... 71
16-bit Timer4............................................................... 76
16-bit Timer5............................................................... 76
32-bit Timer2/3............................................................ 70
32-bit Timer4/5............................................................ 75
CAN Buffers and Protocol Engine............................. 108
C
C Compilers
MPLAB C17.............................................................. 160
MPLAB C18.............................................................. 160
MPLAB C30.............................................................. 160
CAN Module ..................................................................... 107
Baud Rate Setting .................................................... 112
CAN1 Register Map.................................................. 114
CAN2 Register Map.................................................. 116
Frame Types ............................................................ 107
I/O Timing Characteristics ........................................ 200
I/O Timing Requirements.......................................... 200
Message Reception.................................................. 110
Message Transmission............................................. 111
Modes of Operation .................................................. 109
Overview................................................................... 107
CLKOUT and I/O Timing
Characteristics.......................................................... 181
Requirements ........................................................... 181
Code Examples
Data EEPROM Block Erase ....................................... 54
Data EEPROM Block Write ........................................ 56
Data EEPROM Read.................................................. 53
Data EEPROM Word Erase ....................................... 54
Data EEPROM Word Write ........................................ 55
Erasing a Row of Program Memory ........................... 49
Initiating a Programming Sequence ........................... 50
Loading Write Latches................................................ 50
Code Protection ................................................................ 135
Control Registers ................................................................ 48
NVMADR .................................................................... 48
NVMADRU ................................................................. 48
NVMCON.................................................................... 48
NVMKEY .................................................................... 48
Core Architecture
Overview..................................................................... 13
CPU Architecture Overview ................................................ 13
D
Data Accumulators and Adder/Subtractor .......................... 19
Data Space Write Saturation ...................................... 21
Overflow and Saturation ............................................. 19
Round Logic ............................................................... 20
Write Back .................................................................. 20
Preliminary
DS70116D-page 209
dsPIC30F5011/5013
Data Address Space ........................................................... 27
Alignment .................................................................... 30
Alignment (Figure) ...................................................... 30
Effect of Invalid Memory Accesses (Table)................. 30
MCU and DSP (MAC Class) Instructions Example..... 29
Memory Map ......................................................... 27, 28
Near Data Space ........................................................ 31
Software Stack ............................................................ 31
Spaces ........................................................................ 30
Width........................................................................... 30
Data Converter Interface (DCI) Module ............................ 119
Data EEPROM Memory ...................................................... 53
Erasing ........................................................................ 54
Erasing, Block ............................................................. 54
Erasing, Word ............................................................. 54
Protection Against Spurious Write .............................. 57
Reading....................................................................... 53
Write Verify ................................................................. 57
Writing ......................................................................... 55
Writing, Block .............................................................. 56
Writing, Word .............................................................. 55
DC Characteristics ............................................................ 166
BOR .......................................................................... 177
Brown-out Reset ....................................................... 176
I/O Pin Input Specifications ....................................... 174
I/O Pin Output Specifications .................................... 175
Idle Current (IIDLE) .................................................... 170
Low-Voltage Detect................................................... 175
LVDL ......................................................................... 176
Operating Current (IDD)............................................. 167
Power-Down Current (IPD) ........................................ 172
Program and EEPROM............................................. 177
Temperature and Voltage Specifications .................. 166
DCI Module
Bit Clock Generator................................................... 123
Buffer Alignment with Data Frames .......................... 124
Buffer Control ............................................................ 119
Buffer Data Alignment ............................................... 119
Buffer Length Control................................................ 124
COFS Pin.................................................................. 119
CSCK Pin.................................................................. 119
CSDI Pin ................................................................... 119
CSDO Mode Bit ........................................................ 125
CSDO Pin ................................................................. 119
Data Justification Control Bit ..................................... 123
Device Frequencies for Common Codec
CSCK Frequencies (Table)............................... 123
Digital Loopback Mode ............................................. 125
Enable....................................................................... 121
Frame Sync Generator ............................................. 121
Frame Sync Mode Control Bits ................................. 121
I/O Pins ..................................................................... 119
Interrupts ................................................................... 125
Introduction ............................................................... 119
Master Frame Sync Operation .................................. 121
Operation .................................................................. 121
Operation During CPU Idle Mode ............................. 126
Operation During CPU Sleep Mode .......................... 126
Receive Slot Enable Bits........................................... 124
Receive Status Bits ................................................... 125
Register Map............................................................. 127
Sample Clock Edge Control Bit................................. 123
Slave Frame Sync Operation .................................... 122
Slot Enable Bits Operation with Frame Sync ............ 124
Slot Status Bits.......................................................... 125
DS70116D-page 210
E
Electrical Characteristics .................................................. 165
AC............................................................................. 178
DC ............................................................................ 166
Enabling and Setting Up UART
Setting Up Data, Parity and Stop Bit Selections ....... 101
Enabling the UART ........................................................... 101
Equations
A/D Conversion Clock............................................... 131
Baud Rate................................................................. 103
Bit Clock Frequency.................................................. 123
COFSG Period.......................................................... 121
Serial Clock Rate ........................................................ 96
Time Quantum for Clock Generation ........................ 113
Errata .................................................................................... 5
Evaluation and Programming Tools.................................. 163
Exception Sequence
Trap Sources .............................................................. 43
External Clock Timing Characteristics
Type A, B and C Timer ............................................. 184
External Clock Timing Requirements ............................... 179
Type A Timer ............................................................ 184
Type B Timer ............................................................ 185
Type C Timer ............................................................ 185
External Interrupt Requests ................................................ 45
Preliminary
dsPIC30F5011/5013
F
Fast Context Saving............................................................ 45
Flash Program Memory ...................................................... 47
I
I/O Pin Specifications
Input .......................................................................... 174
Output ....................................................................... 175
I/O Ports .............................................................................. 59
Parallel (PIO) .............................................................. 59
I2C 10-bit Slave Mode Operation ........................................ 93
Reception.................................................................... 94
Transmission............................................................... 94
I2C 7-bit Slave Mode Operation .......................................... 93
Reception.................................................................... 93
Transmission............................................................... 93
I2C Master Mode Operation ................................................ 95
Baud Rate Generator.................................................. 96
Clock Arbitration.......................................................... 96
Multi-Master Communication, Bus Collision
and Bus Arbitration ............................................. 96
Reception.................................................................... 95
Transmission............................................................... 95
I2C Master Mode Support ................................................... 95
I2C Module .......................................................................... 91
Addresses ................................................................... 93
Bus Data Timing Characteristics
Master Mode ..................................................... 196
Slave Mode ....................................................... 198
Bus Data Timing Requirements
Master Mode ..................................................... 197
Slave Mode ....................................................... 199
Bus Start/Stop Bits Timing Characteristics
Master Mode ..................................................... 196
Slave Mode ....................................................... 198
General Call Address Support .................................... 95
Interrupts..................................................................... 95
IPMI Support ............................................................... 95
Operating Function Description .................................. 91
Operation During CPU Sleep and Idle Modes ............ 96
Pin Configuration ........................................................ 91
Programmers Model................................................... 91
Register Map............................................................... 97
Registers..................................................................... 91
Slope Control .............................................................. 95
Software Controlled Clock Stretching (STREN = 1).... 94
Various Modes ............................................................ 91
I2S Mode Operation .......................................................... 126
Data Justification....................................................... 126
Frame and Data Word Length Selection................... 126
Idle Current (IIDLE) ............................................................ 170
In-Circuit Serial Programming (ICSP) ......................... 47, 135
Input Capture (CAPX) Timing Characteristics .................. 186
Input Capture Module ......................................................... 79
Interrupts..................................................................... 80
Register Map............................................................... 81
Input Capture Operation During Sleep and Idle Modes ...... 80
CPU Idle Mode............................................................ 80
CPU Sleep Mode ........................................................ 80
Input Capture Timing Requirements ................................. 186
Input Change Notification Module ....................................... 63
dsPIC30F5011 Register Map (Bits 15-8) .................... 63
dsPIC30F5011 Register Map (Bits 7-0) ...................... 63
dsPIC30F5013 Register Map (Bits 15-8) .................... 63
dsPIC30F5013 Register Map (Bits 7-0) ...................... 63
L
Load Conditions................................................................ 178
Low Voltage Detect (LVD) ................................................ 146
Low-Voltage Detect Characteristics.................................. 175
LVDL Characteristics ........................................................ 176
M
Memory Organization .......................................................... 7
Core Register Map ..................................................... 31
Modes of Operation
Disable...................................................................... 109
Initialization............................................................... 109
Listen All Messages.................................................. 109
Listen Only................................................................ 109
Loopback .................................................................. 109
Normal Operation ..................................................... 109
Modulo Addressing ............................................................. 36
Applicability................................................................. 38
Incrementing Buffer Operation Example .................... 37
Start and End Address ............................................... 37
W Address Register Selection.................................... 37
MPLAB ASM30 Assembler, Linker, Librarian ................... 160
MPLAB ICD 2 In-Circuit Debugger ................................... 161
MPLAB ICE 2000 High-Performance Universal
In-Circuit Emulator.................................................... 161
MPLAB ICE 4000 High-Performance Universal
In-Circuit Emulator.................................................... 161
MPLAB Integrated Development Environment Software.. 159
MPLINK Object Linker/MPLIB Object Librarian ................ 160
N
NVM
Register Map .............................................................. 51
O
OC/PWM Module Timing Characteristics ......................... 187
Operating Current (IDD) .................................................... 167
Operating Frequency vs Voltage
dsPIC30FXXXX-20 (Extended) ................................ 166
Oscillator
Configurations .......................................................... 138
Fail-Safe Clock Monitor .................................... 140
Fast RC (FRC).................................................. 139
Initial Clock Source Selection ........................... 138
Low Power RC (LPRC)..................................... 139
LP Oscillator Control......................................... 138
Phase Locked Loop (PLL) ................................ 139
Preliminary
DS70116D-page 211
dsPIC30F5011/5013
Start-up Timer (OST) ........................................ 138
Operating Modes (Table) .......................................... 136
System Overview ...................................................... 135
Oscillator Selection ........................................................... 135
Oscillator Start-up Timer
Timing Characteristics .............................................. 182
Timing Requirements ................................................ 183
Output Compare Interrupts ................................................. 85
Output Compare Module..................................................... 83
Register Map............................................................... 86
Timing Characteristics .............................................. 186
Timing Requirements ................................................ 186
Output Compare Operation During CPU Idle Mode............ 85
Output Compare Sleep Mode Operation............................. 85
P
Packaging Information ...................................................... 205
Marking ..................................................................... 205
Peripheral Module Disable (PMD) Registers .................... 148
PICkit 1 Flash Starter Kit................................................... 163
PICSTART Plus Development Programmer ..................... 161
Pinout Descriptions ............................................................. 10
PLL Clock Timing Specifications....................................... 180
POR. See Power-on Reset.
Port Write/Read Example.................................................... 60
PORTA
Register Map for dsPIC30F5013 ................................ 61
PORTB
Register Map for dsPIC30F5011/5013 ....................... 61
PORTC
Register Map for dsPIC30F5011 ................................ 61
Register Map for dsPIC30F5013 ................................ 61
PORTD
Register Map for dsPIC30F5011 ................................ 62
Register Map for dsPIC30F5013 ................................ 62
PORTF
Register Map for dsPIC30F5011 ................................ 62
Register Map for dsPIC30F5013 ................................ 62
PORTG
Register Map for dsPIC30F5011/5013 ....................... 62
Power Saving Modes ........................................................ 146
Idle ............................................................................ 147
Sleep......................................................................... 146
Sleep and Idle ........................................................... 135
Power-Down Current (IPD) ................................................ 172
Power-up Timer
Timing Characteristics .............................................. 182
Timing Requirements ................................................ 183
PRO MATE II Universal Device Programmer ................... 161
Program Address Space ..................................................... 23
Construction ................................................................ 24
Data Access from Program Memory Using
Program Space Visibility ..................................... 26
Data Access From Program Memory Using
Table Instructions................................................ 25
Data Access from, Address Generation...................... 24
Data Space Window into Operation ............................ 27
Data Table Access (LS Word) .................................... 25
Data Table Access (MS Byte) ..................................... 26
Memory Map ............................................................... 23
Table Instructions
TBLRDH.............................................................. 25
TBLRDL .............................................................. 25
TBLWTH ............................................................. 25
TBLWTL.............................................................. 25
DS70116D-page 212
R
Reset ........................................................................ 135, 141
BOR, Programmable ................................................ 143
Brown-out Reset (BOR)............................................ 135
Oscillator Start-up Timer (OST) ................................ 135
POR
Operating without FSCM and PWRT................ 143
With Long Crystal Start-up Time ...................... 143
POR (Power-on Reset)............................................. 141
Power-on Reset (POR)............................................. 135
Power-up Timer (PWRT) .......................................... 135
Reset Sequence ................................................................. 43
Reset Sources ............................................................ 43
Reset Sources
Brown-out Reset (BOR).............................................. 43
Illegal Instruction Trap ................................................ 43
Trap Lockout............................................................... 43
Uninitialized W Register Trap ..................................... 43
Watchdog Time-out .................................................... 43
Reset Timing Characteristics............................................ 182
Reset Timing Requirements ............................................. 183
Run-Time Self-Programming (RTSP) ................................. 47
S
Simple Capture Event Mode............................................... 79
Buffer Operation ......................................................... 80
Hall Sensor Mode ....................................................... 80
Prescaler .................................................................... 79
Timer2 and Timer3 Selection Mode............................ 80
Simple OC/PWM Mode Timing Requirements ................. 187
Simple Output Compare Match Mode ................................ 84
Simple PWM Mode ............................................................. 84
Input Pin Fault Protection ........................................... 84
Period ......................................................................... 85
Software Simulator (MPLAB SIM) .................................... 160
Software Simulator (MPLAB SIM30) ................................ 160
Software Stack Pointer, Frame Pointer .............................. 14
CALL Stack Frame ..................................................... 31
SPI Module ......................................................................... 87
Framed SPI Support ................................................... 87
Operating Function Description .................................. 87
Operation During CPU Idle Mode ............................... 89
Operation During CPU Sleep Mode............................ 89
SDOx Disable ............................................................. 87
Slave Select Synchronization ..................................... 89
SPI1 Register Map...................................................... 90
SPI2 Register Map...................................................... 90
Timing Characteristics
Master Mode (CKE = 0).................................... 191
Master Mode (CKE = 1).................................... 192
Slave Mode (CKE = 1).............................. 193, 194
Timing Requirements
Master Mode (CKE = 0).................................... 191
Master Mode (CKE = 1).................................... 192
Preliminary
dsPIC30F5011/5013
Slave Mode (CKE = 0) ...................................... 193
Slave Mode (CKE = 1) ...................................... 195
Word and Byte Communication .................................. 87
Status Bits, Their Significance and the Initialization
Condition for RCON Register, Case 1 ...................... 144
Status Bits, Their Significance and the Initialization
Condition for RCON Register, Case 2 ...................... 145
Status Register ................................................................... 14
Symbols Used in Opcode Descriptions............................. 152
System Integration ............................................................ 135
Register Map............................................................. 149
T
Table Instruction Operation Summary ................................ 47
Temperature and Voltage Specifications
AC ............................................................................. 178
DC............................................................................. 166
Timer1 Module .................................................................... 65
16-bit Asynchronous Counter Mode ........................... 65
16-bit Synchronous Counter Mode ............................. 65
16-bit Timer Mode....................................................... 65
Gate Operation ........................................................... 66
Interrupt....................................................................... 66
Operation During Sleep Mode .................................... 66
Prescaler..................................................................... 66
Real-Time Clock ......................................................... 66
Interrupts............................................................. 67
Oscillator Operation ............................................ 67
Register Map............................................................... 68
Timer2 and Timer3 Selection Mode .................................... 84
Timer2/3 Module ................................................................. 69
16-bit Timer Mode....................................................... 69
32-bit Synchronous Counter Mode ............................. 69
32-bit Timer Mode....................................................... 69
ADC Event Trigger...................................................... 72
Gate Operation ........................................................... 72
Interrupt....................................................................... 72
Operation During Sleep Mode .................................... 72
Register Map............................................................... 73
Timer Prescaler........................................................... 72
Timer4/5 Module ................................................................. 75
Register Map............................................................... 77
Timing Characteristics
A/D Conversion
Low-speed (ASAM = 0, SSRC = 000) .............. 203
Bandgap Start-up Time............................................. 183
CAN Module I/O........................................................ 200
CLKOUT and I/O....................................................... 181
DCI Module
AC-Link Mode ................................................... 190
Multichannel, I2S Modes ................................... 188
External Clock........................................................... 178
I2C Bus Data
Master Mode ..................................................... 196
Slave Mode ....................................................... 198
I2C Bus Start/Stop Bits
Master Mode ..................................................... 196
Slave Mode ....................................................... 198
Input Capture (CAPX) ............................................... 186
OC/PWM Module ...................................................... 187
Oscillator Start-up Timer ........................................... 182
Output Compare Module........................................... 186
Power-up Timer ........................................................ 182
Reset......................................................................... 182
SPI Module
Master Mode (CKE = 0).................................... 191
Master Mode (CKE = 1).................................... 192
Slave Mode (CKE = 0)...................................... 193
Slave Mode (CKE = 1)...................................... 194
Type A, B and C Timer External Clock..................... 184
Watchdog Timer ....................................................... 182
Timing Diagrams
CAN Bit..................................................................... 112
Frame Sync, AC-Link Start of Frame ....................... 122
Frame Sync, Multi-Channel Mode ............................ 122
I2S Interface Frame Sync ......................................... 122
PWM Output ............................................................... 85
Time-out Sequence on Power-up
(MCLR Not Tied to VDD), Case 1 ..................... 142
Time-out Sequence on Power-up
(MCLR Not Tied to VDD), Case 2 ..................... 142
Time-out Sequence on Power-up
(MCLR Tied to VDD) ......................................... 142
Timing Diagrams and Specifications
DC Characteristics - Internal RC Accuracy .............. 180
Timing Diagrams.See Timing Characteristics
Timing Requirements
A/D Conversion
Low-speed ........................................................ 204
Bandgap Start-up Time ............................................ 183
Brown-out Reset....................................................... 183
CAN Module I/O ....................................................... 200
CLKOUT and I/O ...................................................... 181
DCI Module
AC-Link Mode................................................... 190
Multichannel, I2S Modes................................... 189
External Clock .......................................................... 179
I2C Bus Data (Master Mode) .................................... 197
I2C Bus Data (Slave Mode) ...................................... 199
Input Capture............................................................ 186
Oscillator Start-up Timer........................................... 183
Output Compare Module .......................................... 186
Power-up Timer ........................................................ 183
Reset ........................................................................ 183
Simple OC/PWM Mode ............................................ 187
SPI Module
Master Mode (CKE = 0).................................... 191
Master Mode (CKE = 1).................................... 192
Slave Mode (CKE = 0)...................................... 193
Slave Mode (CKE = 1)...................................... 195
Type A Timer External Clock.................................... 184
Type B Timer External Clock.................................... 185
Type C Timer External Clock.................................... 185
Watchdog Timer ....................................................... 183
Timing Specifications
PLL Clock ................................................................. 180
Trap Vectors ....................................................................... 44
U
UART Module
Address Detect Mode ............................................... 103
Auto Baud Support ................................................... 104
Baud Rate Generator ............................................... 103
Enabling and Setting Up........................................... 101
Framing Error (FERR) .............................................. 103
Idle Status................................................................. 103
Loopback Mode ........................................................ 103
Operation During CPU Sleep and Idle Modes.......... 104
Preliminary
DS70116D-page 213
dsPIC30F5011/5013
Overview ..................................................................... 99
Parity Error (PERR) .................................................. 103
Receive Break........................................................... 103
Receive Buffer (UxRXB) ........................................... 102
Receive Buffer Overrun Error (OERR Bit) ................ 102
Receive Interrupt....................................................... 102
Receiving Data.......................................................... 102
Receiving in 8-bit or 9-bit Data Mode........................ 102
Reception Error Handling.......................................... 102
Transmit Break.......................................................... 102
Transmit Buffer (UxTXB)........................................... 101
Transmit Interrupt...................................................... 102
Transmitting Data...................................................... 101
Transmitting in 8-bit Data Mode................................ 101
Transmitting in 9-bit Data Mode................................ 101
UART1 Register Map ................................................ 105
UART2 Register Map ................................................ 105
DS70116D-page 214
UART Operation
Idle Mode .................................................................. 104
Sleep Mode .............................................................. 104
Unit ID Locations .............................................................. 135
Universal Asynchronous Receiver Transmitter (UART) Module ............................................................................... 99
W
Wake-up from Sleep ......................................................... 135
Wake-up from Sleep and Idle ............................................. 45
Watchdog Timer
Timing Characteristics .............................................. 182
Timing Requirements................................................ 183
Watchdog Timer (WDT)............................................ 135, 146
Enabling and Disabling ............................................. 146
Operation .................................................................. 146
WWW, On-Line Support ....................................................... 5
Preliminary
dsPIC30F5011/5013
ON-LINE SUPPORT
Microchip provides on-line support on the Microchip
World Wide Web site.
The web site is used by Microchip as a means to make
files and information easily available to customers. To
view the site, the user must have access to the Internet
and a web browser, such as Netscape or Microsoft
Internet Explorer. Files are also available for FTP
download from our FTP site.
042003
Preliminary
DS70116D-page 215
dsPIC30F5011/5013
READER RESPONSE
It is our intention to provide you with the best documentation possible to ensure successful use of your Microchip product. If you wish to provide your comments on organization, clarity, subject matter, and ways in which our documentation
can better serve you, please FAX your comments to the Technical Publications Manager at (480) 792-4150.
Please list the following information, and use this outline to provide us with your comments about this document.
To:
RE:
Reader Response
From: Name
Company
Address
City / State / ZIP / Country
Telephone: (_______) _________ - _________
Application (optional):
Would you like a reply?
Device: dsPIC30F5011/5013
N
Literature Number: DS70116D
Questions:
1. What are the best features of this document?
2. How does this document meet your hardware and software development needs?
3. Do you find the organization of this document easy to follow? If not, why?
4. What additions to the document do you think would enhance the structure and subject?
5. What deletions from the document could be made without affecting the overall usefulness?
DS70116D-page 216
Preliminary
dsPIC30F5011/5013
PRODUCT IDENTIFICATION SYSTEM
To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.
d s P I C 3 0 F 5 0 1 3 AT- 3 0 I / P T- E S
Custom ID (3 digits) or
Engineering Sample (ES)
Trademark
Architecture
PT
PT
S
W
Flash
Memory Size in Bytes
0 = ROMless
1 = 1K to 6K
2 = 7K to 12K
3 = 13K to 24K
4 = 25K to 48K
5 = 49K to 96K
6 = 97K to 192K
7 = 193K to 384K
8 = 385K to 768K
9 = 769K and Up
=
=
=
=
Package
TQFP 10x10
TQFP 12x12
Die (Waffle Pack)
Die (Wafers)
Temperature
I = Industrial -40C to +85C
E = Extended High Temp -40C to +125C
Speed
20 = 20 MIPS
30 = 30 MIPS
Device ID
Example:
dsPIC30F5013AT-30I/PT = 30 MIPS, Industrial temp., TQFP package, Rev. A
Preliminary
DS70116D-page 217
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
480-792-7627
Web Address:
www.microchip.com
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
India - Bangalore
Tel: 91-80-2229-0061
Fax: 91-80-2229-0062
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
Austria - Weis
Tel: 43-7242-2244-399
Fax: 43-7242-2244-393
Denmark - Ballerup
Tel: 45-4420-9895
Fax: 45-4420-9910
China - Chengdu
Tel: 86-28-8676-6200
Fax: 86-28-8676-6599
Japan - Kanagawa
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
France - Massy
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
China - Fuzhou
Tel: 86-591-750-3506
Fax: 86-591-750-3521
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
Germany - Ismaning
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Atlanta
Alpharetta, GA
Tel: 770-640-0034
Fax: 770-640-0307
Boston
Westford, MA
Tel: 978-692-3848
Fax: 978-692-3821
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Kaohsiung
Tel: 886-7-536-4816
Fax: 886-7-536-4817
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
England - Berkshire
Tel: 44-118-921-5869
Fax: 44-118-921-5820
Taiwan - Hsinchu
Tel: 886-3-572-9526
Fax: 886-3-572-6459
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
San Jose
Mountain View, CA
Tel: 650-215-1444
Fax: 650-961-0286
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
08/24/04
DS70116D-page 218
Preliminary