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.

[参考译文] ADS8331:EOC 引脚即使在转换后也不改变。

Guru**** 2541620 points
Other Parts Discussed in Thread: ADS8331

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1563776/ads8331-eoc-pin-not-changing-even-after-conversion

器件型号:ADS8331


工具/软件:

您好:

将与连接 ADS8331 模数转换器 dsPIC33EP128GP504 微控制器的视频。
我面临的问题是 EOC 引脚从不切换 断开。 可能是这是并非所有通道都具有相同值的问题。  

我的配置 (CFR):

我尝试了写和读回 CFR 寄存器。 读回的值与写入的值匹配、因此 SPI 似乎正常。 我尝试了 0x037D、0x03FD 等配置以及写入命令 0xE000。 我使用读取 CFR 命令 0xE000 读回 CFR 值。 所以在那个时候我得到了正确的配置是什么尝试写. 因此、请确保读写工作正常。  

在我的代码中、我会按如下方式对 CONVST 进行脉冲:

ADS8331_CONVST_LOW ();
__ delay_us (1);
ADS8331_CONVST_HIGH ();

这是用于读取通道数据的 MY 函数  

uint16_t ADS8331_ReadChannel (uint8_t channel)

uint16_t TX、Rx;
ADS8331_Status_t st;

//--选择频道--
TX = ADS8331_CMD_CH(通道);
ADS8331_CS_LOW ();
ST = ADS_SPI_EXCHANGE (TX、&Rx、2000);
ADS8331_CS_HIGH ();
__ delay_us (2);

//--开始转换--
ADS8331_CONVST_LOW ();
__ delay_us (5);
ADS8331_CONVST_HIGH ();

——等待 EOC——
ST = ADS8331_PollEOC (2000);
如果 (st!= ADS8331_OK){
返回 0x1;//错误
}

//--读取结果--
TX = ADS8331_CMD_READ_DATA;
ADS8331_CS_LOW ();
ST = ADS_SPI_EXCHANGE (TX、&Rx、2000);
ADS8331_CS_HIGH ();

返回 Rx;
}

我正在尝试 手动触发器+手动通道选择+ EOC 轮询
EOC 引脚保持恒定(高电平或低电平,具体取决于配置)、从不切换。

 我在Point right遗漏了什么  CFR 配置 或中 读取序列

谢谢。

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

    您好、Antony、  

    感谢您发送编修。  

    您能分享您的原理图以便我回顾一下吗? 此外、您能否分享示波器/逻辑分析仪对数字信号的捕获结果、以便我可以看到捕获结果以及信号是如何切换的? 这将有助于我进行调试。  

    此致、

    Samiha