\n

PDM0

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x1000 byte (0x0)
mem_usage : registers
protection : not protected

Registers

CTL

CLOCK_CTL

MODE_CTL

DATA_CTL

CMD

RX_FIFO_CTL

RX_FIFO_STATUS

RX_FIFO_RD

RX_FIFO_RD_SILENT

TR_CTL

INTR

INTR_SET

INTR_MASK

INTR_MASKED


CTL

Control
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CTL CTL 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 PGA_R PGA_L SOFT_MUTE STEP_SEL ENABLED

PGA_R : Right channel PGA gain: +1.5dB/step, -12dB ~ +10.5dB '0': -12 dB '1': -10.5 dB ... '15' +10.5 dB (Note: These bits are connected to AR36U12.PDM_CORE_CFG.PGA_R)
bits : 0 - 3 (4 bit)
access : read-write

PGA_L : Left channel PGA gain: +1.5dB/step, -12dB ~ +10.5dB '0': -12 dB '1': -10.5 dB ... '15': +10.5 dB (Note: These bits are connected to AR36U12.PDM_CORE_CFG.PGA_L)
bits : 8 - 19 (12 bit)
access : read-write

SOFT_MUTE : Soft mute function to mute the volume smoothly '0': Disabled. '1': Enabled. (Note: This bit is connected to AR36U12.PDM_CORE_CFG.SOFT_MUTE)
bits : 16 - 32 (17 bit)
access : read-write

STEP_SEL : Set fine gain step for smooth PGA or Soft-Mute attenuation transition. '0': 0.13dB '1': 0.26dB (Note: This bit is connected to AR36U12.PDM_CORE2_CFG.SEL_STEP)
bits : 17 - 34 (18 bit)
access : read-write

ENABLED : Enables the PDM component: '0': Disabled. '1': Enabled.
bits : 31 - 62 (32 bit)
access : read-write


CLOCK_CTL

Clock control
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CLOCK_CTL CLOCK_CTL 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 CLK_CLOCK_DIV MCLKQ_CLOCK_DIV CKO_CLOCK_DIV SINC_RATE

CLK_CLOCK_DIV : PDM CLK (FPDM_CLK) (1st divider): This configures a frequency of PDM CLK. The configured frequency is used to operate PDM core. I.e. the frequency is input to MCLKQ_CLOCK_DIV register. Note: configure a frequency of PDM CLK as lower than or equal 50MHz with this divider.
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : DIVBY1

Divide by 1

1 : DIVBY2

Divide by 2 (no 50 percent duty cycle)

2 : DIVBY3

Divide by 3 (no 50 percent duty cycle)

3 : DIVBY4

Divide by 4 (no 50 percent duty cycle)

End of enumeration elements list.

MCLKQ_CLOCK_DIV : MCLKQ divider (2nd divider) (Note: These bits are connected to AR36U12.PDM_CORE2_CFG.DIV_MCLKQ)
bits : 4 - 9 (6 bit)
access : read-write

Enumeration:

0 : DIVBY1

Divide by 1

1 : DIVBY2

Divide by 2 (no 50 percent duty cycle)

2 : DIVBY3

Divide by 3 (no 50 percent duty cycle)

3 : DIVBY4

Divide by 4 (no 50 percent duty cycle)

End of enumeration elements list.

CKO_CLOCK_DIV : PDM CKO (FPDM_CKO) clock divider (3rd divider): FPDM_CKO = MCLKQ / (CKO_CLOCK_DIV + 1) Note: To configure '0' to this field is prohibited. (Note: PDM_CKO is configured by MCLKQ_CLOCK_DIV, CLK_CLOCK_DIV and CKO_CLOCK_DIV. ) (Note: These bits are connected to AR36U12.PDM_CORE_CFG.MCLKDIV)
bits : 8 - 19 (12 bit)
access : read-write

SINC_RATE : SINC Decimation Rate. For details, see the data sheet provided by Archband. Oversampling Ratio = Decimation Rate = 2 X SINC_RATE (Note: These bits are connected to AR36U12.PDM_CORE_CFG.SINC_RATE)
bits : 16 - 38 (23 bit)
access : read-write


MODE_CTL

Mode control
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

MODE_CTL MODE_CTL 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 PCM_CH_SET SWAP_LR S_CYCLES CKO_DELAY HPF_GAIN HPF_EN_N

PCM_CH_SET : Specifies PCM output channels as mono or stereo: (Note: These bits are connected to AR36U12.PDM_CORE2_CFG.PCM_CHSET)
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : DISABLED

Channel disabled

1 : MONO_L

Mono left channel enable

2 : MONO_R

Mono right channel enable

3 : STEREO

Stereo channel enable

End of enumeration elements list.

