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.

[参考译文] ADS7960:8位传输不起作用#39;t 似乎起作用

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1189640/ads7960-8-bit-transfers-doesn-t-seem-to-work

器件型号:ADS7960
主题中讨论的其他器件: ADS8860

您好!

我使用了上述器件、并使用16位传输模式成功写入/读取。 但是、当我尝试以8位传输模式执行相同的操作时、它似乎不起作用。 这两种模式的唯一区别是、两个8位时钟周期之间的间隔大约为7.6uS。 CS 在整个2个8位周期内保持低电平。 MOSI 数据也有效。  

接下来是16位周期、它起作用。 (显示了全部三个周期)

这是第一个8位周期

就 SPI 而言、两者都应有效。 我在 ADS7960数据表中找不到任何时序参数、可以对此进行解释。 据我所见、我们在第8个和第9个时钟周期之间具有较长的设置时间。  

有什么想法吗?

谢谢、

Kaushalya

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

    Kaushalya、

    我查看了时序部分、也没有看到任何明确表明时钟需要对称的参数。  但是、许多类似的器件确实具有此规格。  例如、ADS8860显示时钟低电平和高电平时间需要大致对称(请参阅下文)。   

    ADS7960数据表显示了具有对称时钟的16个时钟组中的所有通信、因此这意味着您应该执行的操作。  您的设计似乎在16个对称时钟上运行良好。   您为什么需要这种差距?

    此致、

    艺术

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

    尊敬的 Art:

    感谢您的回复。 我认为8位模式的工作方式与16位版本类似。 唯一的问题是在初始化过程中发送0x4001、0x1800和0x1801后、我必须再次发送0x1801才能打开 GPIO! 您是否在发送初始化数据时看到任何错误?

    就我从数据表中可以看出、SCLK 50%占空比不是 ADS7960的要求。 因此、我认为8位模式应该可以。

    谢谢、

    Kaushalya

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

    Kaushalya、

    我的理解如下:

    1. 您正在配置 DIO3=INPUT、DIO2=INPUT、DIO1=INPUT 和 DIO0=OUTPUT。  您首先执行此操作。   (0x4001)
    2. 然后在手动模式下选择通道8并设置 DIO0=0。  (0x1800)
    3. 然后在手动模式下选择通道8并设置 DIO0=1。 (0x1801)
    4. 第2步和第3步。  输出的状态将在当前帧之后的帧中更新。  例如、在步骤2中、您设置 DIO0=0。  您将看到这在下一帧生效。  对于配置为输入的 GPIO、输入状态在当前帧的 CS 下降沿锁存、并显示在当前帧的 SDO 上。
    5. 您可能看到的延迟是我在上面第4项中提到的延迟。  换句话说、直到下一帧才会看到输出。  如图50所示、底部记录了此行为。

    但愿这对您有所帮助。  如果您有其他问题、请告诉我。

    此致、

    艺术