DSPIC33FJ128MC710-E/PF Microchip Technology, DSPIC33FJ128MC710-E/PF Datasheet - Page 9
![IC DSPIC MCU/DSP 128K 100TQFP](/photos/12/13/121330/c04-100-tqfp_sml.jpg)
DSPIC33FJ128MC710-E/PF
Manufacturer Part Number
DSPIC33FJ128MC710-E/PF
Description
IC DSPIC MCU/DSP 128K 100TQFP
Manufacturer
Microchip Technology
Series
dsPIC™ 33Fr
Datasheets
1.DSPIC33FJ12GP201-ISO.pdf
(90 pages)
2.DSPIC33FJ64MC506-IPT.pdf
(340 pages)
3.DSPIC33FJ64MC506-IPT.pdf
(30 pages)
Specifications of DSPIC33FJ128MC710-E/PF
Core Processor
dsPIC
Core Size
16-Bit
Speed
40 MIPs
Connectivity
CAN, I²C, IrDA, LIN, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, DMA, Motor Control PWM, QEI, POR, PWM, WDT
Number Of I /o
85
Program Memory Size
128KB (128K x 8)
Program Memory Type
FLASH
Ram Size
16K x 8
Voltage - Supply (vcc/vdd)
3 V ~ 3.6 V
Data Converters
A/D 24x10b/12b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 125°C
Package / Case
100-TQFP, 100-VQFP
For Use With
MA330013 - MODULE PLUG-IN DSPIC33 100TQFPDV164033 - KIT START EXPLORER 16 MPLAB ICD2DM240001 - BOARD DEMO PIC24/DSPIC33/PIC32AC164323 - MODULE SKT FOR 100TQFP
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Eeprom Size
-
4. Module: CPU
© 2010 Microchip Technology Inc.
The EXCH instruction does not execute correctly.
Work around
If
recommended fix is to replace:
with:
If using the MPLAB C Compiler for dsPIC
(formerly known as the MPLAB C30 C Compiler),
specify the compiler option, -merrata=exch
(Project>Build Options>Projects>MPLAB
C30>Use Alternate Settings)
Affected Silicon Revisions
A2
X
writing
A3
X
EXCH Wsource, Wdestination
PUSH Wdestination
MOV Wsource, Wdestination
POP Wsource
source
A4
X
code
in
assembly,
®
DSCs
the
5. Module: CPU
The DISI instruction will not disable interrupts
when a DISI instruction is executed in the same
instruction
decrements to zero. For example, when user code
executes a DISI #7, interrupts for 7 + 1 cycles
(7 + the DISI instruction itself) are disabled. In
that case, the DISI instruction uses a counter that
counts down from 7 to 0. The counter is loaded
with 7 at the end of the DISI instruction.
If the user code executes another DISI on the
instruction cycle where the DISI counter has
become zero, the new DISI count is loaded; but,
the DISI state machine does not properly re-
engage and continue to disable interrupts. At this
point, all interrupts are enabled. The next time the
user code executes a DISI instruction, the feature
will act normally and block interrupts.
In summary, it is only when a DISI execution is
coincident with the current DISI count = 0, that the
issue occurs. Executing a DISI instruction before
the DISI counter reaches zero will not produce
this error – the DISI counter is loaded with the
new value, and interrupts remain disabled until the
counter becomes zero.
Work around
When multiple DISI instructions are executed in
the source code, make sure that subsequent DISI
instructions have at least one instruction cycle
between the time that the DISI counter
decrements to zero and the next DISI instruction.
Alternatively, make sure that subsequent DISI
instructions are called before the DISI counter
decrements to zero.
Affected Silicon Revisions
A2
X
A3
X
cycle
A4
X
that
the
DS80447D-page 9
DISI
counter