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.

[参考译文] ADS1263:ADS1263 - SPI 问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1018818/ads1263-ads1263---spi-problem

器件型号:ADS1263
主题中讨论的其他器件: ADS1262

大家好、与上一个主题相关的是、我想讨论另一个有关 ADS1263的问题。 最近、我们为4-20mA 电路板转换器印刷了 PCB、ADS1263用作 ADC。 现在、我们将进行 PCB 测试和固件开发、以便从 ADS1263读取 ADC 数据。 我们根据流程图(ADS1263数据表第121页的图10-17)和示例代码  tidcan1a  (http://www.ti.com/lit/zip/tidcan1)设计了固件。我们对代码进行了临时处理、因此它可以与 mbed OS 兼容。

这是我们的电路板:

Board_img

图 电路板

由于跳线太多、这有点乱、我们在 PCB 上做了一些改进、因为有些错误。 AVDD 连接到隔离式5V 的输出端、DVDD 连接到3.3V、因为我们的 MCU 仅支持3.3V I/O 输入。 每个4-20mA 模拟前端输出连接到 AIN 0-9。

最近的结果表明、ADS1263通过其 SPI 引脚没有响应/数据、然后我们尝试使用逻辑分析仪记录微控制器和 ADS1263之间的 SPI 数据。 这是捕获的数据

图 数据采集1.

从图数据捕获1中、我们尝试写入 ADS1263寄存器。  

0x46:注册操作码1以在0x06注册 inputmux。

0x00:操作码2/寄存器-1的数量

0x3A:寄存器值/位置:AIN3、负:AINCOM

结果表明 ADC 转换没有结果(DRDY 处于低电平)。

我们怀疑该值是否没有很好地写入寄存器、因此我们通过读回寄存器值来执行验证、但仍然没有来自 ADS1263的数据

0x26:执行读取寄存器06的值

0x00:寄存器数量- 1

我们  非常赞赏任何解决方案。  

此致。

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

    您好、Bontor、

    我要指出、ADS1263期望 SPI 模式01、这样时钟空闲且数据在下降沿读取。 现在、您的时钟处于高怠速状态、因此我不希望 ADC 正常工作。 在您的 MCU 中进行此更改、看看这是否会产生影响。

    布莱恩

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

    您好、Bryan、

    感谢您的回答。 我将 SPI 模式更改为1、但结果仍然相同。

      

    我还尝试手动读取 RDATA1寄存器中的 ADC 值、数据始终为0xFF。  

    是否有其他可能会错过的设置?

    并且器件是否可能由于组装、反极性和引脚间短路而损坏?

    此致

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

    您好、Bontor、

    正如我在上一篇文章中提到的、ADC 在下降沿读取数据。 Saleae 图像显示的是在上升沿读取的数据。 也不清楚 MCU SPI 是如何配置的、因此请仔细检查以确保其正确。

    布莱恩

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

    您好、Bryan、

    感谢您的回答。 很抱歉、我将 saleae 设置错误。 现在、正如您提到的(CPOL=0、CPHA=1)、我更改 Saleae 逻辑分析仪上的测量方法。 MCU SPI 设置为8位、模式01。 根据下表中的 Mbed SPI 设置、我将模式设置为极性= 0和相位= 1。 结果保持不变。  

    图 Mbed SPI 模式

    图 扫描结果

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

    您好、Bontor、

    您是否检查过所有耗材均有效且不会出现压降? 您似乎现在没有从 ADC 获得任何响应、因此您应该检查以确保所有器件都正确加电、ADC 时钟有效等

    您是否也可以向我发送您的寄存器设置? 理想情况下、您可以从 ADC 读回它们、但如果无法从器件获取任何输出、则只需向我发送您在固件中选择的寄存器设置。

    布莱恩

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

    您好、Bryan、

    感谢您的回复。 我检查了 AVDD = 5.0V 且 DVDD = 3.3V 时的功率。 因此、我 想模拟电源输入和数字电源输入没有问题。

      

    在代码中、我还验证了寄存器是否被成功写入。  

      

    我连续(3个数字寄存器)向寄存器0x04 (模式1)、0x05 (模式2)和0x06 (INPmux)写入 值0x00、0x08、 分别为0x0A。  

    以下是写入 ADC 设置和读取 ADC 值时 Saleae 的完整扫描结果:

    e2e.ti.com/.../12-MHz_2C00_-120-M-Samples-_5B00_1_5D00_.rar

    此致。

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

    您好、Bontor、

    在查看您的图像时、ADC 板上以及相邻板(白色 PCB)上都有大量的飞线。 我可以想象、这些反激式导线中的任何一个都可能会由于焊接不当而导致问题、例如相邻引脚之间的焊接桥接、连接不良等。 换言之、此时很难将问题缩小到 ADC 操作或数字通信、而不是与所有这些跳线相关的挑战。 换言之、我建议旋转电路板以反映所有 Flywire 变化、以确保电流接线没有问题。

    ADC 板和 MCU 板之间是否存在牢固的接地连接? 如果没有这样的连接、数字通信将无法正常工作。

    布莱恩

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

    您好、Bryan、

    感谢您的回答、我移除了一些未使用的导线、可以更清楚地看到 ADC 和 MCU 之间的接线。 遗憾 的是、由于之前的问题、AGND 直接连接到 DGND、AVDD 也连接到 DVDD、因此我不得不切断 DVDD 和 DGND、然后使用线连接到 MCU 3.3V 和 GND。 那么、数字接地可能存在接地问题?

    这里是电路板的一些图片。

        

    在这里、我切断了 PCB 线(DVDD 和 DGND)并将其直接连接到 MCU 3.3V 和 GND (由 x 注明)  

    此致

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

    您好、Bryan、

    我们取得了进步、我们尝试 将 IC 移到另一个具有更好线路的电路板上。 ADS1262工作正常、我们得到了大量 DRDY 信号。 显然、问题在于 PCB 制造不良。

    我将把这个线程标记为已关闭。 感谢你的帮助


    此致。

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