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.

[参考译文] TPS389006-Q1:读取 ADC

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1422580/tps389006-q1-reading-adc

器件型号:TPS389006-Q1

工具与软件:

我将提出一个新设计、其中3个器件与公共 I2C 总线相连。

我使用 SMBus 字节读取/写入命令、能够与 CSR 通信并读取已知复位值、以便一切正常。

我的硬件的 nSLEEP 已拉至3.3V、启用是我已拉至高电平的 GPIO 控制引脚。

我已将 MON_CH_EN (0x1E)编程为0xff 且 VRANGE_MULT=4

当我读取连接到测试点和外部电源的监控通道时、我始终读回92十进制数。

我将向 Bank_SEL 寄存器写入1、然后读取 MON_LVL1

我一直在回读92. 我不确定上面的顺序是否正确。

为什么即使我更改了输入电压、也不能在 MON_LVL 寄存器中看到任何变化?

在这里要调试的策略是什么?

谢谢!

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

    James、您好!  

    我将在10月10日前审查并提供更新。  

    此致、  

    Oscar Ambriz

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

    感谢 Oscar! 我很期待。 如果您愿意、我也可以通过电子邮件向您发送我的代码。 它在 Arduino 上运行。

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

    James、您好!  

    我想在此处检查以下几点:  

    1.您使用的 TPS3890x-Q1器件型号是什么?  TPS389006004RTERQ1 型号(EVM 标配)

    全部的遥感引脚都接地

    3."我已将 MON_CH_EN (0x1E)编程为0xff 且 VRANGE_MULT=4"、这两个操作都是通过写入组1的寄存器0x1E 和0x1F 正确完成的?  

    4. "我要向 Bank_SEL 寄存器写入1、然后读取 MON_LVL1" MON 的 ADC 回读位于寄存器映射的 Bank0中。 只是想确保我们从这里的正确银行读取数据。  

    5.有问题的 MON 引脚上连接的电压是多少? 我可以根据电压计算预期值  

    请随时通过电子邮件发送代码、我可以验证是否已完成正确的顺序。

    例如)假设器件已正确连接、且一个3.3V 电源连接到 MON6

    我假设 MON6已设置为4倍标度、因为4倍标度涵盖(0.8至5.5V)范围

    2.通过将数据0x00写入地址0xF0来输入寄存器映射的组0

    3.读取寄存器0x45、应返回十六进制数据值(在本例中为0x7D)

    4.将十六进制值转换为电压,我附加了一个有用的工具用于此操作

    e2e.ti.com/.../8512.TPS38900x_5F00_Feature_5F00_Tool.xlsx

    此致、  

    Oscar Ambriz