TI论坛
直播中

张红

7年用户 1258经验值
私信 关注
[问答]

AMC7812没有识别造成MISO读取数据不对原因?


  • 根据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读取数据不对原因?

回帖(2)

夏日余晖

4 小时前

您好,

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


2、读的话需要2帧,且24bit

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



举报

李鸿洋

半小时前
根据您提供的信息,您正在尝试使用SPI协议与AMC7812进行通信。您提到了CPHA=0和CPOL=0的设置,以及您尝试读取Device ID寄存器(6C)的默认值(1220H)。

首先,关于CPHA=0和CPOL=0的设置,您提到了E2E文档中提到AMC7812支持SPI模式1(CPHA=0, CPOL=0)和模式2(CPHA=1, CPOL=0)。根据您的描述,您已经将CPHA设置为0,CPOL设置为0,这是正确的。

接下来,关于读取Device ID寄存器的问题,您提到将6C的CMD地址转换为EC,然后写入EC AA 85,但读出的数值不是寄存器的默认值。这里可能存在几个问题:

1. 地址转换:请确保您正确地将6C的CMD地址转换为EC。如果地址转换不正确,可能会导致读取错误的数据。

2. 写入和读取操作:请检查您的SPI写入和读取操作是否正确。确保您在写入EC AA 85之后,正确地发送了读取命令,以便从Device ID寄存器读取数据。

3. SPI时序:请确保您的SPI时序设置正确。您提到SPI频率设置为50M,这可能对某些设备来说过高。请尝试降低SPI频率,例如设置为10M或更低,看看是否能解决问题。

4. 硬件连接:请检查您的硬件连接是否正确。确保SPI数据线、时钟线和片选线都已正确连接。

综上所述,您需要检查地址转换、写入和读取操作、SPI时序和硬件连接等方面,以确保正确地与AMC7812进行通信。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分