\n
address_offset : 0x0 Bytes (0x0)
size : 0x30 byte (0x0)
mem_usage : registers
protection :
VAD SINC Filter Control Register
address_offset : 0x0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
SINCOSR : VAD SINC Filter OSR Setting
bits : 8 - 11 (4 bit)
access : read-write
Enumeration:
000 : 0
Down sample 48
001 : 1
Down sample 64
010 : 10
Down sample 96
End of enumeration elements list.
MCLKDIV : Divider to generate the VAD Working Main Clock
The value in this field is the frequency divider for generating the VAD working main clock. The frequency is obtained according to the following equation.
where HIRC is the frequency of VAD module clock source, which enable HIRC in the System power down control register PWRCTL (CLK_PWRCTL[2])
bits : 16 - 23 (8 bit)
access : read-write
DATAOFF : VAD Sending Data to SRAM Control
When the ACTIVE (VAD_STATUS0[31]) goes high, the data will be transferred to SRAM to store which can be used for keyword detection later. After some time, if user needs to stop sending data to SRAM, write this bit to 1.
bits : 28 - 28 (1 bit)
access : read-write
SW : VAD Path Switch Control
After the ACTIVE(VAD_STATUS0[31]) goes high, it will automatically switch to the DMIC path. When the CPU is entering idle mode, write 1 to switch back to the VAD path.
bits : 29 - 29 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect
#1 : 1
Switched back to VAD path(DMIC_CTL[0]=0)
End of enumeration elements list.
ACTCL : VAD Active Flag Clear
Note: ACTIVE(VAD_STATUS0[31]) STP(VAD_STATUS0[15:0] LTP(VAD_STATUS1[31:16] DEV(VAD_STATUS1[15:0]) are cleared.
bits : 30 - 30 (1 bit)
access : read-write
Enumeration:
#0 : 0
No effect
#1 : 1
Clear ACTIVE(VAD_STATUS0[31])
End of enumeration elements list.
VADEN : VAD Enable Control
Note: When set this bit to 1, DMIC_CLK is generated by VAD module.
bits : 31 - 31 (1 bit)
access : read-write
Enumeration:
#0 : 0
VAD Disabled
#1 : 1
VAD Enabled
End of enumeration elements list.
VAD Control Register 0
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
STAT : Short Term Power Attack Time
Slow attack (e.g., 0x99): slow responding to voice, but more stable.
Fast attack (e.g., 0xCC): fast responding to voice, but more sensitive to other sounds.
Suggested default attack time setting: Long term power attack time (0x5), Short term power attack time (0xAA).
The 'Short Term Power', in order to detect the instant power of the voices, requires faster attack time, while 'Long Term Power', in order to get the averaged power of the background environment, requires slower attack time to maintain its stability. So the Short term power attack time should be always bigger than the Long term power attack time.
bits : 0 - 7 (8 bit)
access : read-write
LTAT : Long Term Power Attack Time
Slow attack (e.g., 0x5): less sensitive to environment change.
Fast attack (e.g., 0x8): more sensitive to environment change.
bits : 16 - 19 (4 bit)
access : read-write
VAD Control Register 1
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
STPTHU : Short Term Power Threshold Upper Limit
To check if the incoming signal is big enough to be ready for VAD activation.
bits : 0 - 15 (16 bit)
access : read-write
STPTHL : Short Term Power Threshold Lower Limit
To check if the incoming signal is small enough so that VAD status can be terminated.
bits : 16 - 31 (16 bit)
access : read-write
VAD Control Register 2
address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
LTTHRE : Long Term Power Threshold
To check the background energy, also serve as the lower limit of long term power. When the long term power value is lower than the threshold, it will be set to the threshold value for VAD decision.
bits : 16 - 31 (16 bit)
access : read-write
VAD Control Register 3
address_offset : 0x1C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DEVTHRE : Deviation Threshold
To check if the incoming signal is substantially bigger than its background. This may work to exclude breath sound as it is slowly varying, but not other sounds (e.g., footsteps, hand claps) with sudden amplitude increase.
Small: easy to trigger, good for far-field pick-up, but requiring quiet environment.
Large: good for handheld applications, but requiring louder voice to trigger.
bits : 0 - 15 (16 bit)
access : read-write
HOT : Hang Over time
Hang Over time setting, means how many clocks (CLKSD) of the ACTIVE (VAD_STATUS0[31]) staying high when the calculation is no longer bigger than the threshold
bits : 16 - 31 (16 bit)
access : read-write
VAD Status Read-back Register 0
address_offset : 0x20 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
STP : Short Term Signal Power (Read Only)
This field shows the short term signal power value.
bits : 0 - 15 (16 bit)
access : read-only
ACTIVE : VAD Activation Flag (Read Only)
When the voice active event occurs, this bit will be set to 1.
bits : 31 - 31 (1 bit)
access : read-only
Enumeration:
#0 : 0
No effect
#1 : 1
Voice detected
End of enumeration elements list.
VAD Status Read-back Register 1
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
DEV : Deviation (Read Only)
This field shows deviation of the Long Term Signal Power and Short Term Signal Power.
bits : 0 - 15 (16 bit)
access : read-only
LTP : Long Term Signal Power (Read Only)
This field shows the long term signal power value.
bits : 16 - 31 (16 bit)
access : read-only
PDMED Control Register
address_offset : 0x28 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PDMEDEN : PDMED Enable Control
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
PDMED Disable
#1 : 1
PDMED Enable
End of enumeration elements list.
OSCEN : PDMED 512K Oscillator Enable Control
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
Oscillator Disable
#1 : 1
Oscillator Enable
End of enumeration elements list.
DMCH : DMIC Channel Selection
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
#0 : 0
Left
#1 : 1
Right
End of enumeration elements list.
PDMEDTH : PDMED Threshold Limit
To check if the incoming signal is big enough to be ready for PED activation.
bits : 8 - 13 (6 bit)
access : read-write
PDMED Status Read-back Register
address_offset : 0x2C Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
ACTIVE : Pulse Density Modulation Energy Dection Output to Decision Logic
When the voice active event occurs, this bit will be set to 1.
bits : 31 - 31 (1 bit)
access : read-only
Enumeration:
#0 : 0
No effect
#1 : 1
Voice detected
End of enumeration elements list.
VAD Biquad Filter Control Register 0
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BIQA1 : VAD Biquad Filter Coefficient
Biquad Filter Coefficient a1, in 3 intergers + 13 fractional bits
bits : 0 - 15 (16 bit)
access : read-write
BIQA2 : VAD Biquad Filter Coefficient
Biquad Filter Coefficient a2, in 3 intergers + 13 fractional bits.
bits : 16 - 31 (16 bit)
access : read-write
VAD Biquad Filter Control Register 1
address_offset : 0x8 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BIQB0 : VAD Biquad Filter Coefficient
Biquad Filter Coefficient b0, in 3 intergers + 13 fractional bits.
bits : 0 - 15 (16 bit)
access : read-write
BIQB1 : VAD Biquad Filter Coefficient
Biquad Filter Coefficient b1, in 3 intergers + 13 fractional bits.
bits : 16 - 31 (16 bit)
access : read-write
VAD Biquad Filter Control Register 2
address_offset : 0xC Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BIQB2 : VAD Biquad Filter Coefficient
Biquad Filter Coefficient b2, in 3 intergers + 13 fractional bits.
bits : 0 - 15 (16 bit)
access : read-write
BIQEN : VAD Biquad Filter Enable Bit
bits : 31 - 31 (1 bit)
access : read-write
Enumeration:
#0 : 0
VAD Biquad Filter Disabled
#1 : 1
VAD Biquad Filter 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.