DSPIC33FJ32GP302-I/SO Microchip Technology, DSPIC33FJ32GP302-I/SO Datasheet
![IC DSPIC MCU/DSP 32K 28SOIC](/photos/6/59/65909/150-28-soic_sml.jpg)
DSPIC33FJ32GP302-I/SO
Specifications of DSPIC33FJ32GP302-I/SO
Related parts for DSPIC33FJ32GP302-I/SO
DSPIC33FJ32GP302-I/SO Summary of contents
Page 1
... Microchip Technology Inc. dsPIC33FJ16GP304 High-Performance, 16-bit Digital Signal Controllers Preliminary Data Sheet DS70290F ...
Page 2
... REAL ICE, rfLAB, Select Mode, Total Endurance, TSHARC, UniWinDriver, WiperLock and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. ...
Page 3
... Four processor exceptions On-Chip Flash and SRAM: • Flash program memory ( Kbytes) • Data SRAM (2 Kbytes) • Boot and General Security for Program Flash 2009 Microchip Technology Inc. dsPIC33FJ32GP202/204 and dsPIC33FJ16GP304 Digital I/O: • Peripheral Pin Select Functionality • programmable digital I/O pins • ...
Page 4
... Low-power, high-speed Flash technology • Fully static design • 3.3V (±10%) operating voltage • Industrial and extended temperature • Low-power consumption Packaging: • 28-pin SPDIP/SOIC/QFN-S • 44-pin QFN/TQFP Note: See Table 1 for the exact peripheral features per device. Preliminary 2009 Microchip Technology Inc. ...
Page 5
... TABLE 1: dsPIC33FJ32GP202/204 and dsPIC33FJ16GP304 CONTROLLER FAMILIES Device dsPIC33FJ32GP202 28 32 dsPIC33FJ32GP204 44 32 dsPIC33FJ16GP304 44 16 Note 1: Only two out of three timers are remappable. 2: Only two out of three interrupts are remappable. 2009 Microchip Technology Inc. Remappable Peripherals ( ( (1) 26 ...
Page 6
... PGEC3/ASCL1/RP6 AN11/RP13 1 21 AN12/RP12 2 20 PGEC2/TMS/RP11 3 19 dsPIC33FJ32GP202 PGED2/TDI/RP10/CN16/RB10 CAP 6 Vss TDO/SDA1/RP9 Preliminary = Pins are tolerant (1) /CN11/RB15 (1) /CN12/RB14 (1) /CN13/RB13 (1) /CN14/RB12 (1) /CN15/RB11 (1) /CN16/RB10 (1) /CN21/RB9 (1) /CN22/RB8 (1) /CN24/RB6 = Pins are tolerant (1) /CN13/RB13 (1) /CN14/RB12 (1)(1) /CN15/RB11 /V DDCORE (1) /CN21/RB9 2009 Microchip Technology Inc. ...
Page 7
... TDO/RA8 (1) SOSCI/RP4 /CN1/RB4 Note 1: The RPn pins can be used by any remappable peripheral. See Table 1 for the list of available peripherals. 2: The metal plane at the bottom of the device is not connected to any pins and is recommended to be connected to Vss externally. 2009 Microchip Technology Inc ...
Page 8
... DS70290F-page 8 11 AN11/RP13 AN12/RP12 25 9 PGEC2/RP11 26 8 PGED2/RP10 CAP dsPIC33FJ32GP204 dsPIC33FJ16GP304 5 29 RP25 4 30 RP24 3 31 RP23 2 RP22/CN18/RC6 32 1 SDA1 33 Preliminary = Pins are tolerant (1) /CN13/RB13 (1) /CN14/RB12 (1) /CN15/RB11 (1) /CN16/RB10 /V DDCORE (1) /CN19/RC9 (1) /CN20/RC8 (1) /CN17/RC7 (1) (1) /RP9 /CN21/RB9 2009 Microchip Technology Inc. ...
Page 9
... When contacting a sales office, please specify which device, revision of silicon and data sheet (include literature number) you are using. Customer Notification System Register on our web site at www.microchip.com to receive the most current information on all of our products. 2009 Microchip Technology Inc. Preliminary DS70290F-page 9 ...
Page 10
... NOTES: DS70290F-page 10 Preliminary 2009 Microchip Technology Inc. ...
Page 11
... Figure 1-1 shows a general block diagram of the core and peripheral modules dsPIC33FJ32GP202/204 and dsPIC33FJ16GP304 family of devices. Table 1-1 lists the functions of the various pins shown in the pinout diagrams. 2009 Microchip Technology Inc. Reference in the Preliminary DS70290F-page 11 ...
Page 12
... Address Loop Latch Latch Control Logic 16 16 Address Generator Units EA MUX ROM Latch 16 Instruction Reg DSP Engine Register Array Divide Support 16-bit ALU MCLR OC/ UART1 ADC1 PWM1-2 CNx I2C1 SPI1 Preliminary PORTA PORTB 16 PORTC Remappable Pins 2009 Microchip Technology Inc. ...
Page 13
... TDO O — Legend: CMOS = CMOS compatible input or output Schmitt Trigger input with CMOS levels; PPS = Peripheral Pin Select 2009 Microchip Technology Inc. No Analog input channels. No External clock source input. Always associated with OSC1 pin function. No Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode ...
Page 14
... Positive supply for analog modules. This pin must be connected at all times. Master Clear (Reset) input. This pin is an active-low Reset to the device. Ground reference for analog modules. Positive supply for peripheral logic and I/O pins. Analog = Analog input Output; Preliminary P = Power I = Input 2009 Microchip Technology Inc. ...
Page 15
... ADC module is implemented Note: The AV and connected independent of the ADC voltage reference source. 2009 Microchip Technology Inc. 2.2 Decoupling Capacitors The use of decoupling capacitors on every pair of power supply pins, such required. SS Consider the following criteria when using decoupling capacitors: • ...
Page 16
... Electrostatic Discharge (ESD) or Electrical Overstress (EOS). Ensure that the MCLR pin V IH for Preliminary and V ) and fast signal shown in Figure 2-2, it EXAMPLE OF MCLR PIN CONNECTIONS R R1 MCLR dsPIC33F JP C and V specifications are met and V specifications are met. IL 2009 Microchip Technology Inc. is ...
Page 17
... REAL ICE™ In-Circuit Emulator User’s Guide” DS51616 ® • “Using MPLAB REAL ICE™” (poster) DS51749 2009 Microchip Technology Inc. 2.6 External Oscillator Pins Many DSCs have options for at least two oscillators: a high-frequency primary oscillator and a low-frequency secondary oscillator (refer to Section 8.0 “ ...
Page 18
... Unused I/Os Unused I/O pins should be configured as outputs and driven to a logic-low state. Alternatively, connect 10k resistor to V unused pins and drive the output to logic low. DS70290F-page Preliminary 2009 Microchip Technology Inc. ...
Page 19
... A block diagram of the CPU is shown in Figure 3-1. The programmer’s model for the dsPIC33FJ32GP202/204 and dsPIC33FJ16GP304 is shown in Figure 3-2. 2009 Microchip Technology Inc. 3.1 Data Addressing Overview The data space can be addressed as 32K words or 64 Kbytes and is split into two blocks, referred and Y data memory ...
Page 20
... Data Latch PCL X RAM Y RAM Address Loop Address Latch Control Latch Logic 16 16 Address Generator Units EA MUX ROM Latch 16 Instruction Reg DSP Engine Register Array Divide Support Preliminary DMA 16 RAM DMA Controller 16-bit ALU 16 To Peripheral Modules 2009 Microchip Technology Inc. ...
Page 21
... Registers AD39 DSP AccA Accumulators AccB PC22 0 7 TBLPAG Data Table Page Address 7 0 PSVPAG OAB SAB DA SRH 2009 Microchip Technology Inc. D15 D0 W0/WREG W10 W11 W12/DSP Offset W13/DSP Write Back W14/Frame Pointer W15/Stack Pointer SPLIM AD31 PC0 0 Program Space Visibility Page Address ...
Page 22
... The IPL<2:0> Status bits are read only when NSTDIS = 1 (INTCON1<15>). DS70290F-page 22 R/C-0 R-0 (1) (1) SB OAB (3) R-0 R/W Unimplemented bit, read as ‘0’ Value at POR x = Bit is unknown (1) (1) Preliminary R/C R/W-0 SAB DA DC bit 8 R/W-0 R/W-0 R/W bit 0 2009 Microchip Technology Inc. ...
Page 23
... The IPL<2:0> bits are concatenated with the IPL<3> bit (CORCON<3>) to form the CPU Interrupt Priority Level. The value in parentheses indicates the IPL if IPL<3> User interrupts are disabled when IPL<3> The IPL<2:0> Status bits are read only when NSTDIS = 1 (INTCON1<15>). 2009 Microchip Technology Inc. (2) Preliminary DS70290F-page 23 ...
Page 24
... The IPL3 bit is concatenated with the IPL<2:0> bits (SR<7:5>) to form the CPU interrupt priority level. DS70290F-page 24 R/W-0 R/W-0 R-0 (1) US EDT R/W-0 R/C-0 R/W-0 (2) ACCSAT IPL3 PSV -n = Value at POR U = Unimplemented bit, read as ‘0’ (1) (2) Preliminary R-0 R-0 DL<2:0> bit 8 R/W-0 R/W-0 RND IF bit 0 ‘1’ = Bit is set 2009 Microchip Technology Inc. ...
Page 25
... The divide algorithm takes one cycle per bit of divisor, so both 32-bit/16-bit and 16-bit/16-bit instructions take the same number of cycles to execute. 2009 Microchip Technology Inc. 3.6 DSP Engine and The DSP engine consists of a high-speed 17-bit x ...
Page 26
... FIGURE 3-3: DSP ENGINE BLOCK DIAGRAM 40 Carry/Borrow Out Carry/Borrow In DS70290F-page 26 40-bit Accumulator A 40-bit Accumulator B Saturate Adder Negate Barrel 16 Shifter 40 Sign-Extend 17-bit Multiplier/Scaler 16 16 To/From W Array Preliminary Round u Logic Zero Backfill 2009 Microchip Technology Inc. ...
Page 27
... The adder/subtracter is a 40-bit adder with an optional zero input into one side, and either true or complement data into the other input. 2009 Microchip Technology Inc. • In the case of addition, the Carry/Borrow input is active-high and the other input is true data (not complemented). • ...
Page 28
... Section 3.6.2.4 “Data Space Write Saturation”). For the MAC class of instructions, the accumulator write-back operation functions in the same manner, addressing combined MCU (X and Y) data space though the X bus. For this class of instructions, the data is always subject to rounding. Preliminary subject to data saturation (see 2009 Microchip Technology Inc. ...
Page 29
... If the SATDW bit in the CORCON register is not set, the input data is always passed through unmodified under all conditions. 2009 Microchip Technology Inc. 3.6.3 BARREL SHIFTER The barrel shifter can perform up to 16-bit arithmetic or logic right shifts 16-bit left shifts in a single cycle ...
Page 30
... NOTES: DS70290F-page 30 Preliminary 2009 Microchip Technology Inc. ...
Page 31
... Unimplemented (Read ‘0’s) Reserved Device Configuration Registers Reserved DEVID (2) 2009 Microchip Technology Inc. 4.1 Program Address Space The program dsPIC33FJ32GP202/204 and devices is 4M instructions. The space is addressable by a 24-bit value derived either from the 23-bit Program Counter (PC) during program execution, or from table operation or data space remapping as described in Section 4 ...
Page 32
... Interrupt Service Routines (ISRs). A more detailed discussion of the interrupt vector tables is provided in Section 7.1 “Interrupt Vector Table”. least significant word Instruction Width Preliminary PC Address (lsw Address) 0 0x000000 0x000002 0x000004 0x000006 2009 Microchip Technology Inc. ...
Page 33
... Data byte writes only write to the corresponding side of the array or register that matches the byte address. 2009 Microchip Technology Inc. All word accesses must be aligned to an even address. Misaligned word data fetches are not supported, so and care must be taken when mixing byte and word operations, or translating from 8-bit MCU code ...
Page 34
... Optionally Mapped into Program Memory 0xFFFF DS70290F-page 34 LSB 16 bits Address MSb LSb 0x0000 SFR Space 0x07FE 0x0800 X Data RAM (X) 0x0BFE 0x0C00 Y Data RAM (Y) 0x0FFE 0x1000 0x1FFE 0x2000 0x8000 X Data Unimplemented (X) 0xFFFE Preliminary 8 Kbyte Near data space 2009 Microchip Technology Inc. ...
Page 35
... X and Y address space also the X data prefetch path for the dual operand DSP instructions (MAC class). 2009 Microchip Technology Inc. The Y data space is used in concert with the X data space by the MAC class of instructions (CLR, ED, EDAC, MAC, MOVSAC, MPY, MPY.N and MSC) to provide two concurrent data read paths ...
Page 36
TABLE 4-1: CPU CORE REGISTERS MAP SFR SFR Name Bit 15 Bit 14 Bit 13 Addr WREG0 0000 WREG1 0002 WREG2 0004 WREG3 0006 WREG4 0008 WREG5 000A WREG6 000C WREG7 000E WREG8 0010 WREG9 0012 WREG10 0014 WREG11 0016 ...
Page 37
TABLE 4-1: CPU CORE REGISTERS MAP (CONTINUED) SFR SFR Name Bit 15 Bit 14 Bit 13 Addr XMODSRT 0048 XMODEND 004A YMODSRT 004C YMODEND 004E XBREV 0050 BREN DISICNT 0052 — — Legend unknown value on Reset, — ...
Page 38
TABLE 4-4: INTERRUPT CONTROLLER REGISTER MAP SFR SFR Bit 15 Bit 14 Bit 13 Bit 12 Name Addr INTCON1 0080 NSTDIS OVAERR OVBERR COVAERR COVBERR OVATE INTCON2 0082 ALTIVT DISI — — IFS0 0084 — — AD1IF U1TXIF IFS1 0086 ...
Page 39
TABLE 4-5: TIMER REGISTER MAP SFR Name SFR Bit 15 Bit 14 Bit 13 Bit 12 Addr TMR1 0100 PR1 0102 T1CON 0104 TON — TSIDL — TMR2 0106 TMR3HLD 0108 TMR3 010A PR2 010C PR3 010E T2CON 0110 TON ...
Page 40
TABLE 4-8: I2C1 REGISTER MAP SFR SFR Name Bit 15 Bit 14 Bit 13 Bit 12 Addr I2C1RCV 0200 — — — — I2C1TRN 0202 — — — — I2C1BRG 0204 — — — — I2C1CON 0206 I2CEN — I2CSIDL ...
Page 41
TABLE 4-11: PERIPHERAL PIN SELECT INPUT REGISTER MAP File Addr Bit 15 Bit 14 Bit 13 Bit 12 Name RPINR0 0680 — — — RPINR1 0682 — — — — RPINR3 0686 — — — RPINR7 068E — — — ...
Page 42
TABLE 4-13: PERIPHERAL PIN SELECT OUTPUT REGISTER MAP FOR dsPIC33FJ32GP204 AND dsPIC33FJ16GP304 File Name Addr Bit 15 Bit 14 Bit 13 Bit 12 RPOR0 06C0 — — — RPOR1 06C2 — — — RPOR2 06C4 — — — RPOR3 06C6 ...
Page 43
TABLE 4-14: ADC1 REGISTER MAP FOR dsPIC33FJ32GP204 AND dsPIC33FJ16GP304 File Name Addr Bit 15 Bit 14 Bit 13 Bit 12 ADC1BUF0 0300 ADC1BUF1 0302 ADC1BUF2 0304 ADC1BUF3 0306 ADC1BUF4 0308 ADC1BUF5 030A ADC1BUF6 030C ADC1BUF7 030E ADC1BUF8 0310 ADC1BUF9 0312 ...
Page 44
TABLE 4-15: ADC1 REGISTER MAP FOR dsPIC33FJ32GP202 File Name Addr Bit 15 Bit 14 Bit 13 Bit 12 ADC1BUF0 0300 ADC1BUF1 0302 ADC1BUF2 0304 ADC1BUF3 0306 ADC1BUF4 0308 ADC1BUF5 030A ADC1BUF6 030C ADC1BUF7 030E ADC1BUF8 0310 ADC1BUF9 0312 ADC1BUFA 0314 ...
Page 45
TABLE 4-16: PORTA REGISTER MAP FOR dsPIC33FJ32GP202 File Name Addr Bit 15 Bit 14 Bit 13 Bit 12 — — — — TRISA 02C0 PORTA 02C2 — — — — LATA 02C4 — — — — ODCA 02C6 — — ...
Page 46
TABLE 4-20: SYSTEM CONTROL REGISTER MAP File Name Addr Bit 15 Bit 14 Bit 13 Bit 12 RCON 0740 TRAPR IOPUWR — — OSCCON 0742 — COSC<2:0> CLKDIV 0744 ROI DOZE<2:0> PLLFBD 0746 — — — — OSCTUN 0748 — ...
Page 47
... PC<22:16> 000000000 <Free Word> W15 (after CALL) POP : [--W15] PUSH : [W15++] 2009 Microchip Technology Inc. 4.2.7 DATA RAM PROTECTION FEATURE The dsPIC33F product family supports Data RAM and protection features that enable segments of RAM to be protected when used in conjunction with Boot and Secure Code Segment Security ...
Page 48
... ADD Acc, the source of an operand or result is implied by the opcode itself. Certain operations, such as NOP, do not have any operands. Preliminary Register Indirect with Register Offset Addressing mode is available only for W9 (in X space) and W11 (in Y space). OTHER INSTRUCTIONS 2009 Microchip Technology Inc. ...
Page 49
... MODULO ADDRESSING OPERATION EXAMPLE Byte Address 0x1100 0x1163 Start Addr = 0x1100 End Addr = 0x1163 Length = 0x0032 words 2009 Microchip Technology Inc. Note: Y space calculations assume word sized data (LSB of every EA is always clear). The length of a circular buffer is not directly specified determined by the difference corresponding start and end addresses ...
Page 50
... If Bit-Reversed Addressing has already been enabled by setting the BREN (XBREV<15>) bit, a write to the XBREV register should not be immediately followed by an indirect read operation using the W register that has been designated as the bit-reversed pointer. Preliminary 2009 Microchip Technology Inc. N bytes, should not be ...
Page 51
... TABLE 4-24: BIT-REVERSED ADDRESS SEQUENCE (16-ENTRY) Normal Address 2009 Microchip Technology Inc. Sequential Address Bit Locations Swapped Left-to-Right Around Center of Binary Value Bit-Reversed Address Pivot Point XB = 0x0008 for a 16-Word Bit-Reversed Buffer Bit-Reversed Address Decimal Preliminary A0 Decimal ...
Page 52
... TBLPAG<7:0> 0xxx xxxx xxxx xxxx xxxx xxxx TBLPAG<7:0> 1xxx xxxx xxxx xxxx xxxx xxxx PSVPAG<7:0> xxxx xxxx Preliminary 2009 Microchip Technology Inc. <14:1> <0> 0 xxxx xxx0 Data EA<15:0> Data EA<15:0> (1) Data EA<14:0> xxx xxxx xxxx xxxx ...
Page 53
... Note 1: The Least Significant bit (LSb) of program space addresses is always fixed as ‘0’ to maintain word alignment of data in the program and data spaces. 2: Table operations are not required to be word-aligned. Table read operations are permitted in the configuration memory space. 2009 Microchip Technology Inc. Program Counter 0 23 bits ...
Page 54
... TBLRDL.B (Wn<0> TBLRDL.B (Wn<0> TBLRDL.W The address for the table operation is determined by the data EA within the page defined by the TBLPAG register. Only read operations are shown; write operations are also valid in 0x800000 the user memory area. Preliminary 2009 Microchip Technology Inc. ...
Page 55
... PSVPAG is mapped into the upper half of the data memory space... 2009 Microchip Technology Inc. 24-bit program word are used to contain the data. The upper 8 bits of any program space location used as data should be programmed with ‘1111 ‘0000 0000’ to force a NOP. This prevents possible issues should the area of code ever be accidentally executed ...
Page 56
... NOTES: DS70290F-page 56 Preliminary 2009 Microchip Technology Inc. ...
Page 57
... Program Counter Using 1/0 Table Instruction User/Configuration Space Select 2009 Microchip Technology Inc. ground (V SS customers to manufacture boards with unprogrammed devices and then program the digital signal controller just before shipping the product. This also allows the most recent firmware or a custom firmware to be pro- grammed ...
Page 58
... FRC Accuracy FRC Tuning 11064 Cycles = 0.05 1 0.00375 – 11064 Cycles = 1 0.05 – 1 0.00375 – the user application must to Section 5.3 “Programming 2009 Microchip Technology Inc. ...
Page 59
... No operation 0011 = Memory word program operation 0010 = No operation 0001 = Memory row program operation 0000 = Program a single Configuration register byte Note 1: These bits can only be reset on POR. 2: All other combinations of NVMOP<3:0> are unimplemented. 2009 Microchip Technology Inc. (1) U-0 U-0 — — (1) ...
Page 60
... NVMKEY<7:0>: Key Register (Write Only) bits DS70290F-page 60 U-0 U-0 U-0 — — — W-0 W-0 W-0 NVMKEY<7:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 W-0 W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 61
... MOV #0xAA, W1 MOV W1, NVMKEY BSET NVMCON, #WR NOP NOP 2009 Microchip Technology Inc. 4. Write the first 64 instructions from data RAM into the program memory buffers (see Example 5-2). 5. Write the program block to Flash memory: a) Set the NVMOP bits to ‘0001’ to configure for row programming ...
Page 62
... Write PM low word into program latch ; Write PM high byte into program latch ; Block all interrupts with priority <7 ; for next 5 instructions ; Write the 55 key ; ; Write the AA key ; Start the erase sequence ; Insert two NOPs after the ; erase command is asserted Preliminary 2009 Microchip Technology Inc. ...
Page 63
... DD Trap Conflict Illegal Opcode Uninitialized W Register Configuration Mismatch 2009 Microchip Technology Inc. A simplified block diagram of the Reset module is shown in Figure 6-1. Any active source of reset will make the SYSRST signal active. On system Reset, some of the registers associated with the CPU and peripherals are forced to a known Reset state and some are unaffected ...
Page 64
... SWDTEN bit setting. DS70290F-page 64 (1) U-0 U-0 — — R/W-0 R/W-0 R/W-0 (2) WDTO SLEEP IDLE U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (2) Preliminary U-0 R/W-0 R/W-0 — CM VREGS bit 8 R/W-1 R/W-1 BOR POR bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 65
... Note 1: All of the Reset status bits can be set or cleared in software. Setting one of these bits in software does not cause a device Reset the FWDTEN Configuration bit is ‘1’ (unprogrammed), the WDT is always enabled, regardless of the SWDTEN bit setting. 2009 Microchip Technology Inc. (1) (CONTINUED) Preliminary ...
Page 66
... PWRT have stabilized at the has elapsed, the SYSRST for more FSCM Total Delay T OSCD OSCD LOCK OSCD OST OSCD OST — OSCD OST LOCK OSCD OST LOCK T LOCK OSCD OST T OSCD = 102.4 s for a OST 2009 Microchip Technology Inc. ...
Page 67
... GOTO instruction at the reset address, which redirects program execution to the appropriate start-up routine. 6: The Fail-Safe Clock Monitor (FSCM), if enabled, begins to monitor the system clock when the system clock is ready and the delay T 2009 Microchip Technology Inc. Vbor V BOR ...
Page 68
... DD ) for proper device operation. The BOR crosses DD has elapsed. The BOR ensures the voltage regulator output ) is programmed by PWRT Reset Timer Value Select bits in the POR Configuration + initiated each time V BOR PWRT trip point BOR 2009 Microchip Technology Inc. DD ...
Page 69
... Reset state. This Reset state will not re-initialize the clock. The clock source in effect prior to the RESET instruction will remain. SYSRST is released at the next instruction cycle, and the reset vector fetch will commence. 2009 Microchip Technology Inc BOR PWRT ...
Page 70
... W register access or Security Reset Configuration Mismatch MCLR Reset RESET instruction WDT time-out PWRSAV #SLEEP instruction PWRSAV #IDLE instruction POR, BOR POR Preliminary Cleared by: POR,BOR POR,BOR POR,BOR POR POR,BOR PWRSAV instruction, CLRWDT instruction, POR,BOR POR,BOR POR,BOR — — 2009 Microchip Technology Inc. ...
Page 71
... These are summarized in Table 7-1 and Table 7-2. 2009 Microchip Technology Inc. 7.1.1 ALTERNATE INTERRUPT VECTOR TABLE The Alternate Interrupt Vector Table (AIVT) is located after the IVT, as shown in Figure 7-1. Access to the ...
Page 72
... Note 1: See Table 7-1 for the list of implemented interrupt vectors. DS70290F-page 72 0x000000 0x000002 0x000004 0x000014 ~ ~ ~ 0x00007C Interrupt Vector Table (IVT) 0x00007E 0x000080 ~ ~ ~ 0x0000FC 0x0000FE 0x000100 0x000102 0x000114 ~ ~ ~ Alternate Interrupt Vector Table (AIVT) 0x00017C 0x00017E 0x000180 ~ ~ ~ 0x0001FE 0x000200 Preliminary (1) (1) 2009 Microchip Technology Inc. ...
Page 73
... Microchip Technology Inc. AIVT Address 0x000114 INT0 – External Interrupt 0 0x000116 IC1 – Input Compare 1 0x000118 OC1 – Output Compare 1 0x00011A T1 – Timer1 0x00011C Reserved 0x00011E IC2 – Input Capture 2 0x000120 OC2 – ...
Page 74
... Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved U1E – UART1 Error Reserved Reserved Reserved Reserved Reserved Reserved Trap Source Reserved Oscillator Failure Address Error Stack Error Math Error Reserved Reserved Reserved 2009 Microchip Technology Inc. ...
Page 75
... IECx The IEC registers maintain all of the interrupt enable bits. These control bits are used to individually enable interrupts from the peripherals or external signals. 2009 Microchip Technology Inc. 7.3.4 IPCx The IPC registers are used to set the interrupt priority level for each source of interrupt. Each user interrupt source can be assigned to one of eight priority levels ...
Page 76
... R/W-0 R/C-0 (2) ACCSAT IPL3 -n = Value at POR U = Unimplemented bit, read as ‘0’ (2) Preliminary R/C R/W-0 SAB DA DC bit 8 R/W-0 R/W-0 R/W bit 0 R-0 R-0 R-0 DL<2:0> bit 8 R/W-0 R/W-0 R/W-0 PSV RND IF bit 0 ‘1’ = Bit is set 2009 Microchip Technology Inc. ...
Page 77
... MATHERR: Arithmetic Error Status bit 1 = Math error trap has occurred 0 = Math error trap has not occurred bit 3 ADDRERR: Address Error Trap Status bit 1 = Address error trap has occurred 0 = Address error trap has not occurred 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 COVAERR COVBERR OVATE ...
Page 78
... Stack error trap has occurred 0 = Stack error trap has not occurred bit 1 OSCFAIL: Oscillator Failure Trap Status bit 1 = Oscillator failure trap has occurred 0 = Oscillator failure trap has not occurred bit 0 Unimplemented: Read as ‘0’ DS70290F-page 78 Preliminary 2009 Microchip Technology Inc. ...
Page 79
... INT1EP: External Interrupt 1 Edge Detect Polarity Select bit 1 = Interrupt on negative edge 0 = Interrupt on positive edge bit 0 INT0EP: External Interrupt 0 Edge Detect Polarity Select bit 1 = Interrupt on negative edge 0 = Interrupt on positive edge 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — U-0 ...
Page 80
... Interrupt request has not occurred DS70290F-page 80 R/W-0 R/W-0 R/W-0 U1TXIF U1RXIF SPI1IF U-0 R/W-0 R/W-0 — T1IF OC1IF U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 SPI1EIF T3IF bit 8 R/W-0 R/W-0 IC1IF INT0IF bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 81
... IC1IF: Input Capture Channel 1 Interrupt Flag Status bit 1 = Interrupt request has occurred 0 = Interrupt request has not occurred bit 0 INT0IF: External Interrupt 0 Flag Status bit 1 = Interrupt request has occurred 0 = Interrupt request has not occurred 2009 Microchip Technology Inc. Preliminary DS70290F-page 81 ...
Page 82
... Interrupt request has not occurred DS70290F-page 82 U-0 U-0 U-0 — — — R/W-0 R/W-0 U-0 INT1IF CNIF — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 R/W-0 R/W-0 MI2C1IF SI2C1IF bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 83
... Unimplemented: Read as ‘0’ bit 1 U1EIF: UART1 Error Interrupt Flag Status bit 1 = Interrupt request has occurred 0 = Interrupt request has not occurred bit 0 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — U-0 U-0 U-0 — ...
Page 84
... Interrupt request not enabled DS70290F-page 84 R/W-0 R/W-0 R/W-0 U1TXIE U1RXIE SPI1IE U-0 R/W-0 R/W-0 — T1IE OC1IE U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 SPI1EIE T3IE bit 8 R/W-0 R/W-0 IC1IE INT0IE bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 85
... IEC0: INTERRUPT ENABLE CONTROL REGISTER 0 (CONTINUED) bit 1 IC1IE: Input Capture Channel 1 Interrupt Enable bit 1 = Interrupt request enabled 0 = Interrupt request not enabled bit 0 INT0IE: External Interrupt 0 Enable bit 1 = Interrupt request enabled 0 = Interrupt request not enabled 2009 Microchip Technology Inc. Preliminary DS70290F-page 85 ...
Page 86
... Interrupt request not enabled DS70290F-page 86 U-0 U-0 U-0 — — — R/W-0 R/W-0 U-0 INT1IE CNIE — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 R/W-0 R/W-0 MI2C1IE SI2C1IE bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 87
... Bit is set bit 15-2 Unimplemented: Read as ‘0’ bit 1 U1EIE: UART1 Error Interrupt Enable bit 1 = Interrupt request enabled 0 = Interrupt request not enabled bit 0 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — U-0 U-0 U-0 — ...
Page 88
... Interrupt is priority 1 000 = Interrupt source is disabled DS70290F-page 88 R/W-0 U-0 R/W-1 — R/W-0 U-0 R/W-1 — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 OC1IP<2:0> bit 8 R/W-0 R/W-0 INT0IP<2:0> bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 89
... IC2IP<2:0>: Input Capture Channel 2 Interrupt Priority bits 111 = Interrupt is priority 7 (highest priority interrupt) • • • 001 = Interrupt is priority 1 000 = Interrupt source is disabled bit 3-0 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. R/W-0 U-0 R/W-1 — R/W-0 U-0 U-0 — ...
Page 90
... Interrupt is priority 1 000 = Interrupt source is disabled DS70290F-page 90 R/W-0 U-0 R/W-1 — R/W-0 U-0 R/W-1 — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 SPI1IP<2:0> bit 8 R/W-0 R/W-0 T3IP<2:0> bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 91
... Unimplemented: Read as ‘0’ bit 2-0 U1TXIP<2:0>: UART1 Transmitter Interrupt Priority bits 111 = Interrupt is priority 7 (highest priority interrupt) • • • 001 = Interrupt is priority 1 000 = Interrupt source is disabled 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — R/W-0 U-0 R/W-1 — ...
Page 92
... Interrupt is priority 1 000 = Interrupt source is disabled DS70290F-page 92 R/W-0 U-0 U-0 — — R/W-0 U-0 R/W-1 — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 R/W-0 R/W-0 SI2C1IP<2:0> bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 93
... Unimplemented: Read as ‘0’ bit 2-0 INT1IP<2:0>: External Interrupt 1 Priority bits 111 = Interrupt is priority 7 (highest priority interrupt) • • • 001 = Interrupt is priority 1 000 = Interrupt source is disabled 2009 Microchip Technology Inc. R/W-0 U-0 R/W-1 — U-0 U-0 R/W-1 — — ...
Page 94
... Unimplemented: Read as ‘0’ DS70290F-page 94 U-0 U-0 U-0 — — — R/W-0 U-0 U-0 — — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 U-0 U-0 — — bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 95
... U1EIP<2:0>: UART1 Error Interrupt Priority bits 111 = Interrupt is priority 7 (highest priority interrupt) • • • 001 = Interrupt is priority 1 000 = Interrupt source is disabled bit 3-0 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — R/W-0 U-0 U-0 — ...
Page 96
... Interrupt Vector pending is number 9 0000000 = Interrupt Vector pending is number 8 DS70290F-page 96 U-0 R-0 R-0 — ILR<3:0> R-0 R-0 R-0 VECNUM<6:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary 2009 Microchip Technology Inc. R-0 R-0 bit 8 R-0 R-0 bit Bit is unknown ...
Page 97
... If the ISR is coded in assembly language, it must be terminated using a RETFIE instruction to unstack the saved PC value, SRL value and old CPU priority level. 2009 Microchip Technology Inc. 7.4.3 TRAP SERVICE ROUTINE A Trap Service Routine (TSR) is coded like an ISR, except that the appropriate trap status flag in the INTCON1 register must be cleared to avoid re-entry into the TSR ...
Page 98
... NOTES: DS70290F-page 98 Preliminary 2009 Microchip Technology Inc. ...
Page 99
... SOSCI Note 1: See Figure 8-2 for PLL details the Oscillator is used with modes, an external parallel resistor with the value of 1 M must be connected. 2009 Microchip Technology Inc. The dsPIC33FJ32GP202/204 and dsPIC33FJ16GP304 oscillator system provides: • External and internal oscillator options as clock sources. • ...
Page 100
... OSC generates device operating speeds of 6.25-40 MIPS. Preliminary SYSTEM CLOCK SELECTION Mode Select Configuration is divided OSC ) and the defines the given by: CY DEVICE OPERATING FREQUENCY F OSC F = ------------- CY 2 PLL CONFIGURATION factor ‘N1’ is selected using 2009 Microchip Technology Inc. bits, the ...
Page 101
... Fast RC Oscillator (FRC) Note 1: OSC2 pin function is determined by the OSCIOFNC Configuration bit. 2: This is the default oscillator mode for an unprogrammed (erased) device. 2009 Microchip Technology Inc. ’, • If PLLDIV<8:0> = 0x1E, then M = 32. This yields a IN VCO output 160 MHz, which is within the 100-200 MHz ranged needed. • ...
Page 102
... PLL modes. DS70290F-page 102 (1) R-0 U-0 R/W-y — U-0 R/C-0 U-0 — CF — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (2) Preliminary 2009 Microchip Technology Inc. R/W-y R/W-y (2) NOSC<2:0> bit 8 R/W-0 R/W-0 LPOSCEN OSWEN bit Clear only bit x = Bit is unknown ...
Page 103
... Direct clock switches between any primary oscillator mode with PLL and FRCPLL mode are not permitted. This applies to clock switches in either direction. In these instances, the application must switch to FRC mode as a transition clock source between the two PLL modes. 2009 Microchip Technology Inc. (1) (CONTINUED) ...
Page 104
... Note 1: This bit is cleared when the ROI bit is set and an interrupt occurs. DS70290F-page 104 R/W-1 R/W-0 R/W-0 (1) DOZEN R/W-0 R/W-0 R/W-0 PLLPRE<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (1) Preliminary R/W-0 R/W-0 FRCDIV<2:0> bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 105
... PLLDIV<8:0>: PLL Feedback Divisor bits (also denoted as ‘M’, PLL multiplier) 000000000 = 2 000000001 = 3 000000010 = 4 • • • 000110000 = 50 (default) • • • 111111111 = 513 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — R/W-1 R/W-0 R/W-0 PLLDIV<7:0> Unimplemented bit, read as ‘0’ ...
Page 106
... FRC frequency over a wide range of temperatures. The tuning step size is an approximation and is neither characterized nor tested. DS70290F-page 106 U-0 U-0 U-0 — — — R/W-0 R/W-0 R/W-0 (1) TUN<5:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (1) Preliminary U-0 U-0 — — bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 107
... The clock switching hardware compares the COSC status bits with the new value of the NOSC control bits. If they are the same, the clock switch is a redundant operation. In this 2009 Microchip Technology Inc. case, the OSWEN bit is cleared automatically and the clock switch is aborted. 2. ...
Page 108
... NOTES: DS70290F-page 108 Preliminary 2009 Microchip Technology Inc. ...
Page 109
... EXAMPLE 9-1: PWRSAV INSTRUCTION SYNTAX PWRSAV #SLEEP_MODE ; Put the device into SLEEP mode PWRSAV #IDLE_MODE ; Put the device into IDLE mode 2009 Microchip Technology Inc. 9.2 Instruction-Based Power-Saving Modes dsPIC33FJ32GP202/204 and dsPIC33FJ16GP304 devices have two special power-saving modes that are entered through the execution of a special PWRSAV instruction ...
Page 110
... If a PMD bit is set, the corresponding module is disabled after a delay of one instruction cycle. Similarly PMD bit is cleared, the corresponding module is enabled after a delay of one instruction cycle (assuming the module control registers are already configured to enable module operation). 2009 Microchip Technology Inc. DSC ...
Page 111
... AD1MD: ADC1 Module Disable bit 1 = ADC1 module is disabled 0 = ADC1 module is enabled Note: PCFGx bits have no effect if the ADC module is disabled by setting this bit. In this case, all port pins multiplexed with ANx will be in Digital mode. 2009 Microchip Technology Inc. R/W-0 R/W-0 U-0 T2MD T1MD — ...
Page 112
... DS70290F-page 112 U-0 U-0 U-0 — — — U-0 U-0 U-0 — — — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 IC2MD IC1MD bit 8 R/W-0 R/W-0 OC2MD OC1MD bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 113
... WR Port Data Latch Read LAT Read Port 2009 Microchip Technology Inc. the I/O pin. The logic also prevents “loop through”, in which a port’s digital output can drive the input of a peripheral that shares the same pin. Figure 10-1 shows how ports are shared with other peripherals and the associated I/O pin to which they are connected ...
Page 114
... CN pins. Setting any of the control bits enables the weak pull-ups for the corresponding pins. Note: Pull-ups on change notification pins should always be disabled when the port pin is configured as a digital output. Preliminary dsPIC33FJ32GP202/204 and in response to a 2009 Microchip Technology Inc. ...
Page 115
... Programming 2009 Microchip Technology Inc. peripheral’s bit field with an appropriate 5-bit value maps the RPn pin with that value to that peripheral. For any given device, the valid range of values for any bit field corresponds to the maximum number of peripheral pin selections supported by the device ...
Page 116
... RPINR7 IC2 RPINR7 IC7 RPINR10 IC8 RPINR10 OCFA RPINR11 U1RX RPINR18 U1CTS RPINR18 SDI1 RPINR20 SCK1IN RPINR20 SS1IN RPINR21 Preliminary Configuration Bits INT1R<4:0> INT2R<4:0> T2CKR<4:0> T3CKR<4:0> IC1R<4:0> IC2R<4:0> IC7R<4:0> IC8R<4:0> OCFAR<4:0> U1RXR<4:0> U1CTSR<4:0> SDI1R<4:0> SCK1R<4:0> SS1R<4:0> 2009 Microchip Technology Inc. ...
Page 117
... Function RPnR<4:0> NULL U1TX U1RTS SDO1 SCK1OUT SS1OUT OC1 OC2 2009 Microchip Technology Inc. FIGURE 10-3: U1TX Output Enable U1RTS Output Enable OC1 Output Enable OC2 Output Enable U1TX Output U1RTS Output OC1 Output OC2 Output RPn tied to default port pin ...
Page 118
... IOLOCK bit from being cleared after it has been set once. In the default (unprogrammed) state, IOL1WAY is set, restricting users to one write session. Programming IOL1WAY allows user applications unlimited access (with the proper use of the unlock sequence) to the peripheral pin select registers. Preliminary 2009 Microchip Technology Inc. ...
Page 119
... INT1R<4:0>: Assign External Interrupt 1 (INTR1) to the corresponding RPn pin 11111 = Input tied to Vss 11001 = Input tied to RP25 • • • 00001 = Input tied to RP1 00000 = Input tied to RP0 bit 7-0 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. R/W-1 R/W-1 R/W-1 INT1R<4:0> U-0 U-0 U-0 — — ...
Page 120
... Input tied to RP0 DS70290F-page 120 U-0 U-0 U-0 — — — R/W-1 R/W-1 R/W-1 INT2R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 R/W-1 R/W-1 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 121
... T2CKR<4:0>: Assign Timer2 External Clock (T2CK) to the Corresponding RPn pin 11111 = Input tied to Vss 11001 = Input tied to RP25 • • • 00001 = Input tied to RP1 00000 = Input tied to RP0 2009 Microchip Technology Inc. R/W-1 R/W-1 R/W-1 T3CKR<4:0> R/W-1 R/W-1 R/W-1 T2CKR< ...
Page 122
... Input tied to RP1 00000 = Input tied to RP0 DS70290F-page 122 R/W-1 R/W-1 R/W-1 IC2R<4:0> R/W-1 R/W-1 R/W-1 IC1R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-1 R/W-1 bit 8 R/W-1 R/W-1 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 123
... IC7R<4:0>: Assign Input Capture 7 (IC7) to the corresponding pin RPn pin 11111 = Input tied to Vss 11001 = Input tied to RP25 • • • 00001 = Input tied to RP1 00000 = Input tied to RP0 2009 Microchip Technology Inc. R/W-1 R/W-1 R/W-1 IC8R<4:0> R/W-1 R/W-1 R/W-1 IC7R< ...
Page 124
... Input tied to RP0 DS70290F-page 124 U-0 U-0 U-0 — — — R/W-1 R/W-1 R/W-1 OCFAR<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 R/W-1 R/W-1 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 125
... U1RXR<4:0>: Assign UART 1 Receive (U1RX) to the corresponding RPn pin 11111 = Input tied to Vss 11001 = Input tied to RP25 • • • 00001 = Input tied to RP1 00000 = Input tied to RP0 2009 Microchip Technology Inc. R/W-1 R/W-1 R/W-1 U1CTSR<4:0> R/W-1 R/W-1 R/W-1 U1RXR<4:0> ...
Page 126
... Input tied to RP1 00000 = Input tied to RP0 DS70290F-page 126 R/W-1 R/W-1 R/W-1 SCK1R<4:0> R/W-1 R/W-1 R/W-1 SDI1R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-1 R/W-1 bit 8 R/W-1 R/W-1 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 127
... SS1R<4:0>: Assign SPI1 Slave Select Input (SS1IN) to the Corresponding RPn pin 11111 = Input tied to Vss 11001 = Input tied to RP25 • • • 00001 = Input tied to RP1 00000 = Input tied to RP0 2009 Microchip Technology Inc. U-0 U-0 U-0 — — — R/W-1 ...
Page 128
... Bit is cleared R/W-0 R/W-0 R/W-0 RP3R<4:0> R/W-0 R/W-0 R/W-0 RP2R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 129
... RP7R<4:0>: Peripheral Output Function is Assigned to RP7 Output Pin (see Table 10-2 for peripheral function numbers) bit 7-5 Unimplemented: Read as ‘0’ bit 4-0 RP6R<4:0>: Peripheral Output Function is Assigned to RP6 Output Pin (see Table 10-2 for peripheral function numbers) 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 RP5R<4:0> R/W-0 R/W-0 R/W-0 RP4R< ...
Page 130
... Bit is cleared R/W-0 R/W-0 R/W-0 RP11R<4:0> R/W-0 R/W-0 R/W-0 RP10R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 131
... RP15R<4:0>: Peripheral Output Function is Assigned to RP15 Output Pin (see Table 10-2 for peripheral function numbers) bit 7-5 Unimplemented: Read as ‘0’ bit 4-0 RP14R<4:0>: Peripheral Output Function is Assigned to RP14 Output Pin (see Table 10-2 for peripheral function numbers) 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 RP13R<4:0> R/W-0 R/W-0 R/W-0 RP12R< ...
Page 132
... Bit is cleared R/W-0 R/W-0 R/W-0 RP19R<4:0> R/W-0 R/W-0 R/W-0 RP18R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 133
... RP23R<4:0>: Peripheral Output Function is Assigned to RP23 Output Pin (see Table 10-2 for peripheral function numbers) bit 7-5 Unimplemented: Read as ‘0’ bit 4-0 RP22R<4:0>: Peripheral Output Function is Assigned to RP22 Output Pin (see Table 10-2 for peripheral function numbers) 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 RP21R<4:0> R/W-0 R/W-0 R/W-0 RP20R< ...
Page 134
... RP24R<4:0>: Peripheral Output Function is Assigned to RP24 Output Pin (see Table 10-2 for peripheral function numbers) DS70290F-page 134 R/W-0 R/W-0 R/W-0 RP25R<4:0> R/W-0 R/W-0 R/W-0 RP24R<4:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 135
... SOSCI TGATE 1 Set T1IF 0 Reset Equal 2009 Microchip Technology Inc. Timer1 also supports these features: • Timer gate operation • Selectable prescaler settings • Timer operation during CPU Idle and Sleep modes • Interrupt on 16-bit Period register match or falling edge of external gate signal Figure 11-1 presents a block diagram of the 16-bit timer module ...
Page 136
... DS70290F-page 136 U-0 U-0 — — R/W-0 U-0 TCKPS<1:0> — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared ) Preliminary U-0 U-0 U-0 — — — bit 8 R/W-0 R/W-0 U-0 TSYNC TCS — bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 137
... Timer2 clock and gate inputs are used for the 32-bit timer modules, but an generated with the Timer3 interrupt flags. 2009 Microchip Technology Inc. 12.1 32-bit Operation To configure the Timer2/3 feature for 32-bit operation: 1. Set the corresponding T32 control bit. 2. ...
Page 138
... The 32-bit timer control bit, T32, must be set for 32-bit timer/counter operation. All control bits are respective to the T2CON register. 2: The ADC event trigger is available only on Timer2/3. DS70290F-page 138 (1) 1x Gate Sync PR2 PR3 Comparator LSb TMR3 TMR2 TMR3HLD 16 Preliminary TCKPS<1:0> TON 2 Prescaler 1, 8, 64, 256 TGATE TCS Sync 2009 Microchip Technology Inc. ...
Page 139
... FIGURE 12-2: TIMER2 (16-BIT) BLOCK DIAGRAM T2CK TGATE 1 Set T2IF 0 Reset Equal 2009 Microchip Technology Inc. 1x Gate Sync TMR2 Sync Comparator PR2 Preliminary TCKPS<1:0> TON 2 Prescaler 1, 8, 64, 256 TCS TGATE DS70290F-page 139 ...
Page 140
... DS70290F-page 140 U-0 U-0 — — R/W-0 R/W-0 TCKPS<1:0> T32 U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared ) Preliminary U-0 U-0 U-0 — — — bit 8 U-0 R/W-0 U-0 — TCS — bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 141
... Note 1: When 32-bit timer operation is enabled (T32 = 1) in the Timer Control register (T2CON<3>), the TSIDL bit must be cleared to operate the 32-bit timer in Idle mode. 2: When the 32-bit timer operation is enabled (T32 = 1) in the Timer Control (T2CON<3>) register, these bits have no effect. 2009 Microchip Technology Inc. U-0 U-0 (1) — ...
Page 142
... NOTES: DS70290F-page 142 Preliminary 2009 Microchip Technology Inc. ...
Page 143
... ICOV, ICBNE (ICxCON<4:3>) ICxCON System Bus Note: An ‘x’ signal, register or bit name denotes the number of the capture channel. 2009 Microchip Technology Inc. • Simple Capture Event modes: - Capture timer value on every falling edge of input at ICx pin - Capture timer value on every rising edge of input at ICx pin • ...
Page 144
... DS70290F-page 144 U-0 U-0 U-0 — — — R-0, HC R-0, HC R/W-0 ICOV ICBNE HC = Cleared in hardware U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary U-0 U-0 — — bit 8 R/W-0 R/W-0 ICM<2:0> bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 145
... TMR3 TMR2 2009 Microchip Technology Inc. The Output Compare module can select either Timer2 or Timer3 for its time base. The module compares the value of the timer with the value of one or two compare registers depending on the operating mode selected. The state of the output pin changes when the timer value matches the compare register value ...
Page 146
... OCx Falling edge 1 Current output is maintained OCx Rising and Falling edge OCx Falling edge 0 OCx Falling edge OCxR is zero No interrupt 1, if OCxR is non-zero OCFA Falling edge for OC1 to OC4 1, if OCxR is non-zero Timer is reset on period match Preliminary — 2009 Microchip Technology Inc. ...
Page 147
... Compare event toggles OCx pin 010 = Initialize OCx pin high, compare event forces OCx pin low 001 = Initialize OCx pin low, compare event forces OCx pin high 000 = Output compare channel is disabled 2009 Microchip Technology Inc. U-0 U-0 U-0 — ...
Page 148
... NOTES: DS70290F-page 148 Preliminary 2009 Microchip Technology Inc. ...
Page 149
... SDIx SPIxSR Transfer SPIxRXB SPIxBUF Read SPIxBUF 2009 Microchip Technology Inc. The Serial Peripheral Interface (SPI) module is a synchronous serial interface useful for communicating with other peripheral or microcontroller devices. These peripheral devices can be serial EEPROMs, shift registers, display converters, etc. The SPI module is compatible with SPI ...
Page 150
... DS70290F-page 150 U-0 U-0 U-0 — — — U-0 U-0 U-0 — — — Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared Preliminary 2009 Microchip Technology Inc. U-0 U-0 — — bit 8 R-0 R-0 SPITBF SPIRBF bit Bit is unknown ...
Page 151
... Note 1: The CKE bit is not used in the Framed SPI modes. Program this bit to ‘0’ for the Framed SPI modes (FRMEN = 1). 2: This bit must be cleared when FRMEN = not set both Primary and Secondary prescalers to a value of 1:1. 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 ...
Page 152
... Note 1: The CKE bit is not used in the Framed SPI modes. Program this bit to ‘0’ for the Framed SPI modes (FRMEN = 1). 2: This bit must be cleared when FRMEN = not set both Primary and Secondary prescalers to a value of 1:1. DS70290F-page 152 (3) (3) Preliminary 2009 Microchip Technology Inc. ...
Page 153
... FRMDLY: Frame Sync Pulse Edge Select bit 1 = Frame sync pulse coincides with first bit clock 0 = Frame sync pulse precedes first bit clock bit 0 Unimplemented: This bit must not be set to ‘1’ by the user application 2009 Microchip Technology Inc. U-0 U-0 U-0 — ...
Page 154
... NOTES: DS70290F-page 154 Preliminary 2009 Microchip Technology Inc. ...
Page 155
... I C supports multi-master operation, detects bus collision and arbitrates accordingly. 2009 Microchip Technology Inc. 16.1 Operating Modes The hardware fully implements all the master and slave functions of the I specifications, as well as 7 and 10-bit addressing. ...
Page 156
... Start and Stop Bit Generation Collision Detect Acknowledge Generation Clock Stretching I2CxTRN LSb Reload Control Preliminary Internal Data Bus Read Write I2CxMSK Read Write Read Write I2CxSTAT Read Write I2CxCON Read Write Read Write I2CxBRG Read 2009 Microchip Technology Inc. ...
Page 157
... General call address disabled bit 6 STREN: SCLx Clock Stretch Enable bit (when operating as I Used in conjunction with SCLREL bit Enable software or receive clock stretching 0 = Disable software or receive clock stretching 2009 Microchip Technology Inc. R/W-1 HC R/W-0 R/W-0 SCLREL IPMIEN A10M ...
Page 158
... Initiate Start condition on SDAx and SCLx pins. Hardware clear at end of master Start sequence 0 = Start condition not in progress DS70290F-page 158 2 C master, applicable during master receive) C master, applicable during master receive master Hardware clear at end of eighth bit of master receive data byte 2 C master master) Preliminary 2 C master) 2009 Microchip Technology Inc. ...
Page 159
... Hardware clear at device address match. Hardware set by reception of slave byte. bit 4 P: Stop bit 1 = Indicates that a Stop bit has been detected last 0 = Stop bit was not detected last Hardware set or clear when Start, Repeated Start or Stop detected. 2009 Microchip Technology Inc. U-0 U-0 — — R/C-0 HSC ...
Page 160
... I2CxRCV. bit 0 TBF: Transmit Buffer Full Status bit 1 = Transmit in progress, I2CxTRN is full 0 = Transmit complete, I2CxTRN is empty Hardware set when software writes I2CxTRN. Hardware clear at completion of data transmission. DS70290F-page 160 2 C slave device address byte. Preliminary 2009 Microchip Technology Inc. ...
Page 161
... AMSKx: Mask for Address bit x Select bit 1 = Enable masking for bit x of incoming message address; bit match not required in this position 0 = Disable masking for bit x; bit match required in this position 2009 Microchip Technology Inc. U-0 U-0 U-0 — ...
Page 162
... NOTES: DS70290F-page 162 Preliminary 2009 Microchip Technology Inc. ...
Page 163
... Baud Rate Generator Hardware Flow Control UART Receiver UART Transmitter 2009 Microchip Technology Inc. The primary features of the UART module are: • Full-Duplex 9-bit Data Transmission through the UxTX and UxRX pins • Even, odd or no parity options (for 8-bit data) • ...
Page 164
... DS70290F-page 164 MODE REGISTER x R/W-0 R/W-0 U-0 (2) IREN RTSMD R/W-0 R/W-0 R/W-0 URXINV BRGH U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (1) (2) Preliminary R/W-0 R/W-0 — UEN<1:0> bit 8 R/W-0 R/W-0 PDSEL<1:0> STSEL bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 165
... Note 1: Refer to Section 17. “UART” (DS70188) in the “dsPIC33F/PIC24H Family Reference Manual” for infor- mation on enabling the UART module for receive or transmit operation. 2: This feature is only available for the 16x BRG mode (BRGH = 0). 2009 Microchip Technology Inc. MODE REGISTER (CONTINUED) x ...
Page 166
... R/W-0 HC — UTXBRK UTXEN R-1 R-0 RIDLE PERR C = Clear only bit U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (1) Preliminary R/W-0 R-0 R-1 (1) UTXBF TRMT bit 8 R-0 R/C-0 R-0 FERR OERR URXDA bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 167
... Receive buffer has data, at least one more character can be read 0 = Receive buffer is empty Note 1: Refer to Section 17. “UART” (DS70188) in the “dsPIC33F/PIC24H Family Reference Manual” for infor- mation on enabling the UART module for transmit operation. 2009 Microchip Technology Inc. STATUS AND CONTROL REGISTER (CONTINUED) x Preliminary ...
Page 168
... NOTES: DS70290F-page 168 Preliminary 2009 Microchip Technology Inc. ...
Page 169
... Four result alignment options (signed/unsigned, fractional/integer) • Operation during CPU Sleep and Idle modes • 16-word conversion result buffer 2009 Microchip Technology Inc. The 12-bit ADC configuration supports all the above features, except: • In the 12-bit configuration, conversion speeds 500 ksps are supported. • ...
Page 170
... REF REF 2: Channels 1, 2 and 3 are not applicable for the 12-bit mode of operation. DS70290F-page 170 Preliminary (1) ( REF DD REF SS VCFG<2:0> ADC1BUF0 ADC1BUF1 ADC1BUF2 V V REFH REFL SAR ADC ADC1BUFE ADC1BUFF 2009 Microchip Technology Inc. ...
Page 171
... AN2 AN5 CH123SA CH123SB (2) CH3 AN11 V - REFL CH123NA CH123NB Alternate Input Selection Note inputs can be multiplexed with other analog inputs. REF REF 2: Channels 1, 2 and 3 are not applicable for the 12-bit mode of operation. 2009 Microchip Technology Inc Preliminary (1) ( ...
Page 172
... T 2: See the ADC Electrical Characteristics for the exact RC clock value. DS70290F-page 172 AD1CON3<5:0> 6 ADC Conversion Clock Multiplier 5,..., 64 when the PLL is enabled. If the PLL is not used, F OSC = 1/F . OSC OSC Preliminary AD1CON3<15> equal OSC 2009 Microchip Technology Inc. ...
Page 173
... SIMSAM: Simultaneous Sample Select bit (applicable only when CHPS<1:0> 1x) When AD12B = 1, SIMSAM is: U-0, Unimplemented, Read as ‘0’ Samples CH0, CH1, CH2, CH3 simultaneously (when CHPS<1:0> = 1x); or Samples CH0 and CH1 simultaneously (when CHPS<1:0> Samples multiple channels individually in sequence 2009 Microchip Technology Inc. U-0 U-0 — — ...
Page 174
... Automatically set by hardware when ADC conversion is complete. Software can write ‘0’ to clear DONE status (software not allowed to write ‘1’). Clearing this bit will NOT affect any operation in progress. Automatically cleared by hardware at start of a new conversion. DS70290F-page 174 Preliminary 2009 Microchip Technology Inc. ...
Page 175
... Always starts filling buffer from the beginning bit 0 ALTS: Alternate Input Sample Mode Select bit 1 = Uses channel input selects for Sample A on first sample and Sample B on next sample 0 = Always uses channel input selects for Sample A 2009 Microchip Technology Inc. U-0 U-0 — — ...
Page 176
... Note 1: This bit only used if AD1CON1<7:5> (SSRC<2:0>) = 111. 2: This bit is not used if AD1CON3<15> (ADRC DS70290F-page 176 R/W-0 R/W-0 R/W-0 (1) SAMC<4:0> R/W-0 R/W-0 R/W-0 (2) ADCS<7:0> Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared (1) ( Preliminary R/W-0 R/W-0 bit 8 R/W-0 R/W-0 bit Bit is unknown 2009 Microchip Technology Inc. ...
Page 177
... If AD12B = CH1 positive input is AN3, CH2 positive input is AN4, CH3 positive input is AN5 0 = CH1 positive input is AN0, CH2 positive input is AN1, CH3 positive input is AN2 bit 7-3 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. U-0 U-0 R/W-0 — — ...
Page 178
... CH123SA: Channel Positive Input Select for Sample A bit If AD12B = Reserved 0 = Reserved If AD12B = CH1 positive input is AN3, CH2 positive input is AN4, CH3 positive input is AN5 0 = CH1 positive input is AN0, CH2 positive input is AN1, CH3 positive input is AN2 DS70290F-page 178 - REF - REF - REF - REF Preliminary 2009 Microchip Technology Inc. ...
Page 179
... Channel 0 positive input is AN1 00000 = Channel 0 positive input is AN0 bit 7 CH0NA: Channel 0 Negative Input Select for Sample A bit 1 = Channel 0 negative input is AN1 0 = Channel 0 negative input is V bit 6-5 Unimplemented: Read as ‘0’ 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 CH0SB<4:0> R/W-0 R/W-0 R/W-0 CH0SA< ...
Page 180
... Channel 0 positive input is AN12 • • • 01000 = Reserved 00111 = Reserved 00110 = Reserved • • • 00010 = Channel 0 positive input is AN2 00001 = Channel 0 positive input is AN1 00000 = Channel 0 positive input is AN0 DS70290F-page 180 Preliminary 2009 Microchip Technology Inc. ...
Page 181
... PCFGx = ANx, where through 12. 3: The PCFGx bits have no effect if the ADC module is disabled by setting ADxMD bit in the PMDx Register. In this case, all port pins multiplexed with ANx will be in Digital mode. 2009 Microchip Technology Inc. R/W-0 R/W-0 R/W-0 ...
Page 182
... NOTES: DS70290F-page 182 Preliminary 2009 Microchip Technology Inc. ...
Page 183
... Note 1: These bits are reserved for use by development tools and must be programmed as ‘1’. 2: These bits are reserved and always read as ‘1’. 2009 Microchip Technology Inc. 19.1 Configuration Bits The Configuration bits can be programmed (read as ‘0’), or left unprogrammed (read as ‘1’), to select and various device configurations ...
Page 184
... Internal Fast RC (FRC) oscillator with postscaler 110 = Internal Fast RC (FRC) oscillator with divide-by-16 101 = LPRC oscillator 100 = Secondary (LP) oscillator 011 = Primary (XT, HS, EC) oscillator with PLL 010 = Primary (XT, HS, EC) oscillator 001 = Internal Fast RC (FRC) oscillator with PLL 000 = FRC oscillator Preliminary 2009 Microchip Technology Inc. ...
Page 185
... FPWRT<2:0> FPOR JTAGEN FICD ICS<1:0> FICD 2009 Microchip Technology Inc. Description Clock Switching Mode bits 1x = Clock switching is disabled, Fail-Safe Clock Monitor is disabled 01 = Clock switching is enabled, Fail-Safe Clock Monitor is disabled 00 = Clock switching is enabled, Fail-Safe Clock Monitor is enabled Peripheral Pin Select Configuration ...
Page 186
... The BOR Status bit (RCON<1>) is set to indicate that a BOR has occurred. The BOR circuit continues to operate while in Sleep or Idle modes and resets the device should VDD fall below the BOR threshold voltage. (1) and Preliminary /V . The main purpose of CAP DDCORE 2009 Microchip Technology Inc. ...
Page 187
... PWRSAV Instruction CLRWDT Instruction SWDTEN FWDTEN LPRC Clock WINDIS 2009 Microchip Technology Inc. 19.4.2 If the WDT is enabled, it will continue to run during and Sleep or Idle modes. When the WDT time-out occurs, the device will wake the device and code execution will continue from where the PWRSAV instruction was executed ...
Page 188
... GS = 5376 IW 002BFEh 000000h VS = 256 IW 0001FEh 000200h BS = 768 IW 0007FEh 000800h 001FFEh 002000h GS = 4608 IW 002BFEh 000000h VS = 256 IW 0001FEh 000200h 0007FEh BS = 3840 IW 000800h 001FFEh 002000h GS = 1536 IW 002BFEh 000000h VS = 256 IW 0001FEh 000200h 0007FEh BS = 5376 IW 000800h 001FFEh 002000h 002BFEh 2009 Microchip Technology Inc. ...
Page 189
... In-Circuit Serial Programming (ICSP). Any of the three pairs of programming clock/data pins can be used: • PGEC1 and PGED1 • PGEC2 and PGED2 • PGEC3 and PGED3 2009 Microchip Technology Inc. 19.8 In-Circuit Debugger ® When MPLAB ICD 2 is selected as a debugger, the in-circuit debugging functionality is enabled ...
Page 190
... NOTES: DS70290F-page 190 Preliminary 2009 Microchip Technology Inc. ...
Page 191
... The file register specified by the value ‘f’ • The destination, which could be either the file register ‘f’ or the W0 register, which is denoted as ‘WREG’ 2009 Microchip Technology Inc. Most bit-oriented rotate/shift instructions) have two operands: • The W register (with or without an address ...
Page 192
... Moreover, double-word moves require two cycles. Note: For more details on the instruction set, refer to the “dsPIC30F/33F Programmer’s Reference Manual” (DS70157). Description Preliminary 2009 Microchip Technology Inc. ...
Page 193
... Y data space prefetch address register for DSP instructions {[W10 [W10 [W10 [W10], [W10 [W10 [W10 [W11 [W11 [W11 [W11], [W11 [W11 [W11 [W11 + W12], none} Y data space prefetch destination register for DSP instructions {W4...W7} Wyd 2009 Microchip Technology Inc. Description Preliminary DS70290F-page 193 ...
Page 194
... Branch if Overflow Branch if Accumulator A saturated Branch if Accumulator B saturated Branch Unconditionally Branch if Zero Computed Branch Bit Set f Bit Set Ws Write C bit to Ws<Wb> Write Z bit to Ws<Wb> Bit Toggle f Bit Toggle Ws Preliminary 2009 Microchip Technology Inc Status Flags Words Cycles Affected 1 1 OA,OB,SA, C,DC,N,OV,Z ...
Page 195
... DEC2 f DEC2 f,WREG DEC2 Ws,Wd 28 DISI DISI #lit14 2009 Microchip Technology Inc. Description Bit Test f, Skip if Clear Bit Test Ws, Skip if Clear Bit Test f, Skip if Set Bit Test Ws, Skip if Set Bit Test f Bit Test Bit Test Bit Test Ws<Wb> Bit Test Ws<Wb> ...
Page 196
... Move f to WREG Move 16-bit literal to Wn Move 8-bit literal to Wn Move Move Move WREG to f Move Double from W(ns):W( Move Double from Ws to W(nd + 1):W(nd) Prefetch and store accumulator Preliminary 2009 Microchip Technology Inc Status Flags Words Cycles Affected 1 18 N,Z,C,OV ...
Page 197
... Ws,Wd 65 RRC RRC f RRC f,WREG RRC Ws,Wd 2009 Microchip Technology Inc. Description Multiply Accumulator Square Wm to Accumulator -(Multiply Wm by Wn) to Accumulator Multiply and Subtract from Accumulator {Wnd + 1, Wnd} = signed(Wb) * signed(Ws) {Wnd + 1, Wnd} = signed(Wb) * unsigned(Ws) {Wnd + 1, Wnd} = unsigned(Wb) * signed(Ws) {Wnd + 1, Wnd} = unsigned(Wb) * ...
Page 198
... Wn = byte swap Wn Read Prog<23:16> to Wd<7:0> Read Prog<15:0> Write Ws<7:0> to Prog<23:16> Write Ws to Prog<15:0> Unlink Frame Pointer .XOR. WREG WREG = f .XOR. WREG Wd = lit10 .XOR .XOR .XOR. lit5 Wnd = Zero-extend Ws Preliminary 2009 Microchip Technology Inc Status Flags Words Cycles Affected N,Z ...
Page 199
... PICkit™ 3 Debug Express • Device Programmers - PICkit™ 2 Programmer - MPLAB PM3 Device Programmer • Low-Cost Demonstration/Development Boards, Evaluation Kits, and Starter Kits 2009 Microchip Technology Inc. 21.1 MPLAB Integrated Development Environment Software ® digital signal The MPLAB IDE software brings an ease of software development previously unseen in the 8/16/32-bit microcontroller market ...
Page 200
... Support for the entire device instruction set ® standard HEX • Support for fixed-point and floating-point data • Command line interface • Rich directive set • Flexible macro language • MPLAB IDE compatibility Preliminary 2009 Microchip Technology Inc. ...