\n
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 :
DMIC Control Register
address_offset : 0x0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Data Output Register
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
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 Channel 0 and 1 Volume Control Register
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Channel 2 and 3 Volume Control Register
address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 DSP RAM Configuration Register
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Zero Cross Threshold Register
address_offset : 0x30 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Clock Divider Register
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Register
address_offset : 0x8 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
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 PDMA Control Register
address_offset : 0xC Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Embeetle, an IDE designed from scratch for embedded software developers.