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.

[参考译文] ADS1120:ADS1120

Guru**** 2390825 points
Other Parts Discussed in Thread: ADS1120

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/857046/ads1120-ads1120

器件型号:ADS1120

我使用的 ADS1120由 MC9S08QE8 CPU 通过 SPI 进行控制。 由于它是唯一的外设、CS 引脚连接低电平、DRDY 引脚未使用(但在 CPU 上可用)。

我发送一个复位命令、后跟五个字节(WREG 代码和四个配置字节)。 I 示波器 DIN 引脚和五个字节是正确的

(0x43、0x08、0x04、0x10、0x00)。

但是、当我尝试使用 RREG 命令读取寄存器时、我得到0x80、0x00、0xff、0xff、0xff、并且处理器告诉我它只接收到2个字节、相关的错误代码是"溢出错误"。 这一点我已经通过示波器进行了确认- SCLK 引脚上只有2个8个脉冲的突发脉冲。

能有人帮忙吗-我有自己的想法。

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

    尊敬的 Julian:

    在执行 RESET 命令后、您将使用多少时间延迟?  您能否发送通信(WREG 和 RREG)的示波器截图?  您使用的 SCLK 频率是多少?

    听起来好像您没有清除缓冲区或没有发送 NULL 字节。  您必须传输一些数据以便 ADS1120响应。  只有微控制器才会启动 SCLK、因此您需要发送一些消息来启动时钟。  因此、用于读取所有寄存器的 RREG 命令与包含5个发送字节的 WREG 类似。  例如、您将发送0x23 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF。  您会丢弃发送0x23时返回的数据、而返回的其余数据将是寄存器数据。

    此致、

    Bob B

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

    感谢 Bob。 我添加了延迟、清除了缓冲区并修改了代码。 我还必须将时钟边沿从下降更改为上升、现在我与 ADS1120进行了双向通信。 现在、我可以开始优化计时并继续实际测量温度。