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.

[参考译文] TLV320ADC6120:使用内部 LDO 的 TLV320ADC6120时钟问题

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1295947/tlv320adc6120-tlv320adc6120-clock-issue-using-internal-ldo

器件型号:TLV320ADC6120
主题中讨论的其他器件: TLV320ADC3120TLV320DAC3203

大家好、我遇到了 TLV320ADC6120的时钟问题

我正在使用内部 LDO。

这是我的设置代码。 我正在尝试将 ADC 配置为主器件、将12.288mhz MCLK 作为时钟、但使用 PLL 生成 WCLK 和 BCLK。

I2S 48kHz 24位2通道。 WCLK 应为48kHz。

我会接缝以获取此错误的 WCLK 和 BCLK 设置。

I2C 是对总线上的所有寄存器写入的 ACK。 MCLK 是一个稳定的12.288Mhz、  

这是我的设置代码。

/*###################################### ADC TLV320ADC6120设置################################ */


//注册页面

//页0x00正常设置寄存器,
//页0x01 VAD 语音活动检测
//页0x02可编程系数寄存器:
//页0x03可编程系数寄存器:7-12
//页0x04混频器设置

/*转到第0页*/
ADC_I2C_Write (PAGE_CFG、0x00);


// SW_RESET 寄存器(地址= 0x1)[复位= 0x0]
ADC_I2C_Write (SW_RESET、0x01);

osDelay (10U);/* 10ms。 */

/*转到第0页*/
ADC_I2C_Write (PAGE_CFG、0x00);


//通过使用内部 Areg 对 P0_R2进行 I2C 写入来唤醒器件

//位7 = 1 | 1d =使用片上稳压器在内部生成的1.8 V Areg 电源(当 AVDD 为3.3V 时使用该设置)
// bits 6-5 = 00 |保留位;只写复位值0
// BITS 4-3 = 00 | 0d = 3.5ms (典型值)的 VREF 快速充电持续时间
//位2 = 0 | 0d =禁用 I2C 广播模式
// bit 1 = 0 |保留位;写入0
//位0 = 1|1d =器件未处于睡眠模式

// bin 10000001十六进制0x81

ADC_I2C_Write (SLEEP_CFG、0x81);

// osDelay (10U);//* 10ms。 */

/*转到第0页*/
ADC_I2C_Write (PAGE_CFG、0x00);


//***** IN_CH_EN 寄存器输入通道配置卡

//位7 = 1 | 1d =通道1启用
//位6 = 1| 1d =通道2启用
//位5 = 0 | 0d =通道3被禁用
// bit 4 = 0 | 0d =通道4禁用
// bits 3-0 = 0000 |保留写入0000d

// bin = 11110000十六进制= 0xC0

ADC_I2C_Write (IN_CH_EN、0xF0);


//***** BIAY_CFG 寄存器

// 7位= 0 |保留写入0
// 6-4位= 000 | 0d =麦克风偏置设置为 VREF (2.750V、2.500V 或1.375V)
// 3-2位= 00 |保留写入00
// 1-0位= 00 | 0d = VREF 设置为2.75V、以支持差分输入2 VRMS 或单端输入1 VRMS

// bin = 00000000十六进制= 0x00

ADC_I2C_Write (BIAS_CFG、0x00);//尝试按以前的工作方式禁用!

//*********** GPIO_CFG0寄存器*****

//位7-4 = 1010 | 10d = GPIO1配置为主时钟输入(MCLK)
// bit 3 = 0 |保留位;写入0d
//位2-0 = 010 |默认值,2d =驱动低电平有效和弱高电平

// bin 10100010十六进制= 0xA2

ADC_I2C_Write (GPIO_CFG0、0xA2);


// CLK_SRC 寄存器(地址= 0x16)

//位7 = 1 | 1d = MCLK (GPIO 或 GPIx)用作音频根时钟源(MCLK 与 FSYNC 之比符合 MCLK_RATIO_SEL 设置)
//位6 = 0 | 0d = MCLK 频率基于 MCLK_FREQ_SEL (P0_R19)配置
//位5-3 = 001 | 1d = 256的比率
//位2 = 0 |保留写入0
//位1 = 0| 0d =不反转用于 FSYNC 生成的 BCLK 极性
// bit 0 = 0 |保留写入0。

//位10001000十六进制= 0x88

ADC_I2C_Write (CLK_SRC、0x88);

//***** MST_CFG0寄存器*****************

