电路设计论坛
直播中

殷谷光

7年用户 1015经验值
擅长:控制/MCU
私信 关注
[问答]

AD7177-2无法与FPGA正常通信是为什么?如何解决?

我的基本配置如下:
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. clk=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 貌似配置都差不多,请问大家是如何通信的,谢谢。

         

更多回帖

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