0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
PIC24HJXXXGPX08

PIC24HJXXXGPX08

  • 厂商:

    MICROCHIP

  • 封装:

  • 描述:

    PIC24HJXXXGPX08 - High-Performance, 16-Bit Microcontrollers - Microchip Technology

  • 数据手册
  • 价格&库存
PIC24HJXXXGPX08 数据手册
PIC24HJXXXGPX06/X08/X10 Data Sheet High-Performance, 16-Bit Microcontrollers © 2007 Microchip Technology Inc. DS70175F Note the following details of the code protection feature on Microchip devices: • • • Microchip products meet the specification contained in their particular Microchip Data Sheet. Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. Microchip is willing to work with the customer who is concerned about the integrity of their code. Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” • • Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KEELOQ, KEELOQ logo, microID, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, rfPIC and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. AmpLab, FilterLab, Linear Active Thermistor, Migratable Memory, MXDEV, MXLAB, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, Select Mode, Smart Serial, SmartTel, Total Endurance, UNI/O, 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. © 2007, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. Microchip received ISO/TS-16949:2002 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. DS70175F-page ii © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 High-Performance, 16-bit Microcontrollers Operating Range: • DC – 40 MIPS (40 MIPS @ 3.0-3.6V, -40°C to +85°C) • Industrial temperature range (-40°C to +85°C) On-Chip Flash and SRAM: • Flash program memory, up to 256 Kbytes • Data SRAM, up to 16 Kbytes (includes 2 Kbytes of DMA RAM) High-Performance CPU: • • • • • • • • • • • • • Modified Harvard architecture C compiler optimized instruction set 16-bit wide data path 24-bit wide instructions Linear program memory addressing up to 4M instruction words Linear data memory addressing up to 64 Kbytes 71 base instructions: mostly 1 word/1 cycle Sixteen 16-bit General Purpose Registers Flexible and powerful Indirect Addressing modes Software stack 16 x 16 multiply operations 32/16 and 16/16 divide operations Up to ±16-bit data shifts System Management: • Flexible clock options: - External, crystal, resonator, internal RC - Fully integrated PLL - Extremely low jitter PLL • Power-up Timer • Oscillator Start-up Timer/Stabilizer • Watchdog Timer with its own RC oscillator • Fail-Safe Clock Monitor • Reset by multiple sources Power Management: • On-chip 2.5V voltage regulator • Switch between clock sources in real time • Idle, Sleep and Doze modes with fast wake-up Direct Memory Access (DMA): • 8-channel hardware DMA • 2 Kbytes dual ported DMA buffer area (DMA RAM) to store data transferred via DMA: - Allows data transfer between RAM and a peripheral while CPU is executing code (no cycle stealing) • Most peripherals support DMA Timers/Capture/Compare/PWM: • Timer/Counters, up to nine 16-bit timers: - Can pair up to make four 32-bit timers - 1 timer runs as Real-Time Clock with external 32.768 kHz oscillator - Programmable prescaler • Input Capture (up to 8 channels): - Capture on up, down or both edges - 16-bit capture input functions - 4-deep FIFO on each capture • Output Compare (up to 8 channels): - Single or Dual 16-Bit Compare mode - 16-bit Glitchless PWM mode Interrupt Controller: • • • • • • 5-cycle latency 118 interrupt vectors Up to 61 available interrupt sources Up to 5 external interrupts 7 programmable priority levels 5 processor exceptions Digital I/O: • • • • • Up to 85 programmable digital I/O pins Wake-up/Interrupt-on-Change on up to 24 pins Output pins can drive from 3.0V to 3.6V All digital input pins are 5V tolerant 4 mA sink on all I/O pins © 2007 Microchip Technology Inc. DS70175F-page 1 PIC24HJXXXGPX06/X08/X10 Communication Modules: • 3-wire SPI (up to 2 modules): - Framing supports I/O interface to simple codecs - Supports 8-bit and 16-bit data - Supports all serial clock formats and sampling modes • I2C™ (up to 2 modules): - Full Multi-Master Slave mode support - 7-bit and 10-bit addressing - Bus collision detection and arbitration - Integrated signal conditioning - Slave address masking • UART (up to 2 modules): - Interrupt on address bit detect - Interrupt on UART error - Wake-up on Start bit from Sleep mode - 4-character TX and RX FIFO buffers - LIN bus support - IrDA® encoding and decoding in hardware - High-Speed Baud mode - Hardware Flow Control with CTS and RTS • Enhanced CAN (ECAN™ module) 2.0B active (up to 2 modules): - Up to 8 transmit and up to 32 receive buffers - 16 receive filters and 3 masks - Loopback, Listen Only and Listen All Messages modes for diagnostics and bus monitoring - Wake-up on CAN message - Automatic processing of Remote Transmission Requests - FIFO mode using DMA - DeviceNet™ addressing support Analog-to-Digital Converters: • Up to two A/D modules in a device • 10-bit, 1.1 Msps or 12-bit, 500 ksps conversion: - 2, 4 or 8 simultaneous samples - Up to 32 input channels with auto-scanning - Conversion start can be manual or synchronized with 1 of 4 trigger sources - Conversion possible in Sleep mode - ±1 LSb max integral nonlinearity - ±1 LSb max differential nonlinearity CMOS Flash Technology: • • • • • Low-power, high-speed Flash technology Fully static design 3.3V (±10%) operating voltage Industrial temperature Low-power consumption Packaging: • 100-pin TQFP (14x14x1 mm and 12x12x1 mm) • 64-pin TQFP (10x10x1 mm) Note: See the device variant tables for exact peripheral features per device. DS70175F-page 2 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 PIC24H PRODUCT FAMILIES The PIC24H General Purpose Family is ideal for a wide variety of 16-bit MCU embedded applications. The device names, pin counts, memory sizes and peripheral availability of each family are listed below, followed by their pinout diagrams. PIC24H General Purpose Family Variants Output Compare Std. PWM Program Flash Memory (KB) I/O Pins (Max)(2) 53 85 53 85 53 85 53 85 53 85 53 85 85 DMA Channels Input Capture Timer 16-bit RAM(1) (KB) Codec Interface UART I2C™ ADC CAN Device Pins SPI Packages PIC24HJ64GP206 PIC24HJ64GP210 PIC24HJ64GP506 PIC24HJ64GP510 PIC24HJ128GP206 PIC24HJ128GP210 PIC24HJ128GP506 PIC24HJ128GP510 PIC24HJ128GP306 PIC24HJ128GP310 PIC24HJ256GP206 PIC24HJ256GP210 PIC24HJ256GP610 Note 1: 2: 64 100 64 100 64 100 64 100 64 100 64 100 100 64 64 64 64 128 128 128 128 128 128 256 256 256 8 8 8 8 8 8 8 8 16 16 16 16 16 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ADC, 18 ch 1 ADC, 32 ch 1 ADC, 18 ch 1 ADC, 32 ch 1 ADC, 18 ch 1 ADC, 32 ch 1 ADC, 18 ch 1 ADC, 32 ch 1 ADC, 18 ch 1 ADC, 32 ch 1 ADC, 18 ch 1 ADC, 32 ch 2 ADC, 32 ch 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 0 0 1 1 0 0 1 1 0 0 0 0 2 PT PF, PT PT PF, PT PT PF, PT PT PF, PT PT PF, PT PT PF, PT PF, PT RAM size is inclusive of 2 Kbytes DMA RAM. Maximum I/O pin count includes pins shared by the peripheral functions. © 2007 Microchip Technology Inc. DS70175F-page 3 PIC24HJXXXGPX06/X08/X10 Pin Diagrams 64-Pin TQFP RG13 RG12 RG14 RG0 RG1 RF1 RF0 VDD VDDCORE OC8/CN16/RD7 OC7/CN15/RD6 OC6/IC6/CN14/RD5 OC5/IC5/CN13/RD4 OC4/RD3 OC3/RD2 OC2/RD1 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 RG15 AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4 AN3/CN5/RB3 AN2/SS1/CN4/RB2 PGC3/EMUC3/AN1/VREF-/CN3/RB1 PGD3/EMUD3/AN0/VREF+/CN2/RB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PIC24HJ64GP206 PIC24HJ128GP206 PIC24HJ256GP206 PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/T4CK/CN1/RC13 OC1/RD0 IC4/INT4/RD11 IC3/INT3/RD10 IC2/U1CTS/INT2/RD9 IC1/INT1/RD8 VSS OSC2/CLKO/RC15 OSC1/CLKIN/RC12 VDD SCL1/RG2 SDA1/RG3 U1RTS/SCK1/INT0/RF6 U1RX/SDI1/RF2 U1TX/SDO1/RF3 Note: The PIC24HJ64GP206 device does not have the SCL2 and SDA2 pins. PGC1/EMUC1/AN6/OCFA/RB6 PGD1/EMUD1/AN7/RB7 AVDD AVSS U2CTS/AN8/RB8 AN9/RB9 TMS/AN10/RB10 TDO/AN11/RB11 VSS VDD TCK/AN12/RB12 TDI/AN13/RB13 U2RTS/AN14/RB14 AN15/OCFB/CN12/RB15 U2RX/SDA2/CN17/RF4 U2TX/SCL2/CN18/RF5 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 DS70175F-page 4 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 Pin Diagrams (Continued) 64-Pin TQFP RG13 RG12 RG14 RG0 RG1 RF1 RF0 VDD VDDCORE OC8/CN16/RD7 OC7/CN15/RD6 OC6/IC6/CN14/RD5 OC5/IC5/CN13/RD4 OC4/RD3 OC3/RD2 OC2/RD1 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 RG15 AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4 AN3/CN5/RB3 AN2/SS1/CN4/RB2 PGC3/EMUC3/AN1/VREF-/CN3/RB1 PGD3/EMUD3/AN0/VREF+/CN2/RB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PIC24HJ128GP306 PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/T4CK/CN1/RC13 OC1/RD0 IC4/INT4/RD11 IC3/INT3/RD10 IC2/U1CTS/INT2/RD9 IC1/INT1/RD8 VSS OSC2/CLKO/RC15 OSC1/CLKIN/RC12 VDD SCL1/RG2 SDA1/RG3 U1RTS/SCK1/INT0/RF6 U1RX/SDI1/RF2 U1TX/SDO1/RF3 © 2007 Microchip Technology Inc. PGC1/EMUC1/AN6/OCFA/RB6 PGD1/EMUD1/AN7/RB7 AVDD AVSS U2CTS/AN8/RB8 AN9/RB9 TMS/AN10/RB10 TDO/AN11/RB11 VSS VDD TCK/AN12/RB12 TDI/AN13/RB13 U2RTS/AN14/RB14 AN15/OCFB/CN12/RB15 U2RX/SDA2/CN17/RF4 U2TX/SCL2/CN18/RF5 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 DS70175F-page 5 PIC24HJXXXGPX06/X08/X10 Pin Diagrams (Continued) 64-Pin TQFP RG13 RG12 RG14 RG0 RG1 C1TX/RF1 C1RX/RF0 VDD VDDCORE OC8/CN16/RD7 OC7/CN15/RD6 OC6/IC6/CN14/RD5 OC5/IC5/CN13/RD4 OC4/RD3 OC3/RD2 OC2/RD1 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 RG15 AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4 AN3/CN5/RB3 AN2/SS1/CN4/RB2 PGC3/EMUC3/AN1/VREF-/CN3/RB1 PGD3/EMUD3/AN0/VREF+/CN2/RB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PIC24HJ64GP506 PIC24HJ128GP506 PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/T4CK/CN1/RC13 OC1/RD0 IC4/INT4/RD11 IC3/INT3/RD10 IC2/U1CTS/INT2/RD9 IC1/INT1/RD8 VSS OSC2/CLKO/RC15 OSC1/CLKIN/RC12 VDD SCL1/RG2 SDA1/RG3 U1RTS/SCK1/INT0/RF6 U1RX/SDI1/RF2 U1TX/SDO1/RF3 PGC1/EMUC1/AN6/OCFA/RB6 PGD1/EMUD1/AN7/RB7 AVDD AVSS U2CTS/AN8/RB8 AN9/RB9 TMS/AN10/RB10 TDO/AN11/RB11 VSS VDD TCK/AN12/RB12 TDI/AN13/RB13 U2RTS/AN14/RB14 AN15/OCFB/CN12/RB15 U2RX/SDA2/CN17/RF4 U2TX/SCL2/CN18/RF5 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 DS70175F-page 6 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 Pin Diagrams (Continued) 100-Pin TQFP 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 AN28/RE4 AN27/RE3 AN26/RE2 RG13 RG12 RG14 AN25/RE1 AN24/RE0 AN23/CN23/RA7 AN22/CN22/RA6 RG0 RG1 RF1 RF0 VDD VDDCORE OC8/CN16/RD7 OC7/CN15/RD6 OC6/CN14/RD5 OC5/CN13/RD4 IC6/CN19/RD13 IC5/RD12 OC4/RD3 OC3/RD2 OC2/RD1 RG15 VDD AN29/RE5 AN30/RE6 AN31/RE7 AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2 AN18/T4CK/T9CK/RC3 AN19/T5CK/T8CK/RC4 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD TMS/RA0 AN20/INT1/RA12 AN21/INT2/RA13 AN5/CN7/RB5 AN4/CN6/RB4 AN3/CN5/RB3 AN2/SS1/CN4/RB2 PGC3/EMUC3/AN1/CN3/RB1 PGD3/EMUD3/AN0/CN2/RB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 VSS PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/CN1/RC13 OC1/RD0 IC4/RD11 IC3/RD10 IC2/RD9 IC1/RD8 INT4/RA15 INT3/RA14 VSS OSC2/CLKO/RC15 OSC1/CLKIN/RC12 VDD TDO/RA5 TDI/RA4 SDA2/RA3 SCL2/RA2 SCL1/RG2 SDA1/RG3 SCK1/INT0/RF6 SDI1/RF7 SDO1/RF8 U1RX/RF2 U1TX/RF3 PIC24HJ64GP210 PIC24HJ128GP210 PIC24HJ128GP310 PIC24HJ256GP210 © 2007 Microchip Technology Inc. PGC1/EMUC1/AN6/OCFA/RB6 PGD1/EMUD1/AN7/RB7 VREF-/RA9 VREF+/RA10 AVDD AVSS AN8/RB8 AN9/RB9 AN10/RB10 AN11/RB11 VSS VDD TCK/RA1 U2RTS/RF13 U2CTS/RF12 AN12/RB12 AN13/RB13 AN14/RB14 AN15/OCFB/CN12/RB15 VSS VDD IC7/U1CTS/CN20/RD14 IC8/U1RTS/CN21/RD15 U2RX/CN17/RF4 U2TX/CN18/RF5 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 DS70175F-page 7 PIC24HJXXXGPX06/X08/X10 Pin Diagrams (Continued) 100-Pin TQFP 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 AN28/RE4 AN27/RE3 AN26/RE2 RG13 RG12 RG14 AN25/RE1 AN24/RE0 AN23/CN23/RA7 AN22/CN22/RA6 RG0 RG1 C1TX/RF1 C1RX/RF0 VDD VDDCORE OC8/CN16/RD7 OC7/CN15/RD6 OC6/CN14/RD5 OC5/CN13/RD4 IC6/CN19/RD13 IC5/RD12 OC4/RD3 OC3/RD2 OC2/RD1 RG15 VDD AN29/RE5 AN30/RE6 AN31/RE7 AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2 AN18/T4CK/T9CK/RC3 AN19/T5CK/T8CK/RC4 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD TMS/RA0 AN20/INT1/RA12 AN21/INT2/RA13 AN5/CN7/RB5 AN4/CN6/RB4 AN3/CN5/RB3 AN2/SS1/CN4/RB2 PGC3/EMUC3/AN1/CN3/RB1 PGD3/EMUD3/AN0/CN2/RB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 VSS PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/CN1/RC13 OC1/RD0 IC4/RD11 IC3/RD10 IC2/RD9 IC1/RD8 INT4/RA15 INT3/RA14 VSS OSC2/CLKO/RC15 OSC1/CLKIN/RC12 VDD TDO/RA5 TDI/RA4 SDA2/RA3 SCL2/RA2 SCL1/RG2 SDA1/RG3 SCK1/INT0/RF6 SDI1/RF7 SDO1/RF8 U1RX/RF2 U1TX/RF3 PIC24HJ64GP510 PIC24HJ128GP510 PGC1/EMUC1/AN6/OCFA/RB6 PGD1/EMUD1/AN7/RB7 VREF-/RA9 VREF+/RA10 AVDD AVSS AN8/RB8 AN9/RB9 AN10/RB10 AN11/RB11 VSS VDD TCK/RA1 U2RTS/RF13 U2CTS/RF12 AN12/RB12 AN13/RB13 AN14/RB14 AN15/OCFB/CN12/RB15 VSS VDD IC7/U1CTS/CN20/RD14 IC8/U1RTS/CN21/RD15 U2RX/CN17/RF4 U2TX/CN18/RF5 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 DS70175F-page 8 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 Pin Diagrams (Continued) 100-Pin TQFP 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 AN28/RE4 AN27/RE3 AN26/RE2 RG13 RG12 RG14 AN25/RE1 AN24/RE0 AN23/CN23/RA7 AN22/CN22/RA6 C2RX/RG0 C2TX/RG1 C1TX/RF1 C1RX/RF0 VDD VDDCORE OC8/CN16/RD7 OC7/CN15/RD6 OC6/CN14/RD5 OC5/CN13/RD4 IC6/CN19/RD13 IC5/RD12 OC4/RD3 OC3/RD2 OC2/RD1 RG15 VDD AN29/RE5 AN30/RE6 AN31/RE7 AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2 AN18/T4CK/T9CK/RC3 AN19/T5CK/T8CK/RC4 SCK2/CN8/RG6 SDI2/CN9/RG7 SDO2/CN10/RG8 MCLR SS2/CN11/RG9 VSS VDD TMS/RA0 AN20/INT1/RA12 AN21/INT2/RA13 AN5/CN7/RB5 AN4/CN6/RB4 AN3/CN5/RB3 AN2/SS1/CN4/RB2 PGC3/EMUC3/AN1/CN3/RB1 PGD3/EMUD3/AN0/CN2/RB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 VSS PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/CN1/RC13 OC1/RD0 IC4/RD11 IC3/RD10 IC2/RD9 IC1/RD8 INT4/RA15 INT3/RA14 VSS OSC2/CLKO/RC15 OSC1/CLKIN/RC12 VDD TDO/RA5 TDI/RA4 SDA2/RA3 SCL2/RA2 SCL1/RG2 SDA1/RG3 SCK1/INT0/RF6 SDI1/RF7 SDO1/RF8 U1RX/RF2 U1TX/RF3 PIC24HJ256GP610 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 © 2007 Microchip Technology Inc. PGC1/EMUC1/AN6/OCFA/RB6 PGD1/EMUD1/AN7/RB7 VREF-/RA9 VREF+/RA10 AVDD AVSS AN8/RB8 AN9/RB9 AN10/RB10 AN11/RB11 VSS VDD TCK/RA1 U2RTS/RF13 U2CTS/RF12 AN12/RB12 AN13/RB13 AN14/RB14 AN15/OCFB/CN12/RB15 VSS VDD IC7/U1CTS/CN20/RD14 IC8/U1RTS/CN21/RD15 U2RX/CN17/RF4 U2TX/CN18/RF5 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 DS70175F-page 9 PIC24HJXXXGPX06/X08/X10 Table of Contents PIC24H Product Families....................................................................................................................................................................... 3 1.0 Device Overview ........................................................................................................................................................................ 11 2.0 CPU ............................................................................................................................................................................................ 15 3.0 Memory Organization ................................................................................................................................................................. 23 4.0 Flash Program Memory .............................................................................................................................................................. 53 5.0 Resets ....................................................................................................................................................................................... 59 6.0 Interrupt Controller ..................................................................................................................................................................... 65 7.0 Direct Memory Access (DMA) .................................................................................................................................................. 109 8.0 Oscillator Configuration ............................................................................................................................................................ 119 9.0 Power-Saving Features ............................................................................................................................................................ 127 10.0 I/O Ports ................................................................................................................................................................................... 129 11.0 Timer1 ...................................................................................................................................................................................... 131 12.0 Timer2/3, Timer4/5, Timer6/7 and Timer8/9 ............................................................................................................................ 133 13.0 Input Capture............................................................................................................................................................................ 139 14.0 Output Compare ....................................................................................................................................................................... 141 15.0 Serial Peripheral Interface (SPI)............................................................................................................................................... 145 16.0 Inter-Integrated Circuit (I2C) ..................................................................................................................................................... 153 17.0 Universal Asynchronous Receiver Transmitter (UART) ........................................................................................................... 163 18.0 Enhanced CAN Module ............................................................................................................................................................ 171 19.0 10-bit/12-bit A/D Converter....................................................................................................................................................... 201 20.0 Special Features ...................................................................................................................................................................... 215 21.0 Instruction Set Summary .......................................................................................................................................................... 223 22.0 Development Support............................................................................................................................................................... 231 23.0 Electrical Characteristics .......................................................................................................................................................... 235 24.0 Packaging Information.............................................................................................................................................................. 271 Appendix A: Revision History............................................................................................................................................................. 275 Index ................................................................................................................................................................................................. 277 The Microchip Web Site ..................................................................................................................................................................... 281 Customer Change Notification Service .............................................................................................................................................. 281 Customer Support .............................................................................................................................................................................. 281 Reader Response .............................................................................................................................................................................. 282 Product Identification System............................................................................................................................................................. 283 TO OUR VALUED CUSTOMERS It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and enhanced as new volumes and updates are introduced. If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via E-mail at docerrors@microchip.com or fax the Reader Response Form in the back of this data sheet to (480) 792-4150. We welcome your feedback. Most Current Data Sheet To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at: http://www.microchip.com You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page. The last character of the literature number is the version number, (e.g., DS30000A is version A of document DS30000). Errata An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision of silicon and revision of document to which it applies. To determine if an errata sheet exists for a particular device, please check with one of the following: • Microchip’s Worldwide Web site; http://www.microchip.com • Your local Microchip sales office (see last page) 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. DS70175F-page 10 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 1.0 Note: DEVICE OVERVIEW This data sheet summarizes the features of this group of PIC24HJXXXGPX06/X08/X10 devices. It is not intended to be a comprehensive reference source. To complement the information in this data sheet, refer to the “PIC24H Family Reference Manual”. Refer to the Microchip web site (www.microchip.com) for the latest PIC24H Family Reference Manual sections. This makes these families suitable for a wide variety of high-performance digital signal control applications. The devices are pin compatible with the dsPIC33F family of devices, and also share a very high degree of compatibility with the dsPIC30F family devices. This allows easy migration between device families as may be necessitated by the specific functionality, computational resource and system cost requirements of the application. The PIC24HJXXXGPX06/X08/X10 device family employs a powerful 16-bit architecture, ideal for applications that rely on high-speed, repetitive computations, as well as control. The 17 x 17 multiplier, hardware support for division operations, multi-bit data shifter, a large array of 16-bit working registers and a wide variety of data addressing modes, together provide the PIC24HJXXXGPX06/X08/X10 Central Processing Unit (CPU) with extensive mathematical processing capability. Flexible and deterministic interrupt handling, coupled with a powerful array of peripherals, renders the PIC24HJXXXGPX06/X08/X10 devices suitable for control applications. Further, Direct Memory Access (DMA) enables overhead-free transfer of data between several peripherals and a dedicated DMA RAM. Reliable, field programmable Flash program memory ensures scalability of applications that use PIC24HJXXXGPX06/X08/X10 devices. Figure 1-1 shows a general block diagram of the various core and peripheral modules in the PIC24HJXXXGPX06/X08/X10 family of devices, while Table 1-1 lists the functions of the various pins shown in the pinout diagrams. This document contains device specific information for the following devices: • • • • • • • • • • • • • PIC24HJ64GP206 PIC24HJ64GP210 PIC24HJ64GP506 PIC24HJ64GP510 PIC24HJ128GP206 PIC24HJ128GP210 PIC24HJ128GP506 PIC24HJ128GP510 PIC24HJ128GP306 PIC24HJ128GP310 PIC24HJ256GP206 PIC24HJ256GP210 PIC24HJ256GP610 The PIC24HJXXXGPX06/X08/X10 device family includes devices with different pin counts (64 and 100 pins), different program memory sizes (64 Kbytes, 128 Kbytes and 256 Kbytes) and different RAM sizes (8 Kbytes and 16 Kbytes). © 2007 Microchip Technology Inc. DS70175F-page 11 PIC24HJXXXGPX06/X08/X10 FIGURE 1-1: PSV & Table Data Access Control Block Interrupt Controller 8 23 23 PCU PCH PCL Program Counter Loop Stack Control Control Logic Logic X RAM Address Latch DMA 16 Address Generator Units Controller 16 PORTB PIC24HJXXXGPX06/X08/X10 GENERAL BLOCK DIAGRAM Data Bus 16 DMA Data Latch RAM PORTA 16 16 23 PORTC Address Latch Program Memory Address Bus Data Latch 24 ROM Latch 16 Literal Data EA MUX PORTD 16 Instruction Decode & Control Control Signals to Various Blocks OSC2/CLKO OSC1/CLKI Timing Generation FRC/LPRC Oscillators Precision Band Gap Reference Voltage Regulator Power-up Timer Oscillator Start-up Timer Power-on Reset Watchdog Timer Brown-out Reset Instruction Reg 16 PORTE 17 x 17 Multiplier 16 x 16 W Register Array 16 PORTF Divide Support 16-bit ALU 16 PORTG VDDCORE/VCAP VDD, VSS MCLR Timers 1-9 ADC1,2 ECAN1,2 UART1,2 IC1-8 OC/ PWM1-8 CN1-23 SPI1,2 I2C1,2 Note: Not all pins or features are implemented on all device pinout configurations. See pinout diagrams for the specific pins and features present on each device. DS70175F-page 12 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 1-1: Pin Name AN0-AN31 AVDD AVSS CLKI CLKO PINOUT I/O DESCRIPTIONS Pin Type I P P I O Buffer Type Analog P P Analog input channels. Positive supply for analog modules. Ground reference for analog modules. Description ST/CMOS External clock source input. Always associated with OSC1 pin function. — Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode. Optionally functions as CLKO in RC and EC modes. Always associated with OSC2 pin function. ST ST — ST — ST ST ST ST ST ST ST ST ST ST ST ST ST ST ST — Input change notification inputs. Can be software programmed for internal weak pull-ups on all inputs. ECAN1 bus receive pin. ECAN1 bus transmit pin. ECAN2 bus receive pin. ECAN2 bus transmit pin. Data I/O pin for programming/debugging communication channel 1. Clock input pin for programming/debugging communication channel 1. Data I/O pin for programming/debugging communication channel 2. Clock input pin for programming/debugging communication channel 2. Data I/O pin for programming/debugging communication channel 3. Clock input pin for programming/debugging communication channel 3. Capture inputs 1 through 8. External interrupt 0. External interrupt 1. External interrupt 2. External interrupt 3. External interrupt 4. Master Clear (Reset) input. This pin is an active-low Reset to the device. Compare Fault A input (for Compare Channels 1, 2, 3 and 4). Compare Fault B input (for Compare Channels 5, 6, 7 and 8). Compare outputs 1 through 8. CN0-CN23 C1RX C1TX C2RX C2TX PGD1/EMUD1 PGC1/EMUC1 PGD2/EMUD2 PGC2/EMUC2 PGD3/EMUD3 PGC3/EMUC3 IC1-IC8 INT0 INT1 INT2 INT3 INT4 MCLR OCFA OCFB OC1-OC8 OSC1 OSC2 RA0-RA7 RA9-RA10 RA12-RA15 RB0-RB15 RC1-RC4 RC12-RC15 RD0-RD15 RE0-RE7 RF0-RF8 RF12-RF13 RG0-RG3 RG6-RG9 RG12-RG15 Legend: I I O I O I/O I I/O I I/O I I I I I I I I/P I I O I I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O ST/CMOS Oscillator crystal input. ST buffer when configured in RC mode; CMOS otherwise. — Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode. Optionally functions as CLKO in RC and EC modes. ST ST ST ST ST ST ST ST ST ST ST ST PORTA is a bidirectional I/O port. PORTB is a bidirectional I/O port. PORTC is a bidirectional I/O port. PORTD is a bidirectional I/O port. PORTE is a bidirectional I/O port. PORTF is a bidirectional I/O port. PORTG is a bidirectional I/O port. CMOS = CMOS compatible input or output; Analog = Analog input ST = Schmitt Trigger input with CMOS levels; O = Output; I = Input; P = Power © 2007 Microchip Technology Inc. DS70175F-page 13 PIC24HJXXXGPX06/X08/X10 TABLE 1-1: Pin Name SCK1 SDI1 SDO1 SS1 SCK2 SDI2 SDO2 SS2 SCL1 SDA1 SCL2 SDA2 SOSCI SOSCO TMS TCK TDI TDO T1CK T2CK T3CK T4CK T5CK T6CK T7CK T8CK T9CK U1CTS U1RTS U1RX U1TX U2CTS U2RTS U2RX U2TX VDD VDDCORE VSS VREF+ VREFLegend: PINOUT I/O DESCRIPTIONS (CONTINUED) Pin Type I/O I O I/O I/O I O I/O I/O I/O I/O I/O I O I I I O I I I I I I I I I I O I O I O I O P P P I I Buffer Type ST ST — ST ST ST — ST ST ST ST ST Description Synchronous serial clock input/output for SPI1. SPI1 data in. SPI1 data out. SPI1 slave synchronization or frame pulse I/O. Synchronous serial clock input/output for SPI2. SPI2 data in. SPI2 data out. SPI2 slave synchronization or frame pulse I/O. Synchronous serial clock input/output for I2C1. Synchronous serial data input/output for I2C1. Synchronous serial clock input/output for I2C2. Synchronous serial data input/output for I2C2. ST/CMOS 32.768 kHz low-power oscillator crystal input; CMOS otherwise. — 32.768 kHz low-power oscillator crystal output. ST ST ST — ST ST ST ST ST ST ST ST ST ST — ST — ST — ST — — — — Analog Analog JTAG Test mode select pin. JTAG test clock input pin. JTAG test data input pin. JTAG test data output pin. Timer1 external clock input. Timer2 external clock input. Timer3 external clock input. Timer4 external clock input. Timer5 external clock input. Timer6 external clock input. Timer7 external clock input. Timer8 external clock input. Timer9 external clock input. UART1 clear to send. UART1 ready to send. UART1 receive. UART1 transmit. UART2 clear to send. UART2 ready to send. UART2 receive. UART2 transmit. Positive supply for peripheral logic and I/O pins. CPU logic filter capacitor connection. Ground reference for logic and I/O pins. Analog voltage reference (high) input. Analog voltage reference (low) input. CMOS = CMOS compatible input or output; Analog = Analog input ST = Schmitt Trigger input with CMOS levels; O = Output; I = Input; P = Power DS70175F-page 14 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 2.0 Note: CPU This data sheet summarizes the features of this group of PIC24HJXXXGPX06/X08/X10 devices. It is not intended to be a comprehensive reference source. To complement the information in this data sheet, refer to the “PIC24H Family Reference Manual”. Refer to the Microchip web site (www.microchip.com) for the latest PIC24H Family Reference Manual sections. 2.1 Data Addressing Overview The data space can be linearly addressed as 32K words or 64 Kbytes using an Address Generation Unit (AGU). The upper 32 Kbytes of the data space memory map can optionally be mapped into program space at any 16K program word boundary defined by the 8-bit Program Space Visibility Page (PSVPAG) register. The program to data space mapping feature lets any instruction access program space as if it were data space. The data space also includes 2 Kbytes of DMA RAM, which is primarily used for DMA data transfers, but may be used as general purpose RAM. The PIC24HJXXXGPX06/X08/X10 CPU module has a 16-bit (data) modified Harvard architecture with an enhanced instruction set and addressing modes. The CPU has a 24-bit instruction word with a variable length opcode field. The Program Counter (PC) is 23 bits wide and addresses up to 4M x 24 bits of user program memory space. The actual amount of program memory implemented varies by device. A single-cycle instruction prefetch mechanism is used to help maintain throughput and provides predictable execution. All instructions execute in a single cycle, with the exception of instructions that change the program flow, the double word move (MOV.D) instruction and the table instructions. Overhead-free, single-cycle program loop constructs are supported using the REPEAT instruction, which is interruptible at any point. The PIC24HJXXXGPX06/X08/X10 devices have sixteen, 16-bit working registers in the programmer’s model. Each of the working registers can serve as a data, address or address offset register. The 16th working register (W15) operates as a software Stack Pointer (SP) for interrupts and calls. The PIC24HJXXXGPX06/X08/X10 instruction set includes many addressing modes and is designed for optimum C compiler efficiency. For most instructions, the PIC24HJXXXGPX06/X08/X10 is capable of executing a data (or program data) memory read, a working register (data) read, a data memory write and a program (instruction) memory read per instruction cycle. As a result, three parameter instructions can be supported, allowing A + B = C operations to be executed in a single cycle. A block diagram of the CPU is shown in Figure 2-1, and the programmer’s model for the PIC24HJXXXGPX06/X08/X10 is shown in Figure 2-2. 2.2 Special MCU Features The PIC24HJXXXGPX06/X08/X10 features a 17-bit by 17-bit, single-cycle multiplier. The multiplier can perform signed, unsigned and mixed-sign multiplication. Using a 17-bit by 17-bit multiplier for 16-bit by 16-bit multiplication makes mixed-sign multiplication possible. The PIC24HJXXXGPX06/X08/X10 supports 16/16 and 32/16 integer divide operations. All divide instructions are iterative operations. They must be executed within a REPEAT loop, resulting in a total execution time of 19 instruction cycles. The divide operation can be interrupted during any of those 19 cycles without loss of data. A multi-bit data shifter is used to perform up to a 16-bit, left or right shift in a single cycle. © 2007 Microchip Technology Inc. DS70175F-page 15 PIC24HJXXXGPX06/X08/X10 FIGURE 2-1: PSV & Table Data Access Control Block Interrupt Controller 8 23 23 PCU PCH PCL Program Counter Loop Stack Control Control Logic Logic 16 X Data Bus PIC24HJXXXGPX06/X08/X10 CPU CORE BLOCK DIAGRAM 16 16 Data Latch X RAM Address Latch DMA RAM 16 23 16 Address Latch Address Generator Units DMA Controller Program Memory Address Bus Data Latch 24 ROM Latch 16 Literal Data 16 EA MUX Instruction Decode & Control Instruction Reg 17 x 17 Multiplier 16 Control Signals to Various Blocks Divide Support 16 x 16 W Register Array 16 16-bit ALU 16 To Peripheral Modules DS70175F-page 16 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 FIGURE 2-2: PIC24HJXXXGPX06/X08/X10 PROGRAMMER’S MODEL D15 W0/WREG W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W14/Frame Pointer W15/Stack Pointer SPLIM Stack Pointer Limit Register Working Registers DO Shadow D0 PUSH.S Shadow Legend PC22 0 TBLPAG 7 PSVPAG 0 Data Table Page Address PC0 0 Program Counter 7 Program Space Visibility Page Address 15 RCOUNT 0 REPEAT Loop Counter 15 CORCON 0 Core Configuration Register — — — — — — — DC IPL2 IPL1 IPL0 RA SRL N OV Z C STATUS Register SRH © 2007 Microchip Technology Inc. DS70175F-page 17 PIC24HJXXXGPX06/X08/X10 2.3 CPU Control Registers SR: CPU STATUS REGISTER U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — R/W-0 DC bit 8 R/W-0(2) IPL bit 7 Legend: C = Clear only bit S = Set only bit ‘1’ = Bit is set bit 15-9 bit 8 R = Readable bit W = Writable bit ‘0’ = Bit is cleared Unimplemented: Read as ‘0’ DC: MCU ALU Half Carry/Borrow bit 1 = A carry-out from the 4th low-order bit (for byte sized data) or 8th low-order bit (for word sized data) of the result occurred 0 = No carry-out from the 4th low-order bit (for byte sized data) or 8th low-order bit (for word sized data) of the result occurred IPL: CPU Interrupt Priority Level Status bits(2) 111 = CPU Interrupt Priority Level is 7 (15), user interrupts disabled 110 = CPU Interrupt Priority Level is 6 (14) 101 = CPU Interrupt Priority Level is 5 (13) 100 = CPU Interrupt Priority Level is 4 (12) 011 = CPU Interrupt Priority Level is 3 (11) 010 = CPU Interrupt Priority Level is 2 (10) 001 = CPU Interrupt Priority Level is 1 (9) 000 = CPU Interrupt Priority Level is 0 (8) RA: REPEAT Loop Active bit 1 = REPEAT loop in progress 0 = REPEAT loop not in progress N: MCU ALU Negative bit 1 = Result was negative 0 = Result was non-negative (zero or positive) OV: MCU ALU Overflow bit This bit is used for signed arithmetic (2’s complement). It indicates an overflow of the magnitude which causes the sign bit to change state. 1 = Overflow occurred for signed arithmetic (in this arithmetic operation) 0 = No overflow occurred Z: MCU ALU Zero bit 1 = An operation which affects the Z bit has set it at some time in the past 0 = The most recent operation which affects the Z bit has cleared it (i.e., a non-zero result) U = Unimplemented bit, read as ‘0’ -n = Value at POR x = Bit is unknown (2) REGISTER 2-1: U-0 — bit 15 R/W-0(1) R/W-0(2) R-0 RA R/W-0 N R/W-0 OV R/W-0 Z R/W-0 C bit 0 bit 7-5 bit 4 bit 3 bit 2 bit 1 Note 1: The IPL bits are concatenated with the IPL bit (CORCON) to form the CPU Interrupt Priority Level. The value in parentheses indicates the IPL if IPL = 1. User interrupts are disabled when IPL = 1. 2: The IPL Status bits are read only when NSTDIS = 1 (INTCON1). DS70175F-page 18 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 REGISTER 2-1: bit 0 SR: CPU STATUS REGISTER (CONTINUED) C: MCU ALU Carry/Borrow bit 1 = A carry-out from the Most Significant bit (MSb) of the result occurred 0 = No carry-out from the Most Significant bit of the result occurred Note 1: The IPL bits are concatenated with the IPL bit (CORCON) to form the CPU Interrupt Priority Level. The value in parentheses indicates the IPL if IPL = 1. User interrupts are disabled when IPL = 1. 2: The IPL Status bits are read only when NSTDIS = 1 (INTCON1). © 2007 Microchip Technology Inc. DS70175F-page 19 PIC24HJXXXGPX06/X08/X10 REGISTER 2-2: U-0 — bit 15 U-0 — bit 7 Legend: R = Readable bit 0’ = Bit is cleared bit 15-4 bit 3 C = Clear only bit W = Writable bit ‘x = Bit is unknown CORCON: CORE CONTROL REGISTER U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — U-0 — bit 8 U-0 — U-0 — U-0 — R/C-0 IPL3(1) R/W-0 PSV U-0 — U-0 — bit 0 -n = Value at POR ‘1’ = Bit is set U = Unimplemented bit, read as ‘0’ Unimplemented: Read as ‘0’ IPL3: CPU Interrupt Priority Level Status bit 3(1) 1 = CPU interrupt priority level is greater than 7 0 = CPU interrupt priority level is 7 or less bit 2 PSV: Program Space Visibility in Data Space Enable bit 1 = Program space visible in data space 0 = Program space not visible in data space bit 1-0 Unimplemented: Read as ‘0’ Note 1: The IPL3 bit is concatenated with the IPL bits (SR) to form the CPU interrupt priority level. DS70175F-page 20 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 2.4 Arithmetic Logic Unit (ALU) 2.4.3 MULTI-BIT DATA SHIFTER The PIC24HJXXXGPX06/X08/X10 ALU is 16 bits wide and is capable of addition, subtraction, bit shifts and logic operations. Unless otherwise mentioned, arithmetic operations are 2’s complement in nature. Depending on the operation, the ALU may affect the values of the Carry (C), Zero (Z), Negative (N), Overflow (OV) and Digit Carry (DC) Status bits in the SR register. The C and DC Status bits operate as Borrow and Digit Borrow bits, respectively, for subtraction operations. The ALU can perform 8-bit or 16-bit operations, depending on the mode of the instruction that is used. Data for the ALU operation can come from the W register array, or data memory, depending on the addressing mode of the instruction. Likewise, output data from the ALU can be written to the W register array or a data memory location. Refer to the “dsPIC30F/33F Programmer’s Reference Manual” (DS70157) for information on the SR bits affected by each instruction. The PIC24HJXXXGPX06/X08/X10 CPU incorporates hardware support for both multiplication and division. This includes a dedicated hardware multiplier and support hardware for 16-bit divisor division. The multi-bit data shifter is capable of performing up to 16-bit arithmetic or logic right shifts, or up to 16-bit left shifts in a single cycle. The source can be either a working register or a memory location. The shifter requires a signed binary value to determine both the magnitude (number of bits) and direction of the shift operation. A positive value shifts the operand right. A negative value shifts the operand left. A value of ‘0’ does not modify the operand. 2.4.1 MULTIPLIER Using the high-speed 17-bit x 17-bit multiplier, the ALU supports unsigned, signed or mixed-sign operation in several multiplication modes: 1. 2. 3. 4. 5. 6. 7. 16-bit x 16-bit signed 16-bit x 16-bit unsigned 16-bit signed x 5-bit (literal) unsigned 16-bit unsigned x 16-bit unsigned 16-bit unsigned x 5-bit (literal) unsigned 16-bit unsigned x 16-bit signed 8-bit unsigned x 8-bit unsigned 2.4.2 DIVIDER The divide block supports 32-bit/16-bit and 16-bit/16-bit signed and unsigned integer divide operations with the following data sizes: 1. 2. 3. 4. 32-bit signed/16-bit signed divide 32-bit unsigned/16-bit unsigned divide 16-bit signed/16-bit signed divide 16-bit unsigned/16-bit unsigned divide The quotient for all divide instructions ends up in W0 and the remainder in W1. Sixteen-bit signed and unsigned DIV instructions can specify any W register for both the 16-bit divisor (Wn) and any W register (aligned) pair (W(m + 1):Wm) for the 32-bit dividend. 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. © 2007 Microchip Technology Inc. DS70175F-page 21 PIC24HJXXXGPX06/X08/X10 NOTES: DS70175F-page 22 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 3.0 Note: MEMORY ORGANIZATION This data sheet summarizes the features of this group of PIC24HJXXXGPX06/X08/ X10 devices. It is not intended to be a comprehensive reference source. To complement the information in this data sheet, refer to the “PIC24H Family Reference Manual”. Refer to the Microchip web site (www.microchip.com) for the latest PIC24H Family Reference Manual sections. 3.1 Program Address Space The program address memory space of the PIC24HJXXXGPX06/X08/X10 devices is 4M instructions. The space is addressable by a 24-bit value derived from either the 23-bit Program Counter (PC) during program execution, or from table operation or data space remapping as described in Section 3.4 “Interfacing Program and Data Memory Spaces”. User access to the program memory space is restricted to the lower half of the address range (0x000000 to 0x7FFFFF). The exception is the use of TBLRD/TBLWT operations, which use TBLPAG to permit access to the Configuration bits and Device ID sections of the configuration memory space. Memory maps for the PIC24HJXXXGPX06/X08/X10 family of devices are shown in Figure 3-1. The PIC24HJXXXGPX06/X08/X10 architecture features separate program and data memory spaces and buses. This architecture also allows the direct access of program memory from the data space during code execution. © 2007 Microchip Technology Inc. DS70175F-page 23 PIC24HJXXXGPX06/X08/X10 FIGURE 3-1: PROGRAM MEMORY MAP FOR PIC24HJXXXGPX06/X08/X10 FAMILY DEVICES PIC24HJ64XXXXX GOTO Instruction Reset Address Interrupt Vector Table Reserved Alternate Vector Table User Memory Space User Program Flash Memory (22K instructions) PIC24HJ128XXXXX GOTO Instruction Reset Address Interrupt Vector Table Reserved Alternate Vector Table PIC24HJ256XXXXX GOTO Instruction Reset Address Interrupt Vector Table Reserved Alternate Vector Table 0x000000 0x000002 0x000004 0x0000FE 0x000100 0x000104 0x0001FE 0x000200 User Program Flash Memory (44K instructions) User Program Flash Memory (88K instructions) 0x00ABFE 0x00AC00 0x0157FE 0x015800 Unimplemented (Read ‘0’s) Unimplemented (Read ‘0’s) Unimplemented (Read ‘0’s) 0x7FFFFE 0x800000 0x02ABFE 0x02AC00 Reserved Configuration Memory Space Reserved Reserved Device Configuration Registers Device Configuration Registers Device Configuration Registers 0xF7FFFE 0xF80000 0xF80017 0xF80010 Reserved Reserved Reserved DEVID (2) DEVID (2) DEVID (2) 0xFEFFFE 0xFF0000 0xFFFFFE DS70175F-page 24 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 3.1.1 PROGRAM MEMORY ORGANIZATION 3.1.2 INTERRUPT AND TRAP VECTORS The program memory space is organized in wordaddressable blocks. Although it is treated as 24 bits wide, it is more appropriate to think of each address of the program memory as a lower and upper word, with the upper byte of the upper word being unimplemented. The lower word always has an even address, while the upper word has an odd address (Figure 3-2). Program memory addresses are always word-aligned on the lower word, and addresses are incremented or decremented by two during code execution. This arrangement also provides compatibility with data memory space addressing and makes it possible to access data in the program memory space. All PIC24HJXXXGPX06/X08/X10 devices reserve the addresses between 0x00000 and 0x000200 for hardcoded program execution vectors. A hardware Reset vector is provided to redirect code execution from the default value of the PC on device Reset to the actual start of code. A GOTO instruction is programmed by the user at 0x000000, with the actual address for the start of code at 0x000002. PIC24HJXXXGPX06/X08/X10 devices also have two interrupt vector tables, located from 0x000004 to 0x0000FF and 0x000100 to 0x0001FF. These vector tables allow each of the many device interrupt sources to be handled by separate Interrupt Service Routines (ISRs). A more detailed discussion of the interrupt vector tables is provided in Section 6.1 “Interrupt Vector Table”. FIGURE 3-2: msw Address 0x000001 0x000003 0x000005 0x000007 PROGRAM MEMORY ORGANIZATION most significant word 23 00000000 00000000 00000000 00000000 Program Memory ‘Phantom’ Byte (read as ‘0’) Instruction Width 16 least significant word 8 0 0x000000 0x000002 0x000004 0x000006 PC Address (lsw Address) © 2007 Microchip Technology Inc. DS70175F-page 25 PIC24HJXXXGPX06/X08/X10 3.2 Data Address Space The PIC24HJXXXGPX06/X08/X10 CPU has a separate 16-bit wide data memory space. The data space is accessed using separate Address Generation Units (AGUs) for read and write operations. Data memory maps of devices with different RAM sizes are shown in Figure 3-3 and Figure 3-4. All Effective Addresses (EAs) in the data memory space are 16 bits wide and point to bytes within the data space. This arrangement gives a data space address range of 64 Kbytes or 32K words. The lower half of the data memory space (that is, when EA = 0) is used for implemented memory addresses, while the upper half (EA = 1) is reserved for the Program Space Visibility area (see Section 3.4.3 “Reading Data From Program Memory Using Program Space Visibility”). PIC24HJXXXGPX06/X08/X10 devices implement up to 16 Kbytes of data memory. Should an EA point to a location outside of this area, an all-zero word or byte will be returned. All word accesses must be aligned to an even address. Misaligned word data fetches are not supported, so care must be taken when mixing byte and word operations, or translating from 8-bit MCU code. If a misaligned read or write is attempted, an address error trap is generated. If the error occurred on a read, the instruction underway is completed; if it occurred on a write, the instruction will be executed but the write does not occur. In either case, a trap is then executed, allowing the system and/or user to examine the machine state prior to execution of the address Fault. All byte loads into any W register are loaded into the Least Significant Byte. The Most Significant Byte (MSB) is not modified. A sign-extend instruction (SE) is provided to allow users to translate 8-bit signed data to 16-bit signed values. Alternatively, for 16-bit unsigned data, users can clear the Most Significant Byte of any W register by executing a zero-extend (ZE) instruction on the appropriate address. 3.2.1 DATA SPACE WIDTH 3.2.3 SFR SPACE The data memory space is organized in byte addressable, 16-bit wide blocks. Data is aligned in data memory and registers as 16-bit words, but all data space EAs resolve to bytes. The Least Significant Bytes of each word have even addresses, while the Most Significant Bytes have odd addresses. The first 2 Kbytes of the Near Data Space, from 0x0000 to 0x07FF, is primarily occupied by Special Function Registers (SFRs). These are used by the PIC24HJXXXGPX06/X08/X10 core and peripheral modules for controlling the operation of the device. SFRs are distributed among the modules that they control, and are generally grouped together by module. Much of the SFR space contains unused addresses; these are read as ‘0’. A complete listing of implemented SFRs, including their addresses, is shown in Table 3-1 through Table 3-31. Note: The actual set of peripheral features and interrupts varies by the device. Please refer to the corresponding device tables and pinout diagrams for device-specific information. 3.2.2 DATA MEMORY ORGANIZATION AND ALIGNMENT To maintain backward compatibility with PICmicro® MCU devices and improve data space memory usage efficiency, the PIC24HJXXXGPX06/X08/X10 instruction set supports both word and byte operations. As a consequence of byte accessibility, all effective address calculations are internally scaled to step through wordaligned memory. For example, the core recognizes that Post-Modified Register Indirect Addressing mode [Ws++] will result in a value of Ws + 1 for byte operations and Ws + 2 for word operations. Data byte reads will read the complete word that contains the byte, using the Least Significant bit (LSb) of any EA to determine which byte to select. The selected byte is placed onto the Least Significant Byte (LSB) of the data path. That is, data memory and registers are organized as two parallel byte-wide entities with shared (word) address decode but separate write lines. Data byte writes only write to the corresponding side of the array or register which matches the byte address. 3.2.4 NEAR DATA SPACE The 8-Kbyte area between 0x0000 and 0x1FFF is referred to as the Near Data Space. Locations in this space are directly addressable via a 13-bit absolute address field within all memory direct instructions. Additionally, the whole data space is addressable using MOV instructions, which support Memory Direct Addressing mode with a 16-bit address field, or by using Indirect Addressing mode using a working register as an Address Pointer. DS70175F-page 26 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 FIGURE 3-3: DATA MEMORY MAP FOR PIC24HJXXXGPX06/X08/X10 DEVICES WITH 8 KBYTES RAM MSB Address MSB 2 Kbyte SFR Space 0x0001 SFR Space 0x07FF 0x0801 0x07FE 0x0800 8 Kbyte Near Data Space LSB Address LSB 0x0000 16 bits 8 Kbyte SRAM Space 0x1FFF 0x2001 0x27FF 0x2801 X Data RAM (X) 0x1FFE 0x2000 DMA RAM 0x27FE 0x2800 0x8001 0x8000 Optionally Mapped into Program Memory X Data Unimplemented (X) 0xFFFF 0xFFFE © 2007 Microchip Technology Inc. DS70175F-page 27 PIC24HJXXXGPX06/X08/X10 FIGURE 3-4: DATA MEMORY MAP FOR PIC24HJXXXGPX06/X08/X10 DEVICES WITH 16 KBYTES RAM MSB Address MSB 2 Kbyte SFR Space 0x0001 SFR Space 0x07FF 0x0801 LSB Address LSB 0x0000 0x07FE 0x0800 8 Kbyte Near Data Space 16 bits 0x1FFF X Data RAM (X) 16 Kbyte SRAM Space 0x3FFF 0x4001 0x47FF 0x4801 DMA RAM 0x1FFE 0x3FFE 0x4000 0x47FE 0x4800 0x8001 0x8000 X Data Unimplemented (X) Optionally Mapped into Program Memory 0xFFFF 0xFFFE 3.2.5 DMA RAM Every PIC24HJXXXGPX06/X08/X10 device contains 2 Kbytes of dual ported DMA RAM located at the end of data space. Memory locations in the DMA RAM space are accessible simultaneously by the CPU and the DMA controller module. DMA RAM is utilized by the DMA controller to store data to be transferred to various peripherals using DMA, as well as data transferred from various peripherals using DMA. The DMA RAM can be accessed by the DMA controller without having to steal cycles from the CPU. When the CPU and the DMA controller attempt to concurrently write to the same DMA RAM location, the hardware ensures that the CPU is given precedence in accessing the DMA RAM location. Therefore, the DMA RAM provides a reliable means of transferring DMA data without ever having to stall the CPU. Note: DMA RAM can be used for general purpose data storage if the DMA function is not required in an application. DS70175F-page 28 © 2007 Microchip Technology Inc. © 2007 Microchip Technology Inc. DS70175F-page 29 TABLE 3-1: SFR Name WREG0 WREG1 WREG2 WREG3 WREG4 WREG5 WREG6 WREG7 WREG8 WREG9 WREG10 WREG11 WREG12 WREG13 WREG14 WREG15 SPLIM PCL PCH TBLPAG PSVPAG RCOUNT SR CORCON DISICNT BSRAM SSRAM Legend: SFR Addr 0000 0002 0004 0006 0008 000A 000C 000E 0010 0012 0014 0016 0018 001A 001C 001E 0020 002E 0030 0032 0034 0036 0042 0044 0052 0750 0752 CPU CORE REGISTERS MAP Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Working Register 0 Working Register 1 Working Register 2 Working Register 3 Working Register 4 Working Register 5 Working Register 6 Working Register 7 Working Register 8 Working Register 9 Working Register 10 Working Register 11 Working Register 12 Working Register 13 Working Register 14 Working Register 15 Stack Pointer Limit Register Program Counter Low Word Register — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — DC — — — — — — Program Counter High Byte Register Table Page Address Pointer Register Program Memory Visibility Page Address Pointer Register IPL — — — — — — RA — — — N IPL3 — — OV PSV IW_BSR IW_SSR Z — IR_BSR IR_SSR C — RL_BSR RL_SSR PIC24HJXXXGPX06/X08/X10 0000 0000 0000 0800 xxxx 0000 0000 0000 0000 xxxx 0000 0000 xxxx 0000 0000 Repeat Loop Counter Register Disable Interrupts Counter Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-2: SFR Name CNEN1 CNEN2 CNPU1 CNPU2 Legend: SFR Addr 0060 0062 0068 006A CHANGE NOTIFICATION REGISTER MAP Bit 15 CN15IE — — Bit 14 CN14IE — — Bit 13 CN13IE — — Bit 12 CN12IE — — Bit 11 CN11IE — — Bit 10 CN10IE — — Bit 9 CN9IE — — Bit 8 CN8IE — CN8PUE — Bit 7 CN7IE CN23IE CN7PUE Bit 6 CN6IE CN22IE CN6PUE Bit 5 CN5IE CN21IE CN5PUE Bit 4 CN4IE CN20IE CN4PUE Bit 3 CN3IE CN19IE CN3PUE Bit 2 CN2IE CN18IE CN2PUE Bit 1 CN1IE CN17IE CN1PUE Bit 0 CN0IE CN16IE CN0PUE All Resets 0000 0000 0000 0000 CN15PUE CN14PUE CN13PUE CN12PUE CN11PUE CN10PUE CN9PUE CN23PUE CN22PUE CN21PUE CN20PUE CN19PUE CN18PUE CN17PUE CN16PUE x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. DS70175F-page 30 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 3-3: SFR Name INTCON1 INTCON2 IFS0 IFS1 IFS2 IFS3 IFS4 IEC0 IEC1 IEC2 IEC3 IEC4 IPC0 IPC1 IPC2 IPC3 IPC4 IPC5 IPC6 IPC7 IPC8 IPC9 IPC10 IPC11 IPC12 IPC13 IPC14 IPC15 IPC16 IPC17 INTTREG Legend: SFR Addr 0080 0082 0084 0086 0088 008A 008C 0094 0096 0098 009A 009C 00A4 00A6 00A8 00AA 00AC 00AE 00B0 00B2 00B4 00B6 00B8 00BA 00BC 00BE 00C0 00C2 00C4 00C6 00E0 INTERRUPT CONTROLLER REGISTER MAP Bit 15 NSTDIS ALTIVT — U2TXIF T6IF — — — U2TXIE T6IE — — — — — — — — — — — — — — — — — — — — — — — — — — Bit 14 — DISI DMA1IF U2RXIF DMA4IF — — DMA1IE U2RXIE DMA4IE — — Bit 13 — — AD1IF INT2IF — DMA5IF — AD1IE INT2IE — DMA5IE — T1IP T2IP U1RXIP — CNIP IC8IP T4IP U2TXIP C1IP IC5IP OC7IP T6IP T8IP C2RXIP — — — C2TXIP — — — — — — Bit 12 — — U1TXIF T5IF OC8IF — — U1TXIE T5IE OC8IE — — Bit 11 — — U1RXIF T4IF OC7IF — — U1RXIE T4IE OC7IE — — — — — — — — — — — — — — — — — — — — — — — Bit 10 — — OC4IF OC6IF — — OC4IE OC6IE — — Bit 9 — — OC3IF OC5IF — — OC3IE OC5IE — — OC1IP OC2IP SPI1IP DMA1IP — IC7IP OC4IP U2RXIP C1RXIP IC4IP OC6IP DMA4IP MI2C2IP INT4IP — — U2EIP C1TXIP ILR — — — Bit 8 — — T3IF DMA2IF IC6IF C2IF — T3IE DMA2IE IC6IE C2IE — Bit 7 — — T2IF IC8IF IC5IF C2RXIF C2TXIF T2IE IC8IE IC5IE C2RXIE C2TXIE — — — — — — — — — — — — — — — — — — — — — Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 OSCFAIL INT1EP IC1IF MI2C1IF SPI2IF SI2C2IF U1EIF IC1IE SPI2IE SI2C2IE U1EIE INT0IP DMA0IP T3IP U1TXIP SI2C1IP INT1IP DMA2IP T5IP SPI2EIP DMA3IP IC6IP OC8IP T7IP T9IP C2IP — — — — DMA6IP — — Bit 0 — INT0EP INT0IF SI2C1IF SPI2EIF T7IF — INT0IE SPI2EIE T7IE — All Resets 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 4444 4444 4444 0444 0044 4444 4444 4444 4444 4444 4444 4404 4444 4444 0004 0040 4440 4444 0000 DIV0ERR DMACERR MATHERR ADDRERR STKERR — OC2IF IC7IF IC4IF INT4IF C1TXIF OC2IE IC7IE IC4IE INT4IE C1TXIE — IC2IF AD2IF IC3IF INT3IF DMA7IF IC2IE AD2IE IC3IE INT3IE DMA7IE IC1IP IC2IP SPI1EIP AD1IP MI2C1IP AD2IP OC3IP INT2IP SPI2IP IC3IP OC5IP — SI2C2IP INT3IP — DMA5IP U1EIP DMA7IP — — INT4EP DMA0IF INT1IF DMA3IF T9IF DMA6IF DMA0IE INT1IE DMA3IE T9IE DMA6IE INT3EP T1IF CNIF C1IF T8IF — T1IE CNIE C1IE T8IE — — — — — — — — — — — — — — — — — — — VECNUM INT2EP OC1IF — C1RXIF MI2C2IF U2EIF OC1IE — C1RXIE MI2C2IE U2EIE SPI1IF SPI1EIF SPI1IE SPI1EIE MI2C1IE SI2C1IE x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. © 2007 Microchip Technology Inc. DS70175F-page 31 TABLE 3-4: SFR Name TMR1 PR1 T1CON TMR2 TMR3 PR2 PR3 T2CON T3CON TMR4 TMR5HLD TMR5 PR4 PR5 T4CON T5CON TMR6 TMR7 PR6 PR7 T6CON T7CON TMR8 TMR9 PR8 PR9 T8CON T9CON Legend: SFR Addr 0100 0102 0104 0106 010A 010C 010E 0110 0112 0114 0116 0118 011A 011C 011E 0120 0122 0126 0128 012A 012C 012E 0130 0134 0136 0138 013A 013C TIMER REGISTER MAP Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx FFFF TGATE TCKPS — TSYNC TCS — 0000 xxxx xxxx xxxx FFFF FFFF TGATE TGATE TCKPS TCKPS T32 — — — TCS TCS — — 0000 0000 xxxx xxxx xxxx FFFF FFFF TGATE TGATE TCKPS TCKPS T32 — — — TCS TCS — — 0000 0000 xxxx xxxx xxxx FFFF FFFF TGATE TGATE TCKPS TCKPS T32 — — — TCS TCS — — 0000 0000 xxxx xxxx xxxx FFFF FFFF TGATE TGATE TCKPS TCKPS T32 — — — TCS TCS — — 0000 0000 Timer1 Register Period Register 1 TON — TSIDL — — — — — — Timer2 Register Timer3 Holding Register (for 32-bit timer operations only) Timer3 Register Period Register 2 Period Register 3 TON TON — — TSIDL TSIDL — — — — — — — — — — — — TMR3HLD 0108 Timer4 Register Timer5 Holding Register (for 32-bit operations only) Timer5 Register Period Register 4 Period Register 5 TON TON — — TSIDL TSIDL — — — — — — — — — — — — PIC24HJXXXGPX06/X08/X10 Timer6 Register Timer7 Holding Register (for 32-bit operations only) Timer7 Register Period Register 6 Period Register 7 TON TON — — TSIDL TSIDL — — — — — — — — — — — — TMR7HLD 0124 Timer8 Register Timer9 Holding Register (for 32-bit operations only) Timer9 Register Period Register 8 Period Register 9 TON TON — — TSIDL TSIDL — — — — — — — — — — — — TMR9HLD 0132 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. DS70175F-page 32 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 3-5: SFR Name IC1BUF IC1CON IC2BUF IC2CON IC3BUF IC3CON IC4BUF IC4CON IC5BUF IC5CON IC6BUF IC6CON IC7BUF IC7CON IC8BUF IC8CON Legend: SFR Addr 0140 0142 0144 0146 0148 014A 014C 014E 0150 0152 0154 0156 0158 015A 015C 015E INPUT CAPTURE REGISTER MAP Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx ICI ICI ICI ICI ICI ICI ICI ICI ICOV ICOV ICOV ICOV ICOV ICOV ICOV ICOV ICBNE ICBNE ICBNE ICBNE ICBNE ICBNE ICBNE ICBNE ICM ICM ICM ICM ICM ICM ICM ICM 0000 xxxx 0000 xxxx 0000 xxxx 0000 xxxx 0000 xxxx 0000 xxxx 0000 xxxx 0000 Input 1 Capture Register — — — — — — — — — — — — — — — — ICSIDL ICSIDL ICSIDL ICSIDL ICSIDL ICSIDL ICSIDL ICSIDL — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — ICTMR ICTMR ICTMR ICTMR ICTMR ICTMR ICTMR ICTMR Input 2 Capture Register Input 3 Capture Register Input 4 Capture Register Input 5 Capture Register Input 6 Capture Register Input 7 Capture Register Input 8 Capture Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. © 2007 Microchip Technology Inc. DS70175F-page 33 TABLE 3-6: SFR Name OC1RS OC1R OC1CON OC2RS OC2R OC2CON OC3RS OC3R OC3CON OC4RS OC4R OC4CON OC5RS OC5R OC5CON OC6RS OC6R OC6CON OC7RS OC7R OC7CON OC8RS OC8R OC8CON Legend: SFR Addr 0180 0182 0184 0186 0188 018A 018C 018E 0190 0192 0194 0196 0198 019A 019C 019E 01A0 01A2 01A4 01A6 01A8 01AA 01AC 01AE OUTPUT COMPARE REGISTER MAP Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 xxxx xxxx — OCFLT OCTSEL OCM 0000 Output Compare 1 Secondary Register Output Compare 1 Register — — OCSIDL — — — — — — — Output Compare 2 Secondary Register Output Compare 2 Register — — OCSIDL — — — — — — — Output Compare 3 Secondary Register Output Compare 3 Register — — OCSIDL — — — — — — — Output Compare 4 Secondary Register Output Compare 4 Register — — OCSIDL — — — — — — — Output Compare 5 Secondary Register Output Compare 5 Register — — OCSIDL — — — — — — — Output Compare 6 Secondary Register Output Compare 6 Register — — OCSIDL — — — — — — — Output Compare 7 Secondary Register Output Compare 7 Register — — OCSIDL — — — — — — — Output Compare 8 Secondary Register Output Compare 8 Register — — OCSIDL — — — — — — — PIC24HJXXXGPX06/X08/X10 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. DS70175F-page 34 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 3-7: SFR Name I2C1RCV I2C1TRN I2C1BRG I2C1ON I2C1STAT I2C1ADD I2C1MSK Legend: SFR Addr 0200 0202 0204 0206 0208 020A 020C I2C1 REGISTER MAP Bit 15 — — — I2CEN ACKSTAT — — Bit 14 — — — — TRSTAT — — Bit 13 — — — I2CSIDL — — — Bit 12 — — — SCLREL — — — Bit 11 — — — IPMIEN — — — Bit 10 — — — A10M BCL — — Bit 9 — — — DISSLW GCSTAT SMEN ADD10 GCEN IWCOL STREN I2COV Bit 8 — — ACKDT D_A Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets 0000 00FF 0000 PEN R_W RSEN RBF SEN TBF 1000 0000 0000 0000 Receive Register Transmit Register Baud Rate Generator Register ACKEN P RCEN S Address Register Address Mask Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-8: SFR Name I2C2RCV I2C2TRN I2C2BRG I2C2CON I2C2STAT I2C2ADD I2C2MSK Legend: SFR Addr 0210 0212 0214 0216 0218 021A 021C I2C2 REGISTER MAP Bit 15 — — — I2CEN ACKSTAT — — Bit 14 — — — — TRSTAT — — Bit 13 — — — I2CSIDL — — — Bit 12 — — — SCLREL — — — Bit 11 — — — IPMIEN — — — Bit 10 — — — A10M BCL — — Bit 9 — — — DISSLW GCSTAT SMEN ADD10 GCEN IWCOL STREN I2COV Bit 8 — — ACKDT D_A Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets 0000 00FF 0000 PEN R_W RSEN RBF SEN TBF 1000 0000 0000 0000 Receive Register Transmit Register Baud Rate Generator Register ACKEN P RCEN S Address Register Address Mask Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-9: SFR Name U1MODE U1STA U1TXREG U1RXREG U1BRG Legend: SFR Addr 0220 0222 0224 0226 0228 UART1 REGISTER MAP Bit 15 UARTEN UTXISEL1 — — Bit 14 — — — Bit 13 USIDL — — Bit 12 IREN — — — Bit 11 RTSMD UTXBRK — — Bit 10 — UTXEN — — Bit 9 UEN1 UTXBF — — Baud Rate Generator Prescaler Bit 8 UEN0 TRMT Bit 7 WAKE Bit 6 LPBACK Bit 5 ABAUD ADDEN Bit 4 URXINV RIDLE Bit 3 BRGH PERR Bit 2 Bit 1 Bit 0 STSEL URXDA All Resets 0000 0110 xxxx 0000 0000 PDSEL FERR OERR UTXINV UTXISEL0 URXISEL UART Transmit Register UART Receive Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. © 2007 Microchip Technology Inc. DS70175F-page 35 TABLE 3-10: SFR Name U2MODE U2STA U2TXREG U2RXREG U2BRG Legend: SFR Addr 0230 0232 0234 0236 0238 UART2 REGISTER MAP Bit 15 UARTEN UTXISEL1 — — Bit 14 — UTXINV — — Bit 13 USIDL UTXISEL0 — — Bit 12 IREN — — — Bit 11 RTSMD UTXBRK — — Bit 10 — UTXEN — — Bit 9 UEN1 UTXBF — — Baud Rate Generator Prescaler Bit 8 UEN0 TRMT Bit 7 WAKE Bit 6 LPBACK Bit 5 ABAUD ADDEN Bit 4 URXINV RIDLE Bit 3 BRGH PERR Bit 2 Bit 1 Bit 0 STSEL URXDA All Resets 0000 0110 xxxx 0000 0000 PDSEL FERR OERR URXISEL UART Transmit Register UART Receive Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-11: SFR Name SPI1STAT SPI1CON1 SPI1CON2 SPI1BUF Legend: SFR Addr 0240 0242 0244 0248 SPI1 REGISTER MAP Bit 15 SPIEN — FRMEN Bit 14 — — SPIFSD Bit 13 SPISIDL — FRMPOL Bit 12 — DISSCK — Bit 11 — DISSDO — Bit 10 — MODE16 — Bit 9 — SMP — Bit 8 — CKE — Bit 7 — SSEN — Bit 6 SPIROV CKP — Bit 5 — MSTEN — — Bit 4 — Bit 3 — SPRE — — Bit 2 — Bit 1 SPITBF FRMDLY Bit 0 SPIRBF — All Resets 0000 0000 0000 0000 PIC24HJXXXGPX06/X08/X10 PPRE SPI1 Transmit and Receive Buffer Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-12: SFR Name SPI2STAT SPI2CON1 SPI2CON2 SPI2BUF Legend: SFR Addr 0260 0262 0264 0268 SPI2 REGISTER MAP Bit 15 SPIEN — FRMEN Bit 14 — — SPIFSD Bit 13 SPISIDL — FRMPOL Bit 12 — DISSCK — Bit 11 — DISSDO — Bit 10 — MODE16 — Bit 9 — SMP — Bit 8 — CKE — Bit 7 — SSEN — Bit 6 SPIROV CKP — Bit 5 — MSTEN — — Bit 4 — Bit 3 — SPRE — — Bit 2 — Bit 1 SPITBF FRMDLY Bit 0 SPIRBF — All Resets 0000 0000 0000 0000 PPRE SPI2 Transmit and Receive Buffer Register x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. DS70175F-page 36 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 3-13: File Name ADC1BUF0 AD1CON1 AD1CON2 AD1CON3 AD1CHS123 AD1CHS0 AD1PCFGH AD1PCFGL AD1CSSH AD1CSSL AD1CON4 Reserved Legend: Addr 0300 0320 0322 0324 0326 0328 032A 032C 032E 0330 0332 0334033E ADC1 REGISTER MAP Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx SSRC BUFS — CH123S B PCFG24 PCFG8 CSS24 CSS8 — — — CH0NA PCFG23 PCFG7 CSS23 CSS7 — — PCFG9 CSS25 CSS9 — — — — — — PCFG22 PCFG6 CSS22 CSS6 — — — — PCFG21 PCFG5 CSS21 CSS5 — — PCFG20 PCFG4 CSS20 CSS4 — — PCFG3 CSS19 CSS3 — — — — — SIMSA M ASAM SAMP BUFM CH123NA CH0SA PCFG19 PCFG18 PCFG17 PCFG2 CSS18 CSS2 PCFG1 CSS17 CSS1 DMABL — — PCFG16 PCFG0 CSS16 CSS0 DONE ALTS CH123S A 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ADC Data Buffer 0 ADON — VCFG ADRC — CH0NB — — — — — — PCFG29 PCFG13 CSS29 CSS13 — — PCFG28 PCFG12 CSS28 CSS12 — — — — ADSIDL ADDMAB M — — — AD12B CSCNA SAMC CH123NB CH0SB PCFG27 PCFG26 PCFG25 PCFG11 PCFG10 CSS27 CSS11 — — CSS26 CSS10 — — FORM CHPS SMPI ADCS — PCFG31 PCFG30 PCFG15 PCFG14 CSS31 CSS15 — — CSS30 CSS14 — — x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-14: File Name ADC2BUF0 AD2CON1 AD2CON2 AD2CON3 AD2CHS123 AD2CHS0 Reserved AD2PCFGL Reserved AD2CSSL AD2CON4 Reserved Legend: Addr 0340 0360 0362 0364 0366 0368 036A 036C 036E 0370 0372 ADC2 REGISTER MAP Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx SSRC BUFS — CH123S B — PCFG8 — CSS8 — — — CH0NA — PCFG7 — CSS7 — — — — — — — PCFG6 — CSS6 — — — — — PCFG5 — CSS5 — — — — — PCFG4 — CSS4 — — — PCFG3 — CSS3 — — — — SIMSA M ASAM SAMP BUFM CH123NA CH0SA — PCFG2 — CSS2 — PCFG1 — CSS1 DMABL — — — PCFG0 — CSS0 DONE ALTS CH123SA 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 ADC Data Buffer 0 ADON — VCFG ADRC — CH0NB — — CSS15 — — — — — — — CSS14 — — — — — — PCFG13 — CSS13 — — — — — PCFG12 — CSS12 — — — — CSS11 — — — ADSIDL ADDMAB M — — — AD12B CSCNA SAMC CH123NB CH0SB — — CSS10 — — — PCFG9 — CSS9 — — PCFG11 PCFG10 FORM CHPS SMPI ADCS — PCFG15 PCFG14 0374037E x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. © 2007 Microchip Technology Inc. DS70175F-page 37 TABLE 3-15: File Name Addr DMA0CON 0380 DMA0REQ 0382 DMA0STA DMA0STB DMA0PAD DMA0CNT 0384 0386 0388 038A DMA REGISTER MAP Bit 15 CHEN FORCE Bit 14 SIZE — Bit 13 DIR — Bit 12 HALF — Bit 11 NULLW — Bit 10 — — Bit 9 — — Bit 8 — — Bit 7 — — STA STB PAD — CHEN FORCE — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB PAD — CHEN FORCE — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB PAD — CHEN FORCE — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB PAD — CHEN FORCE — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB PAD — CHEN FORCE — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB — CNT AMODE — IRQSEL — MODE — CNT AMODE — IRQSEL — MODE — CNT AMODE — IRQSEL — MODE — CNT AMODE — IRQSEL — MODE — CNT AMODE — IRQSEL — MODE Bit 6 — Bit 5 Bit 4 Bit 3 — IRQSEL Bit 2 — Bit 1 Bit 0 All Resets 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 AMODE MODE DMA1CON 038C DMA1REQ 038E DMA1STA DMA1STB DMA1PAD DMA1CNT 0390 0392 0394 0396 PIC24HJXXXGPX06/X08/X10 DMA2CON 0398 DMA2REQ 039A DMA2STA DMA2STB DMA2PAD DMA2CNT 039C 039E 03A0 03A2 DMA3CON 03A4 DMA3REQ 03A6 DMA3STA DMA3STB 03A8 03AA DMA3PAD 03AC DMA3CNT 03AE DMA4CON 03B0 DMA4REQ 03B2 DMA4STA DMA4STB DMA4PAD 03B4 03B6 03B8 DMA4CNT 03BA DMA5CON 03BC DMA5REQ 03BE DMA5STA DMA5STB Legend: 03C0 03C2 — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-15: File Name Addr DMA5PAD 03C4 DMA REGISTER MAP (CONTINUED) Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 PAD — CHEN — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB PAD — CHEN FORCE — SIZE — — DIR — — HALF — — NULLW — — — — — — — — — — STA STB PAD — — — — — — — — — — XWCOL7 PPST7 DSADR LSTCH PPST6 CNT XWCOL6 XWCOL5 PPST5 XWCOL4 PPST4 XWCOL3 PPST3 XWCOL2 PPST2 XWCOL1 XWCOL0 PPST1 PPST0 — CNT AMODE — IRQSEL — MODE — CNT AMODE — IRQSEL — MODE Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 DS70175F-page 38 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 DMA5CNT 03C6 DMA6CON 03C8 DMA6STA DMA6STB DMA6PAD 03CC 03CE 03D0 DMA6REQ 03CA FORCE DMA6CNT 03D2 DMA7CON 03D4 DMA7REQ 03D6 DMA7STA DMA7STB 03D8 03DA DMA7PAD 03DC DMA7CNT 03DE DMACS0 DMACS1 DSADR Legend: 03E2 03E4 — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. 03E0 PWCOL7 PWCOL6 PWCOL5 PWCOL4 PWCOL3 PWCOL2 PWCOL1 PWCOL0 TABLE 3-16: File Name C1CTRL1 C1CTRL2 C1VEC C1FCTRL C1FIFO C1INTF C1INTE C1EC C1CFG1 C1CFG2 C1FEN1 Addr 0400 0402 0404 0406 0408 040A 040C 040E 0410 0412 ECAN1 REGISTER MAP WHEN C1CTRL1.WIN = 0 OR 1 Bit 15 — — — — — — — — Bit 14 — — — DMABS — — — — WAKFIL TXBO — — — TXBP — — — Bit 13 CSIDL — — — — FBP RXBP — — — F5MSK F13MSK TXWAR — — RXWAR — — SEG2PH FLTEN9 FLTEN8 F4MSK F12MSK EWARN — — Bit 12 ABAT — Bit 11 CANCKS — — FILHIT — — — Bit 10 Bit 9 REQOP — — — — — — IVRIF IVRIE — — WAKIF WAKIE ERRIF ERRIE — — — FIFOIF FIFOIE Bit 8 Bit 7 Bit 6 OPMODE — — Bit 5 Bit 4 — Bit 3 CANCAP ICODE FSA FNRB RBOVIF RBOVIE RBIF RBIE TBIF TBIE Bit 2 — Bit 1 — Bit 0 WIN All Resets 0480 0000 0000 0000 0000 0000 0000 0000 0000 PRSEG FLTEN2 FLTEN1 FLTEN0 F1MSK F9MSK F0MSK F8MSK 0000 0000 0000 0000 DNCNT TERRCNT SJW SEG2PHTS FLTEN7 SAM FLTEN6 RERRCNT BRP SEG1PH FLTEN5 FLTEN4 FLTEN3 F2MSK F10MSK 0414 FLTEN15 FLTEN14 FLTEN13 FLTEN12 FLTEN11 FLTEN10 F7MSK F15MSK F6MSK F14MSK C1FMSKSEL1 0418 C1FMSKSEL2 041A Legend: F3MSK F11MSK — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. © 2007 Microchip Technology Inc. DS70175F-page 39 TABLE 3-17: File Name Addr 0400041E C1RXFUL1 C1RXFUL2 C1RXOVF1 C1RXOVF2 ECAN1 REGISTER MAP WHEN C1CTRL1.WIN = 0 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets See definition when WIN = x RXFUL8 RXOVF8 RXFUL7 RXOVF7 TXEN0 TXEN2 TXEN4 TXEN6 RXFUL6 RXOVF6 TX ABAT0 TX ABAT2 TX ABAT4 TX ABAT6 RXFUL5 RXOVF5 TX LARB0 TX LARB2 TX LARB4 TX LARB6 RXFUL4 RXOVF4 TX ERR0 TX ERR2 TX ERR4 TX ERR6 RXFUL3 RXOVF3 TX REQ0 TX REQ2 TX REQ4 TX REQ6 RXFUL2 RXOVF2 RTREN0 RTREN2 RTREN4 RTREN6 RXFUL1 RXOVF1 RXFUL0 RXOVF0 0000 0000 0000 0000 0000 0000 0000 xxxx xxxx xxxx 0420 RXFUL15 RXFUL14 RXFUL13 RXFUL12 RXFUL11 RXFUL10 RXFUL9 0428 RXOVF15 RXOVF14 RXOVF13 RXOVF12 RXOVF11 RXOVF10 RXOVF9 TXEN1 TXEN3 TXEN5 TXEN7 TX ABT1 TX ABT3 TX ABT5 TX ABT7 TX LARB1 TX LARB3 TX LARB5 TX LARB7 TX ERR1 TX ERR3 TX ERR5 TX ERR7 TX REQ1 TX REQ3 TX REQ5 TX REQ7 RTREN1 RTREN3 RTREN5 RTREN7 0422 RXFUL31 RXFUL30 RXFUL29 RXFUL28 RXFUL27 RXFUL26 RXFUL25 RXFUL24 RXFUL23 RXFUL22 RXFUL21 RXFUL20 RXFUL19 RXFUL18 RXFUL17 RXFUL16 042A RXOVF31 RXOVF30 RXOVF29 RXOVF28 RXOVF27 RXOVF26 RXOVF25 RXOVF24 RXOVF23 RXOVF22 RXOVF21 RXOVF20 RXOVF19 RXOVF18 RXOVF17 RXOVF16 TX1PRI TX3PRI TX5PRI TX7PRI TX0PRI TX2PRI TX4PRI TX6PRI C1TR01CON 0430 C1TR23CON 0432 C1TR45CON 0434 C1TR67CON 0436 C1RXD C1TXD Legend: 0440 0442 PIC24HJXXXGPX06/X08/X10 Recieved Data Word Transmit Data Word x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-18: File Name ECAN1 REGISTER MAP WHEN C1CTRL1.WIN = 1 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets Addr 0400041E See definition when WIN = x F3BP F7BP F11BP F15BP SID EID SID EID SID EID SID EID SID SID SID SID SID F2BP F6BP F10BP F14BP F1BP F5BP F9BP F13BP SID — — — — — MIDE MIDE MIDE EXIDE EXIDE EID — — — — EID EID EID EID EID EID EID F0BP F4BP F8BP F12BP — EID 0000 0000 0000 0000 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx C1BUFPNT1 C1BUFPNT2 C1BUFPNT3 C1BUFPNT4 C1RXM0SID C1RXM0EID C1RXM1SID C1RXM1EID C1RXM2SID C1RXM2EID C1RXF0SID C1RXF0EID C1RXF1SID Legend: 0420 0422 0424 0426 0430 0432 0434 0436 0438 043A 0440 0442 0444 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-18: File Name C1RXF1EID C1RXF2SID C1RXF2EID C1RXF3SID C1RXF3EID C1RXF4SID C1RXF4EID C1RXF5SID C1RXF5EID C1RXF6SID C1RXF6EID C1RXF7SID C1RXF7EID C1RXF8SID C1RXF8EID C1RXF9SID C1RXF9EID C1RXF10SID C1RXF10EID C1RXF11SID C1RXF11EID C1RXF12SID C1RXF12EID C1RXF13SID C1RXF13EID C1RXF14SID ECAN1 REGISTER MAP WHEN C1CTRL1.WIN = 1 (CONTINUED) Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx — — — — — — — — — — — — — — EID EID EID EID EID EID EID EID EID EID EID EID EID EID xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx DS70175F-page 40 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 Addr 0446 0448 044A 044C 044E 0450 0452 0454 0456 0458 045A 045C 045E 0460 0462 0464 0466 0468 046A 046C 046E 0470 0472 0474 0476 0478 047A 047C 047E EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID SID SID SID SID SID SID SID SID SID SID SID SID SID EID — — — — — — — — — — — — — — EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EID EID EID EID EID EID EID EID EID EID EID EID EID EID C1RXF14EID C1RXF15SID C1RXF15EID Legend: x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. © 2007 Microchip Technology Inc. DS70175F-page 41 TABLE 3-19: File Name C2CTRL1 C2CTRL2 C2VEC C2FCTRL C2FIFO C2INTF C2INTE C2EC C2CFG1 C2CFG2 C2FEN1 C2FMSKSEL1 C2FMSKSEL2 Legend: Addr 0500 0502 0504 0506 0508 050A 050C 050E 0510 0512 0514 0518 051A ECAN2 REGISTER MAP WHEN C2CTRL1.WIN = 0 OR 1 Bit 15 — — — — — — — — FLTEN15 Bit 14 — — — DMABS — — — — WAKFIL FLTEN14 TXBO — — — FLTEN13 TXBP — — — FLTEN12 Bit 13 CSIDL — — — — FBP RXBP — — — FLTEN11 F5MSK F13MSK TXWAR — — RXWAR EWARN — — SEG2PH FLTEN10 FLTEN9 FLTEN8 F4MSK F12MSK — — Bit 12 ABAT — Bit 11 CANCKS — — FILHIT — — — Bit 10 Bit 9 REQOP — — — — — — IVRIF IVRIE — — WAKIF WAKIE ERRIF ERRIE — — — FIFOIF FIFOIE Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 — — Bit 3 CANCAP ICODE FSA FNRB RBOVIF RBOVIE RBIF RBIE TBIF TBIE Bit 2 — Bit 1 — Bit 0 WIN All Resets 0480 0000 0000 0000 0000 0000 0000 0000 0000 PRSEG FLTEN2 FLTEN1 FLTEN0 F1MSK F9MSK F0MSK F8MSK 0000 0000 OPMODE — DNCNT TERRCNT SJW SEG2PHTS FLTEN7 SAM RERRCNT BRP SEG1PH F2MSK F10MSK FLTEN6 FLTEN5 FLTEN4 FLTEN3 F7MSK F15MSK F6MSK F14MSK F3MSK F11MSK PIC24HJXXXGPX06/X08/X10 0000 0000 — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-20: File Name Addr 0500051E C2RXFUL1 C2RXFUL2 C2RXOVF1 C2RXOVF2 ECAN2 REGISTER MAP WHEN C2CTRL1.WIN = 0 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets See definition when WIN = x RXFUL9 RXFUL8 RXFUL7 RXFUL6 RXOVF6 TX ABAT0 TX ABAT2 TX ABAT4 TX ABAT6 RXFUL5 RXOVF5 TX LARB0 TX LARB2 TX LARB4 TX LARB6 RXFUL4 RXOVF4 TX ERR0 TX ERR2 TX ERR4 TX ERR6 RXFUL3 RXOVF3 TX REQ0 TX REQ2 TX REQ4 TX REQ6 RXFUL2 RXOVF2 RTREN0 RTREN2 RTREN4 RTREN6 RXFUL1 RXOVF1 RXFUL0 RXOVF0 0000 0000 0000 0000 0000 0000 0000 xxxx xxxx xxxx 0520 RXFUL15 RXFUL14 RXFUL13 RXFUL12 RXFUL11 RXFUL10 0522 RXFUL31 RXFUL30 RXFUL29 RXFUL28 RXFUL27 RXFUL26 RXFUL25 RXFUL24 RXFUL23 RXFUL22 RXFUL21 RXFUL20 RXFUL19 RXFUL18 RXFUL17 RXFUL16 0528 RXOVF15 RXOVF14 RXOVF13 RXOVF12 RXOVF11 RXOVF10 RXOVF09 RXOVF08 RXOVF7 TXEN1 TXEN3 TXEN5 TXEN7 TX ABAT1 TX ABAT3 TX ABAT5 TX ABAT7 TX LARB1 TX LARB3 TX LARB5 TX LARB7 TX ERR1 TX ERR3 TX ERR5 TX ERR7 TX REQ1 TX REQ3 TX REQ5 TX REQ7 RTREN1 RTREN3 RTREN5 RTREN7 TX1PRI TX3PRI TX5PRI TX7PRI TXEN0 TXEN2 TXEN4 TXEN6 052A RXOVF31 RXOVF30 RXOVF29 RXOVF28 RXOVF27 RXOVF26 RXOVF25 RXOVF24 RXOVF23 RXOVF22 RXOVF21 RXOVF20 RXOVF19 RXOVF18 RXOVF17 RXOVF16 TX0PRI TX2PRI TX4PRI TX6PRI C2TR01CON 0530 C2TR23CON 0532 C2TR45CON 0534 C2TR67CON 0536 C2RXD C2TXD Legend: 0540 0542 Recieved Data Word Transmit Data Word x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. DS70175F-page 42 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 3-21: File Name ECAN2 REGISTER MAP WHEN C2CTRL1.WIN = 1 Addr 0500051E Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets See definition when WIN = x F3BP F7BP F12BP F15BP SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID EID SID SID SID SID SID SID SID SID SID SID SID SID SID SID SID F2BP F6BP F10BP F14BP F1BP F5BP F9BP F13BP SID — — — — — — — — — — — — — — — MIDE MIDE MIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EXIDE EID — — — — — — — — — — — — — — EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID EID F0BP F4BP F8BP F12BP — EID 0000 0000 0000 0000 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx C2BUFPNT1 C2BUFPNT2 C2BUFPNT3 C2BUFPNT4 C2RXM0SID C2RXM0EID C2RXM1SID C2RXM1EID C2RXM2SID C2RXM2EID C2RXF0SID C2RXF0EID C2RXF1SID C2RXF1EID C2RXF2SID C2RXF2EID C2RXF3SID C2RXF3EID C2RXF4SID C2RXF4EID C2RXF5SID C2RXF5EID C2RXF6SID C2RXF6EID C2RXF7SID C2RXF7EID C2RXF8SID C2RXF8EID C2RXF9SID C2RXF9EID C2RXF10SID C2RXF10EID C2RXF11SID Legend: 0520 0522 0524 0526 0530 0532 0534 0536 0538 053A 0540 0542 0544 0546 0548 054A 054C 054E 0550 0552 0554 0556 0558 055A 055C 055E 0560 0562 0564 0566 0568 056A 056C x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. TABLE 3-21: File Name C2RXF11EID C2RXF12SID C2RXF12EID C2RXF13SID C2RXF13EID C2RXF14SID C2RXF14EID C2RXF15SID C2RXF15EID Legend: ECAN2 REGISTER MAP WHEN C2CTRL1.WIN = 1 (CONTINUED) Addr 056E 0570 0572 0574 0576 0578 057A 057C 057E Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 All Resets xxxx — — — — EID EID EID EID xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx © 2007 Microchip Technology Inc. DS70175F-page 43 EID SID EID SID EID SID EID SID EID SID SID SID SID EID — — — — EXIDE EXIDE EXIDE EXIDE EID EID EID EID x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. PIC24HJXXXGPX06/X08/X10 TABLE 3-22: File Name TRISA PORTA LATA ODCA(2) Legend: Note 1: Addr 02C0 02C2 02C4 06C0 PORTA REGISTER MAP(1) Bit 15 TRISA15 RA15 LATA15 ODCA15 Bit 14 TRISA14 RA14 LATA14 ODCA14 Bit 13 TRISA13 RA13 LATA13 ODCA13 Bit 12 TRISA12 RA12 LATA12 ODCA12 Bit 11 — — — — Bit 10 TRISA10 RA10 LATA10 — Bit 9 TRISA9 RA9 LATA9 — Bit 8 — — — — Bit 7 TRISA7 RA7 LATA7 — Bit 6 TRISA6 RA6 LATA6 — Bit 5 TRISA5 RA5 LATA5 ODCA5 Bit 4 TRISA4 RA4 LATA4 ODCA4 Bit 3 TRISA3 RA3 LATA3 ODCA3 Bit 2 TRISA2 RA2 LATA2 ODCA2 Bit 1 TRISA1 RA1 LATA1 ODCA1 Bit 0 TRISA0 RA0 LATA0 ODCA0 All Resets D6C0 xxxx xxxx xxxx DS70175F-page 44 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. TABLE 3-23: File Name TRISB PORTB LATB Legend: Note 1: Addr 02C6 02C8 02CA PORTB REGISTER MAP(1) Bit 15 TRISB15 RB15 LATB15 Bit 14 TRISB14 RB14 LATB14 Bit 13 TRISB13 RB13 LATB13 Bit 12 TRISB12 RB12 LATB12 Bit 11 TRISB11 RB11 LATB11 Bit 10 TRISB10 RB10 LATB10 Bit 9 TRISB9 RB9 LATB9 Bit 8 TRISB8 RB8 LATB8 Bit 7 TRISB7 RB7 LATB7 Bit 6 TRISB6 RB6 LATB6 Bit 5 TRISB5 RB5 LATB5 Bit 4 TRISB4 RB4 LATB4 Bit 3 TRISB3 RB3 LATB3 Bit 2 TRISB2 RB2 LATB2 Bit 1 TRISB1 RB1 LATB1 Bit 0 TRISB0 RB0 LATB0 All Resets FFFF xxxx xxxx x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. TABLE 3-24: File Name TRISC PORTC LATC Legend: Note 1: Addr 02CC 02CE 02D0 PORTC REGISTER MAP(1) Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 — — — Bit 10 — — — Bit 9 — — — Bit 8 — — — Bit 7 — — — Bit 6 — — — Bit 5 — — — Bit 4 TRISC4 RC4 LATC4 Bit 3 TRISC3 RC3 LATC3 Bit 2 TRISC2 RC2 LATC2 Bit 1 TRISC1 RC1 LATC1 Bit 0 — — — All Resets F01E xxxx xxxx TRISC15 TRISC14 TRISC13 TRISC12 RC15 LATC15 RC14 LATC14 RC13 LATC13 RC12 LATC12 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. TABLE 3-25: File Name TRISD PORTD LATD ODCD(2) Legend: Note 1: Addr 02D2 02D4 02D6 06D2 PORTD REGISTER MAP(1) Bit 15 TRISD15 RD15 LATD15 ODCD15 Bit 14 TRISD14 RD14 LATD14 ODCD14 Bit 13 TRISD13 RD13 LATD13 ODCD13 Bit 12 TRISD12 RD12 LATD12 ODCD12 Bit 11 TRISD11 RD11 LATD11 ODCD11 Bit 10 TRISD10 RD10 LATD10 ODCD10 Bit 9 TRISD9 RD9 LATD9 ODCD9 Bit 8 TRISD8 RD8 LATD8 ODCD8 Bit 7 TRISD7 RD7 LATD7 ODCD7 Bit 6 TRISD6 RD6 LATD6 ODCD6 Bit 5 TRISD5 RD5 LATD5 ODCD5 Bit 4 TRISD4 RD4 LATD4 ODCD4 Bit 3 TRISD3 RD3 LATD3 ODCD3 Bit 2 TRISD2 RD2 LATD2 ODCD2 Bit 1 TRISD1 RD1 LATD1 ODCD1 Bit 0 TRISD0 RD0 LATD0 ODCD0 All Resets FFFF xxxx xxxx xxxx x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. TABLE 3-26: File Name TRISE PORTE LATE Legend: Note 1: Addr 02D8 02DA 02DC PORTE REGISTER MAP(1) Bit 15 — — — Bit 14 — — — Bit 13 — — — Bit 12 — — — Bit 11 — — — Bit 10 — — — Bit 9 — — — Bit 8 — — — Bit 7 TRISE7 RE7 LATE7 Bit 6 TRISE6 RE6 LATE6 Bit 5 TRISE5 RE5 LATE5 Bit 4 TRISE4 RE4 LATE4 Bit 3 TRISE3 RE3 LATE3 Bit 2 TRISE2 RE2 LATE2 Bit 1 TRISE1 RE1 LATE1 Bit 0 TRISE0 RE0 LATE0 All Resets 03FF xxxx xxxx © 2007 Microchip Technology Inc. DS70175F-page 45 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. TABLE 3-27: File Name TRISF PORTF LATF ODCF(2) Legend: Note 1: Addr 02DE 02E0 02E2 06DE PORTF REGISTER MAP(1) Bit 15 — — — — Bit 14 — — — — Bit 13 TRISF13 RF13 LATF13 ODCF13 Bit 12 TRISF12 RF12 LATF12 ODCF12 Bit 11 — — — — Bit 10 — — — — Bit 9 — — — — Bit 8 TRISF8 RF8 LATF8 ODCF8 Bit 7 TRISF7 RF7 LATF7 ODCF7 Bit 6 TRISF6 RF6 LATF6 ODCF6 Bit 5 TRISF5 RF5 LATF5 ODCF5 Bit 4 TRISF4 RF4 LATF4 ODCF4 Bit 3 TRISF3 RF3 LATF3 ODCF3 Bit 2 TRISF2 RF2 LATF2 ODCF2 Bit 1 TRISF1 RF1 LATF1 ODCF1 Bit 0 TRISF0 RF0 LATF0 ODCF0 All Resets 31FF xxxx xxxx xxxx PIC24HJXXXGPX06/X08/X10 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. TABLE 3-28: File Name TRISG PORTG LATG ODCG(2) Legend: Note 1: Addr 02E4 02E6 02E8 06E4 PORTG REGISTER MAP(1) Bit 15 TRISG15 RG15 LATG15 ODCG15 Bit 14 TRISG14 RG14 LATG14 ODCG14 Bit 13 TRISG13 RG13 LATG13 ODCG13 Bit 12 TRISG12 RG12 LATG12 ODCG12 Bit 11 — — — — Bit 10 — — — — Bit 9 TRISG9 RG9 LATG9 ODCG9 Bit 8 TRISG8 RG8 LATG8 ODCG8 Bit 7 TRISG7 RG7 LATG7 ODCG7 Bit 6 TRISG6 RG6 LATG6 ODCG6 Bit 5 — — — — Bit 4 — — — — Bit 3 TRISG3 RG3 LATG3 ODCG3 Bit 2 TRISG2 RG2 LATG2 ODCG2 Bit 1 TRISG1 RG1 LATG1 ODCG1 Bit 0 TRISG0 RG0 LATG0 ODCG0 All Resets F3CF xxxx xxxx xxxx x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal for PinHigh devices. The actual set of I/O port pins varies from one device to another. Please refer to the corresponding pinout diagrams. DS70175F-page 46 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 3-29: File Name RCON OSCCON CLKDIV PLLFBD OSCTUN Legend: Note 1: 2: Addr 0740 0742 0744 0746 0748 SYSTEM CONTROL REGISTER MAP Bit 15 TRAPR — ROI — — — — Bit 14 IOPUWR Bit 13 — COSC DOZE — — — — Bit 12 — Bit 11 — — DOZEN — — — — Bit 10 — Bit 9 — NOSC FRCDIV — — — — — Bit 8 VREGS Bit 7 EXTR CLKLOCK Bit 6 SWR — Bit 5 SWDTEN LOCK — PLLDIV TUN Bit 4 WDTO — Bit 3 SLEEP CF Bit 2 IDLE — PLLPRE Bit 1 BOR LPOSCEN Bit 0 POR OSWEN All Resets xxxx(1) 0300(2) 0040 0030 0000 PLLPOST x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. RCON register Reset values dependent on type of Reset. OSCCON register Reset values dependent on the FOSC Configuration bits and by type of Reset. TABLE 3-30: File Name NVMCON NVMKEY Legend: Note 1: Addr 0760 0766 NVM REGISTER MAP Bit 15 WR — Bit 14 WREN — Bit 13 WRERR — Bit 12 — — Bit 11 — — Bit 10 — — Bit 9 — — Bit 8 — — Bit 7 — Bit 6 ERASE Bit 5 — Bit 4 — NVMKEY Bit 3 Bit 2 Bit 1 Bit 0 All Resets 0000(1) 0000 NVMOP x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. Reset value shown is for POR only. Value on other Reset states is dependent on the state of memory write or erase operations at the time of Reset. TABLE 3-31: File Name PMD1 PMD2 PMD3 Legend: Addr 0770 0772 0774 PMD REGISTER MAP Bit 15 T5MD IC8MD T9MD Bit 14 T4MD IC7MD T8MD Bit 13 T3MD IC6MD T7MD Bit 12 T2MD IC5MD T6MD Bit 11 T1MD IC4MD — Bit 10 — IC3MD — Bit 9 — IC2MD — Bit 8 — IC1MD — Bit 7 I2C1MD OC8MD — Bit 6 U2MD OC7MD — Bit 5 U1MD OC6MD — Bit 4 SPI2MD OC5MD — Bit 3 SPI1MD OC4MD — Bit 2 C2MD OC3MD — Bit 1 C1MD OC2MD I2C2MD Bit 0 AD1MD OC1MD AD2MD All Resets 0000 0000 0000 x = unknown value on Reset, — = unimplemented, read as ‘0’. Reset values are shown in hexadecimal. PIC24HJXXXGPX06/X08/X10 3.2.6 SOFTWARE STACK 3.2.7 DATA RAM PROTECTION FEATURE In addition to its use as a working register, the W15 register in the PIC24HJXXXGPX06/X08/X10 devices is also used as a software Stack Pointer. The Stack Pointer always points to the first available free word and grows from lower to higher addresses. It pre-decrements for stack pops and post-increments for stack pushes, as shown in Figure 3-5. For a PC push during any CALL instruction, the MSB of the PC is zeroextended before the push, ensuring that the MSB is always clear. Note: A PC push during exception processing concatenates the SRL register to the MSB of the PC prior to the push. The PIC24H product family supports Data RAM protection features that enable segments of RAM to be protected when used in conjunction with Boot and Secure Code Segment Security. BSRAM (Secure RAM segment for BS) is accessible only from the Boot Segment Flash code, when enabled. SSRAM (Secure RAM segment for RAM) is accessible only from the Secure Segment Flash code, when enabled. See Table 3-1 for an overview of the BSRAM and SSRAM SFRs. 3.3 Instruction Addressing Modes The Stack Pointer Limit register (SPLIM) associated with the Stack Pointer sets an upper address boundary for the stack. SPLIM is uninitialized at Reset. As is the case for the Stack Pointer, SPLIM is forced to ‘0’ because all stack operations must be word-aligned. Whenever an EA is generated using W15 as a source or destination pointer, the resulting address is compared with the value in SPLIM. If the contents of the Stack Pointer (W15) and the SPLIM register are equal and a push operation is performed, a stack error trap will not occur. The stack error trap will occur on a subsequent push operation. Thus, for example, if it is desirable to cause a stack error trap when the stack grows beyond address 0x2000 in RAM, initialize the SPLIM with the value 0x1FFE. Similarly, a Stack Pointer underflow (stack error) trap is generated when the Stack Pointer address is found to be less than 0x0800. This prevents the stack from interfering with the Special Function Register (SFR) space. A write to the SPLIM register should not be immediately followed by an indirect read operation using W15. The addressing modes in Table 3-32 form the basis of the addressing modes optimized to support the specific features of individual instructions. The addressing modes provided in the MAC class of instructions are somewhat different from those in the other instruction types. 3.3.1 FILE REGISTER INSTRUCTIONS Most file register instructions use a 13-bit address field (f) to directly address data present in the first 8192 bytes of data memory (Near Data Space). Most file register instructions employ a working register, W0, which is denoted as WREG in these instructions. The destination is typically either the same file register or WREG (with the exception of the MUL instruction), which writes the result to a register or register pair. The MOV instruction allows additional flexibility and can access the entire data space. 3.3.2 MCU INSTRUCTIONS The 3-operand MCU instructions are of the form: Operand 3 = Operand 1 Operand 2 where Operand 1 is always a working register (i.e., the addressing mode can only be Register Direct) which is referred to as Wb. Operand 2 can be a W register, fetched from data memory, or a 5-bit literal. The result location can be either a W register or a data memory location. The following addressing modes are supported by MCU instructions: • • • • • Register Direct Register Indirect Register Indirect Post-Modified Register Indirect Pre-Modified 5-bit or 10-bit Literal Note: Not all instructions support all the addressing modes given above. Individual instructions may support different subsets of these addressing modes. FIGURE 3-5: 0x0000 15 CALL STACK FRAME 0 Stack Grows Towards Higher Address PC 000000000 PC W15 (before CALL) W15 (after CALL) POP : [--W15] PUSH : [W15++] © 2007 Microchip Technology Inc. DS70175F-page 47 PIC24HJXXXGPX06/X08/X10 TABLE 3-32: FUNDAMENTAL ADDRESSING MODES SUPPORTED Description The address of the file register is specified explicitly. The contents of a register are accessed directly. The contents of Wn forms the EA. The contents of Wn forms the EA. Wn is post-modified (incremented or decremented) by a constant value. Wn is pre-modified (incremented or decremented) by a signed constant value to form the EA. The sum of Wn and a literal forms the EA. Addressing Mode File Register Direct Register Direct Register Indirect Register Indirect Post-Modified Register Indirect Pre-Modified Register Indirect with Register Offset The sum of Wn and Wb forms the EA. Register Indirect with Literal Offset 3.3.3 MOVE INSTRUCTIONS 3.4 Move instructions provide a greater degree of addressing flexibility than other instructions. In addition to the Addressing modes supported by most MCU instructions, move instructions also support Register Indirect with Register Offset Addressing mode, also referred to as Register Indexed mode. Note: For the MOV instructions, the Addressing mode specified in the instruction can differ for the source and destination EA. However, the 4-bit Wb (Register Offset) field is shared between both source and destination (but typically only used by one). Interfacing Program and Data Memory Spaces The PIC24HJXXXGPX06/X08/X10 architecture uses a 24-bit wide program space and a 16-bit wide data space. The architecture is also a modified Harvard scheme, meaning that data can also be present in the program space. To use this data successfully, it must be accessed in a way that preserves the alignment of information in both spaces. Aside from normal execution, the PIC24HJXXXGPX06/X08/X10 architecture provides two methods by which program space can be accessed during operation: • Using table instructions to access individual bytes or words anywhere in the program space • Remapping a portion of the program space into the data space (Program Space Visibility) Table instructions allow an application to read or write to small areas of the program memory. This capability makes the method ideal for accessing data tables that need to be updated from time to time. It also allows access to all bytes of the program word. The remapping method allows an application to access a large block of data on a read-only basis, which is ideal for look ups from a large table of static data. It can only access the least significant word of the program word. In summary, the following Addressing modes are supported by move instructions: • • • • • • • • Register Direct Register Indirect Register Indirect Post-modified Register Indirect Pre-modified Register Indirect with Register Offset (Indexed) Register Indirect with Literal Offset 8-bit Literal 16-bit Literal Note: Not all instructions support all the Addressing modes given above. Individual instructions may support different subsets of these Addressing modes. 3.4.1 ADDRESSING PROGRAM SPACE 3.3.4 OTHER INSTRUCTIONS Besides the various addressing modes outlined above, some instructions use literal constants of various sizes. For example, BRA (branch) instructions use 16-bit signed literals to specify the branch destination directly, whereas the DISI instruction uses a 14-bit unsigned literal field. In some instructions, the source of an operand or result is implied by the opcode itself. Certain operations, such as NOP, do not have any operands. Since the address ranges for the data and program spaces are 16 and 24 bits, respectively, a method is needed to create a 23-bit or 24-bit program address from 16-bit data registers. The solution depends on the interface method to be used. For table operations, the 8-bit Table Page register (TBLPAG) is used to define a 32K word region within the program space. This is concatenated with a 16-bit EA to arrive at a full 24-bit program space address. In this format, the Most Significant bit of TBLPAG is used to determine if the operation occurs in the user memory (TBLPAG = 0) or the configuration memory (TBLPAG = 1). DS70175F-page 48 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 For remapping operations, the 8-bit Program Space Visibility register (PSVPAG) is used to define a 16K word page in the program space. When the Most Significant bit of the EA is ‘1’, PSVPAG is concatenated with the lower 15 bits of the EA to form a 23-bit program space address. Unlike table operations, this limits remapping operations strictly to the user memory area. Table 3-33 and Figure 3-6 show how the program EA is created for table operations and remapping accesses from the data EA. Here, P refers to a program space word, whereas D refers to a data space word. TABLE 3-33: PROGRAM SPACE ADDRESS CONSTRUCTION Access Space User User Configuration Program Space Address 0 0xx xxxx TBLPAG 0xxx xxxx TBLPAG 1xxx xxxx 0 0 PSVPAG xxxx xxxx PC xxxx xxxx xxxx xxx0 Data EA xxxx xxxx xxxx xxxx Data EA xxxx xxxx xxxx xxxx Data EA(1) xxx xxxx xxxx xxxx 0 Access Type Instruction Access (Code Execution) TBLRD/TBLWT (Byte/Word Read/Write) Program Space Visibility (Block Remap/Read) Note 1: User Data EA is always ‘1’ in this case, but is not used in calculating the program space address. Bit 15 of the address is PSVPAG. © 2007 Microchip Technology Inc. DS70175F-page 49 PIC24HJXXXGPX06/X08/X10 FIGURE 3-6: DATA ACCESS FROM PROGRAM SPACE ADDRESS GENERATION Program Counter(1) 0 Program Counter 23 bits EA 0 1/0 Table Operations(2) 1/0 TBLPAG 8 bits 24 bits 16 bits Select Program Space Visibility(1) (Remapping) 0 PSVPAG 8 bits 1 EA 0 15 bits 23 bits User/Configuration Space Select Byte Select Note 1: The LSb of program space addresses is always fixed as ‘0’ in order 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. DS70175F-page 50 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 3.4.2 DATA ACCESS FROM PROGRAM MEMORY USING TABLE INSTRUCTIONS 2. TBLRDH (Table Read High): In Word mode, it maps the entire upper word of a program address (P) to a data address. Note that D, the ‘phantom byte’, will always be ‘0’. In Byte mode, it maps the upper or lower byte of the program word to D of the data address, as above. Note that the data will always be ‘0’ when the upper ‘phantom’ byte is selected (Byte Select = 1). In a similar fashion, two table instructions, TBLWTH and TBLWTL, are used to write individual bytes or words to a program space address. The details of their operation are explained in Section 4.0 “Flash Program Memory”. For all table operations, the area of program memory space to be accessed is determined by the Table Page register (TBLPAG). TBLPAG covers the entire program memory space of the device, including user and configuration spaces. When TBLPAG = 0, the table page is located in the user memory space. When TBLPAG = 1, the page is located in configuration space. The TBLRDL and TBLWTL instructions offer a direct method of reading or writing the lower word of any address within the program space without going through data space. The TBLRDH and TBLWTH instructions are the only method to read or write the upper 8 bits of a program space word as data. The PC is incremented by two for each successive 24-bit program word. This allows program memory addresses to directly map to data space addresses. Program memory can thus be regarded as two 16-bit, word wide address spaces, residing side by side, each with the same address range. TBLRDL and TBLWTL access the space which contains the least significant data word and TBLRDH and TBLWTH access the space which contains the upper data byte. Two table instructions are provided to move byte or word sized (16-bit) data to and from program space. Both function as either byte or word operations. 1. TBLRDL (Table Read Low): In Word mode, it maps the lower word of the program space location (P) to a data address (D). In Byte mode, either the upper or lower byte of the lower program word is mapped to the lower byte of a data address. The upper byte is selected when Byte Select is ‘1’; the lower byte is selected when it is ‘0’. FIGURE 3-7: TBLPAG ACCESSING PROGRAM MEMORY WITH TABLE INSTRUCTIONS Program Space 23 15 0 02 0x000000 00000000 00000000 00000000 00000000 23 16 8 0 0x020000 0x030000 ‘Phantom’ Byte TBLRDH.B (Wn = 0) TBLRDL.B (Wn = 1) 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 the user memory area. 0x800000 © 2007 Microchip Technology Inc. DS70175F-page 51 PIC24HJXXXGPX06/X08/X10 3.4.3 READING DATA FROM PROGRAM MEMORY USING PROGRAM SPACE VISIBILITY 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 1111’ or ‘0000 0000’ to force a NOP. This prevents possible issues should the area of code ever be accidentally executed. Note: PSV access is temporarily disabled during table reads/writes. The upper 32 Kbytes of data space may optionally be mapped into any 16K word page of the program space. This option provides transparent access of stored constant data from the data space without the need to use special instructions (i.e., TBLRDL/H). Program space access through the data space occurs if the Most Significant bit of the data space EA is ‘1’ and program space visibility is enabled by setting the PSV bit in the Core Control register (CORCON). The location of the program memory space to be mapped into the data space is determined by the Program Space Visibility Page register (PSVPAG). This 8-bit register defines any one of 256 possible pages of 16K words in program space. In effect, PSVPAG functions as the upper 8 bits of the program memory address, with the 15 bits of the EA functioning as the lower bits. Note that by incrementing the PC by 2 for each program memory word, the lower 15 bits of data space addresses directly map to the lower 15 bits in the corresponding program space addresses. Data reads to this area add an additional cycle to the instruction being executed, since two program memory fetches are required. Although each data space address, 8000h and higher, maps directly into a corresponding program memory address (see Figure 3-8), only the lower 16 bits of the For operations that use PSV and are executed outside a REPEAT loop, the MOV and MOV.D instructions require one instruction cycle in addition to the specified execution time. All other instructions require two instruction cycles in addition to the specified execution time. For operations that use PSV, which are executed inside a REPEAT loop, there will be some instances that require two instruction cycles in addition to the specified execution time of the instruction: • Execution in the first iteration • Execution in the last iteration • Execution prior to exiting the loop due to an interrupt • Execution upon re-entering the loop after an interrupt is serviced Any other iteration of the REPEAT loop will allow the instruction accessing data, using PSV, to execute in a single cycle. FIGURE 3-8: PROGRAM SPACE VISIBILITY OPERATION When CORCON = 1 and EA = 1: Program Space PSVPAG 02 23 15 0 0x000000 0x010000 0x018000 The data in the page designated by PSVPAG is mapped into the upper half of the data memory space... Data Space 0x0000 Data EA 0x8000 PSV Area ...while the lower 15 bits of the EA specify an exact address within 0xFFFF the PSV area. This corresponds exactly to the same lower 15 bits of the actual program space address. 0x800000 DS70175F-page 52 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 4.0 Note: FLASH PROGRAM MEMORY This data sheet summarizes the features of this group of PIC24HJXXXGPX06/X08/ X10 devices. It is not intended to be a comprehensive reference source. To complement the information in this data sheet, refer to the “PIC24H Family Reference Manual”. Refer to the Microchip web site (www.microchip.com) for the latest PIC24H Family Reference Manual sections. the product. This also allows the most recent firmware or a custom firmware to be programmed. RTSP is accomplished using TBLRD (table read) and TBLWT (table write) instructions. With RTSP, the user can write program memory data either in blocks or ‘rows’ of 64 instructions (192 bytes) at a time, or single instructions and erase program memory in blocks or ‘pages’ of 512 instructions (1536 bytes) at a time. 4.1 The PIC24HJXXXGPX06/X08/X10 devices contain internal Flash program memory for storing and executing application code. The memory is readable, writable and erasable during normal operation over the entire VDD range. Flash memory can be programmed in two ways: 1. 2. In-Circuit Serial Programming™ (ICSP™) programming capability Run-Time Self-Programming (RTSP) Table Instructions and Flash Programming Regardless of the method used, all programming of Flash memory is done with the table read and table write instructions. These allow direct read and write access to the program memory space from the data memory while the device is in normal operating mode. The 24-bit target address in the program memory is formed using bits of the TBLPAG register and the Effective Address (EA) from a W register specified in the table instruction, as shown in Figure 4-1. The TBLRDL and the TBLWTL instructions are used to read or write to bits of program memory. TBLRDL and TBLWTL can access program memory in both Word and Byte modes. The TBLRDH and TBLWTH instructions are used to read or write to bits of program memory. TBLRDH and TBLWTH can also access program memory in Word or Byte mode. ICSP programming capability allows a PIC24HJXXXGPX06/X08/X10 device to be serially programmed while in the end application circuit. This is simply done with two lines for programming clock and programming data (one of the alternate programming pin pairs: PGC1/PGD1, PGC2/PGD2 or PGC3/PGD3, and three other lines for power (VDD), ground (VSS) and Master Clear (MCLR). This allows customers to manufacture boards with unprogrammed devices and then program the digital signal controller just before shipping FIGURE 4-1: ADDRESSING FOR TABLE REGISTERS 24 bits Using Program Counter 0 Program Counter 0 Working Reg EA Using Table Instruction 1/0 TBLPAG Reg 8 bits 16 bits User/Configuration Space Select 24-bit EA Byte Select © 2007 Microchip Technology Inc. DS70175F-page 53 PIC24HJXXXGPX06/X08/X10 4.2 RTSP Operation 4.3 Control Registers The PIC24HJXXXGPX06/X08/X10 Flash program memory array is organized into rows of 64 instructions or 192 bytes. RTSP allows the user to erase a page of memory, which consists of eight rows (512 instructions) at a time, and to program one row or one word at a time. TABLE 23-12: “DC Characteristics: Program Memory” displays typical erase and programming times. The 8-row erase pages and single row write rows are edge-aligned, from the beginning of program memory, on boundaries of 1536 bytes and 192 bytes, respectively. The program memory implements holding buffers that can contain 64 instructions of programming data. Prior to the actual programming operation, the write data must be loaded into the buffers in sequential order. The instruction words loaded must always be from a group of 64 boundary. The basic sequence for RTSP programming is to set up a Table Pointer, then do a series of TBLWT instructions to load the buffers. Programming is performed by setting the control bits in the NVMCON register. A total of 64 TBLWTL and TBLWTH instructions are required to load the instructions. All of the table write operations are single-word writes (two instruction cycles) because only the buffers are written. A programming cycle is required for programming each row. There are two SFRs used to read and write the program Flash memory: NVMCON and NVMKEY. The NVMCON register (Register 4-1) controls which blocks are to be erased, which memory type is to be programmed and the start of the programming cycle. NVMKEY is a write-only register that is used for write protection. To start a programming or erase sequence, the user must consecutively write 55h and AAh to the NVMKEY register. Refer to Section 4.4 “Programming Operations” for further details. 4.4 Programming Operations A complete programming sequence is necessary for programming or erasing the internal Flash in RTSP mode. A programming operation is nominally 4 ms in duration and the processor stalls (waits) until the operation is finished. Setting the WR bit (NVMCON) starts the operation, and the WR bit is automatically cleared when the operation is finished. DS70175F-page 54 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 REGISTER 4-1: R/SO-0(1) WR bit 15 U-0 — bit 7 Legend: R = Readable bit -n = Value at POR bit 15 SO = Satiable only bit W = Writable bit ‘1’ = Bit is set U = Unimplemented bit, read as ‘0’ ‘0’ = Bit is cleared x = Bit is unknown R/W-0(1) ERASE U-0 — U-0 — R/W-0(1) R/W-0(1) R/W-0(1) (2) NVMCON: FLASH MEMORY CONTROL REGISTER R/W-0(1) WREN R/W-0(1) WRERR U-0 — U-0 — U-0 — U-0 — U-0 — bit 8 R/W-0(1) bit 0 NVMOP WR: Write Control bit 1 = Initiates a Flash memory program or erase operation. The operation is self-timed and the bit is cleared by hardware once operation is complete. 0 = Program or erase operation is complete and inactive WREN: Write Enable bit 1 = Enable Flash program/erase operations 0 = Inhibit Flash program/erase operations WRERR: Write Sequence Error Flag bit 1 = An improper program or erase sequence attempt or termination has occurred (bit is set automatically on any set attempt of the WR bit) 0 = The program or erase operation completed normally Unimplemented: Read as ‘0’ ERASE: Erase/Program Enable bit 1 = Perform the erase operation specified by NVMOP on the next WR command 0 = Perform the program operation specified by NVMOP on the next WR command Unimplemented: Read as ‘0’ NVMOP: NVM Operation Select bits(2) 1111 = Memory bulk erase operation (ERASE = 1) or no operation (ERASE = 0) 1110 = Reserved 1101 = Erase General Segment and FGS Configuration Register (ERASE = 1) or no operation (ERASE = 0) 1100 = Erase Secure Segment and FSS Configuration Register (ERASE = 1) or no operation (ERASE = 0) 1011-0100 = Reserved 0011 = Memory word program operation (ERASE = 0) or no operation (ERASE = 1) 0010 = Memory page erase operation (ERASE = 1) or no operation (ERASE = 0) 0001 = Memory row program operation (ERASE = 0) or no operation (ERASE = 1) 0000 = Program or erase a single Configuration register byte These bits can only be reset on POR. All other combinations of NVMOP are unimplemented. bit 14 bit 13 bit 12-7 bit 6 bit 5-4 bit 3-0 Note 1: 2: © 2007 Microchip Technology Inc. DS70175F-page 55 PIC24HJXXXGPX06/X08/X10 4.4.1 PROGRAMMING ALGORITHM FOR FLASH PROGRAM MEMORY 4. 5. The user can program one row of program Flash memory at a time. To do this, it is necessary to erase the 8-row erase page that contains the desired row. The general process is: 1. 2. 3. Read eight rows of program memory (512 instructions) and store in data RAM. Update the program data in RAM with the desired new data. Erase the page (see Example 4-1): a) Set the NVMOP bits (NVMCON) to ‘0010’ to configure for block erase. Set the ERASE (NVMCON) and WREN (NVMCON) bits. b) Write the starting address of the page to be erased into the TBLPAG and W registers. c) Perform a dummy table write operation (TBLWTL) to any address within the page that needs to be erased. d) Write 0x55 to NVMKEY. e) Write 0xAA to NVMKEY. f) Set the WR bit (NVMCON). The erase cycle begins and the CPU stalls for the duration of the erase cycle. When the erase is done, the WR bit is cleared automatically. Write the first 64 instructions from data RAM into the program memory buffers (see Example 4-2). Write the program block to Flash memory: a) Set the NVMOP bits to ‘0001’ to configure for row programming. Clear the ERASE bit and set the WREN bit. b) Write 0x55 to NVMKEY. c) Write 0xAA to NVMKEY. d) Set the WR bit. The programming cycle begins and the CPU stalls for the duration of the write cycle. When the write to Flash memory is done, the WR bit is cleared automatically. Repeat steps 4 and 5, using the next available 64 instructions from the block in data RAM by incrementing the value in TBLPAG, until all 512 instructions are written back to Flash memory. 6. For protection against accidental operations, the write initiate sequence for NVMKEY must be used to allow any erase or program operation to proceed. After the programming command has been executed, the user must wait for the programming time until programming is complete. The two instructions following the start of the programming sequence should be NOPs, as shown in Example 4-3. EXAMPLE 4-1: ERASING A PROGRAM MEMORY PAGE ; ; Initialize NVMCON ; ; ; ; ; ; ; ; ; ; ; ; ; Set up NVMCON for block erase operation MOV #0x4042, W0 MOV W0, NVMCON ; Init pointer to row to be ERASED MOV #tblpage(PROG_ADDR), W0 MOV W0, TBLPAG MOV #tbloffset(PROG_ADDR), W0 TBLWTL W0, [W0] DISI #5 MOV MOV MOV MOV BSET NOP NOP #0x55, W0 W0, NVMKEY #0xAA, W1 W1, NVMKEY NVMCON, #WR Initialize PM Page Boundary SFR Initialize in-page EA pointer Set base address of erase block Block all interrupts with priority Compare Wb with Wn, skip if < Compare Wb with Wn, skip if ≠ Wn = decimal adjust Wn f=f–1 WREG = f – 1 Wd = Ws – 1 f=f–2 WREG = f – 2 Wd = Ws – 2 Disable Interrupts for k instruction cycles Signed 16/16-bit Integer Divide Signed 32/16-bit Integer Divide Unsigned 16/16-bit Integer Divide Unsigned 32/16-bit Integer Divide Swap Wns with Wnd Find Bit Change from Left (MSb) Side Find First One from Left (MSb) Side Find First One from Right (LSb) Side Go to address Go to indirect Description # of # of Words Cycles 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (2 or 3) 1 (2 or 3) 1 (2 or 3) 1 (2 or 3) 1 1 1 1 1 1 1 1 18 18 18 18 1 1 1 1 2 2 Status Flags Affected Z C Z C Z Z C Z None None None None None WDTO,Sleep N,Z N,Z N,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z None None None None C C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z None N,Z,C,OV N,Z,C,OV N,Z,C,OV N,Z,C,OV None C C C None None © 2007 Microchip Technology Inc. DS70175F-page 227 PIC24HJXXXGPX06/X08/X10 TABLE 21-2: Base Instr # 35 Assembly Mnemonic INC INC INC INC 36 INC2 INC2 INC2 INC2 37 IOR IOR IOR IOR IOR IOR 38 39 LNK LSR LNK LSR LSR LSR LSR LSR 40 MOV MOV MOV MOV MOV MOV.b MOV MOV MOV MOV.D MOV.D 41 MUL MUL.SS MUL.SU MUL.US MUL.UU MUL.SU MUL.UU MUL 42 NEG NEG NEG NEG 43 44 NOP POP NOP NOPR POP POP POP.D POP.S 45 PUSH PUSH PUSH PUSH.D PUSH.S 46 PWRSAV PWRSAV #lit1 f Wso Wns f Wdo Wnd INSTRUCTION SET OVERVIEW (CONTINUED) Assembly Syntax f f,WREG Ws,Wd f f,WREG Ws,Wd f f,WREG #lit10,Wn Wb,Ws,Wd Wb,#lit5,Wd #lit14 f f,WREG Ws,Wd Wb,Wns,Wnd Wb,#lit5,Wnd f,Wn f f,WREG #lit16,Wn #lit8,Wn Wn,f Wso,Wdo WREG,f Wns,Wd Ws,Wnd Wb,Ws,Wnd Wb,Ws,Wnd Wb,Ws,Wnd Wb,Ws,Wnd Wb,#lit5,Wnd Wb,#lit5,Wnd f f f,WREG Ws,Wd f=f+1 WREG = f + 1 Wd = Ws + 1 f=f+2 WREG = f + 2 Wd = Ws + 2 f = f .IOR. WREG WREG = f .IOR. WREG Wd = lit10 .IOR. Wd Wd = Wb .IOR. Ws Wd = Wb .IOR. lit5 Link Frame Pointer f = Logical Right Shift f WREG = Logical Right Shift f Wd = Logical Right Shift Ws Wnd = Logical Right Shift Wb by Wns Wnd = Logical Right Shift Wb by lit5 Move f to Wn Move f to f Move f to WREG Move 16-bit literal to Wn Move 8-bit literal to Wn Move Wn to f Move Ws to Wd Move WREG to f Move Double from W(ns):W(ns + 1) to Wd Move Double from Ws to W(nd + 1):W(nd) {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) * unsigned(Ws) {Wnd + 1, Wnd} = signed(Wb) * unsigned(lit5) {Wnd + 1, Wnd} = unsigned(Wb) * unsigned(lit5) W3:W2 = f * WREG f=f+1 WREG = f + 1 Wd = Ws + 1 No Operation No Operation Pop f from Top-of-Stack (TOS) Pop from Top-of-Stack (TOS) to Wdo Pop from Top-of-Stack (TOS) to W(nd):W(nd + 1) Pop Shadow Registers Push f to Top-of-Stack (TOS) Push Wso to Top-of-Stack (TOS) Push W(ns):W(ns + 1) to Top-of-Stack (TOS) Push Shadow Registers Go into Sleep or Idle mode Description # of # of Words Cycles 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 Status Flags Affected C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z N,Z N,Z N,Z N,Z N,Z None C,N,OV,Z C,N,OV,Z C,N,OV,Z N,Z N,Z None N,Z N,Z None None None None N,Z None None None None None None None None None C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z None None None None None All None None None None WDTO,Sleep DS70175F-page 228 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 21-2: Base Instr # 47 48 49 50 51 52 53 Assembly Mnemonic RCALL REPEAT RESET RETFIE RETLW RETURN RLC RCALL RCALL REPEAT REPEAT RESET RETFIE RETLW RETURN RLC RLC RLC 54 RLNC RLNC RLNC RLNC 55 RRC RRC RRC RRC 56 RRNC RRNC RRNC RRNC 57 58 SE SETM SE SETM SETM SETM 59 SL SL SL SL SL SL 60 SUB SUB SUB SUB SUB SUB 61 SUBB SUBB SUBB SUBB SUBB SUBB 62 SUBR SUBR SUBR SUBR SUBR 63 SUBBR SUBBR SUBBR SUBBR SUBBR 64 65 SWAP TBLRDH SWAP.b SWAP TBLRDH f f,WREG Ws,Wd f f,WREG Ws,Wd f f,WREG Ws,Wd f f,WREG Ws,Wd Ws,Wnd f WREG Ws f f,WREG Ws,Wd Wb,Wns,Wnd Wb,#lit5,Wnd f f,WREG #lit10,Wn Wb,Ws,Wd Wb,#lit5,Wd f f,WREG #lit10,Wn Wb,Ws,Wd Wb,#lit5,Wd f f,WREG Wb,Ws,Wd Wb,#lit5,Wd f f,WREG Wb,Ws,Wd Wb,#lit5,Wd Wn Wn Ws,Wd #lit10,Wn INSTRUCTION SET OVERVIEW (CONTINUED) Assembly Syntax Expr Wn #lit14 Wn Relative Call Computed Call Repeat Next Instruction lit14 + 1 times Repeat Next Instruction (Wn) + 1 times Software device Reset Return from interrupt Return with literal in Wn Return from Subroutine f = Rotate Left through Carry f WREG = Rotate Left through Carry f Wd = Rotate Left through Carry Ws f = Rotate Left (No Carry) f WREG = Rotate Left (No Carry) f Wd = Rotate Left (No Carry) Ws f = Rotate Right through Carry f WREG = Rotate Right through Carry f Wd = Rotate Right through Carry Ws f = Rotate Right (No Carry) f WREG = Rotate Right (No Carry) f Wd = Rotate Right (No Carry) Ws Wnd = sign-extended Ws f = 0xFFFF WREG = 0xFFFF Ws = 0xFFFF f = Left Shift f WREG = Left Shift f Wd = Left Shift Ws Wnd = Left Shift Wb by Wns Wnd = Left Shift Wb by lit5 f = f – WREG WREG = f – WREG Wn = Wn – lit10 Wd = Wb – Ws Wd = Wb – lit5 f = f – WREG – (C) WREG = f – WREG – (C) Wn = Wn – lit10 – (C) Wd = Wb – Ws – (C) Wd = Wb – lit5 – (C) f = WREG – f WREG = WREG – f Wd = Ws – Wb Wd = lit5 – Wb f = WREG – f – (C) WREG = WREG – f – (C) Wd = Ws – Wb – (C) Wd = lit5 – Wb – (C) Wn = nibble swap Wn Wn = byte swap Wn Read Prog to Wd Description # of # of Words Cycles 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 3 (2) 3 (2) 3 (2) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 Status Flags Affected None None None None None None None None C,N,Z C,N,Z C,N,Z N,Z N,Z N,Z C,N,Z C,N,Z C,N,Z N,Z N,Z N,Z C,N,Z None None None C,N,OV,Z C,N,OV,Z C,N,OV,Z N,Z N,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z C,DC,N,OV,Z None None None © 2007 Microchip Technology Inc. DS70175F-page 229 PIC24HJXXXGPX06/X08/X10 TABLE 21-2: Base Instr # 66 67 68 69 70 Assembly Mnemonic TBLRDL TBLWTH TBLWTL ULNK XOR TBLRDL TBLWTH TBLWTL ULNK XOR XOR XOR XOR XOR 71 ZE ZE f f,WREG #lit10,Wn Wb,Ws,Wd Wb,#lit5,Wd Ws,Wnd INSTRUCTION SET OVERVIEW (CONTINUED) Assembly Syntax Ws,Wd Ws,Wd Ws,Wd Description Read Prog to Wd Write Ws to Prog Write Ws to Prog Unlink Frame Pointer f = f .XOR. WREG WREG = f .XOR. WREG Wd = lit10 .XOR. Wd Wd = Wb .XOR. Ws Wd = Wb .XOR. lit5 Wnd = Zero-extend Ws # of # of Words Cycles 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 Status Flags Affected None None None None N,Z N,Z N,Z N,Z N,Z C,Z,N DS70175F-page 230 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 22.0 DEVELOPMENT SUPPORT 22.1 The PIC® microcontrollers are supported with a full range of hardware and software development tools: • Integrated Development Environment - MPLAB® IDE Software • Assemblers/Compilers/Linkers - MPASMTM Assembler - MPLAB C18 and MPLAB C30 C Compilers - MPLINKTM Object Linker/ MPLIBTM Object Librarian - MPLAB ASM30 Assembler/Linker/Library • Simulators - MPLAB SIM Software Simulator • Emulators - MPLAB ICE 2000 In-Circuit Emulator - MPLAB REAL ICE™ In-Circuit Emulator • In-Circuit Debugger - MPLAB ICD 2 • Device Programmers - PICSTART® Plus Development Programmer - MPLAB PM3 Device Programmer - PICkit™ 2 Development Programmer • Low-Cost Demonstration and Development Boards and Evaluation Kits MPLAB Integrated Development Environment Software The MPLAB IDE software brings an ease of software development previously unseen in the 8/16-bit microcontroller market. The MPLAB IDE is a Windows® operating system-based application that contains: • A single graphical interface to all debugging tools - Simulator - Programmer (sold separately) - Emulator (sold separately) - In-Circuit Debugger (sold separately) • A full-featured editor with color-coded context • A multiple project manager • Customizable data windows with direct edit of contents • High-level source code debugging • Visual device initializer for easy register initialization • Mouse over variable inspection • Drag and drop variables from source to watch windows • Extensive on-line help • Integration of select third party tools, such as HI-TECH Software C Compilers and IAR C Compilers The MPLAB IDE allows you to: • Edit your source files (either assembly or C) • One touch assemble (or compile) and download to PIC MCU emulator and simulator tools (automatically updates all project information) • Debug using: - Source files (assembly or C) - Mixed assembly and C - Machine code MPLAB IDE supports multiple debugging tools in a single development paradigm, from the cost-effective simulators, through low-cost in-circuit debuggers, to full-featured emulators. This eliminates the learning curve when upgrading to tools with increased flexibility and power. © 2007 Microchip Technology Inc. DS70175F-page 231 PIC24HJXXXGPX06/X08/X10 22.2 MPASM Assembler 22.5 The MPASM Assembler is a full-featured, universal macro assembler for all PIC MCUs. The MPASM Assembler generates relocatable object files for the MPLINK Object Linker, Intel® standard HEX files, MAP files to detail memory usage and symbol reference, absolute LST files that contain source lines and generated machine code and COFF files for debugging. The MPASM Assembler features include: • Integration into MPLAB IDE projects • User-defined macros to streamline assembly code • Conditional assembly for multi-purpose source files • Directives that allow complete control over the assembly process MPLAB ASM30 Assembler, Linker and Librarian MPLAB ASM30 Assembler produces relocatable machine code from symbolic assembly language for dsPIC30F devices. MPLAB C30 C Compiler uses the assembler to produce its object file. The assembler generates relocatable object files that can then be archived or linked with other relocatable object files and archives to create an executable file. Notable features of the assembler include: • • • • • • Support for the entire dsPIC30F instruction set Support for fixed-point and floating-point data Command line interface Rich directive set Flexible macro language MPLAB IDE compatibility 22.6 MPLAB SIM Software Simulator 22.3 MPLAB C18 and MPLAB C30 C Compilers The MPLAB C18 and MPLAB C30 Code Development Systems are complete ANSI C compilers for Microchip’s PIC18 and PIC24 families of microcontrollers and the dsPIC30 and dsPIC33 family of digital signal controllers. These compilers provide powerful integration capabilities, superior code optimization and ease of use not found with other compilers. For easy source level debugging, the compilers provide symbol information that is optimized to the MPLAB IDE debugger. The MPLAB SIM Software Simulator allows code development in a PC-hosted environment by simulating the PIC MCUs and dsPIC® DSCs on an instruction level. On any given instruction, the data areas can be examined or modified and stimuli can be applied from a comprehensive stimulus controller. Registers can be logged to files for further run-time analysis. The trace buffer and logic analyzer display extend the power of the simulator to record and track program execution, actions on I/O, most peripherals and internal registers. The MPLAB SIM Software Simulator fully supports symbolic debugging using the MPLAB C18 and MPLAB C30 C Compilers, and the MPASM and MPLAB ASM30 Assemblers. The software simulator offers the flexibility to develop and debug code outside of the hardware laboratory environment, making it an excellent, economical software development tool. 22.4 MPLINK Object Linker/ MPLIB Object Librarian The MPLINK Object Linker combines relocatable objects created by the MPASM Assembler and the MPLAB C18 C Compiler. It can link relocatable objects from precompiled libraries, using directives from a linker script. The MPLIB Object Librarian manages the creation and modification of library files of precompiled code. When a routine from a library is called from a source file, only the modules that contain that routine will be linked in with the application. This allows large libraries to be used efficiently in many different applications. The object linker/library features include: • Efficient linking of single libraries instead of many smaller files • Enhanced code maintainability by grouping related modules together • Flexible creation of libraries with easy module listing, replacement, deletion and extraction DS70175F-page 232 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 22.7 MPLAB ICE 2000 High-Performance In-Circuit Emulator 22.9 MPLAB ICD 2 In-Circuit Debugger Microchip’s In-Circuit Debugger, MPLAB ICD 2, is a powerful, low-cost, run-time development tool, connecting to the host PC via an RS-232 or high-speed USB interface. This tool is based on the Flash PIC MCUs and can be used to develop for these and other PIC MCUs and dsPIC DSCs. The MPLAB ICD 2 utilizes the in-circuit debugging capability built into the Flash devices. This feature, along with Microchip’s In-Circuit Serial ProgrammingTM (ICSPTM) protocol, offers costeffective, in-circuit Flash debugging from the graphical user interface of the MPLAB Integrated Development Environment. This enables a designer to develop and debug source code by setting breakpoints, single stepping and watching variables, and CPU status and peripheral registers. Running at full speed enables testing hardware and applications in real time. MPLAB ICD 2 also serves as a development programmer for selected PIC devices. The MPLAB ICE 2000 In-Circuit Emulator is intended to provide the product development engineer with a complete microcontroller design tool set for PIC microcontrollers. Software control of the MPLAB ICE 2000 In-Circuit Emulator is advanced by the MPLAB Integrated Development Environment, which allows editing, building, downloading and source debugging from a single environment. The MPLAB ICE 2000 is a full-featured emulator system with enhanced trace, trigger and data monitoring features. Interchangeable processor modules allow the system to be easily reconfigured for emulation of different processors. The architecture of the MPLAB ICE 2000 In-Circuit Emulator allows expansion to support new PIC microcontrollers. The MPLAB ICE 2000 In-Circuit Emulator system has been designed as a real-time emulation system with advanced features that are typically found on more expensive development tools. The PC platform and Microsoft® Windows® 32-bit operating system were chosen to best make these features available in a simple, unified application. 22.10 MPLAB PM3 Device Programmer The MPLAB PM3 Device Programmer is a universal, CE compliant device programmer with programmable voltage verification at VDDMIN and VDDMAX for maximum reliability. It features a large LCD display (128 x 64) for menus and error messages and a modular, detachable socket assembly to support various package types. The ICSP™ cable assembly is included as a standard item. In Stand-Alone mode, the MPLAB PM3 Device Programmer can read, verify and program PIC devices without a PC connection. It can also set code protection in this mode. The MPLAB PM3 connects to the host PC via an RS-232 or USB cable. The MPLAB PM3 has high-speed communications and optimized algorithms for quick programming of large memory devices and incorporates an SD/MMC card for file storage and secure data applications. 22.8 MPLAB REAL ICE In-Circuit Emulator System MPLAB REAL ICE In-Circuit Emulator System is Microchip’s next generation high-speed emulator for Microchip Flash DSC and MCU devices. It debugs and programs PIC® Flash MCUs and dsPIC® Flash DSCs with the easy-to-use, powerful graphical user interface of the MPLAB Integrated Development Environment (IDE), included with each kit. The MPLAB REAL ICE probe is connected to the design engineer’s PC using a high-speed USB 2.0 interface and is connected to the target with either a connector compatible with the popular MPLAB ICD 2 system (RJ11) or with the new high-speed, noise tolerant, LowVoltage Differential Signal (LVDS) interconnection (CAT5). MPLAB REAL ICE is field upgradeable through future firmware downloads in MPLAB IDE. In upcoming releases of MPLAB IDE, new devices will be supported, and new features will be added, such as software breakpoints and assembly code trace. MPLAB REAL ICE offers significant advantages over competitive emulators including low-cost, full-speed emulation, real-time variable watches, trace analysis, complex breakpoints, a ruggedized probe interface and long (up to three meters) interconnection cables. © 2007 Microchip Technology Inc. DS70175F-page 233 PIC24HJXXXGPX06/X08/X10 22.11 PICSTART Plus Development Programmer The PICSTART Plus Development Programmer is an easy-to-use, low-cost, prototype programmer. It connects to the PC via a COM (RS-232) port. MPLAB Integrated Development Environment software makes using the programmer simple and efficient. The PICSTART Plus Development Programmer supports most PIC devices in DIP packages up to 40 pins. Larger pin count devices, such as the PIC16C92X and PIC17C76X, may be supported with an adapter socket. The PICSTART Plus Development Programmer is CE compliant. 22.13 Demonstration, Development and Evaluation Boards A wide variety of demonstration, development and evaluation boards for various PIC MCUs and dsPIC DSCs allows quick application development on fully functional systems. Most boards include prototyping areas for adding custom circuitry and provide application firmware and source code for examination and modification. The boards support a variety of features, including LEDs, temperature sensors, switches, speakers, RS-232 interfaces, LCD displays, potentiometers and additional EEPROM memory. The demonstration and development boards can be used in teaching environments, for prototyping custom circuits and for learning about various microcontroller applications. In addition to the PICDEM™ and dsPICDEM™ demonstration/development board series of circuits, Microchip has a line of evaluation kits and demonstration software for analog filter design, KEELOQ® security ICs, CAN, IrDA®, PowerSmart battery management, SEEVAL® evaluation system, Sigma-Delta ADC, flow rate sensing, plus many more. Check the Microchip web page (www.microchip.com) for the complete list of demonstration, development and evaluation kits. 22.12 PICkit 2 Development Programmer The PICkit™ 2 Development Programmer is a low-cost programmer and selected Flash device debugger with an easy-to-use interface for programming many of Microchip’s baseline, mid-range and PIC18F families of Flash memory microcontrollers. The PICkit 2 Starter Kit includes a prototyping development board, twelve sequential lessons, software and HI-TECH’s PICC™ Lite C compiler, and is designed to help get up to speed quickly using PIC® microcontrollers. The kit provides everything needed to program, evaluate and develop applications using Microchip’s powerful, mid-range Flash memory family of microcontrollers. DS70175F-page 234 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 23.0 ELECTRICAL CHARACTERISTICS This section provides an overview of PIC24HJXXXGPX06/X08/X10 electrical characteristics. Additional information will be provided in future revisions of this document as it becomes available. Absolute maximum ratings for the PIC24HJXXXGPX06/X08/X10 are listed below. Exposure to these maximum rating conditions for extended periods may affect device reliability. Functional operation of the device at these or any other conditions above the parameters indicated in the operation listings of this specification is not implied. Absolute Maximum Ratings(1) Ambient temperature under bias.............................................................................................................. .-40°C to +85°C Storage temperature .............................................................................................................................. -65°C to +150°C Voltage on VDD with respect to VSS ......................................................................................................... -0.3V to +4.0V Voltage on any combined analog and digital pin and MCLR, with respect to VSS ......................... -0.3V to (VDD + 0.3V) Voltage on any digital-only pin with respect to VSS .................................................................................. -0.3V to +5.6V Voltage on VDDCORE with respect to VSS ................................................................................................ 2.25V to 2.75V Maximum current out of VSS pin ...........................................................................................................................300 mA Maximum current into VDD pin(2) ...........................................................................................................................250 mA Maximum output current sunk by any I/O pin(3) ........................................................................................................4 mA Maximum output current sourced by any I/O pin(3) ...................................................................................................4 mA Maximum current sunk by all ports .......................................................................................................................200 mA Maximum current sourced by all ports(2) ...............................................................................................................200 mA Note 1: Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. 2: Maximum allowable current is a function of device maximum power dissipation (see Table 23-2). 3: Exceptions are CLKOUT, which is able to sink/source 25 mA, and the VREF+, VREF-, SCLx, SDAx, PGCx and PGDx pins, which are able to sink/source 12 mA. © 2007 Microchip Technology Inc. DS70175F-page 235 PIC24HJXXXGPX06/X08/X10 23.1 DC Characteristics OPERATING MIPS VS. VOLTAGE VDD Range (in Volts) 3.0-3.6V Temp Range (in °C) -40°C to +85°C Max MIPS PIC24HJXXXGPX06/X08/X10 40 TABLE 23-1: Characteristic DC5 TABLE 23-2: THERMAL OPERATING CONDITIONS Rating Symbol TJ TA Min -40 -40 Typ — — Max +125 +85 Unit °C °C PIC24HJXXXGPX06/X08/X10 Operating Junction Temperature Range Operating Ambient Temperature Range Power Dissipation: Internal chip power dissipation: PINT = VDD x (IDD – Σ IOH) I/O Pin Power Dissipation: I/O = Σ ({VDD – VOH} x IOH) + Σ (VOL x IOL) Maximum Allowed Power Dissipation PDMAX (TJ – TA)/θJA W PD PINT + PI/O W TABLE 23-3: THERMAL PACKAGING CHARACTERISTICS Characteristic Symbol Typ 48.4 52.3 38.3 Max — — — Unit °C/W °C/W °C/W Notes 1 1 1 Package Thermal Resistance, 100-pin TQFP (14x14x1 mm) Package Thermal Resistance, 100-pin TQFP (12x12x1 mm) Package Thermal Resistance, 64-pin TQFP (10x10x1 mm) Note 1: Junction to ambient thermal resistance, Theta-JA (θJA) numbers are achieved by package simulations. θJA θJA θJA TABLE 23-4: DC TEMPERATURE AND VOLTAGE SPECIFICATIONS Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Characteristic Min Typ(1) Max Units Conditions DC CHARACTERISTICS Param Symbol No. Operating Voltage DC10 DC12 DC16 Supply Voltage VDD VDR VPOR RAM Data Retention Voltage(2) VDD Start Voltage(4) to ensure internal Power-on Reset signal VDD Rise Rate to ensure internal Power-on Reset signal VDD Core(3) Internal regulator voltage 3.0 1.1 — — 1.3 — 3.6 1.8 Vss V V V DC17 SVDD 0.03 — — V/ms 0-3.0V in 0.1s DC18 Note 1: 2: 3: 4: VCORE 2.25 — 2.75 V Voltage is dependent on load, temperature and VDD Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. This is the limit to which VDD can be lowered without losing RAM data. These parameters are characterized but not tested in manufacturing. VDD Core voltage must remain at VSS for a minimum of 200 µs to ensure POR. DS70175F-page 236 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-5: DC CHARACTERISTICS: OPERATING CURRENT (IDD) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Max Units Conditions DC CHARACTERISTICS Parameter No. DC20d DC20 DC20a DC21d DC21 DC21a DC22d DC22 DC22a DC23d DC23 DC23a DC24d DC24 DC24a Note 1: 2: Typical(1) Operating Current (IDD)(2) 24 27 27 36 37 38 43 46 46 61 65 65 83 84 84 29 30 31 42 42 43 50 51 52 70 70 71 88 88 89 mA mA mA mA mA mA mA mA mA mA mA mA mA mA mA -40°C +25°C +85°C -40°C +25°C +85°C -40°C +25°C +85°C -40°C +25°C +85°C -40°C +25°C +85°C 3.3V 40 MIPS 3.3V 30 MIPS 3.3V 20 MIPS 3.3V 16 MIPS 3.3V 10 MIPS Data in “Typical” column is at 3.3V, 25°C unless otherwise stated. The supply current is mainly a function of the operating voltage and frequency. Other factors, such as I/O pin loading and switching rate, oscillator type, internal code execution pattern and temperature, also have an impact on the current consumption. The test conditions for all IDD measurements are as follows: OSC1 driven with external square wave from rail to rail. All I/O pins are configured as inputs and pulled to VSS. MCLR = VDD, WDT and FSCM are disabled. CPU, SRAM, program memory and data memory are operational. No peripheral modules are operating; however, every peripheral is being clocked (PMD bits are all zeroed. © 2007 Microchip Technology Inc. DS70175F-page 237 PIC24HJXXXGPX06/X08/X10 TABLE 23-6: DC CHARACTERISTICS: IDLE CURRENT (IIDLE) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Max Units Conditions DC CHARACTERISTICS Parameter No. DC40d DC40 DC40a DC40d DC41 DC41a DC42d DC42 DC42a DC43d DC43 DC43a DC44d DC44 DC44a Note 1: 2: Typical(1) Idle Current (IIDLE): Core OFF Clock ON Base Current(2) 3 3 3 5 5 6 9 9 10 15 15 15 16 16 16 7 7 8 10 10 11 12 15 16 17 21 22 21 23 24 mA mA mA mA mA mA mA mA mA mA mA mA mA mA mA -40°C +25°C +85°C -40°C +25°C +85°C -40°C +25°C +85°C -40°C +25°C +85°C -40°C +25°C +85°C 3.3V 40 MIPS 3.3V 30 MIPS 3.3V 20 MIPS 3.3V 16 MIPS 3.3V 10 MIPS Data in “Typical” column is at 3.3V, 25°C unless otherwise stated. Base IIDLE current is measured with core off, clock on and all modules turned off. Peripheral Module Disable SFR registers are zeroed. All I/O pins are configured as inputs and pulled to VSS. TABLE 23-7: DC CHARACTERISTICS: POWER-DOWN CURRENT (IPD) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Max Units Conditions DC CHARACTERISTICS Parameter No. DC60d DC60 DC60a DC61d DC61 DC61a Note 1: 2: 3: 4: Typical(1) Power-Down Current (IPD)(2) 290 293 317 8 10 12 963 988 990 13 15 20 μA μA μA μA μA μA -40°C +25°C +85°C -40°C +25°C +85°C 3.0V Watchdog Timer Current: ΔIWDT(3) 3.0V Base Power-Down Current(3,4) Data in the Typical column is at 3.3V, 25°C unless otherwise stated. Base IPD is measured with all peripherals and clocks shut down. All I/O pins are configured as inputs and pulled to VSS. WDT, etc., are all switched off. The Δ current is the additional current consumed when the module is enabled. This current should be added to the base IPD current. These currents are measured on the device containing the most memory in this family. DS70175F-page 238 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-8: DC CHARACTERISTICS: DOZE CURRENT (IDOZE) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Max 32 27 26 47 27 27 48 28 28 Doze Ratio 1:2 1:64 1:128 1:2 1:64 1:128 1:2 1:64 1:128 Units mA -40°C mA +25°C mA +85°C 3.3V 40 MIPS Conditions DC CHARACTERISTICS Parameter No. DC73a DC73f DC73g DC70a DC70f DC70g DC71a DC71f DC71g Note 1: Typical(1) 25 23 23 42 26 25 41 25 24 Data in the Typical column is at 3.3V, 25°C unless otherwise stated. © 2007 Microchip Technology Inc. DS70175F-page 239 PIC24HJXXXGPX06/X08/X10 TABLE 23-9: DC CHARACTERISTICS: I/O PIN INPUT SPECIFICATIONS Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Characteristic Input Low Voltage I/O pins MCLR OSC1 (XT mode) OSC1 (HS mode) SDAx, SCLx SDAx, SCLx VIH DI20 Input High Voltage I/O pins: with analog functions digital-only MCLR OSC1 (XT mode) OSC1 (HS mode) SDAx, SCLx SDAx, SCLx ICNPU DI30 IIL DI50 DI51 D515A DI55 DI56 Note 1: 2: Input Leakage I/O ports Analog Input Pins Analog Input Pins MCLR OSC1 Current(2)(3) — — — — — — — — — — ±2 ±1 ±2 ±2 ±2 μA μA μA μA μA VSS ≤ VPIN ≤ VDD, Pin at high-impedance VSS ≤ VPIN ≤ VDD, Pin at high-impedance Analog pins shared with external reference pins VSS ≤ VPIN ≤ VDD VSS ≤ VPIN ≤ VDD, XT and HS modes CNx Pull-up Current 50 250 400 μA VDD = 3.3V, VPIN = VSS 0.8 VDD 0.8 VDD 0.8 VDD 0.7 VDD 0.7 VDD 0.7 VDD 0.8 VDD — — — — — — — VDD 5.5 VDD VDD VDD VDD VDD V V V V V V V SMBus disabled SMBus enabled VSS VSS VSS VSS VSS VSS — — — — — — 0.2 VDD 0.2 VDD 0.2 VDD 0.2 VDD 0.3 VDD 0.2 VDD V V V V V V SMBus disabled SMBus enabled Min Typ(1) Max Units Conditions DC CHARACTERISTICS Param Symbol No. VIL DI10 DI15 DI16 DI17 DI18 DI19 DI25 DI26 DI27 DI28 DI29 3: Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified levels represent normal operating conditions. Higher leakage current may be measured at different input voltages. Negative current is defined as current sourced by the pin. DS70175F-page 240 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-10: DC CHARACTERISTICS: I/O PIN OUTPUT SPECIFICATIONS DC CHARACTERISTICS Param Symbol No. VOL DO10 DO16 VOH DO20 DO26 Note 1: Characteristic Output Low Voltage I/O ports OSC2/CLKO Output High Voltage I/O ports OSC2/CLKO 2.40 2.41 — — — — V V IOH = -2.3 mA, VDD = 3.3V IOH = -1.3 mA, VDD = 3.3V — — — — 0.4 0.4 V V IOL = 2 mA, VDD = 3.3V IOL = 2 mA, VDD = 3.3V Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Min Typ(1) Max Units Conditions Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. TABLE 23-11: ELECTRICAL CHARACTERISTICS: BOR DC CHARACTERISTICS Param No. BO10 Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Characteristic BOR Event on VDD transition high-to-low BOR event is tied to VDD core voltage decrease Min(1) 2.40 Typ — Max(1) 2.55 Units V Conditions -40°C to +85°C Symbol VBOR Note 1: Parameters are for design guidance only and are not tested in manufacturing. © 2007 Microchip Technology Inc. DS70175F-page 241 PIC24HJXXXGPX06/X08/X10 TABLE 23-12: DC CHARACTERISTICS: PROGRAM MEMORY DC CHARACTERISTICS Param Symbol No. D130 D131 D132B D134 D135 D136 D137 D138 Note 1: EP VPR VPEW TRETD IDDP TRW TPE TWW Characteristic Program Flash Memory Cell Endurance VDD for Read VDD for Self-Timed Write Characteristic Retention Supply Current during Programming Self-Timed Row Write Cycle Time Self-Timed Page Erase Cycle Time Word Write Cycle Time 100 VMIN VMIN 20 — — — 20 1000 — — — 10 1.6 20.5 — — 3.6 3.6 — — — — 40 E/W -40°C to +85°C V V VMIN = Minimum operating voltage VMIN = Minimum operating voltage Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Min Typ(1) Max Units Conditions Year Provided no other specifications are violated mA ms ms μs Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. TABLE 23-13: INTERNAL VOLTAGE REGULATOR SPECIFICATIONS Operating Conditions: -40°C < TA < +85°C (unless otherwise stated) Param No. Symbol CEFC Characteristics External Filter Capacitor Value Min 1 Typ 10 Max — Units μF Comments Capacitor must be low series resistance (< 5 ohms) DS70175F-page 242 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 23.2 AC Characteristics and Timing Parameters The information contained in this section defines PIC24HJXXXGPX06/X08/X10 AC characteristics and timing parameters. TABLE 23-14: TEMPERATURE AND VOLTAGE SPECIFICATIONS – AC Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Operating voltage VDD range as described in Section 23.0 “Electrical Characteristics”. AC CHARACTERISTICS FIGURE 23-1: LOAD CONDITIONS FOR DEVICE TIMING SPECIFICATIONS Load Condition 1 – for all pins except OSC2 VDD/2 RL Pin VSS Pin VSS CL RL = 464Ω CL = 50 pF for all pins except OSC2 15 pF for OSC2 output CL Load Condition 2 – for OSC2 TABLE 23-15: CAPACITIVE LOADING REQUIREMENTS ON OUTPUT PINS Param Symbol No. DO50 COSC2 Characteristic OSC2/SOSC2 pin Min — Typ — Max 15 Units pF Conditions In XT and HS modes when external clock is used to drive OSC1 EC mode In I2C™ mode DO56 DO58 CIO CB All I/O pins and OSC2 SCLx, SDAx — — — — 50 400 pF pF © 2007 Microchip Technology Inc. DS70175F-page 243 PIC24HJXXXGPX06/X08/X10 FIGURE 23-2: EXTERNAL CLOCK TIMING Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 OSC1 OS20 OS30 OS25 OS30 OS31 OS31 CLKO OS41 OS40 TABLE 23-16: EXTERNAL CLOCK TIMING REQUIREMENTS AC CHARACTERISTICS Param No. OS10 Symb FIN Characteristic External CLKI Frequency (External clocks allowed only in EC and ECPLL modes) Oscillator Crystal Frequency Standard Operating Conditions: 2.5V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Min DC Typ(1) — Max 40 Units MHz EC Conditions 3.5 10 — 12.5 25 0.375 x TOSC — — — — — — — — — — 5.2 5.2 10 40 33 DC DC 0.625 x TOSC 20 — — MHz MHz kHz ns ns ns ns ns ns XT HS SOSC OS20 OS25 OS30 OS31 OS40 OS41 Note 1: 2: TOSC TCY TosL, TosH TosR, TosF TckR TckF TOSC = 1/FOSC Instruction Cycle Time(2) External Clock in (OSC1) High or Low Time External Clock in (OSC1) Rise or Fall Time CLKO Rise Time(3) CLKO Fall Time(3) EC EC 3: Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. Instruction cycle period (TCY) equals two times the input oscillator time base period. All specified values are based on characterization data for that particular oscillator type under standard operating conditions with the device executing code. Exceeding these specified limits may result in an unstable oscillator operation and/or higher than expected current consumption. All devices are tested to operate at “min.” values with an external clock applied to the OSC1/CLKI pin. When an external clock input is used, the “max.” cycle time limit is “DC” (no clock) for all devices. Measurements are taken in EC mode. The CLKO signal is measured on the OSC2 pin. DS70175F-page 244 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-17: PLL CLOCK TIMING SPECIFICATIONS (VDD = 3.0V TO 3.6V) AC CHARACTERISTICS Param No. OS50 Symbol FPLLI Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Characteristic PLL Voltage Controlled Oscillator (VCO) Input Frequency Range On-Chip VCO System Frequency PLL Start-up Time (Lock Time) CLKO Stability (Jitter) Min 0.8 Typ(1) — Max 8.0 Units MHz Conditions ECPLL, HSPLL, XTPLL modes OS51 OS52 OS53 Note 1: FSYS TLOC DCLK 100 0.9 -3.0 — 1.5 0.5 200 3.1 3.0 MHz ms % Measured over 100 ms period Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. TABLE 23-18: AC CHARACTERISTICS: INTERNAL RC ACCURACY AC CHARACTERISTICS Param No. F20 Note 1: 2: FRC Characteristic Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for industrial Min Typ Max Units Conditions Internal FRC Accuracy @ FRC Frequency = 7.37 MHz(1,2) -2 — +2 % -40°C ≤ TA ≤ +85°C VDD = 3.0-3.6V Frequency calibrated at 25°C and 3.3V. TUN bits can be used to compensate for temperature drift. FRC set to initial frequency of 7.37 MHz (±2%) at 25° C. TABLE 23-19: INTERNAL RC ACCURACY AC CHARACTERISTICS Param No. F21 Note 1: Characteristic LPRC @ 32.768 kHz(1) -20 ±6 +20 % -40°C ≤ TA ≤ +85°C VDD = 3.0-3.6V Change of LPRC frequency as VDD changes. Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Min Typ Max Units Conditions © 2007 Microchip Technology Inc. DS70175F-page 245 PIC24HJXXXGPX06/X08/X10 FIGURE 23-3: CLKO AND I/O TIMING CHARACTERISTICS I/O Pin (Input) DI35 DI40 I/O Pin (Output) Old Value DO31 DO32 Note: Refer to Figure 23-1 for load conditions. New Value TABLE 23-20: CLKO AND I/O TIMING REQUIREMENTS AC CHARACTERISTICS Param No. DO31 DO32 DI35 DI40 Note 1: Symbol TIOR TIOF TINP TRBP Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Characteristic Port Output Rise Time Port Output Fall Time INTx Pin High or Low Time (output) CNx High or Low Time (input) Min — — 20 2 Typ(1) 10 10 — — Max 25 25 — — Units ns ns ns TCY Conditions — — — — Data in “Typ” column is at 3.3V, 25°C unless otherwise stated. DS70175F-page 246 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 FIGURE 23-4: RESET, WATCHDOG TIMER, OSCILLATOR START-UP TIMER AND POWER-UP TIMER TIMING CHARACTERISTICS VDD MCLR Internal POR PWRT Time-out OSC Time-out Internal Reset Watchdog Timer Reset SY12 SY10 SY11 SY30 SY13 I/O Pins SY35 FSCM Delay Note: Refer to Figure 23-1 for load conditions. SY20 SY13 © 2007 Microchip Technology Inc. DS70175F-page 247 PIC24HJXXXGPX06/X08/X10 TABLE 23-21: RESET, WATCHDOG TIMER, OSCILLATOR START-UP TIMER, POWER-UP TIMER TIMING REQUIREMENTS AC CHARACTERISTICS Param Symbol No. SY10 SY11 TMCL TPWRT Characteristic(1) MCLR Pulse Width (low) Power-up Timer Period Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 2 — — — — — — — 3 0.68 1.7 — — Typ(2) — 2 4 8 16 32 64 128 10 0.72 2.1 1024 TOSC 500 Max — — — — — — — — 30 1.2 2.6 — 900 Units μs ms Conditions -40°C to +85°C -40°C to +85°C User programmable SY12 SY13 SY20 SY30 SY35 Note 1: 2: TPOR TIOZ TWDT1 TOST TFSCM Power-on Reset Delay I/O High-Impedance from MCLR Low or Watchdog Timer Reset Watchdog Timer Time-out Period (No Prescaler) Oscillator Start-up Timer Period Fail-Safe Clock Monitor Delay μs μs ms — μs -40°C to +85°C VDD = 3V, -40°C to +85°C TOSC = OSC1 period -40°C to +85°C These parameters are characterized but not tested in manufacturing. Data in “Typ” column is at 5V, 25°C unless otherwise stated. DS70175F-page 248 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 FIGURE 23-5: TIMER1, 2, 3, 4, 5, 6, 7, 8 AND 9 EXTERNAL CLOCK TIMING CHARACTERISTICS TxCK Tx10 Tx15 OS60 TMRx Tx11 Tx20 Note: Refer to Figure 23-1 for load conditions. TABLE 23-22: TIMER1 EXTERNAL CLOCK TIMING REQUIREMENTS(1) AC CHARACTERISTICS Param No. TA10 Symbol TTXH Characteristic TxCK High Time Synchronous, no prescaler Synchronous, with prescaler Asynchronous TA11 TTXL TxCK Low Time Synchronous, no prescaler Synchronous, with prescaler Asynchronous TA15 TTXP TxCK Input Period Synchronous, no prescaler Synchronous, with prescaler Asynchronous OS60 Ft1 SOSC1/T1CK Oscillator Input frequency Range (oscillator enabled by setting bit TCS (T1CON)) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 0.5 TCY + 20 10 10 0.5 TCY + 20 10 10 TCY + 40 Greater of: 20 ns or (TCY + 40)/N 20 DC Typ — — — — — — — — Max — — — — — — — — Units ns ns ns ns ns ns ns — N = prescale value (1, 8, 64, 256) Must also meet parameter TA15 Conditions Must also meet parameter TA15 — — — 50 ns kHz TA20 Note 1: TCKEXTMRL Delay from External TxCK Clock Edge to Timer Increment Timer1 is a Type A. 0.5 TCY 1.5 TCY — © 2007 Microchip Technology Inc. DS70175F-page 249 PIC24HJXXXGPX06/X08/X10 TABLE 23-23: TIMER2, TIMER4, TIMER6 AND TIMER8 EXTERNAL CLOCK TIMING REQUIREMENTS AC CHARACTERISTICS Param No. TB10 Symbol TtxH Characteristic TxCK High Time Synchronous, no prescaler Synchronous, with prescaler TB11 TtxL TxCK Low Time Synchronous, no prescaler Synchronous, with prescaler TB15 TtxP TxCK Input Period Synchronous, no prescaler Synchronous, with prescaler TB20 TCKEXTMRL Delay from External TxCK Clock Edge to Timer Increment Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 0.5 TCY + 20 10 0.5 TCY + 20 10 TCY + 40 Greater of: 20 ns or (TCY + 40)/N 0.5 TCY — 1.5 TCY — Typ — — — — — Max — — — — — Units ns ns ns ns ns N = prescale value (1, 8, 64, 256) Must also meet parameter TB15 Conditions Must also meet parameter TB15 TABLE 23-24: TIMER3, TIMER5, TIMER7 AND TIMER9 EXTERNAL CLOCK TIMING REQUIREMENTS AC CHARACTERISTICS Param No. TC10 TC11 TC15 Symbol TtxH TtxL TtxP Characteristic TxCK High Time TxCK Low Time Synchronous Synchronous Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 0.5 TCY + 20 0.5 TCY + 20 TCY + 40 Greater of: 20 ns or (TCY + 40)/N 0.5 TCY — 1.5 TCY — Typ — — — Max — — — Units ns ns ns Conditions Must also meet parameter TC15 Must also meet parameter TC15 N = prescale value (1, 8, 64, 256) TxCK Input Period Synchronous, no prescaler Synchronous, with prescaler TC20 TCKEXTMRL Delay from External TxCK Clock Edge to Timer Increment DS70175F-page 250 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 FIGURE 23-6: INPUT CAPTURE (CAPx) TIMING CHARACTERISTICS ICx IC10 IC15 Note: Refer to Figure 23-1 for load conditions. IC11 TABLE 23-25: INPUT CAPTURE TIMING REQUIREMENTS AC CHARACTERISTICS Param No. IC10 IC11 IC15 Note 1: Symbol TccL TccH TccP Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Characteristic(1) ICx Input Low Time ICx Input High Time ICx Input Period No Prescaler With Prescaler No Prescaler With Prescaler Min 0.5 TCY + 20 10 0.5 TCY + 20 10 (TCY + 40)/N Max — — — — — Units ns ns ns ns ns N = prescale value (1, 4, 16) Conditions These parameters are characterized but not tested in manufacturing. FIGURE 23-7: OUTPUT COMPARE MODULE (OCx) TIMING CHARACTERISTICS OCx (Output Compare or PWM Mode) OC11 OC10 Note: Refer to Figure 23-1 for load conditions. TABLE 23-26: OUTPUT COMPARE MODULE TIMING REQUIREMENTS AC CHARACTERISTICS Param Symbol No. OC10 OC11 Note 1: 2: TccF TccR Characteristic(1) OCx Output Fall Time OCx Output Rise Time Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min — — Typ(2) — — Max — — Units ns ns Conditions See parameter D032 See parameter D031 These parameters are characterized but not tested in manufacturing. Data in “Typ” column is at 5V, 25°C unless otherwise stated. Parameters are for design guidance only and are not tested. © 2007 Microchip Technology Inc. DS70175F-page 251 PIC24HJXXXGPX06/X08/X10 FIGURE 23-8: OC/PWM MODULE TIMING CHARACTERISTICS OC20 OCFA/OCFB OC15 OCx TABLE 23-27: SIMPLE OC/PWM MODE TIMING REQUIREMENTS AC CHARACTERISTICS Param No. OC15 OC20 Note 1: Symbol TFD TFLT Characteristic(1) Fault Input to PWM I/O Change Fault Input Pulse Width Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min — 50 Typ — — Max 50 — Units ns ns Conditions — — These parameters are characterized but not tested in manufacturing. FIGURE 23-9: SCKx (CKP = 0) SPIx MODULE MASTER MODE (CKE = 0) TIMING CHARACTERISTICS SP11 SCKx (CKP = 1) SP35 SP10 SP21 SP20 SP20 MSb Bit 14 - - - - - -1 SP30 Bit 14 - - - -1 SP21 LSb SDOx SP31 SDIx MSb In SP40 SP41 LSb In Note: Refer to Figure 23-1 for load conditions. DS70175F-page 252 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-28: SPIx MASTER MODE (CKE = 0) TIMING REQUIREMENTS AC CHARACTERISTICS Param No. SP10 SP11 SP20 SP21 SP30 SP31 SP35 SP40 SP41 Note 1: 2: 3: 4: Symbol TscL TscH TscF TscR TdoF TdoR TscH2doV, TscL2doV TdiV2scH, TdiV2scL TscH2diL, TscL2diL Characteristic(1) SCKx Output Low Time(3) SCKx Output High Time (3) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min TCY/2 TCY/2 — — — — — 23 30 (4) Typ(2) — — — — — — 6 — — Max — — — — — — 20 — — Units ns ns ns ns ns ns ns ns ns Conditions — — See parameter D032 See parameter D031 See parameter D032 See parameter D031 — — — SCKx Output Fall Time(4) SCKx Output Rise Time(4) SDOx Data Output Fall Time(4) SDOx Data Output Rise Time SDOx Data Output Valid after SCKx Edge Setup Time of SDIx Data Input to SCKx Edge Hold Time of SDIx Data Input to SCKx Edge These parameters are characterized but not tested in manufacturing. Data in “Typ” column is at 5V, 25°C unless otherwise stated. The minimum clock period for SCKx is 100 ns. Therefore, the clock generated in Master mode must not violate this specification. Assumes 50 pF load on all SPIx pins. FIGURE 23-10: SPIx MODULE MASTER MODE (CKE = 1) TIMING CHARACTERISTICS SP36 SCKX (CKP = 0) SP11 SCKX (CKP = 1) SP10 SP21 SP20 SP35 SP20 LSb SP21 SDOX MSb SP40 Bit 14 - - - - - -1 SP30,SP31 Bit 14 - - - -1 SDIX MSb In SP41 LSb In Note: Refer to Figure 23-1 for load conditions. © 2007 Microchip Technology Inc. DS70175F-page 253 PIC24HJXXXGPX06/X08/X10 TABLE 23-29: SPIx MODULE MASTER MODE (CKE = 1) TIMING REQUIREMENTS AC CHARACTERISTICS Param No. SP10 SP11 SP20 SP21 SP30 SP31 SP35 SP36 SP40 SP41 Note 1: 2: 3: 4: Symbol TscL TscH TscF TscR TdoF TdoR Characteristic(1) SCKx Output Low Time(3) SCKx Output High Time (3) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min TCY/2 TCY/2 — — — — — 30 23 30 Typ(2) — — — — — — 6 — — — Max — — — — — — 20 — — — Units ns ns ns ns ns ns ns ns ns ns Conditions — — See parameter D032 See parameter D031 See parameter D032 See parameter D031 — — — — SCKx Output Fall Time(4) SCKx Output Rise Time(4) SDOx Data Output Fall Time(4) SDOx Data Output Rise Time(4) TscH2doV, SDOx Data Output Valid after TscL2doV SCKx Edge TdoV2sc, SDOx Data Output Setup to TdoV2scL First SCKx Edge TdiV2scH, Setup Time of SDIx Data TdiV2scL Input to SCKx Edge TscH2diL, TscL2diL Hold Time of SDIx Data Input to SCKx Edge These parameters are characterized but not tested in manufacturing. Data in “Typ” column is at 5V, 25°C unless otherwise stated. The minimum clock period for SCKx is 100 ns. Therefore, the clock generated in Master mode must not violate this specification. Assumes 50 pF load on all SPIx pins. FIGURE 23-11: SSX SPIx MODULE SLAVE MODE (CKE = 0) TIMING CHARACTERISTICS SP50 SCKX (CKP = 0) SP71 SCKX (CKP = 1) SP35 SDOX MSb SP72 SP70 SP73 SP52 SP72 SP73 Bit 14 - - - - - -1 SP30,SP31 LSb SP51 LSb In SDIX MSb In SP41 SP40 Bit 14 - - - -1 Note: Refer to Figure 23-1 for load conditions. DS70175F-page 254 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-30: SPIx MODULE SLAVE MODE (CKE = 0) TIMING REQUIREMENTS AC CHARACTERISTICS Param No. SP70 SP71 SP72 SP73 SP30 SP31 SP35 SP40 SP41 SP50 SP51 SP52 Note 1: 2: 3: Symbol TscL TscH TscF TscR TdoF TdoR Characteristic(1) SCKx Input Low Time SCKx Input High Time SCKx Input Fall Time(3) SCKx Input Rise Time(3) SDOx Data Output Fall Time (3) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 30 30 — — — — — 20 20 120 10 1.5 TCY +40 Typ(2) — — 10 10 — — — — — — — — Max — — 25 25 — — 30 — — — 50 — Units ns ns ns ns ns ns ns ns ns ns ns ns Conditions — — — — See parameter D032 See parameter D031 — — — — — — SDOx Data Output Rise Time(3) TscH2doV, SDOx Data Output Valid after TscL2doV SCKx Edge TdiV2scH, Setup Time of SDIx Data Input TdiV2scL to SCKx Edge TscH2diL, TscL2diL Hold Time of SDIx Data Input to SCKx Edge TssL2scH, SSx ↓ to SCKx ↑ or SCKx Input TssL2scL TssH2doZ SSx ↑ to SDOx Output High-Impedance(3) TscH2ssH SSx after SCKx Edge TscL2ssH These parameters are characterized but not tested in manufacturing. Data in “Typ” column is at 5V, 25°C unless otherwise stated. Assumes 50 pF load on all SPIx pins. © 2007 Microchip Technology Inc. DS70175F-page 255 PIC24HJXXXGPX06/X08/X10 FIGURE 23-12: SSx SP50 SCKx (CKP = 0) SP71 SCKx (CKP = 1) SP35 SP52 SDOx MSb Bit 14 - - - - - -1 SP30,SP31 SDIx SDI MSb In SP41 SP40 Note: Refer to Figure 23-1 for load conditions. Bit 14 - - - -1 LSb In SP72 LSb SP51 SP73 SP70 SP73 SP72 SP52 SPIx MODULE SLAVE MODE (CKE = 1) TIMING CHARACTERISTICS SP60 DS70175F-page 256 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-31: SPIx MODULE SLAVE MODE (CKE = 1) TIMING REQUIREMENTS AC CHARACTERISTICS Param No. SP70 SP71 SP72 SP73 SP30 SP31 SP35 SP40 SP41 SP50 SP51 SP52 SP60 Note 1: 2: 3: 4: Symbol TscL TscH TscF TscR TdoF TdoR Characteristic(1) SCKx Input Low Time SCKx Input High Time SCKx Input Fall Time(3) SCKx Input Rise Time(3) SDOx Data Output Fall Time(3) SDOx Data Output Rise Time(3) Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 30 30 — — — — — 20 20 120 10 1.5 TCY + 40 — Typ(2) — — 10 10 — — — — — — — — — Max — — 25 25 — — 30 — — — 50 — 50 Units ns ns ns ns ns ns ns ns ns ns ns ns ns Conditions — — — — See parameter D032 See parameter D031 — — — — — — — TscH2doV, SDOx Data Output Valid after TscL2doV SCKx Edge TdiV2scH, Setup Time of SDIx Data Input TdiV2scL to SCKx Edge TscH2diL, Hold Time of SDIx Data Input TscL2diL to SCKx Edge TssL2scH, SSx ↓ to SCKx ↓ or SCKx ↑ TssL2scL Input TssH2doZ SSx ↑ to SDOX Output High-Impedance(4) TscH2ssH SSx ↑ after SCKx Edge TscL2ssH TssL2doV SDOx Data Output Valid after SSx Edge These parameters are characterized but not tested in manufacturing. Data in “Typ” column is at 5V, 25°C unless otherwise stated. The minimum clock period for SCKx is 100 ns. Therefore, the clock generated in Master mode must not violate this specification. Assumes 50 pF load on all SPIx pins. © 2007 Microchip Technology Inc. DS70175F-page 257 PIC24HJXXXGPX06/X08/X10 FIGURE 23-13: I2Cx BUS START/STOP BITS TIMING CHARACTERISTICS (MASTER MODE) SCLx IM31 IM30 IM33 IM34 SDAx Start Condition Note: Refer to Figure 23-1 for load conditions. Stop Condition FIGURE 23-14: I2Cx BUS DATA TIMING CHARACTERISTICS (MASTER MODE) IM20 IM11 IM10 IM11 IM26 IM21 SCLx IM10 IM25 IM33 SDAx In IM40 IM40 IM45 SDAx Out Note: Refer to Figure 23-1 for load conditions. DS70175F-page 258 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-32: I2Cx BUS DATA TIMING REQUIREMENTS (MASTER MODE) AC CHARACTERISTICS Param Symbol No. IM10 Characteristic Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min(1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) — 20 + 0.1 CB — — 20 + 0.1 CB — 250 100 40 0 0 0.2 TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) TCY/2 (BRG + 1) — — — 4.7 1.3 0.5 — Max — — — — — — 300 300 100 1000 300 300 — — — — 0.9 — — — — — — — — — — — — — 3500 1000 400 — — — 400 Units μs μs μs μs μs μs ns ns ns ns ns ns ns ns ns μs μs μs μs μs μs μs μs μs μs μs μs ns ns ns ns ns ns μs μs μs pF — — — Time the bus must be free before a new transmission can start — Only relevant for Repeated Start condition After this period the first clock pulse is generated — — — CB is specified to be from 10 to 400 pF Conditions — — — — — — CB is specified to be from 10 to 400 pF TLO:SCL Clock Low Time 100 kHz mode 400 kHz mode 1 MHz mode(2) IM11 THI:SCL Clock High Time 100 kHz mode 400 kHz mode 1 MHz mode (2) IM20 TF:SCL SDAx and SCLx 100 kHz mode Fall Time 400 kHz mode 1 MHz mode(2) SDAx and SCLx 100 kHz mode Rise Time 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) 100 kHz mode 400 kHz mode 1 MHz mode(2) IM21 TR:SCL IM25 TSU:DAT Data Input Setup Time THD:DAT Data Input Hold Time TSU:STA Start Condition Setup Time IM26 IM30 IM31 THD:STA Start Condition Hold Time TSU:STO Stop Condition Setup Time THD:STO Stop Condition Hold Time IM33 IM34 IM40 TAA:SCL Output Valid From Clock IM45 TBF:SDA Bus Free Time IM50 Note 1: 2: CB Bus Capacitive Loading BRG is the value of the I2C Baud Rate Generator. Refer to Section 19. “Inter-Integrated Circuit (I2C™)” in the “dsPIC33F Family Reference Manual”. Maximum pin capacitance = 10 pF for all I2Cx pins (for 1 MHz mode only). © 2007 Microchip Technology Inc. DS70175F-page 259 PIC24HJXXXGPX06/X08/X10 FIGURE 23-15: I2Cx BUS START/STOP BITS TIMING CHARACTERISTICS (SLAVE MODE) SCLx IS31 IS30 IS33 IS34 SDAx Start Condition Stop Condition FIGURE 23-16: I2Cx BUS DATA TIMING CHARACTERISTICS (SLAVE MODE) IS20 IS11 IS10 IS30 IS26 IS21 SCLx IS31 IS25 IS33 SDAx In IS40 IS40 IS45 SDAx Out DS70175F-page 260 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-33: I2Cx BUS DATA TIMING REQUIREMENTS (SLAVE MODE) AC CHARACTERISTICS Param No. IS10 Symbol TLO:SCL Characteristic Clock Low Time 100 kHz mode 400 kHz mode 1 MHz mode(1) IS11 THI:SCL Clock High Time 100 kHz mode 400 kHz mode 1 MHz mode(1) IS20 TF:SCL SDAx and SCLx Fall Time SDAx and SCLx Rise Time Data Input Setup Time Data Input Hold Time Start Condition Setup Time Start Condition Hold Time Stop Condition Setup Time Stop Condition Hold Time Output Valid From Clock Bus Free Time 100 kHz mode 400 kHz mode 1 MHz mode(1) IS21 TR:SCL 100 kHz mode 400 kHz mode 1 MHz mode(1) IS25 TSU:DAT 100 kHz mode 400 kHz mode 1 MHz mode(1) IS26 THD:DAT 100 kHz mode 400 kHz mode 1 MHz mode(1) IS30 TSU:STA 100 kHz mode 400 kHz mode 1 MHz mode(1) IS31 THD:STA 100 kHz mode 400 kHz mode 1 MHz mode(1) IS33 TSU:STO 100 kHz mode 400 kHz mode 1 MHz mode(1) IS34 THD:STO 100 kHz mode 400 kHz mode 1 MHz mode(1) IS40 TAA:SCL 100 kHz mode 400 kHz mode 1 MHz mode(1) IS45 TBF:SDA 100 kHz mode 400 kHz mode 1 MHz mode(1) IS50 Note 1: CB Bus Capacitive Loading Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min 4.7 1.3 0.5 4.0 0.6 0.5 — 20 + 0.1 CB — — 20 + 0.1 CB — 250 100 100 0 0 0 4.7 0.6 0.25 4.0 0.6 0.25 4.7 0.6 0.6 4000 600 250 0 0 0 4.7 1.3 0.5 — 3500 1000 350 — — — 400 Max — — — — — — 300 300 100 1000 300 300 — — — — 0.9 0.3 — — — — — — — — — — — Units μs μs μs μs μs μs ns ns ns ns ns ns ns ns ns μs μs μs μs μs μs μs μs μs μs μs μs ns ns ns ns ns ns μs μs μs pF Time the bus must be free before a new transmission can start — — — — After this period, the first clock pulse is generated Only relevant for Repeated Start condition — — CB is specified to be from 10 to 400 pF Conditions Device must operate at a minimum of 1.5 MHz Device must operate at a minimum of 10 MHz — Device must operate at a minimum of 1.5 MHz Device must operate at a minimum of 10 MHz — CB is specified to be from 10 to 400 pF Maximum pin capacitance = 10 pF for all I2Cx pins (for 1 MHz mode only). © 2007 Microchip Technology Inc. DS70175F-page 261 PIC24HJXXXGPX06/X08/X10 FIGURE 23-17: ECAN™ MODULE I/O TIMING CHARACTERISTICS CiTx Pin (output) CiRx Pin (input) Old Value CA10 CA11 New Value CA20 TABLE 23-34: ECAN™ MODULE I/O TIMING REQUIREMENTS AC CHARACTERISTICS Param No. CA10 CA11 CA20 Note 1: Symbol TioF TioR Tcwf Characteristic(1) Port Output Fall Time Port Output Rise Time Pulse Width to Trigger CAN Wake-up Filter Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C Min — — 120 Typ — — Max — — Units ns ns ns Conditions See parameter D032 See parameter D031 — These parameters are characterized but not tested in manufacturing. DS70175F-page 262 © 2007 Microchip Technology Inc. PIC24HJXXXGPX06/X08/X10 TABLE 23-35: ADC MODULE SPECIFICATIONS AC CHARACTERISTICS Param Symbol No. AD01 AVDD Characteristic Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Min. Typ Max. Units Conditions Device Supply Module VDD Supply Greater of VDD – 0.3 or 3.0 VSS – 0.3 AVSS + 2.7 3.0 VREFL Reference Voltage Low AVSS 0 VREF IREF Absolute Reference Voltage Current Drain 2.7 — — Lesser of VDD + 0.3 or 3.6 VSS + 0.3 AVDD 3.6 AVDD – 2.7 0 3.6 550 10 VREFH V — V V V V V V μA μA V See Note 1 VREFH = AVDD VREFL = AVSS = 0 See Note 1 VREFH = AVDD VREFL = AVSS = 0 VREF = VREFH - VREFL ADC operating ADC off This voltage reflects Sample and Hold Channels 0, 1, 2, and 3 (CH0-CH3), positive input This voltage reflects Sample and Hold Channels 0, 1, 2, and 3 (CH0-CH3), negative input 10-bit ADC 12-bit ADC — AD02 AD05 AD05a AD06 AD06a AD07 AD08 AVSS VREFH Module VSS Supply Reference Voltage High — — — — — — 400 — — Reference Inputs Analog Input AD12 VINH Input Voltage Range VINH VINL AD13 VINL Input Voltage Range VINL VREFL — AVSS + 1V V AD17 Note 1: RIN Recommended Impedance of Analog Voltage Source — — — — 200 200 Ω Ω These parameters are not characterized or tested in manufacturing. © 2007 Microchip Technology Inc. DS70175F-page 263 PIC24HJXXXGPX06/X08/X10 TABLE 23-36: ADC MODULE SPECIFICATIONS (12-BIT MODE) AC CHARACTERISTICS Param No. AD20a AD21a AD22a AD23a AD24a AD25a AD20b AD21b AD22b AD23b AD24b AD25b AD30a AD31a AD32a AD33a AD34a Symbol Characteristic Standard Operating Conditions: 3.0V to 3.6V (unless otherwise stated) Operating temperature -40°C ≤ TA ≤ +85°C for Industrial Min. Typ Max. Units Conditions ADC Accuracy (12-bit Mode) – Measurements with external VREF+/VREFNr INL DNL GERR EOFF — Nr INL DNL GERR EOFF — THD SINAD SFDR FNYQ ENOB Resolution Integral Nonlinearity Differential Nonlinearity Gain Error Offset Error Monotonicity Resolution Integral Nonlinearity Differential Nonlinearity Gain Error Offset Error Monotonicity Total Harmonic Distortion Signal to Noise and Distortion Spurious Free Dynamic Range Input Signal Bandwidth Effective Number of Bits -2 >-1 2 2 — -77 59 63 — 10.95 -2 >-1 1.25 1.25 — 12 data bits — — 1.5 1.52 — 12 data bits — — 3 3 — -69 63 72 — 11.1 +2 -1 1 1 — 10 data bits — — 3 2 — 10 data bits — — 5 2 — -64 57 60 — 9.7 +1
PIC24HJXXXGPX08 价格&库存

很抱歉,暂时无法提供与“PIC24HJXXXGPX08”相匹配的价格&库存,您可以联系我们找货

免费人工找货