DSPIC30F3010T-20E/ML Microchip Technology, DSPIC30F3010T-20E/ML Datasheet - Page 13
![IC,DSP,16-BIT,CMOS,LLCC,44PIN,PLASTIC](/photos/6/81/68122/150-44-qfn_sml.jpg)
DSPIC30F3010T-20E/ML
Manufacturer Part Number
DSPIC30F3010T-20E/ML
Description
IC,DSP,16-BIT,CMOS,LLCC,44PIN,PLASTIC
Manufacturer
Microchip Technology
Series
dsPIC™ 30Fr
Datasheets
1.DSPIC30F2011-20ISO.pdf
(66 pages)
2.DSPIC30F2011-20IP.pdf
(26 pages)
3.DSPIC30F3010-30ISO.pdf
(228 pages)
4.DSPIC30F3010-30ISO.pdf
(18 pages)
5.DSPIC30F3010-30ISO.pdf
(6 pages)
6.DSPIC30F3010-30ISO.pdf
(16 pages)
7.DSPIC30F3010-30ISO.pdf
(22 pages)
Specifications of DSPIC30F3010T-20E/ML
Rohs Compliant
YES
Core Processor
dsPIC
Core Size
16-Bit
Speed
20 MIPS
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, Motor Control PWM, QEI, POR, PWM, WDT
Number Of I /o
20
Program Memory Size
24KB (8K x 24)
Program Memory Type
FLASH
Eeprom Size
1K x 8
Ram Size
1K x 8
Voltage - Supply (vcc/vdd)
2.5 V ~ 5.5 V
Data Converters
A/D 6x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 125°C
Package / Case
44-QFN
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
XLT44QFN4 - SOCKET TRANS ICE 28DIP TO 44QFN
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
17. Module: I
© 2008 Microchip Technology Inc.
When the I
either in single-master or multi-master mode, the
I
address is detected or not. Therefore, an I
receiver overflow condition occurs and this
condition is indicated by the I2COV flag in the
I2CSTAT register.
This overflow condition inhibits the ability to set the
I
valid data byte is received. Therefore, the I
slave Interrupt Service Routine (ISR) is not called
and the I
receiving the next data byte.
Work arounds
To avoid this issue, either of the following two work
arounds can be implemented, depending on the
application requirements.
Work around 1:
For applications in which the I
is not required, the following procedure can be
used to receive valid data bytes:
1. Wait until the RBF flag is set.
2. Poll the I
3. If SI2CF is not set in the corresponding
4. If the SI2CF is set in the corresponding
5. Read the I2CRCV buffer to recover valid data
6. Clear the I
7. Go back to step 1 to continue receiving
2
2
C receiver buffer is filled whether a valid slave
C receive interrupt flag (SI2CF) when the last
Interrupt Flag Status (IFSx) register, a valid
address or data byte has not been received for
the current slave. Execute a dummy read of
the I
the RBF flag. Go back to step 1 until SI2CF is
set and then continue to Step 4.
Interrupt Flag Status (IFSx) register, valid data
has been received. Check the D_A flag to
verify that an address or a data byte has been
received.
bytes. This will also clear the RBF flag.
incoming data bytes.
2
C receiver buffer, I2CRCV; this will clear
2
2
C receiver buffer is not read prior
2
2
C
C module is configured as a slave,
C receiver interrupt SI2CIF flag.
2
C receiver interrupt flag SI2CF.
2
C receiver interrupt
2
2
C
C
dsPIC30F3010/3011
Work around 2:
Use this work around for applications in which the
I
the RBF and the I2COV flags in the I2CSTAT
register are set due to previous data transfers in
the I
slaves); the following procedure can be used to
receive valid data bytes:
1. When a valid slave address byte is detected,
2. Check the status of the D_A flag and the
3. If the D_A flag is cleared and the I2COV flag
4. Clear the I2COV flag and perform a dummy
5. Verify that the recovered address byte
6. If the D_A flag and the I2COV flag are both set,
2
C receiver interrupt is required. Assuming that
SI2CF bit is set and the I
service routine is called; however, the RBF and
I2COV bits are already set due to data
transfers between other I
I2COV flag in the I2CSTAT register when exe-
cuting the I
are set, an invalid data byte was received but a
valid address byte was received. The overflow
condition occurred because the I
buffer was overflowing with previous I
transfers between other I
condition only occurs after a valid slave
address was detected.
read of the I
clear the RBF bit and recover the valid address
byte. This action will also avoid the loss of the
next data byte due to an overflow condition.
matches the current slave address byte. If they
match, the next data to be received is a valid
data byte.
a valid data byte was received and a previous
valid data byte was lost. It will be necessary to
code for handling this overflow condition.
2
C bus (i.e., between master and other
2
C slave service routine.
2
C receiver buffer, I2CRCV, to
2
C nodes.
2
DS80216K-page 13
C slave interrupt
2
C nodes. This
2
C receive
2
C data