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.

[参考译文] ADS131M02:ADS131M02 查询

Guru**** 2693275 points

Other Parts Discussed in Thread: ADS131M02

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1589450/ads131m02-ads131m02-inquiry

器件型号: ADS131M02

您好的团队、

客户正在测试 ADS131M02、他们收到了多个咨询、您能帮助分享意见吗?

当 ADS131M02 完成转换时、DRDY 引脚变为低电平、生成下降沿并触发中断以读取 ADC 转换结果。 然而、在实践中、DRDY 生成的下降沿的频率远低于采样率 (32K) 设置。 这是由于寄存器配置引起的吗?

寄存器设置:

CLOCK_ADDRESS:0x0102

MODE_ADDRESS:0x0511

CH0_CFG_ADDRESS:0x00(使用通道 0 进行 ADC 转换)

OSR:128 数据速率:32K

在使用 ADS131M02 期间、如果您想快速启动和停止 ADC 转换、这是否通过 ophode_standby/ophode_wakeup 命令实现? 还有其他方法吗? 使用 opode_wakeup 命令完成一次 ADC 转换大约需要多长时间?

3.在单次转换过程中、ADS131M02 对 128 点进行采样。 最终输出是否是这 128 个点的平均值?

4. ADS131M02 何时使用全局斩波? 当增益不为 1 时、是否需要使用全局斩波进行滤波?

此致、

