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.

[参考译文] ADS1298:ADS1298 SPI CS

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/654989/ads1298-ads1298-spi-cs

部件号:ADS1298

我遇到了这个问题,ADS1298需要在第8位计时后至少4个时钟周期,以使芯片选择引脚处于非活动状态(下面的链接是一个封闭线程,在同一问题上没有应答)。

使用TMS320C55xx器件时,芯片选择在0.5tc-2ns后变为非活动状态,其中tc是SPI时钟周期。 仅当SPI时钟小于250kHz时,才满足读取ADS1298的条件,这是无用的,因为您无法使用该速度执行太多操作(甚至不确定您是否可以达到1ksps速度)...

因此,解决这一问题的方法是增加最后一个时钟位之后的时间,直到芯片选择变为非活动状态。 当芯片选择处于非活动状态时,ADS会重置缓冲区(我认为,这就是为什么在删除缓冲区之前需要4个时钟周期来解码消息的原因)。

我设法解决这个问题的方法是在命令末尾发送一个伪位。 现在,要向ADS写入一条命令,我会发送一个2个字符的帧,其中一个包含8位,用于对命令进行计时,另一个包含1位。 这会使芯片选择保持较长时间的非活动状态,并且ADS不会被混淆(这可能是因为在芯片选择之后立即被拉为非活动状态时,额外的位会被忽略)。

现在一切都像一种魅力。 只是想发布这篇文章,因为我花了很长时间才意识到问题所在,然后花了几个小时才解决问题。 我觉得有点愚蠢,两个非常流行的设备,来自同一制造商有这样的兼容性问题. 希望这一点得到关注。

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

    感谢您的帖子。 能否将链接重新连接到您提到的相关线程?

    我得说这是我第一次听到这个投诉。 我假设您正在尝试在本机SPI外设(FSX)中使用/CS引脚? 在不了解DSP的情况下,我遇到了其他MCU的问题,您无法完全控制/CS引脚何时处于非活动状态。 有时,它会在每个字节传输后返回非活动状态,而对于使用多字节SPI命令或数据字的许多ADC,您将无法执行此操作。

    在ADS1298ECGFE-PDK上,我们使用GPIO (C5509上的GPIO6)引脚手动切换/CS。 这使我们可以在整个SPI命令序列或数据检索过程中保持/CS低电平,并在返回/CS高电平之前插入任何必要的延迟。 对于高速应用,您可能没有足够的处理器速度来执行此操作,但对于使用ADS1298的应用,这是非常好的。

    仅供参考-对于8个信道,1kSPS (CLK = 2.048 MHz),所需的SCLK频率仅为数据表中每个方程式(7)的216.423 kHz。

    此致,
x 出现错误。请重试或与管理员联系。