2008-2013 Microchip Technology Inc. DS80000391B-page 7
dsPIC30F1010/202X
7. Module: PWM
The outputs of the PWM module may exhibit a
jitter proportional to the speed of operation of the
device. The jitter may be observed as a deviation
in the PWM period, duty cycle or phase, and may
be affected independent of each other. As a result,
the maximum deviation exhibited on the PWM
output pin at 30 MIPS is 8.4 nsec.
The jitter is caused by silicon process variations,
noise on the V
DD rail and the operating temperature
of the dsPIC DSC. However, for a given set of
operating conditions, the maximum jitter will be the
same for all three parameters and independent of
each other. Table 1 shows the maximum jitter that
may be exhibited at various operating speeds.
TABLE 1:
The maximum jitter at any operating speed can be
determined using Equation 2.
EQUATION 2:
Where:
S is the speed of operation in MIPS.
The maximum percentage error observed on the
PWM output can be calculated using Equation 3.
EQUATION 3:
Where:
x
observed
is the observed value of parameter of
interest (PWM period, duty cycle or phase).
x
programmed
is the programmed value of
parameter of interest (PWM period, duty cycle
or phase).
Work around
Operate the power supply PWM module so that
the percentage error in the parameter of interest
(from Equation 3) is within permissible limits of the
application.
Affected Silicon Revisions
8. Module: ADC
In order to perform multiple Analog-to-Digital
conversions using the Global Software Trigger, the
PxRDY bits in the ADSTAT register must be
cleared. The data sheet indicates that the user can
configure the ADC pin pairs to perform a
conversion when the GSWTRG bit in the ADCON
register is set. When the conversion is available,
the user must then clear the GSWTRG bit and set
it again to perform another conversion. Contrary to
what the data sheet indicates, this will not initiate
another conversion unless the PxRDY bits are
cleared. Clearing the PxRDY bits automatically
clears the GSWTRG bit.
This only applies to a polling-based approach. If an
interrupt-based approach is used, the user is
required to clear the PxRDY bits in the ADC
Interrupt Service Routine (ISR).
Work around
The following sequence should be followed to
manually trigger ADC conversions using the
Global Software Trigger (polling based only.)
1. Set the GSWTRG bit in ADCON to initiate a
conversion on channels which have the trigger
source as the Global Software Trigger (via the
TRGSRCx<4:0> bits in the ADCPCx
registers).
2. Check the PxRDY bits to determine when the
conversion(s) is completed.
3. Clear the PxRDY bits. The GSWTRG bit will be
cleared as a result of this operation.
4. Repeat Steps 1 to 3 to perform additional
conversions.
Alternatively, the Individual Software Trigger can
be selected by setting the TRGSRCx<5:0> bits in
the ADCPCx register equal to 0x01. Instead of
using the Global Software Trigger, the Individual
Software Trigger (ADCPCx<SWTRGx>) bits can
be used to trigger a conversion on a given analog
pin pair. In a bit polling approach, the PENDx in the
ADCPCx register should be used to determine
when a conversion is completed. In an interrupt
based approach, the PxRDY bits get set when the
conversion is complete. This bit must be cleared in
the ADC Interrupt Service Routine in order to
enable future interrupts.
Affected Silicon Revisions
Speed of Operation
Maximum Jitter on
PWM Output
30 MIPS 8.4 nsec
20 MIPS 12.6 nsec
15 MIPS 16.8 nsec
A0 A1 A2 A3
XXX
X
Maximum Jitter Observed (nsec) =
252
(S)
x
programmed
x
observed

