您好!
当使用两个不同的音频路径时、我会遇到明显不同的输出、我想知道这是正常现象还是我错误配置了编解码器。
一种配置绕过 ADC/DAC、几乎不会产生信号损失。
如果我将信号路由到 ADC/DAC 和管道 arecord | aplay、则会有明显的信号损失。
这是预期的吗? 是否存在错误
我在 Linux v4.8上运行、并将为每个配置附加 amixer 设置。
谢谢!
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.
您好!
当使用两个不同的音频路径时、我会遇到明显不同的输出、我想知道这是正常现象还是我错误配置了编解码器。
一种配置绕过 ADC/DAC、几乎不会产生信号损失。
如果我将信号路由到 ADC/DAC 和管道 arecord | aplay、则会有明显的信号损失。
这是预期的吗? 是否存在错误
我在 Linux v4.8上运行、并将为每个配置附加 amixer 设置。
谢谢!
旁路设置
#左 PGA 混频器仅接受 Line1L
amixer cset name='Left PGA Mixer Line1L Switch'打开
amixer cset name='Left PGA Mixer Line1R Switch'关闭
amixer cset name='Left PGA Mixer Line2L Switch'关闭
amixer cset name='Left PGA Mixer Mic3L Switch'关闭
amixer cset name='Left PGA Mixer Mic3R Switch'关闭
#旁路 ADC、音频串行总线、DAC
amixer cset name='PGA Capture Switch' Off、Off
#左侧 HP 混频器仅源自 PGAL 旁路
amixer cset name='Left HP Mixer DACL1 Switch'关闭
amixer cset name='Left HP Mixer DACR1 Switch'关闭
amixer cset name='Left HP Mixer Line2L Bypass Switch'关闭
amixer cset name='Left HP Mixer Line2R Bypass Switch'关闭
amixer cset name='Left HP Mixer PGAL Bypass Switch'打开
amixer cset name='Left HP Mixer PGAR Bypass Switch'关闭
#接受来自 PGA 旁路信号的完整信号
amixer cset name='HP PGA Bypass Volume' 118,0
#启用 HPLOUT 上的输出
amixer cset name='HP Playback Switch'打开、关闭
ADC/DAC 设置-导致信号丢失
#左 PGA 混频器仅接受 LINE1L 输入
amixer cset name='Left PGA Mixer Line1L Switch'打开
amixer cset name='Left PGA Mixer Line1R Switch'关闭
amixer cset name='Left PGA Mixer Line2L Switch'关闭
amixer cset name='Left PGA Mixer Mic3L Switch'关闭
amixer cset name='Left PGA Mixer Mic3R Switch'关闭
#通过 ADC、音频串行总线和 DAC 发送音频
amixer cset name='PGA Capture Switch'打开、关闭
# PCM 不会使信号静音
amixer cset name='PCM Playback Volume' 127、0
#将 DACL 连接到所有输出混频器
amixer cset name='left DAC Mux' DAC_L1
#左侧 HP 混频器仅来自 DACL1
amixer cset name='Left HP Mixer DACL1 Switch'打开
amixer cset name='Left HP Mixer DACR1 Switch'关闭
amixer cset name='Left HP Mixer Line2L Bypass Switch'关闭
amixer cset name='Left HP Mixer Line2R Bypass Switch'关闭
amixer cset name='Left HP Mixer PGAL Bypass Switch'关闭
amixer cset name='Left HP Mixer PGAR Bypass Switch'关闭
#左侧 HP 混频器接受来自 DACL 的完整信号
amixer cset name='HP DAC Playback Volume' 118,0
#启用 HPLOUT 上的输出
amixer cset name='HP Playback Switch'打开、关闭
您好、Collin、
感谢你的帮助。
在本测试中、我一直使用信号发生器以0.707Vrms (2Vp-p)发送1kHz 信号、然后在示波器上测量波形。
当使用我的"旁路"设置配置编解码器时、我测量:
当使用我的"ADC/DAC"设置配置编解码器时、我测量:
噪声更大的信号。
我几乎失去了一半的信号、因此我不禁要问我是否缺少 L/R 通道标志或以某种方式将输入信号与静音混合。
一些假设:
让我知道我可以提供哪些其他信息。
谢谢、
Kevin
您好、Collin、
进度-我认为我们解决了信号损耗问题、但现在 ADC 信号正在使用2 Vp-p 输入进行削波。 这是您期望的吗?
我们的 ALSA (asound.conf)设置似乎导致了信号丢失。
默认情况下,arecord 传递选项--channels=1。
但是、DA830 EVM 驱动程序需要--channels=2。
我们的默认声卡采用"插头"封装、允许 ALSA 静默和自动使用转换插件。 在这种情况下、它将--channels=1转换为--channels=2。
具体而言、在给定时
arecord --channels=1
ALSA 使用"路由"插件。 这将记录以下输出:
插头 PCM:路由转换 PCM (sformat=S16_LE)
转换表:
0 <- 0*0.5 +1*0.5
采样率分别为通道0的50%和通道1的50%。
根据我所能知、通道0和1分别对应于 ADCL 和 ADCR。
我们一直在关闭 PGAR 混频器的所有输入、因此我相信 ALSA 在写入单通道音频文件之前将来自 ADCL 的信号与来自 ADCR 的静音混合在一起。 这会导致50%的信号"丢失"。
现在、我们已经使 ADC 工作、我们发现、当我们输入一个2 Vp-p 信号时、波形明显被削波。 根据我的读数、我认为 ADC 的最大输入范围为2Vp-p;请参阅 TLV320AIC3106数据表第9.5节;以及 e2e.ti.com/.../874310。
您是否希望 ADC 能够处理2 Vp-p 信号? 如果是、您对我们为什么会削波有什么想法吗? 如果不是、您在哪里指定 ADC 范围?
再次感谢您的帮助、
Kevin
尊敬的 Kevin:
我们很高兴听到您能够通过调试自行解决基于驱动程序的 ALSA 问题!
如您所述、AIC3106的典型满量程输入为.707Vrms 或2Vpp。 请注意、这是一个典型规格、器件将具有非零增益误差、这将影响实际的满量程电平。 ^增益误差实际上不是以零为中心、列为0.85dB、这意味着大多数器件实际上具有2Vpp * 10 μ V (-0.85/ 20)= 1.813Vpp 的满量程输入电平。 由于这是一个典型规格、一些器件的满量程范围将略小于这个水平、而一些器件的满量程范围将略大于这个水平。
我们认识到、数据表并未立即明确说明这一点、因此会导致有关这些器件的常见问题。 较新产品的规格略有不同、以避免类似的混乱。
啊、你是对的、我们错过了。
详细信息、
GainErr = 20 log (Vout/Vin)
为了找到可产生满量程输出的输入、我们将针对 Vin 求解上述值:
Vin = Vout/(^μ s (GainErr / 20))
或
Vin = Vout *^μ s (-GainErr / 20)
在本例中、我们有:
• GainErr =+0.84 (来自修订版 F 手册)
• Vout = 2.0Vpp
Vin =(2.0Vpp)*^μ s (-0.84 / 20)= 1.8Vpp
这种推理是否有效?
这是否会导致波形在顶部和底部发生削波?
感谢您的帮助、
Kevin