\n

PDMA

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x28 byte (0x0)
mem_usage : registers
protection :

address_offset : 0x34 Bytes (0x0)
size : 0x8 byte (0x0)
mem_usage : registers
protection :

Registers

PDMA_CTLn

PDMA_INTPNTn

PDMA_CURSADDRn

PDMA_CURDADDRn

PDMA_CURTXCNTn

PDMA_INTENn

PDMA_INTSTSn

PDMA_SPANn

PDMA_CURSPANn

PDMA_SADDRn

PDMA_DADDRn

PDMA_TXCNTn


PDMA_CTLn

PDMA Control Register of Channel n
address_offset : 0x0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_CTLn PDMA_CTLn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CHEN SWRST MODESEL SASEL DASEL WAINTSEL TXWIDTH TXEN

CHEN : PDMA Channel Enable Setting this bit to 1 enables PDMA's operation. If this bit is cleared, PDMA will ignore all PDMA request and force Bus Master into IDLE state. Note: SWRST will clear this bit.
bits : 0 - 0 (1 bit)
access : read-write

SWRST : Software Engine Reset
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

Writing 0 to this bit has no effect

#1 : 1

Writing 1 to this bit will reset the internal state machine and pointers. The contents of the control register will not be cleared. This bit will auto clear after a few clock cycles

End of enumeration elements list.

MODESEL : PDMA Mode Select This parameter selects to transfer direction of the PDMA channel. Possible values are:
bits : 2 - 3 (2 bit)
access : read-write

Enumeration:

#00 : 0

Memory to Memory mode (SRAM-to-SRAM)

#01 : 1

IP to Memory mode (APB-to-SRAM)

#10 : 2

Memory to IP mode (SRAM-to-APB)

End of enumeration elements list.

SASEL : Source Address Select This parameter determines the behavior of the current source address register with each PDMA transfer. It can either be fixed, incremented or wrapped. When PDMA_CTLn.CHEN is disabled, the PDMA will complete the active transfer but the remaining data in the SBUF will not be transferred to the destination address.
bits : 4 - 5 (2 bit)
access : read-write

Enumeration:

#00 : 0

Transfer Source address is incremented

#01 : 1

Reserved

#10 : 2

Transfer Source address is fixed

#11 : 3

Transfer Source address is wrapped

End of enumeration elements list.

DASEL : Destination Address Select This parameter determines the behavior of the current destination address register with each PDMA transfer. It can either be fixed, incremented or wrapped. When PDMA_CTLn.CHEN is disabled, the PDMA will complete the active transfer but the remaining data in the SBUF will not be transferred to the destination address.
bits : 6 - 7 (2 bit)
access : read-write

Enumeration:

#00 : 0

Transfer Destination Address is incremented

#01 : 1

Reserved

#10 : 2

Transfer Destination Address is fixed (Used when data transferred from multiple addresses to a single destination such as peripheral FIFO input)

#11 : 3

Transfer Destination Address is wrapped

End of enumeration elements list.

WAINTSEL : Wrap Interrupt Select x1x1: Both half and w interrupts generated.
bits : 12 - 15 (4 bit)
access : read-write

TXWIDTH : Peripheral Transfer Width Select This parameter determines the data width to be transferred each PDMA transfer operation. Note: This field is meaningful only when MODESEL is IP to Memory mode (APB-to-Memory) or Memory to IP mode (Memory-to-APB).
bits : 19 - 20 (2 bit)
access : read-write

Enumeration:

#00 : 0

One word (32 bits) is transferred for every PDMA operation

#01 : 1

One byte (8 bits) is transferred for every PDMA operation

#10 : 2

One half-word (16 bits) is transferred for every PDMA operation

#11 : 3

Reserved

End of enumeration elements list.

TXEN : Trigger Enable - Start a PDMA Operation Note: When PDMA transfer completed, this bit will be cleared automatically. If a bus error occurs, all PDMA transfer will be stopped. Software must reset PDMA channel, and then trigger again.
bits : 23 - 23 (1 bit)
access : read-write

Enumeration:

#0 : 0

Write: no effect. Read: Idle/Finished

#1 : 1

Enable PDMA data read or write transfer

End of enumeration elements list.


PDMA_INTPNTn

PDMA Internal Buffer Pointer Register of Channel n
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

PDMA_INTPNTn PDMA_INTPNTn read-only 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 POINTER

POINTER : PDMA Internal Buffer Pointer Register (Read Only) A PDMA transaction consists of two stages, a read from the source address and a write to the destination address. Internally this data is buffered in a 32bit register. If transaction width between the read and write transactions are different, this register tracks which byte/half-word of the internal buffer is being processed by the current transaction.
bits : 0 - 3 (4 bit)
access : read-only


PDMA_CURSADDRn

PDMA Current Source Address Register of Channel n
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

PDMA_CURSADDRn PDMA_CURSADDRn read-only 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : PDMA Current Source Address Register (Read Only) This register returns the source address from which the PDMA transfer is occurring. This register is loaded from PDMA_SADDRn when PDMA is triggered or when a wraparound occurs.
bits : 0 - 31 (32 bit)
access : read-only


PDMA_CURDADDRn

PDMA Current Destination Address Register of Channel n
address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

PDMA_CURDADDRn PDMA_CURDADDRn read-only 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : PDMA Current Destination Address Register (Read Only) This register returns the destination address to which the PDMA transfer is occurring. This register is loaded from PDMA_DADDRn when PDMA is triggered or when a wraparound occurs.
bits : 0 - 31 (32 bit)
access : read-only


