dsPIC30F1010/202X
DS80000391B-page 10 2008-2013 Microchip Technology Inc.
17. Module: SPI
The SPI module will fail to generate frame
synchronization pulses when configured in the
Frame Master mode if the start of data is selected
to coincide with the start of the frame
synchronization pulse (FRMEN = 1, SPIFSD = 0).
However, the module functions correctly in Frame
Slave mode and also in Frame Master mode if
FRMDLY = 0. This applies to the dsPIC30F2023
device only.
Work around
Manually drive the SSx pin (x = 1 or 2) high using
the associated PORTx register and then drive it
low after the required 1 bit time pulse width. This
operation needs to be performed when the
transmit buffer is written.
If FRMDLY = 0, no work around is needed.
Affected Silicon Revisions
18. Module: SPI
The SMP bit (SPIxCON1<9>, where x = 1 or 2)
does not have any effect when the SPI module is
configured for a 1:1 prescale factor in Master
mode. In this mode, whether the SMP bit is set or
cleared, the data is always sampled at the end of
data output time.
Work around
If sampling at the middle of the data output time is
required, then configure the SPI module to use a
clock prescale factor, other than 1:1, using the
PPRE<1:0> and SPRE<2:0> bits in the
SPIxCON1 register.
Affected Silicon Revisions
19. Module: UART
With the parity option enabled, a parity error,
indicated by the PERR bit (U1STA<3>) being set,
may occur if the Baud Rate Generator contains an
odd value. This affects both even and odd parity
options.
Work around
Load the Baud Rate Generator register, U1BRG,
with an even value, or disable the peripheral’s
parity option by loading either0b00’ or ‘0b11’ into
the Parity and Data Selection bits, PDSEL<1:0>
(U1MODE<2:1>).
Affected Silicon Revisions
20. Module: UART
The Receive Buffer Overrun Error Status bit,
OERR (U1STA<1>), may set before the UART
FIFO has overflowed. After the fourth byte is
received by the UART, the FIFO is full. The OERR
bit should set after the fifth byte has been received
in the UART Shift register. Instead, the OERR bit
may set after the fourth received byte with the
UART Shift register empty.
Work around
After four bytes have been received by the UART,
the UART1 Receiver Interrupt Flag bit, U1RXIF
(IFS0<9>), will be set, indicating the UART FIFO is
full. The OERR bit may also be set. After reading
the UART1 Receive Buffer, U1RXREG, four times
to clear the FIFO, clear both the OERR and
U1RXIF bits in software.
Affected Silicon Revisions
21. Module: UART
UART receptions may be corrupted if the Baud
Rate Generator (BRGH) is set up for 4x mode
(BRGH = 1).
Work around
Use the 16x baud rate option (BRGH = 0) and
adjust the baud rate accordingly.
Affected Silicon Revisions
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
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
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 11
dsPIC30F1010/202X
22. Module: UART
The UTXISEL0 bit (UxSTA<13>) is always read as
zero regardless of the value written to it. This will
affect read-modify-write operations, such as
bitwise or shift operations. Using a
read-modify-write instruction on the U1STA
register (e.g., BSET, BLCR) will always write the
UTXISEL0 bit to zero.
Work around
If a UTXISEL0 value of ‘1’ is needed, avoid using
read-modify-write instructions on the U1STA
register.
Copy the U1STA register to a temporary variable
and set U1STA<13> prior to performing
read-modify-write operations. Copy the new value
back to the U1STA register.
Affected Silicon Revisions
23. Module: UART
The auto-baud feature may not calculate the
correct baud rate when the High Baud Rate
Enable bit, BRGH, is set. With BRGH set, the baud
rate calculation used is the same as BRG = 0.
Work around
If the auto-baud feature is needed, use the Low
Baud Rate mode by clearing the BRGH bit.
Affected Silicon Revisions
24. Module: UART
With the auto-baud feature selected, the Sync
Break character (0x55) may be loaded into the
FIFO as data.
Work around
To prevent the Sync Break character from being
loaded into the FIFO, load the U1BRG register
with either 0x0000 or 0xFFFF prior to enabling the
auto-baud feature (ABAUD = 1).
Affected Silicon Revisions
25. Module: UART
The UART module can be used to transmit and
receive IrDA
®
signals, with the use of an IrDA
transceiver, by setting the IREN bit in the U1MODE
register. In this mode, the operation of the RXINV bit
enables reception of signals with an Idle state of
either ‘1’ or ‘0’. The operation of this bit is the inverse
of the stated operation in the “dsPIC30F1010/202X
Family Data Sheet' (DS70178).
The signal received from an IrDA transceiver can
have an Idle state of ‘1’ or ‘0’. The following table
summarizes how UART receptions will occur when
used with the IrDA decoder.
TABLE 2:
Work around
Invert the state of the RXINV bit in the U1MODE
register.
If the Idle state of the received signal is ‘1’,
configure RXINV = 1. If the Idle state of the
received signal is ‘0’, configure RXINV = 0.
Affected Silicon Revisions
26. Module: UART
The auto-baud feature may miscalculate for
certain baud rate and clock speed combinations,
resulting in a BRG value that is greater than or less
than the expected value by 1. This may result in
reception or transmission failures.
Work around
Test the auto-baud rate at various clock speeds
and baud rate combinations that would be used in
an application. If an inaccurate BRG value is
generated, manually correct the baud rate in user
software.
Affected Silicon Revisions
A0 A1 A2 A3
XXX
X
A0 A1 A2
A3
XXX
X
A0 A1 A2 A3
XXX
X
Type of Signal
Used for
Transmission
State of
RXINV Bit
UART Reception
Idle State = 1
RXINV = 0 May be erroneous
RXINV = 1 Error-free
Idle State = 0
RXINV = 0 Error-free
RXINV = 1 May be erroneous
A0 A1 A2
A3
XXX
X
A0 A1 A2
A3
XXX
X
dsPIC30F1010/202X
DS80000391B-page 12 2008-2013 Microchip Technology Inc.
27. Module: I
2
C™
The Bus Collision Status bit (BCL) does not get set
when a bus collision occurs during a Restart or
Stop event. However, the BCL bit gets set when a
bus collision occurs during a Start event.
Work around
None.
Affected Silicon Revisions
28. Module: I
2
C
Writing to I2CTRN during a Start bit transmission
generates a write collision, indicated by the IWCOL
(I2CSTAT<7>) bit being set. In this state, additional
writes to the I2CTRN register should be blocked.
However, in this condition, the I2CTRN register can
be written, although transmissions will not occur
until the IWCOL bit is cleared in software.
Work around
After each write to the I2CTRN register, read the
IWCOL bit to ensure a collision has not occurred.
If the IWCOL bit is set, it must be cleared in
software and I2CTRN must be rewritten.
Affected Silicon Revisions
29. Module: I
2
C
The ACKSTAT bit (I2CSTAT<15>) only reflects
the received ACK/NACK status for master
transmissions, but not for slave transmissions. As
a result, a slave cannot use this bit to determine if
it received an ACK or a NACK from a master. In
future silicon revisions, the ACKSTAT bit will
reflect received ACK/NACK status for both master
and slave transmissions.
Work around
After transmitting a byte, the slave should poll the
SDA line (subject to a time-out period dependent
on the application) to determine if an ACK (0) or a
NACK (1) was received.
Affected Silicon Revisions
30. Module: I
2
C
The D_A Status bit (I2CSTAT<5>) gets set on a
slave data reception in the I2CRCV register, but
does not get set on a slave write to the I2CTRN
register. In future silicon revisions, the D_A bit will
get set on a slave write to I2CTRN.
Work around
Use the D_A status bit only for determining slave
reception status and not slave transmission status.
Affected Silicon Revisions
31. Module: MCLR
A brown-out event occurs when VDD drops below
the minimum operating voltage for the device, but
not all the way down to V
SS. When the dsPIC DSC
SMPS device is running with the PLL enabled, and
a brown-out event occurs, the device may stop
running and the MCLR
pin will not reset the device.
If this occurs, the device can only be reset by
cycling power to the VDD pins.
It is recommended that an external Brown-out
Reset (BOR) circuit be used to hold the device in
Reset, during a brown-out event, to overcome this
problem. The external BOR circuit will use the
MCLR
pin to hold the device in Reset. The
following work around, in combination with the
external BOR circuit, will ensure that the device is
cleanly reset after a brown-out event occurs.
Work around
The dsPIC DSC SMPS device must be powered
up with the PLL disabled, the Fail-Safe Clock
Monitor (FSCM) enabled and clock switching
enabled. The PLL should be enabled in software
via a clock switch after the device is reset (refer to
Section 29. “Oscillator” (DS70268) in the
dsPIC30F Family Reference Manual” for details
on clock switching). This ensures that the MCLR
pin is functional and that the device can be reset
by an external BOR circuit (see Figure 1).
A0 A1 A2
A3
XXX
X
A0 A1 A2
A3
XXX
X
A0 A1 A2
A3
XXX
X
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