已回答假定已回答

关于AD7124-8 SPI通信不正确问题

wg_1987 在 2018-6-1 詢問的問題
最後回覆由hanhan0519於2018-6-21提供

     单片机是AVR的 xmega64,主频2M,4线的SPI接口直接和单片机的IO口相连。SPI通信协议采用IO口模拟的方式,SPI_SCK肯定没有超过5MHz。

     然后只是为了验证SPI接口的通信,上电后只对AD7124-8连续写了8个0xff,使其复位,没有进行其他类似初始化的操作。然后读取ID寄存器,先在SDIN上写0x45,然后就读取SDOUT的值。一个while(1)中一直进行读取寄存器操作,发现这个值不是固定的0x14,误码很多。如何每次读取延时10ms的话,误码少一些。通过示波器发现,当SCK全部拉高的情况下,SDOUT还有高低电平的变化,这个不知道是否正常。

     找了几天不知道是什么原因,硬件电路上有个小小的bug,就是REGCAPD和REGCAPA这两个管脚悬空了,没有接去耦电容,会不会是这个原因?还有就是用万用表量REGCAPD这个管脚,电压在2.0V左右。看器件手册,应该是1.8V。

     求大神们分析一下原因,帮帮忙,跪谢!!!

結果