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.

[参考译文] ADS127L01:SPI模式不明

Guru**** 2563960 points
Other Parts Discussed in Thread: ADS127L01, DAC8830

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/619441/ads127l01-spi-mode-unclear

部件号:ADS127L01
主题中讨论的其他部件: DAC8830

我认为这个转换器的文档有一个问题,就是CPAH=1或CPAH=0对于SPI模式。  如果我们继续使用可靠的维基百科,我们会发现以下信息:

  • 在CPOL=0时钟的基本值为零,即空闲状态为0,活动状态为1。
    • 对于CPHA=0,数据在时钟上升沿(低→高转换)捕获,数据在下降沿(高→低转换)更改。
    • 对于CPHA=1,数据在时钟的下降沿(高→低转换)捕获,数据在上升沿(低→高转换)更改。
  • 在CPOL=1时,时钟的基本值为1 (CPOL=0的反转),即空闲状态为1,活动状态为0。
    • 对于CPHA=0,数据在时钟的下降沿(高→低转换)捕获,数据在上升沿(低→高转换)更改。
    • 对于CPHA=1,数据在时钟上升沿(低→高转换)捕获,数据在下降沿(高→低转换)更改。

和:

SPI模式 时钟极性
(CPOL/CCKP)
时钟相位
(CPHA)
时钟边缘
(CKE/NCPHA)
0 0 0 1.
1. 0 1. 0
1. 0 1.
3. 1. 1. 0

查看ADS127L01的数据表时,我们会看到以下内容:

尽管说明CPHA = 1,但计时图与CPHA = 0一致,因为数据在上升沿上发生变化,并锁定在下降沿上(第12页)。  此外,文本中还显示"仅支持SPI模式1 (CPOL = 0,CPHA = 1)"。  我以前曾将此ADC与TI MCU一起使用过(TivaC):

SSIConfigSetExpClk (SSI0_BASE,SysClockSet(),SSI_FRF_MOTO_MOTO_MODE_1,SSI_MODE_MASTER,2000万, 16);

所以我猜错误是时间图? 或者我有些困惑吗?  我的开发系统仍然使用MCU,但由于该系统(引线)中的相移较大,我可能需要做大量的调整才能获得可靠的结果。  

詹姆斯。

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

    您好,James:

    感谢您的提问。

    James Lawson77 说:
    ...计时图与CPHA = 0一致,因为数据在上升沿发生变化,并锁定在下降沿(第12页)。[/QUOT]

    这实际上与CPHA = 1一致,您最初正确描述为:

    James Lawson77 说:
    对于CPHA=1,数据在时钟的下降沿(高→低转换)捕获,数据在上升沿(低→高转换)更改。[/QUOT]

    SCLK的上升沿将数据移入或移出ADS127L01。 进入DIN的数据将锁定在SCLK下降沿上,这同样适用于来自DOUT进入MCU的数据。

    如果您关注tsu (DI)和tp (SCDO)规格,则两者都使用SCLK的上升沿标记更改DIN和DOUT的时间。 为了使ADS127L01正确地锁定数据,DIN必须在SCLK下降沿之前至少保持稳定的tsu (DI)。TP (SCDO)保证DOUT将保持稳定,以便MCU在SCLK上升沿后读取不超过15ns或21ns, 取决于电源电压。

    此致,

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

    非常感谢我现在已经很清楚了。  我发现有一点奇怪的是,此部件有保留要求,而我正在使用的其他部件(如DAC8830)则没有。  我认为这些新波形对 两个部分都是正确的: