Описание
High-Performance, 16-bit Microcontrollers The PIC24HJ32GP204 CPU modules have 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-cycl e instruction prefetch mechanism is used to help maintain throughput and provides predictable execution. Overhead-free, single-cycle program loop constructs are supported using the REPEAT instruction, which is interruptible at any time The PIC24HJ32GP204 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) op erates as a software Stack Pointer (SP) for interrupts and calls The instruction set includes many addressing modes and is designed for optimum C compiler efficiency. For most instructions, the devices are 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 pa rameter instructions can be supported, allowing A + B = C operations to be executed in a single cycleThe data space can be linearly addressed as 32K words or 64 Kbytes using an Addr ess Generation Unit (AGU). The upper 32 Kbytes of the data space memory map can optionally be mapped into program space at any 16K pro- gram word boundary defined by the 8-bit Program Space Visibility Page register (P SVPAG). The program to data space mapping feature lets any instruction access pro- gram 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 this may be used as general purpose RAMThe PIC24HJ32GP204 devices feature 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 PIC24HJ32GP204 devices support 16/16 and 32/16 integer divide operations. All divide in structions 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 interru pted 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.
- Operating Range:
- Up to 40 MIPS operation (@ 3.0-3.6V):
- Industrial temperature range (-40°C to +85°C)
- Extended temperature range (-40°C to +125°C)
- Up to 20 MIPS operation (@ 3.0-3.6V):
- High temperature range (-40°C to +150°C)
- 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 one word/one cycle
- Sixteen 16-bit general purpose registers
- Flexible and powerful addressing modes
- Software stack
- 16 x 16 multiply operations
- 32/16 and 16/16 divide operations
- Up to ±16-bit shifts for up to 40-bit data
- Interrupt Controller:
- 5-cycle latency
- Up to 21 available interrupt sources
- Up to three external interrupts
- Seven programmable priority levels
- Four processor exceptions
- On-Chip Flash and SRAM:
- Flash program memory (up to 32 Kbytes)
- Data SRAM (2 Kbytes)
- Boot and general security for program Flash
- Digital I/O:
- Peripheral Pin Select (PPS) functionality
- Up to 35 programmable digital I/O pins
- Wake-up/Interrupt-on-Change for up to 31 pins
- Output pins can drive from 3.0V to 3.6V
- Up to 5.5V output with open drain configuration on 5V tolerant pins with external pull-up
- 4 mA sink on all I/O pins
- System Management:
- Flexible clock options:
- External, crystal, resonator, internal RC
- Fully integrated Phase-Locked Loop (PLL)
- Extremely low jitter PLL
- Power-up Timer
- Oscillator Start-up Timer/Stabilizer
- Watchdog Timer with its own RC oscillator
- Fail-Safe Clock Monitor (FSCM)
- 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
- Timers/Capture/Compare:
- Timer/Counters, up to three 16-bit timers:
- Can pair up to make one 32-bit timer
- One timer runs as Real-Time Clock with external 32.768 kHz oscillator
- Programmable prescaler
- Input Capture (up to four channels):
- Capture on up, down or both edges
- 16-bit capture input functions
- 4-deep FIFO on each capture
- Output Compare (up to two channels):
- Single or Dual 16-bit Compare mode
- 16-bit Glitchless PWM Mode
- Communication Modules:
- 4-wire SPI
- Framing supports I/O interface to simple codecs
- Supports 8-bit and 16-bit data
- Supports all serial clock formats and sampling modes