\n

DMIC

Peripheral Memory Blocks

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

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

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

Registers

DMIC_CTL (CTL)

DMIC_FIFO (FIFO)

DMIC_GAIN0_1 (GAIN0_1)

DMIC_GAIN2_3 (GAIN2_3)

DMIC_RAMCFG (RAMCFG)

DMIC_ZCTH (ZCTH)

DMIC_DIV (DIV)

DMIC_STATUS (STATUS)

DMIC_PDMACTL (PDMACTL)


DMIC_CTL (CTL)

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

DMIC_CTL DMIC_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 CHEN0 CHEN1 CHEN2 CHEN3 LEDGE01 LEDGE23 CH0MUTE CH1MUTE CH2MUTE CH3MUTE CH01HPF CH23HPF SWRST GAINSTEP DATWIDTH

CHEN0 : DMIC Channel 0 Enable Bit Set this bit to 1 to enable DMIC channel 0 operation.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 0 Disabled

#1 : 1

DMIC Channel 0 Enabled

End of enumeration elements list.

CHEN1 : DMIC Channel 1 Enable Bit Set this bit to 1 to enable DMIC channel 1 operation.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 1 Disabled

#1 : 1

DMIC Channel 1 Enabled

End of enumeration elements list.

CHEN2 : DMIC Channel 2 Enable Bit Set this bit to 1 to enable DMIC channel 2 operation.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 2 Disabled

#1 : 1

DMIC Channel 2 Enabled

End of enumeration elements list.

CHEN3 : DMIC Channel 3 Enable Bit Set this bit to 1 to enable DMIC channel 3 operation.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 3 Disabled

#1 : 1

DMIC Channel 3 Enabled

End of enumeration elements list.

LEDGE01 : DMIC Channel 01 Data Latch Edge The data of DMIC channel 0 and channel 1 is latched on DMIC_DATA0 pin. This bit is used to select the data of DMIC channel 0 and channel 1 is latched on rising or falling edge of DMIC_CLK (DMIC bus clock).
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

#0 : 0

The data of channel 0 is latched on falling edge of DMIC_CLK. The data of channel 1 is latched on rising edge of DMIC_CLK

#1 : 1

The data of channel 0 is latched on rising edge of DMIC_CLK. The data of channel 1 is latched on falling edge of DMIC_CLK

End of enumeration elements list.

LEDGE23 : DMIC Channel 23 Data Latch Edge The data of DMIC channel 2 and channel 3 is latched on DMIC_DATA0 pin. This bit is used to select the data of DMIC channel 2 and channel 3 is latched on rising or falling edge of DMIC_CLK (DMIC bus clock).
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

#0 : 0

The data of channel 2 is latched on falling edge of DMIC_CLK. The data of channel 3 is latched on rising edge of DMIC_CLK

#1 : 1

The data of channel 2 is latched on rising edge of DMIC_CLK. The data of channel 3 is latched on falling edge of DMIC_CLK

End of enumeration elements list.

CH0MUTE : DMIC Channel 0 Mute Enable Bit Set this bit to 1 to mute DMIC channel 0.
bits : 12 - 12 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 0 Unmute

#1 : 1

DMIC Channel 0 Mute

End of enumeration elements list.

CH1MUTE : DMIC Channel 1 Mute Enable Bit Set this bit to 1 to mute DMIC channel 1.
bits : 13 - 13 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 1 Unmute

#1 : 1

DMIC Channel 1 Mute

End of enumeration elements list.

CH2MUTE : DMIC Channel 2 Mute Enable Bit Set this bit to 1 to mute DMIC channel 2.
bits : 14 - 14 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 2 Unmute

#1 : 1

DMIC Channel 2 Mute

End of enumeration elements list.

CH3MUTE : DMIC Channel 3 Mute Enable Bit Set this bit to 1 to mute DMIC channel 3.
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 3 Unmute

#1 : 1

DMIC Channel 3 Mute

End of enumeration elements list.

CH01HPF : DMIC Channel 01 High Pass Filter Enable Bit Set this bit to 1 to Enable DMIC channel 0 and channel 1 HPF filter for remove DC component.
bits : 20 - 20 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 01 HPF Disabled

#1 : 1

DMIC Channel 01 HPF Enabled

End of enumeration elements list.

CH23HPF : DMIC Channel 23 High Pass Filter Enable Bit Set this bit to 1 to Enable DMIC channel 2 and channel 3 HPF filter for remove DC component.
bits : 21 - 21 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMIC Channel 23 HPF Disabled

#1 : 1

DMIC Channel 23 HPF Enabled

End of enumeration elements list.

SWRST : Internal State Software Reset. Set this bit to 1 to Reset DMIC state machine, but all DMIC registers are kept unchanged.
bits : 24 - 24 (1 bit)
access : read-write

Enumeration:

#0 : 0

Normal operation

#1 : 1

DMIC State Machine Reset

End of enumeration elements list.

GAINSTEP : Volume Control Gain Adjust Step for Decimal Point.
bits : 27 - 28 (2 bit)
access : read-write