PDMA_CURTXCNTn

PDMA Current Transfer Byte Count Register of Channel n
address_offset : 0x1C Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

PDMA_CURTXCNTn PDMA_CURTXCNTn read-only 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CNT

CNT : PDMA Current Byte Count Register (Read Only) This field indicates the current remaining byte count of PDMA transfer. This register is initialized with CNT register when PDMA is triggered or when a wraparound occurs
bits : 0 - 15 (16 bit)
access : read-only


PDMA_INTENn

PDMA Interrupt Enable Control Register of Channel n
address_offset : 0x20 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_INTENn PDMA_INTENn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ABTIEN TXIEN WRAPIEN

ABTIEN : PDMA Read/Write Target Abort Interrupt Enable If enabled, the PDMA controller will generate and interrupt to the CPU whenever a PDMA transaction is aborted due to an error. If a transfer is aborted, PDMA channel must be reset to resume DMA operation.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable PDMA transfer target abort interrupt generation

#1 : 1

Enable PDMA transfer target abort interrupt generation

End of enumeration elements list.

TXIEN : PDMA Transfer Done Interrupt Enable If enabled, the PDMA controller will generate and interrupt to the CPU when the requested PDMA transfer is complete.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable PDMA transfer done interrupt generation

#1 : 1

Enable PDMA transfer done interrupt generation

End of enumeration elements list.

WRAPIEN : Wraparound Interrupt Enable If enabled, and channel source or destination address is in wraparound mode, the PDMA controller will generate a WRAP interrupt to the CPU according to the setting of PDMA_DSCTn_CTL.WAINTSEL. This can be interrupts when the transaction has finished and has wrapped around and/or when the transaction is half way in progress. This allows the efficient implementation of circular buffers for DMA.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

#0 : 0

Disable Wraparound PDMA interrupt generation

#1 : 1

Enable Wraparound interrupt generation

End of enumeration elements list.


PDMA_INTSTSn

PDMA Interrupt Status Register of Channel n
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_INTSTSn PDMA_INTSTSn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ABTIF TXIF WRAPIF INTSTS

ABTIF : PDMA Read/Write Target Abort Interrupt Flag This flag indicates a Target Abort interrupt condition has occurred. This condition can happen if attempt is made to read/write from invalid or non-existent memory space. It occurs when PDMA controller receives a bus error from AHB master. Upon occurrence PDMA will stop transfer and go to idle state. To resume, software must reset PDMA channel and initiate transfer again. NOTE: This bit is cleared by writing 1 to itself.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

No bus ERROR response received

#1 : 1

Bus ERROR response received

End of enumeration elements list.

TXIF : Block Transfer Done Interrupt Flag This bit indicates that PDMA block transfer complete interrupt has been generated. It is cleared by writing 1 to the bit.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

Transfer ongoing or Idle

#1 : 1

Transfer Complete

End of enumeration elements list.

WRAPIF : Wrap Around Transfer Byte Count Interrupt Flag These flags are set whenever the conditions for a wraparound interrupt (complete or half complete) are met. They are cleared by writing one to the bits.
bits : 8 - 11 (4 bit)
access : read-write

Enumeration:

#0001 : 1

Current transfer finished flag (PDMA_CURTXCNT == 0)

#0100 : 4

Current transfer half complete flag (PDMA_CURTXCNT == PDMA_TXCNT /2)

End of enumeration elements list.

INTSTS : Interrupt Pin Status (Read Only) This bit is the Interrupt pin status of PDMA channel.
bits : 31 - 31 (1 bit)
access : read-only


PDMA_SPANn

PDMA Span Increment Register of Channel n
address_offset : 0x34 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

PDMA_SPANn PDMA_SPANn read-only 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SPAN

SPAN : Span Increment Register This is a signed number in range [-128,127] for use in spanned address mode. If destination or source addressing mode is set as spanned, then this number is added to the address register each transfer. The size of the transfer is determined by the APB_TW setting. Note that span increment must be a multiple of the transfer width otherwise a memory addressing HardFault will occur. Also SPAN may be a negative number.
bits : 0 - 7 (8 bit)
access : read-only


PDMA_CURSPANn

PDMA Current Span Increment Register of Channel n
address_offset : 0x38 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_CURSPANn PDMA_CURSPANn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SPAN

SPAN : Current Span Increment Register This is a signed read only register for use in spanned address mode. It provides the current address offset from SADDR or DADDR if either is set to span mode.
bits : 0 - 7 (8 bit)
access : read-write


PDMA_SADDRn

PDMA Transfer Source Address Register of Channel n
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_SADDRn PDMA_SADDRn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : PDMA Transfer Source Address Register This register holds the initial Source Address of PDMA transfer. Note: The source address must be word aligned.
bits : 0 - 31 (32 bit)
access : read-write


PDMA_DADDRn

PDMA Transfer Destination Address Register of Channel n
address_offset : 0x8 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_DADDRn PDMA_DADDRn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADDR

ADDR : PDMA Transfer Destination Address Register This register holds the initial Destination Address of PDMA transfer. Note: The destination address must be word aligned.
bits : 0 - 31 (32 bit)
access : read-write


PDMA_TXCNTn

PDMA Transfer Byte Count Register of Channel n
address_offset : 0xC Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

PDMA_TXCNTn PDMA_TXCNTn read-write 0 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 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CNT

CNT : PDMA Transfer Byte Count Register This register controls the transfer byte count of PDMA. Maximum value is 0xFFFF.
bits : 0 - 15 (16 bit)
access : read-write



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.