DSPIC30F2010-20I/MM Microchip Technology, DSPIC30F2010-20I/MM Datasheet - Page 9

IC DSPIC MCU/DSP 12K 28QFN

DSPIC30F2010-20I/MM

Manufacturer Part Number
DSPIC30F2010-20I/MM
Description
IC DSPIC MCU/DSP 12K 28QFN
Manufacturer
Microchip Technology
Series
dsPIC™ 30Fr

Specifications of DSPIC30F2010-20I/MM

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
12KB (4K x 24)
Program Memory Type
FLASH
Eeprom Size
1K x 8
Ram Size
512 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-QFN
Core Frequency
40MHz
Core Supply Voltage
5.5V
Embedded Interface Type
I2C, SPI, UART
No. Of I/o's
20
Flash Memory Size
12KB
Supply Voltage Range
2.5V To 5.5V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
For Use With
AC164322 - MODULE SOCKET MPLAB PM3 28/44QFN
Lead Free Status / RoHS Status
Lead free / RoHS Compliant, Lead free / RoHS Compliant
Other names
DSPIC30F2010-20I/MMG
DSPIC30F201020IMM
DSPIC30F201020IMM
16. Module: 8x PLL Mode
17. Module: SPI
EXAMPLE 12:
© 2008 Microchip Technology Inc.
unsigned int POSCNT_b15 = 0;
unsigned int Motor_Position = 0;
int main(void)
{
}
void __attribute__((__interrupt__)) _QEIInterrupt(void)
{
}
If 8x PLL mode is used, the input frequency range
is 5-10 MHz instead of 4-10 MHz.
Work around
None. If 8x PLL is used, ensure that the input
crystal or clock frequency is 5 MHz or greater.
The SPI module does not have full control of the
RF2 pin when the SPIEN bit is set. This means
that RF2 can be used as general I/O when the SPI
module is enabled.
Work around
It is recommended to avoid using the RF2 pin as
I/O if the SPIEN bit is set.
// ... User's code
MAXCNT = 0x7FFF;
Motor_Position = POSCNT_b15 + POSCNT;
// ... User's code
IFSxbits.QEIIF = 0;
POSCNT_b15 ^= 0x8000; // Overflow or Underflow
// Instead of 0xFFFF
// Clear QEI interrupt flag
// x=2 for dsPIC30F
// x=3 for dsPIC33F
18. Module: QEI Interrupt Generation
The Quadrature Encoder Interface (QEI) module
does not generate an interrupt when MAXCNT is
set to 0xFFFF and the following events occur:
1. POSCNT underflows from 0x0000 to 0xFFFF.
2. POSCNT stops.
3. POSCNT overflows from 0xFFFF to 0x0000.
This sequence of events occurs when the motor is
running in one direction, which causes POSCNT to
underflow to 0xFFFF. Once this happens, the
motor stops and starts to run in the opposite
direction, which generates an overflow from
0xFFFF to 0x0000. The QEI module does not
generate an interrupt when this condition occurs.
Work around
To prevent this condition from occurring, set
MAXCNT to 0x7FFF, which will cause an interrupt
to be generated by the QEI module.
In addition, a global variable can be used to keep
track of bit 15, so that when an overflow or
underflow condition is present on POSCNT, the
variable will toggle bit 15. Example 12 shows the
code required for this global variable.
dsPIC30F2010
DS80186J-page 9

Related parts for DSPIC30F2010-20I/MM