Enumeration:

#00 : 0

0.5dB (1/2)

#01 : 1

0.25dB (1/4)

#10 : 2

0.125dB (1/8)

End of enumeration elements list.

DATWIDTH : Data Effective Bit in FIFO
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

#0 : 0

The bit-width of data word is 16-bit, valid bits is DMIC_FIFO[15:0]

#1 : 1

The bit-width of data word is 24-bit, valid bits is DMIC _FIFO[23:0]

End of enumeration elements list.


DMIC_FIFO (FIFO)

DMIC FIFO Data Output Register
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0

DMIC_FIFO DMIC_FIFO write-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 FIFO

FIFO : FIFO Data Output Register DMIC contains 32 level (32x24 bit) data buffer for data receive. A read to this register pushes data out from FIFO data buffer and decrements the read pointer. This is the address that PDMA reads audio data from. The remaining data word number is indicated by FIFOPTR (DMIC_STATUS[8:4]).
bits : 0 - 23 (24 bit)
access : write-only


DMIC_GAIN0_1 (GAIN0_1)

DMIC Channel 0 and 1 Volume Control Register
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DMIC_GAIN0_1 DMIC_GAIN0_1 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 CH0GAIN CH1GAIN

CH0GAIN : Channel 0 Gain Control A 16-bit signed 2's complement number, content is as following Bit15: Sign bit Bit14~Bit7: Integer Part Bit6: Decimal Part,0.5dB Bit5: Decimal Part, 0.25dB Bit4: Decimal Part,0.125dB Bit3~Bit0: Reserved The mapping between real gain and programmed number is For example, if the desired gain is 0dB, the programmed value will be -128 (0xC000) if the desired gain is -20.5dB, the programmed value will be -107.5(0xCA40)
bits : 0 - 15 (16 bit)
access : read-write

CH1GAIN : Channel 1 Gain Control A 16-bit signed 2's complement number, content is as following Bit15: Sign bit Bit14~Bit7: Integer Part Bit6: Decimal Part,0.5dB Bit5: Decimal Part, 0.25dB Bit4: Decimal Part,0.125dB Bit3~Bit0: Reserved The mapping between real gain and programmed number is For example, if the desired gain is 0dB, the programmed value will be -128 (0xC000) if the desired gain is -20.5dB, the programmed value will be -107.5(0xCA40)
bits : 16 - 31 (16 bit)
access : read-write


DMIC_GAIN2_3 (GAIN2_3)

DMIC Channel 2 and 3 Volume Control Register
address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DMIC_GAIN2_3 DMIC_GAIN2_3 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 CH2GAIN CH3GAIN

CH2GAIN : Channel 2 Gain Control A 16-bit signed 2's complement number, content is as following Bit15: Sign bit Bit14~Bit7: Integer Part Bit6: Decimal Part,0.5dB Bit5: Decimal Part, 0.25dB Bit4: Decimal Part,0.125dB Bit3~Bit0: Reserved The mapping between real gain and programmed number is For example, if the desired gain is 0dB, the programmed value will be -128 (0xC000) if the desired gain is -20.5dB, the programmed value will be -107.5(0xCA40)
bits : 0 - 15 (16 bit)
access : read-write

CH3GAIN : Channel 3 Gain Control A 16-bit signed 2's complement number, content is as following Bit15: Sign bit Bit14~Bit7: Integer Part Bit6: Decimal Part,0.5dB Bit5: Decimal Part, 0.25dB Bit4: Decimal Part,0.125dB Bit3~Bit0: Reserved The mapping between real gain and programmed number is For example, if the desired gain is 0dB, the programmed value will be -128 (0xC000) if the desired gain is -20.5dB, the programmed value will be -107.5(0xCA40)
bits : 16 - 31 (16 bit)
access : read-write


DMIC_RAMCFG (RAMCFG)

DMIC DSP RAM Configuration Register
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DMIC_RAMCFG DMIC_RAMCFG 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 D0RAMCLR D1RAMCLR

D0RAMCLR : DSP0 RAM Data Clear Note: This field is auto cleared by hardware.
bits : 24 - 24 (1 bit)
access : read-write

Enumeration:

#0 : 0

No Effect

#1 : 1

Clear the DSP0 RAM Data

End of enumeration elements list.

D1RAMCLR : DSP1 RAM Data Clear Note: This field is auto cleared by hardware.
bits : 25 - 25 (1 bit)
access : read-write

Enumeration:

#0 : 0

No Effect

#1 : 1

Clear the DSP1 RAM Data

End of enumeration elements list.


DMIC_ZCTH (ZCTH)

DMIC Zero Cross Threshold Register
address_offset : 0x30 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DMIC_ZCTH DMIC_ZCTH 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 ZCTH

ZCTH : Zero Crossing Threshold for PCM Sample Amplitude Gain Adjustment. DMIC_ZCTH[23] is sign bit, the range [-8388688~8388607]
bits : 0 - 23 (24 bit)
access : read-write


