TI论坛
直播中

李晶

7年用户 934经验值
私信 关注
[问答]

PCM3168 DA没有模拟信号输出,或者输出不正确,怎么解决?


  • 目前是PCM3168的AD DOUT可以有数字音频输出,DA 的DIN也有数字音频输入,但是DA没有模拟信号输出,或者输出不正确,有没有参考配置参考一下?

回帖(2)

王国花

2024-11-8 10:30:47
您好,PCM3168寄存器的默认配置是可以工作的,请查看一下相关时钟是否正确,以及接口模式是否一致。
举报

王斌

2024-11-9 09:24:19
PCM3168是一款音频编解码器,用于将数字音频信号转换为模拟音频信号。根据您的描述,PCM3168的AD部分(数字转模拟)可以正常工作,但是DA部分(模拟转数字)没有模拟信号输出或者输出不正确。以下是一些建议和参考配置,帮助您解决这个问题:

1. 检查硬件连接:
确保PCM3168的所有引脚都正确连接,特别是模拟输出(Vout)和模拟输入(Vin)引脚。检查电源电压是否符合规格要求(通常为3.3V或5V)。

2. 配置I2C通信:
PCM3168通过I2C接口与主控制器通信。确保I2C时钟线(SCL)和数据线(SDA)连接正确,并且主控制器的I2C速率与PCM3168兼容(通常为100kHz或400kHz)。

3. 初始化PCM3168:
在主控制器上编写代码,初始化PCM3168。这包括设置I2C地址、配置音频格式(例如采样率、位深和通道数)以及启用DA部分。

以下是一个参考配置代码(以C语言为例):

```c
#include

#define PCM3168_ADDR 0x4E // PCM3168的I2C地址

void pcm3168_init() {
    i2c_init(); // 初始化I2C接口

    // 设置音频格式
    i2c_write(PCM3168_ADDR, 0x02, 0x00); // 设置采样率(44.1kHz)
    i2c_write(PCM3168_ADDR, 0x03, 0x00); // 设置位深(16位)
    i2c_write(PCM3168_ADDR, 0x04, 0x00); // 设置通道数(立体声)

    // 启用DA部分
    i2c_write(PCM3168_ADDR, 0x00, 0x01); // 使能DA部分
}

int main() {
    pcm3168_init(); // 初始化PCM3168

    // 从主控制器发送数字音频数据到PCM3168的DA部分
    // ...

    return 0;
}
```

4. 检查数字音频输入:
确保发送到PCM3168 DA部分的数字音频数据格式正确。例如,如果音频格式为16位立体声,确保每个样本包含16位左声道数据和16位右声道数据。

5. 检查模拟输出电路:
检查PCM3168的模拟输出电路,包括输出缓冲器、滤波器和电源。确保电路设计符合PCM3168的规格要求。

6. 参考数据手册:
查阅PCM3168的数据手册,了解详细的配置选项和电气特性。这将帮助您更好地理解如何配置和使用PCM3168。

通过以上步骤,您应该能够解决PCM3168 DA部分没有模拟信号输出或者输出不正确的问题。如果问题仍然存在,请考虑检查硬件故障或者寻求技术支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分