已回答假定已回答

AD7177-2无法与FPGA正常通信,跪求指导

SHy 在 2017-12-5 詢問的問題
最後回覆由Yaao於2017-12-19提供

我的基本配置如下:

1.SYNC信号连接至FPGA io口,并配置该IO口高电平输出

2.ADC没有外接晶振,使用的内部晶振,并且内部晶振没有配置输出

3.SCLK信号通过FPGA晶振分频得到,频率为5MHz

4.使用外部5V基准电压,REFIN接去耦电容接地

 

程序设置如下,上电后,通过10Mhz的时钟信号控制状态机

1.CS=1,SCLK=1;

2.CS=0,SCLK=1;

3.SCLK=0,DIN<=TX[24];

4.SCLK=1;

重复3~4步,DIN发送的数据从TX[24]直至TX[0];

5.CS=1;

 

然后继续下一个寄存器的配置。

 

大体就是这样的配置过程,通过配置通道0寄存器并回读验证了一下读写的正确性。

 

验证后进行AD配置

通道0寄存器0x108001

通道1寄存器0x118023

配置0寄存器0x201300

ADC配置寄存器0x010000

接口配置寄存器0x020080

 

每个配置间隔时间很短,也就1个SCL时钟的时间(这个手册上没看到要求)

 

配置完后,进行连续读取,采到DOUT为低电平时,发送32个周期的SCLK时钟,并在每个SCLK的上升沿采集32位DOUT

 

最后将结果输出,发现

1.读出来的两组数据可以维持在一个值附近来回跳动,但跳动很大,可能有上万的跳动量

2.试图改变接口配置寄存器的值,为0x0200c2,意思是读取32位数据,并且伴随状态位输出;但是32位数据首先没什么变化,其次状态位应为最低的4个LSB,发现这4个LSB恒高。

 

AD7174~AD7177 貌似配置都差不多,请问大家是如何通信的,谢谢。

結果