DSPIC30F3010-20I/SP Microchip Technology, DSPIC30F3010-20I/SP Datasheet - Page 12

IC DSPIC MCU/DSP 24K 28DIP

DSPIC30F3010-20I/SP

Manufacturer Part Number
DSPIC30F3010-20I/SP
Description
IC DSPIC MCU/DSP 24K 28DIP
Manufacturer
Microchip Technology
Series
dsPIC™ 30Fr

Specifications of DSPIC30F3010-20I/SP

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 ~ 85°C
Package / Case
28-DIP (0.300", 7.62mm)
Core Frequency
40MHz
Core Supply Voltage
5.5V
Embedded Interface Type
I2C, SPI, UART
No. Of I/o's
20
Flash Memory Size
24KB
Supply Voltage Range
2.5V To 5.5V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Other names
DSPIC30F301020ISP

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
DSPIC30F3010-20I/SP
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
dsPIC30F3010/3011
21. Module: I
DS80389B-page 12
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
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 is
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
executing the I
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
2
C receiver buffer, I2CRCV, to
C slave service routine.
© 2008 Microchip Technology Inc.
2
C nodes.
2
C slave interrupt
2
C nodes. This
2
C receive
2
C data

Related parts for DSPIC30F3010-20I/SP