Will

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

    尊敬的 Will:

    ADC CLKIN 的时钟频率是多少? 客户测量的频率(数据速率)是多少?

    您能否  在 Thread  Tracking Toolkit 的 Notes(注释)部分发布客户名称?  

    BR、

    Dale

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

    尊敬的 Dale:

      我的电路板的当前设置如下所示。

      ADC CLKIN:8.192MHz、数据速率: 64K(所有其他寄存器都是默认值)。

      我有 以下 疑问、您能提供您的建议吗?

      当 使用 ADS131M02 在 连续转换模式下对 ADC 输入进行采样时、我需要 在某个时刻开始 ADC 转换、然后停止 ADC 转换。 在我的用例中、我需要 启动 ADC   转换并多次停止 ADC 转换。 那么、我想知道  如何快速启动和停止 ADC 转换呢?   是否可以使用 opode_standby/opode_wakeup 命令启动或停止 ADC 转换?   还有其他方法吗?

      如果 使用 OPCODE_WAKEUP 命令启动 ADC 转换、ADC 将稳定 下来并完成  ADC 转换需要多长时间?  

       如果我仅 在 指定的时间、内对 ADC 输入进行采样 、您有任何好的建议?μ s

                                                                                         此致

                                                                                          Shawn

     

       

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

    尊敬的 Will:

    器件通常在配置后连续运行、使用器件的 待机 和 唤醒 命令可能是停止和开始转换的解决方案。 ×待机模式后、当 CLKIN 开始切换时、调制器会在 8 μ s tMOD 的调制器稳定时间之后开始对输入信号进行采样。

    禁用和启用通道可能是使用 CLOCK 寄存器中 CHx_EN 位的另一种解决方案、但 sinc3 和 sinc3 + sinc1 滤波器在通道启用后需要时间才能趋稳。 有关更多详细信息、请参阅 8.3.7.1.2 SINC3 和 SINC3 + SINC1 滤波器部分。 表 8-3 列出了每种 OSR 设置下 sinc3 和 sinc3 + sinc1 滤波器的趋稳时间。 请注意、ADS131M02 不会选通不稳定的数据。 因此、主机必须考虑滤波器稳定时间、并忽略未稳定的数据(如果读取了任何数据)。  

     如果客户只需要在 指定时间段内对 ADC 输入进行采样、则可以忽略处理器中的其余数据、或者不从 ADC 读取其余数据。

    其余问题的答案:

    1. 要为 64ksps 数据速率设置 OSR=64、客户需要将 CLOCK 寄存器中的 TBM 位(位 5)设置为 1b。 无需为其余数据速率设置该位。 请参阅表 8-17。 ADS131M02 数据表中的 Clock Register 字段说明。
    2. 查看上面的反馈。
    3. 是的。
    4. 全局斩波模式会定期对输入进行斩波(或交换)、从而以交换输入时点之间的稳定时间为代价减少系统偏移误差。 有关详细信息、请参阅 8.4.3.2 全局斩波模式一节。 这是一个供客户使用的选项、默认情况下已禁用。 客户可以通过将 CFG 寄存器中的 GC_EN 位设置为 1b 来启用该功能

    BR、

    Dale

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

    尊敬的  Dale:

       非常感谢您的 指导。

        ADS131M02 SPI 通信的最快频率是多少? 我在数据表中找不到此参数。

                                                                                                 此致

                                                                                                  Shawn

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

    我的意思是  ADS131M02 SPI 通信的最快数据速率是多少?  

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

    嗨、Otto、

    实际上、您可以在 ADS131M02 数据表中找到最大 SCLK 频率:   

    • 2.7V≤DVDD≤3.6V 时为 25MHz (1/40ns)
    •  15.6MHz (1/64ns) 适用于 1.65V≤DVDD≤2V

    BR、

    Dale

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

    尊敬的  Dale:

       感谢你的帮助。 我有以下问题、您能给我一些建议吗?

       设置 OSR=64 对于 64ksps 数据速率、(MODE 寄存器:0x0514、CLOCK 寄存器:0x0122)、将 DRDY 设置 为下降沿中断。

        如果不 读取 DRDY   中断处理中的数据、、则  DRDY 切换的速率为 64k Hz。

        但是、 在 DRDY  中断处理中读取数据(发送空命令,通过  SPI 通信从 ADS131M02 读取 6 个字节)、 DRDY 切换的速率仅为 32k Hz。  原因是什么以及如何纠正?

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

    嗨、Otto、

    您能否阐明“ 未 读取 DRDY  中断处理中的数据“? 如果您可以在这两个条件下共享 SPI 时序(包括/DRDY)、那会很好。

    BR、

    Dale

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

    尊敬的 Dale:

      当/DRDY 具有 下降沿时、主器件 (MCU) 将获取中断、然后获得 控制器  来自具有 ReadData() 函数的 ADS131M02 的结果。 在  ReadData() 函数中、 主器件  使用 SPI 协议、与 ADS131M02 通信、并使用 NULL 命令获取 控制器  结果。

      如果主设备使用 ReadData() 函数在 /DRDY 中断后获取结果、   DRDY 切换的速率仅为 32KHz 。   

      如果主器件 在 /DRDY 中断后不执行任何操作、则  DRDY 切换的速率为 64k Hz。    不知道    这种 现象的原因是什么?

      很抱歉,由于 公司法规,我无法将图片发布到论坛网站。  如果您能方便地提供电子邮件地址、我可以将 SPI 时序图发送到您的收件箱。

      感谢你的帮助。

      

     

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

    嗨、Otto、

    /DRDY 信号只是输出信号、ADS131M02 无法 根据 MCU 的响应检测到并更改输出数据速率。 我建议您仔细检查您的软件,尤其是 ReadData() 函数。 此外、 您是否已经将 CLOCK 寄存器中的 TBM 位(位 5)设置为 1b?

    BR、

    Dale

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

    尊敬的 Dale:

       是的、我已经将 CLOCK 寄存器中的 TBM 位(位 5)设置为 1b。  输出数据速率应为  64k Hz。 当  输出数据速率为  64k Hz 时、 /DRDY 信号 切换  速率应为 64k Hz。

        但当从 具有 SPI 接口的 ADS131M02 发出 i ReadData () 时、  /DRDY 信号 切换  速率为 32KHz Hz。 ReadData() 函数来自 TI 官方驱动程序代码例程。  您能给我一个 能够以 64k Hz 运行的驱动程序代码吗?

        我的驱动程序代码如下:

        void ads131_init (void)
       {
         //初始化 ADS131M0x 使用的 GPIO 引脚
         ads131_gpio_init();
        //初始化 ADS131M0x 使用的 SPI 外设
         SPI_INIT (SPI3_ID);

        //运行 ADC 启动功能
        ads131_startup (); //将 CLOCK 寄存器设置 为 0x0122、将 MODE 寄存器设置为 0x0514、所有其他寄存器都是默认值。
        HAL_NVIC_EnableIRQ (ADS131_nDRDY_IRQn);

       }

        void ADS131_nDRDY_INT_IRQHandler (void)
       {

         //清除中断标志
         EXTI->EXTI PR |= 0x100;

         //从 ADS131M0x 读取数据
         uint32_t data = ReadData();

       }

        INT ReadData (uint8_t chanId)
       {

          uint8_t dataTx[6]={ 0 };
          uint8_t datarx[6]={ 0 };

          set_ADS131_CS_LOW ();

          spiSendReceiveArrays (dataTx、dataRx、6);

          Result =(int)(dataRx[3]<< 16)+(int)(dataRx[4]<< 8)+ dataRx[5];

          set_ADS131_CS_HIGH ();

       }

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

    嗨、Otto、

    为什么要将/DRDY 源从默认的 00b 值更改为 MODE 寄存器中所有已启用通道 (01b) 的逻辑或? 您还禁用了 CLOCK 寄存器中的通道 1、这是您的预期吗?

    BR、

    Dale