//位7 = 1| 1d =器件处于主模式(BCLK 和 FSYNC 都由器件生成)
//位6 = 0 | 0d =启用自动时钟配置(所有内部时钟分频器和 PLL 配置都是自动派生的)
//位5 = 0 | 0d =在自动时钟配置中启用 PLL
//位4 = 1| 0d =当在主模式下从器件传输时、不强制 GATE BCLK 和 FSYNC
//位3 = 0 | 0d = FS 是48kHz 的倍数(或子倍数)
//位2-0 =001 | 1d = 12.288 MHz MCLK_FREQ_SEL

// bin = 10000001十六进制= 0x81 //自动时钟配置
// BUN = 10100001 HEX = 0xE1 //可擦除 PLL?


ADC_I2C_Write (MST_CFG0、0x81);

//***** MST_CFG1寄存器*****************


// bits 7-4 = 0100 | 4d = 44.1kHz 或48kHz FS_RATE 页0
// bits 3-0 = 0100 | 4d = FSYNC 周期中64N 个 BCLK 时钟的比率

// bin = 01000100十六进制= 44 64 BCLK
// bin = 01000010十六进制= 42 32 BCLK

ADC_I2C_Write (MST_CFG1、0x44);


//***** 具有32位/通道 SAI 字的 ASI_CFG0寄存器 I2S 模式

// bits 7-6 = 01 | 1d = I2S 模式
// bits 5-4 = 10| 3d =输出通道数据字长设置为32位| 2d =输出通道数据字长设置为24位
//位3 = 0 | 0d =根据标准协议 FSYNK 默认极性
//位2 = 0 | 0d =根据标准协议确定的 BCLK 默认极性
//位1 = 0 | 0d =默认边沿、符合位2中的协议配置设置(BCLK_POL)
// bit 0 = 0|0d =始终为未使用的周期发送0,为 hi-Z 使用1

// bin = 01110001十六进制= 0x70 // 32位字
// bin = 01100000十六进制= 0x60 // 24位字

ADC_I2C_Write (ASI_CFG0、0x60);

// ASI_CFG1寄存器
// bit 7 = 0 |默认值0d =发送 LSB 一个完整周期
//bits 6-5 =00 |默认值0d =始终禁用总线保持器
// bits 4-0 = 00000 | 0d = ASI 数据 MSB 位置无偏移并遵循标准协议

ADC_I2C_Write (ASI_CFG1、0x00);

//***** ASI_OUT_CH_EN 寄存器*****

//位7 = 1 | 1d =启用通道1输出时隙
//位6 = 1|1d =启用通道2输出时隙
//位5 = 0 | 0d =禁用通道3输出时隙
//位4 = 0 | 0d =禁用通道3输出时隙
// bits 3-0 = 0000 |保留写入0000


// bin = 11000000十六进制= C0

ADC_I2C_Write (ASI_OUT_CH_EN、0xC0);


//***** ASI_CH1寄存器字段说明

//位7-6 = 00 |保留写入00
// bit 5-0 = 000000 | 0d = TDM 为时隙0或 I2S、LJ 为左时隙0

// bin = 00000000十六进制= 0x00

ADC_I2C_Write (ASI_CH1、0x00);


//***** ASI_CH2寄存器字段说明

//位7-6 = 00 |保留写入00
//位5-0 = 000001 | 1d = 1d = TDM 是时隙1或 I2S、

// bin = 00000001十六进制= 0x01

ADC_I2C_Write (ASI_CH2、0x01);

//**** CH1_CFG0寄存器字段说明

//位7 = 0| 0d =麦克风输入,1d =线路输入
// bits 6-5 = 01 | 1d =模拟单端输入| 0d =模拟差分输入
//位4 = 1 | 0d =交流耦合输入| 1d =直流耦合输入
// BITS 3-2 = 01 | 0d =典型2.5-kΩ 输入阻抗| 1d =典型10 - kΩ 输入阻抗| 2d =典型20 - kΩ 输入阻抗
//位1 = 0 |保留写入0
// bit 0 = 0 | 0d = DRE/AGC/DRC 被禁用| 1d =根据寄存器108中位3的配置启用 DRE 或 AGC 或 DRC (P0_R108)

// bin = 00101000十六进制= 0x28

ADC_I2C_Write (CH1_CFG0、0x28);

//**** CH2_CFG0寄存器字段说明