SWAP_LR : Input data L/R channel swap: '1': Right/Left channel recording swap '0': No Swap (Note: This bit is connected to AR36U12.PDM_CORE_CFG.LRSWAP)
bits : 2 - 4 (3 bit)
access : read-write

S_CYCLES : Set time step for gain change during PGA or soft mute operation in number of 1/a sampling rate. (Note: These bits are connected to AR36U12.PDM_CORE_CFG.S_CYCLES)
bits : 8 - 18 (11 bit)
access : read-write

Enumeration:

0 : STEP_NUM64

64steps

1 : STEP_NUM96

96steps

2 : STEP_NUM128

128steps

3 : STEP_NUM160

160steps

4 : STEP_NUM192

192steps

5 : STEP_NUM256

256steps

6 : STEP_NUM384

384steps

7 : STEP_NUM512

512steps

End of enumeration elements list.

CKO_DELAY : Phase difference from the rising edge of internal sampler clock (CLK_IS) to that of PDM_CKO clock: (Note: These bits are connected to AR36U12.PDM_CORE2_CFG.PDMCKO_DLY)
bits : 16 - 34 (19 bit)
access : read-write

Enumeration:

0 : ADV3

CLK_IS is 3*PDM_CLK period early

1 : ADV2

CLK_IS is 2*PDM_CLK period early

2 : ADV1

CLK_IS is 1*PDM_CLK period early

3 : NO_DELAY

CLK_IS is the same as PDM_CKO

4 : DLY1

CLK_IS is 1*PDM_CLK period late

5 : DLY2

CLK_IS is 2*PDM_CLK period late

6 : DLY3

CLK_IS is 3*PDM_CLK period late

7 : DLY4

CLK_IS is 4*PDM_CLK period late

End of enumeration elements list.

HPF_GAIN : Adjust high pass filter coefficients. H(Z) = (1 - Z-1 ) / [1 - (1- 2 -HPF_GAIN) Z-1 ] (Note: These bits are connected to AR36U12.PDM_CORE_CFG.HPGAIN)
bits : 24 - 51 (28 bit)
access : read-write

HPF_EN_N : Enable high pass filter (active low) '1': Disabled. '0': Enabled. (Note: This bit is connected to AR36U12.PDM_CORE_CFG.ADCHPD)
bits : 28 - 56 (29 bit)
access : read-write


DATA_CTL

Data control
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DATA_CTL DATA_CTL 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 WORD_LEN BIT_EXTENSION

WORD_LEN : PCM Word Length in number of bits: (Note: These bits are connected to AR36U12.PDM_CORE2_CFG.PCM_IWL)
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : BIT_LEN16

16-bit

1 : BIT_LEN18

18-bit

2 : BIT_LEN20

20-bit

3 : BIT_LEN24

24-bit

End of enumeration elements list.

BIT_EXTENSION : When reception word length is shorter than the word length of RX_FIFO_RD, extension mode of upper bit should be set. '0': Extended by '0' '1': Extended by sign bit (if MSB word is '1', then it is extended by '1', if MSB is '0' then it is extended by '0')
bits : 8 - 16 (9 bit)
access : read-write


CMD

Command
address_offset : 0x20 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CMD CMD 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 STREAM_EN

STREAM_EN : Enable data streaming flow: '0': Disabled. '1': Enabled. (Note: This bit is connected to AR36U12.PDM_CORE_CFG.PDMA_EN)
bits : 0 - 0 (1 bit)
access : read-write


RX_FIFO_CTL

RX FIFO control
address_offset : 0x300 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

RX_FIFO_CTL RX_FIFO_CTL 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 TRIGGER_LEVEL CLEAR FREEZE

TRIGGER_LEVEL : Trigger level. When the RX FIFO has more entries than the number of this field, a receiver trigger event is generated. Note: software can configure up to 254 in Mono channel enabled (MODE_CTL.PCM_CH_SET = '1' or '2'), up to 253 in Stereo channel enabled (MODE_CTL.PCM_CH_SET = '3').
bits : 0 - 7 (8 bit)
access : read-write

CLEAR : When '1', the RX FIFO and RX_BUF are cleared/invalidated. Invalidation will last for as long as this field is '1'. If a quick clear/invalidation is required, the field should be set to '1' and be followed by a set to '0'. If a clear/invalidation is required for an extended time period, the field should be set to '1' during the complete time period.
bits : 16 - 32 (17 bit)
access : read-write

FREEZE : When '1', hardware writes to the RX FIFO have no effect. Freeze will not advance the RX FIFO write pointer.This field is used only for debugging purposes.
bits : 17 - 34 (18 bit)
access : read-write


RX_FIFO_STATUS

RX FIFO status
address_offset : 0x304 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_FIFO_STATUS RX_FIFO_STATUS 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 USED RD_PTR WR_PTR

USED : Number of entries in the RX FIFO. The field value is in the range [0, 255]. When this is zero, the RX FIFO is empty.
bits : 0 - 7 (8 bit)
access : read-only

