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.

[参考译文] PCM5242:初始化设置/过程不起作用

Guru**** 2387830 points
Other Parts Discussed in Thread: PCM5242, PCM5142
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/857376/pcm5242-init-setup-procedure-not-working

器件型号:PCM5242
主题中讨论的其他器件: PCM5142

您好!

我正在尝试为 PCM5142/PCM5242系列创建一个简单的启动/初始化代码。 不幸的是、我无法使其正常工作。

也尝试仅打开/关闭连接到 LED 的 GPIO、但未成功。 是否有任何建议的初始化过程可能会丢失?  

目前正在尝试:

WRITE_BYTE_DATA (ADDR、0x00、0x00);//设置为 PAGE 0

WRITE_BYTE_DATA (ADDR、0x02、0x10);//待机模式

WRITE_BYTE_DATA (ADDR、0x01、0x11);//复位模块和模式寄存器


WRITE_BYTE_DATA (ADDR、0x37、0x1A);//禁用

ADDR_CLK、0x10、0xBYTE_DATA (ADDR_CLK、0x10);//将0x14

(ADDR_CLK 写入0xBY_DATA、0x10)作为0x14、0xBLE_CLK、0xBLE_REWIT_DATA (写入) //为 DAC 设置时钟源



//设置44.1kHz 和衍生产品

int bckFreq = 44100;

int p = 1;
int r = 2;
int j = 90316800/bckFreq / r;
int d = 0;

//从90.3168MHz PLL
推导时钟 int NMAC = 2;
int ndac = 16;
int ncp = 4;
int dosr = 8;
int idac = 1024;// DSP 时钟/采样率

//pll
write_byte_data (ADDR、0x20、p - 1);// P
write_byte_data (ADDR、0x21、 j);// J
write_byte_data (ADDR、0x22、(d >> 8)& 0x3F;// D_MSB
write_byte_data (ADDR、0x23、d & 0xFF);// D_LSB
write_byte_data (ADDR、 0x24、r - 1);// R

//时钟分频
器 write_byte_data (ADDR、0x27、NMAC - 1);// DSP 时钟
write_byte_data (ADDR、0x28、ndac - 1);// DAC 时钟
write_byte_data (ADDR、0x29、NCP - 1);//
时钟 write_byte (ADDR - 1) // OSR 时钟

// IDAC (DSP 时钟周期的 NB、每个样本)
write_byte_data (ADDR、0x35、(IDAC >> 8)& 0xFF);// NCP 时钟
write_byte_data (ADDR、0x36、IDAC & 0xFF);// OSR 时钟



write_byte_data (ADDR、0x02、0x08、0x00

);/Write_Data (0x00


、0x08、0xbyte);//正常操作 // 08将 GPIO4设置为输出

WRITE_BYTE_DATA (ADDR、0x83、0x02);//将 GPIO4设置为时钟错误 WRITE_BYTE_DATA

(ADDR、0x86、0x08)的标志;//将 GPIO4设置为高电平

您能给我指正确的方向吗?

谢谢!

奥里奥尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Oriol、

    您的 LRCK 和 BCK 频率是多少? 我看到一些关于 LRCK 的评论是44.1kHz、bck = 44.1kHz*64? 如果是、您可以考虑使用自动时钟配置选项、因为该 BCK/LRCK 组合受支持。

    谢谢、

    Paul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否有更新?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Paul、

    感谢您的支持。 它实际上可以使用自动时钟配置。 但问题要容易得多。 只需以错误的方式阅读数据表即可。 例如、当它显示 Register 80时、不是我使用的0x80、当然是0x50。 数据表中的寄存器十六进制值太小、以至于我没有看到它、我认为它直接是十六进制地址。

    现在一切都正常! 谢谢!

    最棒的

    奥里奥尔