//位7 = 0 | 0d =麦克风输入
// bits 6-5 = 01 | 1d =模拟单端输入| 0d =模拟差分输入
//位4 = 1 | 0d =交流耦合输入| 1d =直流耦合输入
// BITS 3-2 = 01 | 0d =典型2.5-kΩ 输入阻抗| 1d =典型10 - kΩ 输入阻抗| 2d =典型20 - kΩ 输入阻抗
//位1 = 0 |保留写入0
// bit 0 = 0 | 0d = DRE/AGC/DRC 被禁用| 1d =根据寄存器108中位3的配置启用 DRE 或 AGC 或 DRC (P0_R108)

// bin = 00101000十六进制= 0x28

ADC_I2C_Write (CH2_CFG0、0x28);


// CH1_CFG1寄存器

//位7 - 1 = 1010100 | 84d =通道增益设置为42dB
//位0 = 0 |通道1增益符号配置。
// 0d =正通道增益
// 1d =负通道增益(支持的最小通道增益直到- 11dB;仅支持10 - kΩ 和20 - kΩ 的通道输入阻抗)

// bin 10101000十六进制= 0xA8

ADC_I2C_Write (CH1_CFG1、0x00);

// CH2_CFG1寄存器

//位7 - 1 = 1010100 | 84d =通道增益设置为42dB
//位0 = 0 |通道1增益符号配置。
// 0d =正通道增益
// 1d =负通道增益(支持的最小通道增益直到- 11dB;仅支持10 - kΩ 和20 - kΩ 的通道输入阻抗)

// bin 10101000十六进制= 0xA8

ADC_I2C_Write (CH2_CFG1、0x00);

//***** PWR_CFG 电源-为 ADC、MICBIAS PLL ETC 寄存器字段说明9.0*

//位7 = 1 | 1d =加电 MICBIAS
//位6 = 1|1d =为所有启用的 ADC 和 PDM 通道加电
//位5 = 1| 1d = PLL 上电| 0d = PLL 断电
// bit 4 = 0 | 0d =通道上电、如果打开了任何通道记录、则不支持断电
//位3-2 = 00 | 0d =通道1和通道2在使用动态通道上电、启用断电功能时
// bit 1 = 0|0d =禁用 VAD,启用语音活动检测(VAD)算法
//位0 = 0 |保留使用0
//
// bin = 11100000十六进制= E0

ADC_I2C_Write (PWR_CFG、0xE0);// 0xE0为包括 PLL 在内的所有设备上电


/*等待 ADC 上电*/
osDelay (250u);


}//end initADC