x
programmed
---------------------------------------------------------------
100=
Error (%)
A0 A1 A2 A3
XXX
X
dsPIC30F1010/202X
DS80000391B-page 8 2008-2013 Microchip Technology Inc.
9. Module: ADC
The dedicated ADC Sample-and-Hold circuits can
be triggered by signals from the PWM module. The
“dsPIC30F1010/202X Family Data Sheet”
indicates that the resolution of the PWM-ADC
Sample-and-Hold Trigger timing is 8 ns. The
existing implementation has a 41.6 ns resolution.
In other words, when the PWM-ADC Trigger is
fired, an ADC sample may occur 1 ns to 41.6 ns
later.
Work around
None.
Affected Silicon Revisions
10. Module: ADC
The “dsPIC30F1010/202X Family Data Sheet”
specifies that each ADC pin pair has its own
interrupt vector. These interrupts do not work on
the dsPIC30F1010/202X Rev. A3 devices.
Work around
Each ADC pin pair can be configured to initiate a
global ADC interrupt by setting the corresponding
IRQENx bit in the ADCPCx register. The ADBASE
register can be used to create a jump table in the
global ADC interrupt which will execute the
appropriate ADC service routine for a particular
ADC pin pair. There is an ADBASE register code
example in the “dsPIC30F1010/202X Family Data
Sheet” which illustrates using the ADBASE
register in this way.
Affected Silicon Revisions
11. Module: ADC
The data sheet indicates that the conversion rate
for the ADC module is 2.0 Msps. The ADC module
on the dsPIC30F1010/202X Rev. A3 silicon has a
maximum conversion rate of 1.5 Msps.
Work around
None.
Affected Silicon Revisions
12. Module: PWM
Setting the XPRES bit in the PWMCONx register
should enable a current-limit source to reset the
PWM period in Independent Time Base mode.
This mode is not functioning correctly.
If the selected current-limit signal (either an analog
comparator or external signal) triggers after the
falling edge of PWMxH, then the XPRES operation
functions correctly. The PWM deasserted time is
truncated and the PWM period is terminated early,
and a new PWM cycle begins.
If the selected current-limit signal (either an analog
comparator or external signal) triggers before the
falling edge of PWMxH, the PWMxH asserted time
is truncated, and the inactive time after the falling
edge PWMxH remains constant.
The proper XPRES behavior is to ignore the
current-limit signal until the falling edge of the
PWM period.
This issue may not be a problem in applications that
control inductor current above a specified minimum
current level. When the inductor current falls below
the specified minimum value during the PWMxH
OFF time, the PWM period is truncated and a new
cycle begins to increase the inductor current.
Work around
None.
Affected Silicon Revisions
A0 A1 A2 A3
XXX
X
A0 A1 A2
A3
XXX
X
A0 A1 A2
A3
XXX
X
A0 A1 A2 A3
XXX
X
2008-2013 Microchip Technology Inc. DS80000391B-page 9
dsPIC30F1010/202X
13. Module: Output Compare
A glitch will be produced on an output compare pin
under the following conditions:
The user software initially drives the I/O pin
high using the output compare module or a
write to the associated PORTx register.
The output compare module is configured and
enabled to drive the pin low at some later time
(OCxCON = 0x0002 or OCxCON = 0x0003).
When these events occur, the output compare
module will drive the pin low for one instruction
cycle (T
CY) after the module is enabled.
Work around
None. However, the user may use a timer interrupt
and write to the associated PORTx register to
control the pin manually.
Affected Silicon Revisions
14. Module: PWM
The output compare module will miss a compare
event when the current Duty Cycle register
(OCxRS) value is 0x0000 (0% duty cycle) and the
OCxRS register is updated with a value of 0x0001.
The compare event is missed only the first time a
value of 0x0001 is written to OCxRS and the PWM
output remains low for one PWM period.
Subsequent PWM high and low times occur as
expected.
Work around
None. If the current OCxRS register value is
0x0000, avoid writing a value of 0x0001 to
OCxRS. Instead, write a value of 0x0002;
however, in this case, the duty cycle will be slightly
different from the desired value.
Affected Silicon Revisions
15. Module: Output Compare
When the output compare module is operated in the
Dual Compare Match mode, a timer compare
match with the value in the OCxR register sets the
OCx output, producing a rising edge on the OCx
pin. Then, when a timer compare match with the
value in the OCxRS register occurs, the OCx output
is reset, producing a falling edge on the OCx pin.
The above statement applies to all conditions
except when the difference between OCxR and
OCxRS is 1. In this case, the output compare
module may miss the Reset compare event and
cause the OCx pin to remain continuously high.
This condition will remain until the difference
between values in the OCxR and OCxRS registers
is made greater than 1.
Work around
Ensure in software that the difference between
values in the OCxR and OCxRS registers is
maintained greater than 1.
Affected Silicon Revisions
16. Module: SPI
The SPI module slave select functionality (enabled
by setting SSEN = 1) will not function correctly.
Whether the SSx pin (x = 1 or 2) is high or low, the
SPI data transfer will be completed and an
interrupt will be generated. This applies to the
dsPIC30F2023 device only.
Work around
Manually poll the SSx pin state in the SPI interrupt
by reading the associated PORTx bit:
If the PORTx bit is 0’, then perform the
required data read/write.
If the PORTx bit is 1’, then clear the SPIx
Interrupt Flag (SPIxIF), perform a dummy read
of the SPIxBUF register and return from the
Interrupt Service Routine.
Affected Silicon Revisions
A0 A1 A2 A3
XXX
X
A0 A1 A2 A3
XXX
X
A0 A1 A2 A3
XXX
X
Note: The dsPIC30F1010/202X devices have
only one SPI. All references to x = 2 are
intended for software compatibility with
other dsPIC
®
DSC devices.
A0 A1 A2 A3
XXX
X

DSPIC30F1010T-30I/MM

Mfr. #:
Manufacturer:
Microchip Technology
Description:
Digital Signal Processors & Controllers - DSP, DSC 6KB 256bytes-RAM 30MIPS 21I/O
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet