https://e2e.ti.com/support/audio-group/audio/f/audio-forum/679922/pcm3002-device-drivers
主题中讨论的其他部件:PCM3002, PCM3003您好,
我们正在将PCM3002连接到imx6Q处理器,它的设备树列表和驱动程序是否可用?
谢谢
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.
https://e2e.ti.com/support/audio-group/audio/f/audio-forum/679922/pcm3002-device-drivers
主题中讨论的其他部件:PCM3002, PCM3003您好,
我们正在将PCM3002连接到imx6Q处理器,它的设备树列表和驱动程序是否可用?
谢谢
您好Diego,
感谢您的回复,
我已经浏览了寄存器,特别是寄存器3谈论了配置芯片 16位MSB-首先左对齐, 20位MSB-首先左对齐, 20位MSB-首先左对齐和20位MSB-第一I2S模式,
请您帮助我们了解这些模式与 20位MSB优先I2S模式之间的区别,这意味着左侧对齐模式是否与I2S模式不同?
其次,三线MC,MD,ML接口不遵循任何特定协议,我们是否需要对其进行位击才能为I2S模式配置芯片?
第三,如果是,是否有TI的位感叹号的示例源代码?
谢谢。
Prashant,您好!
数据表第20页和第21页突出显示了此设备支持的不同格式。 左对齐模式和I²S模式之间的差异基本上是左右通道的反极性,当数据以I²S格式启动时,它会考虑时钟值为高或低以及存在的1位偏移。
这是一个相当老的设备,它使用一个三线串行接口来进行软件控制。 写入设备的15位字包含有关所使用的寄存器和 设备编程的信息,有关寄存器写入格式的信息,请参阅第27页。
遗憾的是,我们没有一个工具能够与此设备进行连接以对其进行编程。
我已创建了一个快速注册配置,用于将设备设置为I²S模式,以便您可以将其用作设备配置的示例。
//注册0
//LDL关闭,增益= 0dB
0x 00 FF
//注册1
//LDR关闭,增益= 0dB
0x 02 FF
//注册2.
//禁用断电,禁用HPF,单个DAC衰减,
//禁用零检测,启用DAC,取消强调关闭,取消静音
0x 04 42
//注册3.
//回环已禁用,I²S格式,默认极性
0x 06 0C
此致,
-Diego Mel é ndez López ñ a
音频应用工程师
您好Diego,
我们正在使用音频编解码器PCM3002上的I2S模式之前的答复中提供的程序寄存器设置
我们的意见如下:
-dout正在生成时钟,但没有任何输入声音文件
—使用ALSA驱动程序播放声音文件后,输出输出为0,输出电压变为Vcc/2
—系统时钟设置为13.2 MHz,比特时钟大约在2.79 MHz,对于48kHz的音频文件,LRCIN为48 kHz。
有关48 kHz频率的音频文件,请参阅随附的波形结果。
如PCM3002/3003数据3003数据表中所述, 如果系统时钟和LRCIN不同步,则输出结果为零,输出电压变为Vcc/2。
我们的印象是,我们的制度正进入这种模式。 是否有任何方法可以确认这一点?
如果不是这种情况,请建议在正常模式下不能执行Dout和Vout的原因。
谢谢!
普拉生
Prashant,您好!
根据您共享的信息,问题似乎与时钟错误有关,此设备预期一个字时钟中有32,48或64位时钟,否则时钟将被视为无效。 在您的应用程序中,BCLK的频率约为58×FS,PCM3003不支持该频率。 此外,系统时钟以275×FS运行,不受支持,仅 支持256×FS,384×FS和512×FS频率。
此致,
-Diego Mel é ndez López ñ a
音频应用工程师
您好Diego,
下面是我们在PCM3002的程序寄存器中使用的设置:
Register0: 0x01FF
注册表1:0x03FF
注册表2:0x0442
注册表3:0x060C
我们正在音频编解码器上设置I2S模式格式。 程序寄存器是使用连接GPIO (ML,MC和MD)上的内存修改工具通过位孟加拉来设置的。
以下是时钟设置:
采样频率(FS)为48 kHz
位时钟设置为3.072 MHz (20位MSB,2通道采用I2S格式) <=32*2*FS
系统时钟设置为24.57 MHz <=512 *FS
使用上述设置播放音频文件时,Vout引脚上会出现噪音输出。
以下是我的问题:
1.我们是否有任何验证工具来检查程序寄存器是否设置正确?
2.如果正确设置了程序寄存器(假设),则dout和Vout引脚上的输出应该是什么?
谢谢!
普拉生。
Prashant,您好!
感谢您的反馈。 时钟设置现在似乎正常,但是,我建议检查主机处理器和编解码器使用的格式。 我曾见过模板不匹配导致模拟和数字输出噪音的情况。
遗憾的是,没有可用的验证工具,如前所述,这是一个相当旧的设备,其工具和支持选项有限。 假设寄存器设置正确,数字输出(dout)应流式传输ADC输入上记录的内容,并在较低位(噪声层)上进行切换,而模拟输出(Vout)应流式传输通过数字输入(DIN)提供的音频。
您是否有一些Dout和Vout的捕获,是否提供模拟和数字输入?
此致,
-Diego Mel é ndez López ñ a
音频应用工程师
您好Diego,
请查看以下详细信息:
图1:音频播放输出
黄色波形:dout
粉红色波形:输出电压
图2:无音频播放
以上输出使用前面提到的相同设置捕获。
请查找随附的Word文档,其中包含使用PCM3002接口时创建的程序,详细波形和时序图。
如果有任何缺失步骤或其他问题,请告诉我。
e2e.ti.com/.../Audio_5F00_Codec.docx
谢谢。
Prashant,您好!
感谢您的额外反馈,您分享的文档中的步骤对我来说似乎很好。 输出音频确实很奇怪,我怀疑设备预期格式和处理器的数据格式之间存在问题。 为了 继续并避免设备出现问题,我建议尝试使用另一个数字音频主控器,如果问题仍然存在,则可能是PCM3002未正确配置。 遗憾的是,这部分的信息不多,对其进行编程的方式也不是很灵活。
此致,
-Diego Mel é ndez López ñ a
音频应用工程师
您好Diego,
参考有关Vout和dout的最后一个共享波形,标记这些波形时出错。
黄色波形表示输出电压,粉色波形表示输出电压。
遗憾的是,我们没有另一个数字音频主机可供测试。 很可能,通过位击操作完成的程序寄存器设置会产生一些问题。 与重置和设置程序寄存器一样,我们在输出引脚上得到相同的结果。 此外,即使启用静音后,我们也会在针脚Vout和dout处接收输出。 文档(在上次答复中共享)提供有关设置程序寄存器时的计时图的详细信息。 请确认实际时间范围是否在有效范围内。
谢谢!
普拉生
Prashant,
查看控制接口时钟规格后,用于配置部件的信号似乎比设备预期的要快。 我不确定这是否可能是个问题,关于此类接口的信息不多,因此我唯一可以提供的建议是尝试更改配置信号,使其变慢,并满足数据表中的计时详细信息。 n ü I²S时钟看起来不错,但我唯一的问题是验证数据是否在LRCK更改后一位有效启动(应该采用I²S Ω 格式)。 另一个建议是将主机处理器设置为在左对齐模式下运行,并在默认模式下运行PCM3003,而无需任何配置。
此致,
-Diego Mel é ndez López ñ a
音频应用工程师