DMIC_DIV (DIV)

DMIC Clock Divider Register
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DMIC_DIV DMIC_DIV 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 MCLKDIV CLKDIV DMTH DMTHIE FCLR OSR HPFCUTF

MCLKDIV : Divider to Generate the DMIC Working Main Clock The value in this field is the frequency divider for generating the DMIC working main clock. The frequency is obtained according to the following equation. where F_DMIC_CLK_SRC is the frequency of DMIC module clock source, which is defined in the clock control register DMICSEL (CLK_CLKSEL2[11:9]) and F_DMIC_MCLK depends on the cycle of DMIC DSP processor needed, it is 49.152MHz in general.
bits : 0 - 7 (8 bit)
access : read-write

CLKDIV : Divider to Generate the DMIC Bus Clock The value in this field is the frequency divider for generating the DMIC bus clock. The frequency is obtained according to the following equation. where F_DMIC_MCLK is the frequency of DMIC working main clock (DMIC_MCLK) and F_DMIC_CLK is the frequency of DMIC bus clock (DMIC_CLK).
bits : 8 - 15 (8 bit)
access : read-write

DMTH : FIFO Threshold Level If the valid data count of the FIFO data buffer is more than or equal to DMTH (DMIC_DIV[20:16]) setting, the DMTHIF (DMIC_STATUS[2]) bit will set to 1, else the DMTHIF (DMIC_STATUS[2]) bit will be cleared to 0.
bits : 16 - 20 (5 bit)
access : read-write

DMTHIE : FIFO Threshold Interrupt
bits : 21 - 21 (1 bit)
access : read-write

Enumeration:

#0 : 0

FIFO threshold interrupt Disabled

#1 : 1

FIFO threshold interrupt Enabled

End of enumeration elements list.

FCLR : FIFO Clear Note 1: To clear the FIFO, need to write FCLR (DMIC_DIV[23:22]) to 11b, and can read the EMPTY (DMIC_STATUS[1]) bit to make sure that the FIFO has been cleared. Note 2: This field is auto cleared by hardware.
bits : 22 - 23 (2 bit)
access : read-write

Enumeration:

#11 : 3

Clear the FIFO

End of enumeration elements list.

OSR : DMIC OSR Setting
bits : 24 - 26 (3 bit)
access : read-write

Enumeration:

#000 : 0

Down sample 64

#001 : 1

Down sample 128

#010 : 2

Down sample 256

#011 : 3

Down sample 100

#111 : 7

Down sample 50

End of enumeration elements list.

HPFCUTF : High Pass Filter Cut Off Frequency Selection
bits : 28 - 30 (3 bit)
access : read-write

Enumeration:

#000 : 0

(0.002% * Sample rate)

#001 : 1

(0.004% * Sample rate)

#010 : 2

(0.016% * Sample rate)

#011 : 3

(0.063% * Sample rate)

#100 : 4

(0.125% * Sample rate)

#101 : 5

(0.251% * Sample rate)

#110 : 6

(0.507% * Sample rate)

#111 : 7

(1.029% * Sample rate)

End of enumeration elements list.


DMIC_STATUS (STATUS)

DMIC Status Register
address_offset : 0x8 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

DMIC_STATUS DMIC_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 FULL EMPTY DMTHIF FIFOPTR

FULL : FIFO Full Indicator (Read Only)
bits : 0 - 0 (1 bit)
access : read-only

Enumeration:

#0 : 0

FIFO is not full

#1 : 1

FIFO is full

End of enumeration elements list.

EMPTY : FIFO Empty Indicator (Read Only)
bits : 1 - 1 (1 bit)
access : read-only

Enumeration:

#0 : 0

FIFO is not empty

#1 : 1

FIFO is empty

End of enumeration elements list.

DMTHIF : FIFO Threshold Interrupt Status (Read Only)
bits : 2 - 2 (1 bit)
access : read-only

Enumeration:

#0 : 0

The valid data count within the FIFO data buffer is less than the setting value of DMTH (DMIC_DIV[20:16])

#1 : 1

The valid data count within the FIFO data buffer is more than or equal to the setting value of TH (DMIC_DIV[20:16])

End of enumeration elements list.

FIFOPTR : FIFO Pointer (Read Only) The FULL (DMIC_STATUS[0]) and FIFOPTR (DMIC_STATUS[8:4]) indicates the field that the valid data count within the DMIC FIFO buffer. The maximum value shown in FIFOPTR (DMIC_STATUS[8:4]) is 31. When the using level of DMIC FIFO buffer equal to 32, The FULL (DMIC_STATUS[0]) is set to 1.
bits : 4 - 8 (5 bit)
access : read-only


DMIC_PDMACTL (PDMACTL)

DMIC PDMA Control Register
address_offset : 0xC Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DMIC_PDMACTL DMIC_PDMACTL 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 PDMAEN

PDMAEN : PDMA Transfer Enable Bit
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

PDMA data transfer Disabled

#1 : 1

PDMA data transfer Enabled

End of enumeration elements list.



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.