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.

[参考译文] ADS131M08:电流检测模式下 DRDY_N 引脚上的中断

Guru**** 2815505 points

Other Parts Discussed in Thread: ADS131M08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1627605/ads131m08-interrupt-on-drdy_n-pin-in-current-detect-mode

器件型号: ADS131M08

我使用 ADS131M08、我将 ADs131 配置为文档中指定的电流检测模式。

 

//设备在此阶段处于连续转换模式....

// 1。 设置阈值 MSB

writeSingleRegister (THRSHLD_MSB_ADDRESS、

(ThresholdVal >> 8) 和 0xFFFF);

 

// 2. 设置阈值 LSB + DCBLOCK

writeSingleRegister (THRSHLD_LSB_ADDRESS、

((ThresholdVal 和 0xFF)<< 8)| 0x4);

 

// 3. 启用电流检测

writeSingleRegister (CFG_ADDRESS、

cfg_default |

CFG_CD_EN_ENABLED |

CFG_CD_ALLCH_ANY_CHANNEL | CFG_CD_LEN_512 |

CFG_CD_NUM_16);

 

// 3. 将 ADC 置于待机状态(关键)

 

sendCommand (opode_standby);

DELAY_ms (1);

// 6. 同步转换

ADS_CurrentDetectPuls();

 

SetDRDPin (true);//将 drdypin 设置为中断

 

其作用是当通道上的值高于该值时、在其配置时、会将 DRDY_N 引脚驱动为低电平、从而在下降沿触发中断。

当 ADS 通道上的值小于阈值时、便会出现问题。 当我在一段时间后对其进行配置时、ADC 通道上的值变为高于阈值、则不会通过下拉 DRDY_N 引脚来触发中断。

 

然后才能测试并重现问题。 我想知道这是设计问题还是其他问题。 我想听听您的意见。

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

    您好 Muhammad、

    欢迎来到 TI E2E 论坛。

    输入通道上的值 小于阈值后、您是否重新配置寄存器? 您能向确认输入信号吗 全部 通道 是否高于阈值?

    BR、

    Dale

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    即输入通道上的值小于阈值。 否、我在阈值寄存器上保留了相同的值。
    情形 1:当器件配置阈值时两个通道上的输入信号高于阈值时。 DRDY_N 引脚从高电平进入复位状态、从而在下降沿触发中断。
    情形 2:当所有通道上的输入信号都低于阈值时。 SDA 设置为低电平。 几秒钟后、两个通道上的输入信号会高于阈值。 在这种情况下、DRDY_N 引脚保持高电平或没有低电平脉冲。 这就是我的问题所在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Muhammad、

    您的 CFG_CD_ALLCH_ANY_CHANNEL 是“0"还是“还是“1"?“? 您的代码未显示。

    BR、

    Dale

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

    /* CD_ALLCH 字段掩码和值*/

    #define CFG_CD_ALLCH_MASK ((uint16_t) 0x0080)

    #define CFG_CD_ALLCH_ANY_CHANNEL ((uint16_t) 0x0000 << 7)//默认值

    #define CFG_CD_ALLCH_ALL_CHANNES ((uint16_t) 0x0001 << 7)

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

    您好 Muhammad、

    感谢您分享这些信息、我将在设置中仔细检查它、然后回到您的下一周。

    BR、

    Dale