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.

[参考译文] ADS1292:写入和读取 ADS1292寄存器

Guru**** 2532360 points
Other Parts Discussed in Thread: ADS1292

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/856190/ads1292-writing-to-and-reading-from-ads1292-registers

器件型号:ADS1292

大家好、

我想写入 ADS1292寄存器并读取写入的内容。 但是、回读字节 不是我写入的内容。 执行以下行、 我得到的是0xD9、而不是写入的字节。

writeRgister 函数采用寄存器地址、要发送的字节和整数(要发送的字节数)。  主代码之后的初始化 SPI 函数显示主时钟频率、SPI 时钟极性和 I 相正在使用。 感谢您的反馈。

谢谢、

哈米德

 writeRegister (config2Address、0xA0、1);   // config2Address = 0x02、config2content = 0xA0
 延迟(5);
 regContent = readRegister (config2Address、1);

void 初始化 SPI(){
   SPI.beginTransaction(SPISettings(fclk、MSBFIRST、SPI_MODE1));  // fcls = 512K、SPI_MODE1:CPOL = 0、CPHA = 1
   SPI.begin();
   SPI.setClockDivider(SPI_CLOCK_DIV16);   

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

    您好、Hamid、

    感谢您的发帖!

    加电序列很可能存在问题。 请参阅我签名中的 BIOS 常见问题解答以获取进一步帮助。  

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

    Alex、

    感谢您的回答。 您指出的电源似乎是问题所在。我将使用以下电压为器件加电。

    检查电源引脚 VCAP1 = 0.16V 和 VCAP2 = 2.32V,这样它们显然不符合您在“如何验证我的器件是否正常工作”上发布的方向(b)和(c)。  我是否可以得出此时我的器件损坏的结论?

    AVDD = 3.3V

    DVDD = 1.8V

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

    您好、Hamid、

    我很乐意提供帮助。 在声明器件已损坏之前、最后需要验证的一点是、电源是否正确斜升、如 DS 的加电排序部分所示?  

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

    尊敬的 Alex:

    再次感谢您提出这个问题。 让我们仔细检查一下数字。 每个 DC 必须等待 t (POR)秒、至少2**12 t (mod)、然后才能发出复位脉冲。 f (clk)= 512kHz 和 f (mod)= fclk/4的默认值、因此最小 tPOR 为32ms。

    我将电源上升时间(400ms)添加到 tPOR、因此在发出复位脉冲之前为432ms。

    复位脉冲最小宽度= tmod、因此我们将脉冲 最后5*tmod = 0.039ms

    最后、在使用器件之前、延迟18*t (clk)= 0.035ms。

    请告诉我这些数字是否合理。

    此致、

    哈米德

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

    您好、Hamid、

    数学检查-您可能希望在发出复位脉冲之前添加额外延迟、因为它是最小值。 请尝试等待1s。  

    如果这没有帮助、您可能需要考虑换用器件、以再次检查是否存在损坏器件的处理问题。