English
Language : 

PIC24HJ32GP302_11 Datasheet, PDF (105/368 Pages) Microchip Technology – High-Performance, 16-bit Microcontrollers
PIC24HJ32GP302/304, PIC24HJ64GPX02/X04 AND PIC24HJ128GPX02/X04
8.0 DIRECT MEMORY ACCESS
(DMA)
Note 1: This data sheet summarizes the features
of
the
PIC24HJ32GP302/304,
PIC24HJ64GPX02/X04
and
PIC24HJ128GPX02/X04 families of
devices. It is not intended to be a compre-
hensive reference source. To comple-
ment the information in this data sheet,
refer to Section 38. “Direct Memory
Access (DMA) (Part III)” (DS70215) of
the “dsPIC33F/PIC24H Family Refer-
ence Manual”, which is available from the
Microchip website (www.microchip.com).
2: Some registers and associated bits
described in this section may not be
available on all devices. Refer to
Section 4.0 “Memory Organization” in
this data sheet for device-specific register
and bit information.
Direct Memory Access (DMA) is a very efficient
mechanism of copying data between peripheral SFRs
(e.g., UART Receive register, Input Capture 1 buffer),
and buffers or variables stored in RAM, with minimal
CPU intervention. The DMA controller can
automatically copy entire blocks of data without
requiring the user software to read or write the
peripheral Special Function Registers (SFRs) every
time a peripheral interrupt occurs. The DMA controller
uses a dedicated bus for data transfers and therefore,
does not steal cycles from the code execution flow of
the CPU. To exploit the DMA capability, the
corresponding user buffers or variables must be
located in DMA RAM.
The PIC24HJ32GP302/304, PIC24HJ64GPX02/X04
and PIC24HJ128GPX02/X04 peripherals that can
utilize DMA are listed in Table 8-1.
TABLE 8-1: DMA CHANNEL TO PERIPHERAL ASSOCIATIONS
Peripheral to DMA Association
DMAxREQ Register
IRQSEL<6:0> Bits
DMAxPAD Register
Values to Read from
Peripheral
INT0 – External Interrupt 0
IC1 – Input Capture 1
OC1 – Output Compare 1 Data
OC1 – Output Compare 1 Secondary Data
IC2 – Input Capture 2
OC2 – Output Compare 2 Data
OC2 – Output Compare 2 Secondary Data
TMR2 – Timer2
TMR3 – Timer3
SPI1 – Transfer Done
UART1RX – UART1 Receiver
UART1TX – UART1 Transmitter
ADC1 – ADC1 Convert Done
UART2RX – UART2 Receiver
UART2TX – UART2 Transmitter
SPI2 – Transfer Done
ECAN1 – RX Data Ready
PMP – Master Data Transfer
ECAN1 – TX Data Request
0000000
0000001
0000010
0000010
0000101
0000110
0000110
0000111
0001000
0001010
0001011
0001100
0001101
0011110
0011111
0100001
0100010
0101101
1000110
—
0x0140 (IC1BUF)
—
—
0x0144 (IC2BUF)
—
—
—
—
0x0248 (SPI1BUF)
0x0226 (U1RXREG)
—
0x0300 (ADC1BUF0)
0x0236 (U2RXREG)
—
0x0268 (SPI2BUF)
0x0440 (C1RXD)
0x0608 (PMDIN1)
—
DMAxPAD Register
Values to Write to
Peripheral
—
—
0x0182 (OC1R)
0x0180 (OC1RS)
—
0x0188 (OC2R)
0x0186 (OC2RS)
—
—
0x0248 (SPI1BUF)
—
0x0224 (U1TXREG)
—
—
0x0234 (U2TXREG)
0x0268 (SPI2BUF)
—
0x0608 (PMDIN1)
0x0442 (C1TXD)
© 2011 Microchip Technology Inc.
DS70293E-page 105