TI中文支持网
TI专业的中文技术问题搜集分享网站

AMC7812: 通过DSP 的SPI控制AMC7812 先实现寄存器的读写功能.

Part Number:AMC7812

 根据AMC 的SPI 时序:

根据我对上图的理解,我在SPI控制代码设置了CPHA=0,CPOL=0。我看CS使能拉低,前SCLK是低脉冲,认为CPOL=0,而相位延迟(CPHA)的地方为设置0,SPI频率设置50M。

上电后,想直接读取Device ID REG(6C)的默认数值(1220H),验证SPI的读写功能。 把6C地CMD地址转换成EC,先写入了 EC AA 85 (),读出数值  **  C4 C4不是寄存器默认值。

想咨询下:

1.CPHA=0,CPOL=0设置对吗?看E2E上面说,也可以在SCLK的下降沿读取数据,基础上,这个器件可以支持SPI的模式1(CPHA=0,CPOL=0),2(CPHA=1,CPOL=0.)是对吗?

2.读取数值应该是** 12 20,自己感觉写入数据的时候AMC7812没有识别造成MISO读取数据不对原因?

Amy Luo:

您好,

1、SPI应该是CPOL=0,CPHA=1,即AMC 在SLK上升沿改变或输出数据,在下降沿锁存或采样数据,那么主控端就需要在下降沿读取数据在上升沿输出数据,这样才能使主控端读取到稳定的数据,使AMC采集到稳定的数据。SPI1是CPOL=0,CPHA=1。

2、读的话需要2帧,且24bit CS需要一直保持低电平,您主控端尝试在下降沿读取数据在上升沿输出数据,看是否可以读到正确寄存器值?

,

XING CUI:

非常感谢Amy的回复。

因第一次使用DSP C6678 SOC 进行开发,感觉TI 提供SPI控制与标准SPI模式定义不同。

上面《Serial Peripheral Interface( SPI) for KeyStone Devices User'sGuide》是SPI的4种模式时钟时序图。

以SPI1是CPOL=0,CPHA=1为案例:

我看时序图,发现数据的锁存在第一个时钟上升沿,数据在下一个下降沿输出。

上面理解:SPI应该是CPOL=0,CPHA=1,即AMC 在SLK上升沿改变或输出数据,在下降沿锁存或采样数据,那么主控端就需要在下降沿读取数据在上升沿输出数据,这样才能使主控端读取到稳定的数据,使AMC采集到稳定的数据。SPI1是CPOL=0,CPHA=1

而满足上面的时序,应该对应下面图:

第一次控制SPI,与遇见DSP KEYSTONE框架下与标准SPI定义感觉有很大不同,请帮看理解对吗?

,

Amy Luo:

好的,我稍后会对您的问题做出回复

,

Amy Luo:

您的意思是说 DSP按照标准SPI模式的定义,应该工作在SPI0模式是吗?看上面定义是的。我上面回复主要想说的是主控端读取和输出沿要和AMC对应起来,以确保双发都可以接收到稳定的数据。

这样看主控端读取和输出的SCLK沿没有问题,那么您可以用示波器测量SPI(CS、SCLK、SDI、SDO)的通信波形吗?以实际查看波形是否为期望时序或上面是否存在干扰?

,

Amy Luo:

您好,您的问题解决了吗?若还没有建议您捕捉和查看SPI通信波形,这是检查SPI通信时序的最好方法

赞(0)
未经允许不得转载:TI中文支持网 » AMC7812: 通过DSP 的SPI控制AMC7812 先实现寄存器的读写功能.
分享到: 更多 (0)