主题中讨论的其他器件: ADC3120EVM-PDK
工具/软件:
您好团队:
要在 TLV320ADC3120 上执行 VAD、我需要任何分步过程。
我在 TLV320ADC3120 的评估板上使用 VAD、即 ADC3120EVM-PDK。
我想配置 VAD、使 SDOUT 必须处于活动状态、并在触发语音时进入。
在 PurePath 控制台中进行分步配置来执行 VAD。
谢谢、
CJI
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好团队:
要在 TLV320ADC3120 上执行 VAD、我需要任何分步过程。
我在 TLV320ADC3120 的评估板上使用 VAD、即 ADC3120EVM-PDK。
我想配置 VAD、使 SDOUT 必须处于活动状态、并在触发语音时进入。
在 PurePath 控制台中进行分步配置来执行 VAD。
谢谢、
CJI
尊敬的 CJI:
默认情况下、GPIO 应配置为中断、因此无需对 PPC3 上的“GPIO/中断“选项卡进行更改。 在 VAD Config 选项卡上、点击 VAD Configuration 右上角的“Disabled"以“以切换到“Enabled"。“。
在 VAD 模式下、如果您的应用是 VAD、则可以更改为在触发 VAD 时为 ADC 上电。 您可以在此应用手册中阅读有关这些选项的更多信息: https://www.ti.com/lit/an/sbaa490a/sbaa490a.pdf 、您可能需要进行的唯一其他更改是选择要在哪个通道上执行 VAD。 您可以在 VAD 通道选择下拉列表中进行切换。 一次只能监控一个通道。 电路板上有一个 LED 可以监控中断、但您也可以点击 VAD 中断框中的“Start Polling“、查看 PPC3 窗口中的中断指示灯。
此致、
Garret
嗨、Garret、
感谢您的出色回复、我们能够在 PPC3 上看到轮询。 但板上不会触发光。
接下来、
1.我希望使 SDOUT 仅在进行功率检测时工作。 意味着当检测到语音活动时、只应存在 sdout。 我看到了这个特性、但如何在 PPC3 上进行配置
2.我想改变 VAD 的灵敏度,怎么做?
3、灵敏度的改变会在移动中发挥作用吗? VAD 的灵敏度工作在能量或体积?
寻找答案
此致、
CJI
尊敬的 CJI:
1.有几种方法可以做到这一点。 您可以将 VAD 模式切换到“基于 VAD 中断的 ADC 上电但用户启动的断电“、在这种情况下、SDOUT 将在检测到语音时开启并传输、然后 ADC 将保持开启状态、直到用户将其关闭。 否则、您可以通过选中 VAD 部分的顶部框来启用 SDOUT 作为 VAD 中断(这将启用 SDOUT 作为中断、这是 PPC3 中的一个拼写错误)。 但是、出于您的目的、我认为第一个选项会更好。
2.在此设备的 PPC3 中没有更改灵敏度或阈值的地方。 但是、您可以通过向器件页 9 发送 I2C 命令来更改阈值、如下所述:

3.阈值适用于音量。 您可以在器件以标准 I2C 写入进行记录时发送 I2C 命令来更改阈值。
此致、
Garret
尊敬的 Garret:
我配置了如下 VAD 功能。
uint8_t VAD_channel = 2;
uint8_t VAD_LEVEL = 3;
// VAD 处理函数
void VAD_Process (uint8_t VAD_channel、uint8_t VAD_level){
//验证通道输入 (1 或 2)、默认为 2
if (VAD_channel!= 1 && VAD_channel!= 2){
VAD_channel = 2;
}
//验证电平输入 (1 到 3)、默认为 3(高灵敏度)
if (VAD_LEVEL < 1 || VAD_LEVEL > 3){
VAD_LEVEL = 3;
}
//计算 VAD_CFG1:自动模式(位 7-6:01)、通道选择(位 5-4:CH1 为 00、CH2 为 01)、内部时钟(位 3-2:00)
uint8_t VAD_cfg1 = 0x40;// 0b01000000(自动模式,内部时钟)
如果 (VAD_channel = 2){
VAD_cfg1 || 0x10;//为通道 2 设置位 4:0b01010000
}
// VAD_CFG2:VAD_PD_DET_EN=1(位 3)、SDOUT_INT_CFG=0(位 6)、以禁用 SDOUT 中断
uint8_t VAD_cfg2 = 0x08;// 0b00001000
//–12dB 的阈值数据(高灵敏度,VAD_LEVEL = 3)
uint8_t TH_DATA[4]={0x00、0x40、0x40、0x6D};
//为阈值系数选择第 9 页
if (ADC_WriteReg (0x00、0x09)!= HAL_OK) Error_Handler ();
if (ADC_WriteMultiReg (0x50、TH_DATA、4)!= HAL_OK) Error_Handler ();
//为 VAD 配置选择第 1 页
if (ADC_WriteReg (0x00、0x01)!= HAL_OK) Error_Handler ();
if (ADC_WriteReg (0x1E、VAD_cfg1)!= HAL_OK) Error_Handler ();
if (ADC_WriteReg (0x1F、VAD_cfg2)!= HAL_OK) Error_Handler ();
//选择第 0 页
if (ADC_WriteReg (0x00、0x00)!= HAL_OK) Error_Handler ();
//启用 VAD、保持在睡眠模式 (PWR_CFG 0x75 = 0x60:SLEEP_EN=1、VAD_EN=1)
if (ADC_WriteReg (0x75、0x60)!= HAL_OK) Error_Handler ();
}
VAD 无法工作