RD_PTR : RX FIFO read pointer: RX FIFO location from which a data frame is read by the host.This field is used only for debugging purposes.
bits : 16 - 39 (24 bit)
access : read-only

WR_PTR : RX FIFO write pointer: RX FIFO location at which a new data frame is written by the hardware.This field is used only for debugging purposes.
bits : 24 - 55 (32 bit)
access : read-only


RX_FIFO_RD

RX FIFO read
address_offset : 0x308 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_FIFO_RD RX_FIFO_RD 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 DATA

DATA : Data read from the RX FIFO. Reading a data frame will remove the data frame from the FIFO; i.e. behavior is similar to that of a POP operation. Note: Don't access to this bit while RX_FIFO_CTL.CLEAR is '1'.
bits : 0 - 31 (32 bit)
access : read-only


RX_FIFO_RD_SILENT

RX FIFO silent read
address_offset : 0x30C Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

RX_FIFO_RD_SILENT RX_FIFO_RD_SILENT 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 DATA

DATA : Data read from the RX FIFO. Reading a data frame will NOT remove the data frame from the RX FIFO; i.e. behavior is similar to that of a PEEK operation. This field is used only for debugging purposes. Note: Don't access to this bit while RX_FIFO_CTL.CLEAR is '1'.
bits : 0 - 31 (32 bit)
access : read-only


TR_CTL

Trigger control
address_offset : 0x40 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

TR_CTL TR_CTL 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 RX_REQ_EN

RX_REQ_EN : Trigger output ('tr_pdm_rx_req') enable for requests of DMA transfer '0': Disabled. '1': Enabled.
bits : 16 - 32 (17 bit)
access : read-write


INTR

Interrupt register
address_offset : 0xF00 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

INTR INTR 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 RX_TRIGGER RX_NOT_EMPTY RX_OVERFLOW RX_UNDERFLOW

RX_TRIGGER : More entries in the RX FIFO than the value specified by TRIGGER_LEVEL in RX_FIFO_CTL.
bits : 16 - 32 (17 bit)
access : read-write

RX_NOT_EMPTY : RX FIFO is not empty.
bits : 18 - 36 (19 bit)
access : read-write

RX_OVERFLOW : Attempt to write to a full RX FIFO
bits : 21 - 42 (22 bit)
access : read-write

RX_UNDERFLOW : Attempt to read from an empty RX FIFO
bits : 22 - 44 (23 bit)
access : read-write


INTR_SET

Interrupt set register
address_offset : 0xF04 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

INTR_SET INTR_SET 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 RX_TRIGGER RX_NOT_EMPTY RX_OVERFLOW RX_UNDERFLOW

RX_TRIGGER : Write with '1' to set corresponding bit in interrupt request register.
bits : 16 - 32 (17 bit)
access : read-write

RX_NOT_EMPTY : Write with '1' to set corresponding bit in interrupt request register.
bits : 18 - 36 (19 bit)
access : read-write

RX_OVERFLOW : Write with '1' to set corresponding bit in interrupt request register.
bits : 21 - 42 (22 bit)
access : read-write

RX_UNDERFLOW : Write with '1' to set corresponding bit in interrupt request register.
bits : 22 - 44 (23 bit)
access : read-write


INTR_MASK

Interrupt mask register
address_offset : 0xF08 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

INTR_MASK INTR_MASK 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 RX_TRIGGER RX_NOT_EMPTY RX_OVERFLOW RX_UNDERFLOW

RX_TRIGGER : Mask bit for corresponding bit in interrupt request register.
bits : 16 - 32 (17 bit)
access : read-write

RX_NOT_EMPTY : Mask bit for corresponding bit in interrupt request register.
bits : 18 - 36 (19 bit)
access : read-write

RX_OVERFLOW : Mask bit for corresponding bit in interrupt request register.
bits : 21 - 42 (22 bit)
access : read-write

RX_UNDERFLOW : Mask bit for corresponding bit in interrupt request register.
bits : 22 - 44 (23 bit)
access : read-write


INTR_MASKED

Interrupt masked register
address_offset : 0xF0C Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

INTR_MASKED INTR_MASKED 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 RX_TRIGGER RX_NOT_EMPTY RX_OVERFLOW RX_UNDERFLOW

RX_TRIGGER : Logical and of corresponding request and mask bits.
bits : 16 - 32 (17 bit)
access : read-only

RX_NOT_EMPTY : Logical and of corresponding request and mask bits.
bits : 18 - 36 (19 bit)
access : read-only

RX_OVERFLOW : Logical and of corresponding request and mask bits.
bits : 21 - 42 (22 bit)
access : read-only

RX_UNDERFLOW : Logical and of corresponding request and mask bits.
bits : 22 - 44 (23 bit)
access : read-only



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.