我是否缺少关键的寄存器写入? 或者内部 LDO 的硬件设计有问题?

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

    有关将 TLV320ADC3120配置为音频主器件的信息、请参阅以下文档。

    https://www.ti.com/lit/an/sbaa495a/sbaa495a.pdf?ts = 1701113076338

    请选择启用 PLL 的模式

    本例中的 FS 与 BCLK/BCLK/BCLK 之比为48。 因此、BCLK 应该为48kHz*48=2.304Mhz。 这是支持的频率

    以下是需要启用的寄存器的快照

    原理图:我建议移除输入引脚上的外部钳位二极管。 请将 VDD 保持在3.3V、否则原理图没问题

    此外、要选择内部稳压器、在使用内部稳压器时 Areg_select 必须为1

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Sanjay ,感谢你的答复和建议。
    我正在提供3V3、AREG 引脚上有1.8V 电压(LDO 看起来处于激活状态)
    我从输入端移除了二极管保护、以防它们引起问题。
    我 在复位后已像这样启用 Areg_select
     
      //通过使用内部 Areg 对 P0_R2进行 I2C 写入来唤醒器件

    //位7 =  1 | 1d =使用片上稳压器在内部生成的1.8 V Areg 电源(当 AVDD 为3.3V 时使用该设置)
    // bits 6-5 = 00 | 保留位;只写复位值0
    // BITS 4-3 = 00 | 0d = 3.5ms (典型值)的 VREF 快速充电持续时间
    //位 2 = 0 | 0d =禁用 I2C 广播模式
    // bit 1 = 0 | 保留位;写入0
    //位 0 = 1|1d  =器件未处于睡眠模式

    // bin 10000001十六进制0x81

    ADC_I2C_Write (SLEEP_CFG、0x81);
    正如您在我的代码中看到的、PLL 模式已启用
      // *****  MST_CFG0寄存器 *****************

    //位7 = 1|    1d =器件处于主模式(BCLK 和 FSYNC 都由器件生成)
    //位6 = 0   | 0d =启用自动时钟配置(所有内部时钟分频器和 PLL 配置都是自动派生的)
    //位5    = 0 | 0d =在自动时钟配置中启用 PLL
    //位4 = 1|    0d =当在主模式下从器件传输时、不强制 GATE BCLK 和 FSYNC
    //位3 = 0   | 0d = FS 是48kHz 的倍数(或子倍数)
    //位2-0 =001 | 1d = 12.288 MHz MCLK_FREQ_SEL

    // bin = 10000001 十六进制= 0x81 //自动时钟配置

    ADC_I2C_Write (MST_CFG0、0x81);
    我在 GPIO 输入上使用12.288mhz MCLK (不是12MHz)  
    我  按照你的建议将 BCLK/I2S 比率更改为48 (我实际上希望每个 FS 周期具有64bclk、32位 FS 帧中具有24位样本)  
     
    我仍获得666 kHz 的 BTCLK。 我附加一个示波器图像。
    1个 FS 周期中有48个 btclk
    为器件提供的 MCLK 12.288mhz 是稳定的。
    像这样在 GPIO1引脚上提供 MCLK……
    //***********  GPIO_CFG0寄存器*****

    //位7-4 = 1010 | 10d = GPIO1配置为主时钟输入(MCLK)
    // bit 3 = 0  | 保留位;写入0d
    //位2-0 = 000| 0d =高阻态输出,GPIO1输出驱动配置。

    // bin 10100000十六进制= 0xA0
      
      ADC_I2C_Write (GPIO_CFG0、0xA0);
    今天我将尝试把新芯片重新注入到电路板上、以防其损坏、如果有任何变化、我会回来。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我从 PurePath 3生成了寄存器值、并且仍获得缓慢 BTCLK FSYNC

    12.288Mhz MCLK 必须有多精确? 如果 PLL 不在特定容差范围内,PLL 是否拒绝它?  

    这是从 PurePath 3生成的寄存器, 论坛上传不会让我上传项目文件


    // TLV320ADC3120器件配置
    //---------------------------------------------------------------
    //重置
    //---------------------------------------------------------------
    //选择第0页
    { 0x00、0x00 }、
    //重置设备
    { 0x01、0x01 },
    // 1ms 延迟
    //---------------------------------------------------------------
    //开始设备存储器
    //---------------------------------------------------------------
    //页0 (0x00)转储
    //选择第0页
    { 0x00、0x00 }、
    //唤醒和启用 AREG
    { 0x02,0x81 },
    { 0x05,0x01 },
    // ASI 配置
    {0x07、0x60}、
    // ASI 通道配置
    { 0x0c、0x20 },
    { 0x0d,0x02 },
    { 0x0E,0x03 },
    // ASI 主模式
    { 0x13、0x81 },
    { 0x14、0x43 },
    // GPIO 配置
    { 0x21、0xa0 },
    //通道1配置
    {0x3c、0x20}、
    { 0x3D、0xa8 },
    //通道2配置
    { 0x41、0x20 },
    { 0x42、0xa8 },
    // DSP 配置
    { 0x6b、0x00 }、
    { 0x6c、0x48 },
    //输入和输出配置
    { 0x74、0xc0 },
    //加电/断电
    //选择第0页
    { 0x00、0x00 }、
    { 0x75、0x80 },

    };

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

    应尽快回复

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

    尊敬的 Sanjay:

    我附上了来自振荡器的 MCLK 屏幕截图。 你认为这可能是问题吗?

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

    MCLK 看起来正常。 如果可能、您可以尝试将一个33欧姆的电阻器与源极串联。

    让我想想,我明天会给你一个回应

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

    我再次对芯片进行了回流、现在具有良好的 BTCLK 和 FSYNC。

    它一定是其中一个引脚接触不良。

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

    很棒

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

    你好 Sanjay ,道歉的延迟...

    我已经尝试过您的 ADC 设置寄存器、我在示波器上得到了这一结果。

    我在末尾添加了加电寄存器 w 98 75 E0

    我是否应该使用您的稳压器为 PLL 上电。 设置?

    现在 FSYNC = 13.976khz、上面的屏幕截图中没有 SD 数据。

    //#选择页0
    // w 98 00 00
    ADC_I2C_Write (0x00、0x00);
    //重置设备
    // w 98 01 01
    ADC_I2C_Write (0x01、0x01);
    //# 1ms 延迟
    osDelay (1U);
    //#------------------
    //#开始设备内存
    //#------------------
    //#页0 (0x00)转储

    //#选择页0
    // w 98 00 00
    ADC_I2C_Write (0x00、0x00);
    //#唤醒和启用 Areg
    // w 98 02 81
    ADC_I2C_Write (0x02、0x81);
    // w 98 05 01
    ADC_I2C_Write (0x05、0x01);

    //# ASI 配置
    // w 98 07 70
    ADC_I2C_Write (0x07、0x70);

    //# ASI 通道配置
    // w 98 0c 20
    ADC_I2C_Write (0x0c、0x20);
    // w 98 0d 00
    ADC_I2C_Write (0x0d、0x00);
    // w 98 0e 00
    ADC_I2C_Write (0x0E、0x00);

    //# ASI 主模式
    // w 98 13 81
    ADC_I2C_Write (0x13、0x81);
    // w 98 14 44
    ADC_I2C_Write (0x14、0x44);

    //# PDM 配置
    // w 98 1f 08
    ADC_I2C_Write (0x1f、0x08);

    //#通道1配置
    // w 98 3c 20
    ADC_I2C_Write (0x3c、0x20);

    //#通道2配置
    // w 98 41 20
    ADC_I2C_Write (0x41、0x20);

    //# DSP 配置
    // w 98 6c 48
    ADC_I2C_Write (0x6c、0x48);

    //#输入和输出配置
    // w 98 74 c0
    ADC_I2C_Write (0x74、0xc0);

    //#第1页(0x01)转储
    //#选择第1页
    // w 98 00 01
    ADC_I2C_Write (0x00、0x01);

    //#VAD 配置
    // w 98 1e 00
    ADC_I2C_Write (0x1E、0x00);
    // w 98 1f 00
    ADC_I2C_Write (0x1f、0x00);


    //#选择页0
    // w 98 00 00
    ADC_I2C_Write (0x00、0x00);

    //***** PWR_CFG 为 ADC、MICBIAS PLL ETC 寄存器加电字段说明为什么

    //位7 = 1 | 1d =加电 MICBIAS
    //位6 = 1|1d =为所有启用的 ADC 和 PDM 通道加电
    //位5 = 1| 1d = PLL 上电| 0d = PLL 断电
    // bit 4 = 0 | 0d =通道上电、如果打开了任何通道记录、则不支持断电
    //位3-2 = 00 | 0d =通道1和通道2在使用动态通道上电、启用断电功能时
    // bit 1 = 0|0d =禁用 VAD,启用语音活动检测(VAD)算法
    //位0 = 0 |保留使用0
    //
    // bin = 11100000十六进制= E0

    ADC_I2C_Write (PWR_CFG、0xE0);// 0xE0为包括 PLL 在内的所有设备上电

    //等待 ADC
    osDelay (250u);

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

    如果这是 possibl 给我的文件,我发送给你. 我似乎不能找到它。

    而且更换芯片后、时间和数据都是 正确的吗?

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

    您好!

    使用我的寄存器设置进行芯片更换后、我得到48kHz 2.304mhz BTCLK。

    我在 I2S 帧 FSYNC LOW 中得到左 SD 数据 ,从 DAC ( TLV320DAC3203 )发出的声音不正确

    当 FSYNC 为高电平时我没有在正确的 I2S 帧中获得 SD 数据

    我应该说,在我的最后一个范围 pic chan2 (蓝色)连接到 ADC SDOUT 不是 btclk  

    您的文件内容和随附的文件

    #校验和0
    #由 ADCx120EVM-SW v3.0.5生成
    # TLV320ADC3120器件配置
    #------------------
    #重置
    #------------------
    #选择页面0
    W 98 00 00 00
    #重置设备
    W 98 01 01
    # 1ms 延迟
    #------------------
    #开始设备内存
    #------------------
    #第0页(0x00)转储
    #选择页面0
    W 98 00 00 00
    #唤醒和启用 Areg
    W 98 02 81
    W 98 05 01
    # ASI 配置
    W 98 07 70
    # ASI 通道配置
    宽98 0c 20
    宽98 0d 00
    宽98 0e 00
    # ASI 主模式
    宽98 13 81
    宽98 14 44
    # PDM 配置
    宽98 1f 08
    #通道1配置
    宽98 3c 20
    #通道2配置
    W 98 41 20
    # DSP 配置
    宽98 6c 48
    #输入和输出配置
    宽98 74 c0
    #第1页(0x01)转储
    #选择页面1
    W 98 00 01
    #VAD 配置
    宽98 1e 00
    宽98 1f 00

    e2e.ti.com/.../3146.ben.cfg

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

    我很快回复

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

    你好 Sanjay ,有没有更多的想法这?

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

    尊敬的 Ben:

    我很抱歉我在此延迟回复。

    总之、更改芯片后将获得正确的 BCLK 和 FSYNC 输出。 但现在、只有当 FSYNC 为低电平时、Data 才会出现。

    当你试图通过 DAC 听到这个数据时,这似乎是不正确的。

    请 通过1U 电容器将1kHz/0.5VRMS 差分信号连接到 IN1P/IN1M 和 IN2P/IN2P。

    请将波形录制到示波器上的直流耦合、与我分享。 我认为引脚上的信号可以位于1.35V (对于2.75V Vref)的内部生成上

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

    尊敬的 Sanjay:

    无需担心响应延迟!

    我发现通道1的输入有问题。

    如果我在1uF 阻断电容器之前进行测量、通道2上会存在1.35V 的偏置。

    我将仔细检查输入电路、看看 IN1M 是否有问题、可能是接地短路

    在 IN1M 上的某处!!

    通道1: 通过1uF 电容器的0.5Vrms 正弦波  

    通道2: 通过1uF 电容器的0.5Vrms 正弦波  

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

    尊敬的 Sanjay:

    我的错误,我离开偏压开关.

    在平衡模式下、输入端的两个通道均正常、所有输入均预置1uF 阻塞电容在1.35V 中心左右摆动。

    通道1

    通道2

    我正在使用 ADC 上的寄存器设置、并已添加0x81电源来开启所有功能。  

    这是输入原理图,输入如左下方的列表所示切换为平衡。

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

    很棒的 Ben。 我很高兴它能起作用。

    此致

    桑贾伊

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

    尊敬的 Sanjay:

    虽然平衡输入电路看起来正常工作、但我仍有原来的问题。

    您的寄存器设置可以在 LRCLK 和 SD 上生成

    我选择平衡音频输入寄存器的寄存器设置会产生该结果。 (I2S 的插槽0上只能有一个通道 SD 或两个插槽)

    但至少我在 LRCLK 上具有预期的48kHz、

    想法不多,我可以尝试其他任何东西?  

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

    我尝试将 I2S LRCLK 周期长度从64更改为48、以防出现这种问题、但 ADC 仍然只有1个通道 SD 数据。

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

    应尽快响应

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

    尊敬的 Sanjay:

     ASI_CH1和 ASI_CH2寄存器中的默认寄存器设置对于左/右 I2S 双通道是否正常?

    我尝试将0x00和0x01都写入  ASI_CH2,但在 LRCK 低电平时仍仅写入 SD (左)

    我尝试了位3 ASI_CFG0 ASI FSYNC 极性。

    这会将 FSYNC 上的单通道串行数据置为高电平(左)

    通常、其在 FSYNC 低电平  

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

    尊敬的 Sanjay:

     ASI_CH1和 ASI_CH2寄存器中的默认寄存器设置对于左/右 I2S 双通道是否正常?

    我尝试将0x00和0x01都写入  ASI_CH2,但在 LRCK 低电平时仍仅写入 SD (左)

    我尝试了位3 ASI_CFG0 ASI FSYNC 极性。

    这会将 FSYNC 上的单通道串行数据置为高电平(左)

    通常、其在 FSYNC 低电平  

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

    我尝试了 TDM、然后从通道1和2获取数据

    很遗憾、我的 MC SAI 库仅支持 I2S、不支持 TDM。  

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

    # ASI 配置
    宽98 07 60
    # ASI 通道配置
    宽98 0c 20
    宽98 0d 00
    宽98 0e 00
    # ASI 主模式
    宽98 13 81
    宽98 14 44
    # PDM 配置
    宽98 1f 08
    #通道1配置
    宽98 3c 20
    #通道2配置
    W 98 41 20
    # DSP 配置
    宽98 6c 48
    #输入和输出配置
    宽98 74 c0
    #第1页(0x01)转储
    #选择页面1
    W 98 00 01
    #VAD 配置
    宽98 1e 00
    宽98 1f 00

    上述设置尝试使左插槽0和右插槽0上的 I2S DTA 正确无误

    请告诉我这是否有帮助。 否则、我将尝试使用此处的 EVM 生成时序。

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

    尊敬的 Sanjay:

    很遗憾、使用这些设置时没有 BTCLK 或 FSYNC。

    我在导出寄存器设置之前将其用于启动。

    /*###################################### ADC TLV320ADC6120设置################################ */


    //注册页面

    //页0x00正常设置寄存器,
    //页0x01 VAD 语音活动检测
    //页0x02可编程系数寄存器:
    //页0x03可编程系数寄存器:7-12
    //页0x04混频器设置

    /*转到第0页*/
    ADC_I2C_Write (PAGE_CFG、0x00);


    // SW_RESET 寄存器(地址= 0x1)[复位= 0x0]
    ADC_I2C_Write (SW_RESET、0x01);

    osDelay (20U);/* 10ms。 */

    /*转到第0页*/
    ADC_I2C_Write (PAGE_CFG、0x00);

    //通过使用内部 Areg 对 P0_R2进行 I2C 写入来唤醒器件

    //位7 = 1 | 1d =使用片上稳压器在内部生成的1.8 V Areg 电源(当 AVDD 为3.3V 时使用该设置)
    // bits 6-5 = 00 |保留位;只写复位值0
    // bits 4-3 = 01 | 0d = 3.5ms 的 VREF 快速充电持续时间(典型值)| 3d = 100ms 的 VREF 快速充电持续时间(典型值)
    //位2 = 0 | 0d =禁用 I2C 广播模式
    // bit 1 = 0 |保留位;写入0
    //位0 = 1|1d =器件未处于睡眠模式

    // bin 10001001十六进制0x81

    ADC_I2C_Write (SLEEP_CFG、0x81);

    osDelay (1U);// 1ms。

    我把你的寄存器值写在后面...

    /*
    *
    *# ASI 配置
    宽98 07 60
    # ASI 通道配置
    宽98 0c 20
    宽98 0d 00
    宽98 0e 00
    # ASI 主模式
    宽98 13 81
    宽98 14 44
    # PDM 配置
    宽98 1f 08
    #通道1配置
    宽98 3c 20
    #通道2配置
    W 98 41 20
    # DSP 配置
    宽98 6c 48
    #输入和输出配置
    宽98 74 c0
    #第1页(0x01)转储
    #选择页面1
    W 98 00 01
    #VAD 配置
    宽98 1e 00
    宽98 1f 00

    */

    然后我开始芯片时...


    //***** PWR_CFG 为 ADC、MICBIAS PLL ETC 寄存器加电字段说明为什么

    //位7 = 1 | 1d =加电 MICBIAS
    //位6 = 1|1d =为所有启用的 ADC 和 PDM 通道加电
    //位5 = 1| 1d = PLL 上电| 0d = PLL 断电
    // bit 4 = 0 | 0d =通道上电、如果打开了任何通道记录、则不支持断电
    //位3-2 = 00 | 0d =通道1和通道2在使用动态通道上电、启用断电功能时
    // bit 1 = 0|0d =禁用 VAD,启用语音活动检测(VAD)算法
    //位0 = 0 |保留使用0
    //

    // bin = 11100000 HEX = E0 // 0xE0为包括 PLL 在内的所有设备供电

    // bin = 01100000十六进制= 60 //无麦克风偏置

    ADC_I2C_Write (PWR_CFG、0x60);


    //等待 ADC 上电
    osDelay (250u);

    它接缝 PLL 没有启动、因为我根本没有 BTCLK。

    默认情况下、它应该从 GPIO1获得12.288MHz 的时钟

    如果您可以使用 EVM 检查寄存器值可能会有用吗?

    或者我可以做些什么来检查 PLL 是否实际正在运行?  

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

    我将在 EVM 上尝试这一点。 请给我一些时间安排设置

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

    太棒了,我认为它会有所帮助。

    如果它起作用、您也许能告诉我您在 AREG 和 DREG 引脚上看到的电压是多少。

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

     一旦我启动并运行它、我就会让您知道我测量的电压

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

    尊敬的 Sanjay:

    只是想知道您是否有幸使用 EVM?

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

    尊敬的 Ben:

    非常抱歉、 由于正在进行的活动、我未能承担这项任务。 我将尽我的最大努力来看看这个星期。

    此致

    桑贾伊

x 出现错误。请重试或与管理员联系。