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.

[参考译文] ADS1148:ADS1148 不转换

Guru**** 2489685 points
Other Parts Discussed in Thread: ADS1148

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1546698/ads1148-no-conversion-of-ads1148

部件号:ADS1148


工具/软件:

尊敬的支持团队:

我目前正在开发一个测试系统、使用 4 ADC´s 电流转换分流电阻器的测量电压。 ADS1148 通过 SPI 与 Raspberry Pi 通信。 我使用 4.096V 作为 Vref。

我的 1.problem:我认为我的 SPI 通信是正确的、我已经测量了通信(附加了图片)、但无论我在输入引脚上施加了哪个电压、Raspberry Pi 的读数都等于或 0.0005V(类似这样的内容)。

我还阅读了数据表中的注意事项和禁止事项、并发现我的电源在使用接地进行测量时可能出错、但我还测试了测量 AIN0 和 AIN6、其中 AIN0 为 2V、AIN6 为 200mV。 因此 GND 和 5V 的电源应该n´t 个问题。

我还会添加我用于测试 ADC 的代码。 (对不起结构混乱,我在测试过程中更改了很多Slight smile

PS:如果你发现其他问题,请随时告诉我。

感谢您的帮助和亲切的问候!

e2e.ti.com/.../ADC_5F00_Test_5F00_Oszibilder.c        

我发送命令以发送 ADC 数据的位置的图片:        

我选择多路复用器的位置的图片:

ADS1148 的我的原理图:

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

    尊敬的 Jannik:  

    欢迎来到 E2E!

    进行的是单端还是差分测量? 我在您的代码中看到过 PGA 被旁路

    在 f_read_spi() 中、我注意到您正在读取 3 个字节的数据。 您是否使用 CRC 或 STATUS 字节? 我没有看到它们在您的代码中启用。  

    此外,在 f_read_adc_channel () 中的 424 行上,我看到你把 f_read_spi () 的输出除以 2^23。 由于这是一个 16 位 ADC、因此您应该除以 2^15。 这 可能是您的 Pi 报告接近于零的值的原因。  

    不相关、我注意到在第 486 行、您正在定义用于初始化 ADC 的第二个 WREG 字节。 如果只写入寄存器 03h-007h、则应该具有:

    G_TX[1]= 0x04;  // Anzahl 寄存器:4 寄存器 (0x03 bis 0x07)

    谢谢、

    Maggie

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

    您好、Maggie、

    非常感谢您的快速回答。

    1.为了我的理解:通过 SYS0 选择增益=1、会绕过 PGA? 我不知道有关 CRC 或状态字节的任何信息、如何使用它们。 例如、在我的最终代码和硬件中、我不使用 DRDY-Pin、通过暂停代码来解决该问题。

    2.我在第 424 行看到了错误,并更改了它,谢谢:) 我复制了同事的代码部分,他使用了不同的 ADC

    我的一个大问题是 ADC 没有转换任何电压、在 f_READ_ADC-function 的第 329-380 行中、您是否看到我的代码中有任何其他问题? 这可能就是 ADCn´t μ s 正确转换的原因...

    谢谢、此致

    Jannik

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

    尊敬的 Jannik Hinz:

    您是否有逻辑分析仪来探测数字通信、而不是示波器? 我无法真正判断示波器 捕获中发生了什么、例如转换发生的位置等 如果您必须使用示波器、请标记每个信号并提供捕获的放大标注版本、以便我们清楚地看到从 ADC 发送和接收的内容。 请包括 CS、SCLK、DIN 和 DOUT

    您是否已确认可以在写入后读回每个寄存器以确认寄存器正确、从而成功写入寄存器?

    如果是、您是否可以写入 MUXCAL 寄存器(下图)并更改为其中一个系统监视器(例如 AVDD 回读或 DVDD 回读)。 如果您可以测量这些值、那么您便知道 ADC 工作正常、并且测量的配置存在一些问题

    您应在 RESET 引脚上为 DVDD 添加一个弱上拉电阻、以确保 ADC 在已知状态下启动。 同样、请 为 START 引脚添加弱上拉电阻、因为 START 引脚需要为高电平、以便 ADC 进行转换以及发送大多数命令(例如 WREG、RREG)

    -布莱恩