打印

求助AD7718读的问题

[复制链接]
1784|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我在调试24位的AD7718时,配置好AD的内部寄存器后,RDY引脚就变为低电平(数据寄存器的数值有效),然后就配置数据寄存器进行读操作。

根据这个时序图写程序:
adrd_data=0;
write_ad7718(0x44);//读DATA寄存器
CS_out_0();//cs=0
SCLK_out_1();//SCLK=1
for(i=0;i<=23;i++)
  {
   SCLK_out_0();//SCLK=0
   delay_us(1);
   adrd_data=adrd_data<<1;
   adrd_data=adrd_data|(PINF&(1<<PF2));//PF2为DOUT引脚
   delay_us(1);
   SCLK_out_1();//SCLK=1
   delay_us(1);
  }
CS_out_1();//cs=1
adrd_data=adrd_data&0x00ffffff;//数据修正
return adrd_data;
参考电压为2.5V,该通道的模拟输入为1.3V左右,可读出来的数据一直为0,还有RDY的引脚也一直保持低电平(资料说读完数据后该引脚自动变为高电平),我后来就加了几个时钟试,结果还是不行!有哪位高手知道的请指点下,谢谢!

相关帖子

沙发
duojinian| | 2009-10-9 12:46 | 只看该作者
1。检查你的专用寄存器配置。
2。转换需要时间,延时时间是否足够。
3。测量参考电压(如可可测)。
4。尽量不要用C来写代码,实时性非常差。如果可以得到对应的反汇编代码,可以查看汇编代码。校对读写时序是否符合标准参数。
5。检查自己系统的时钟,和读写参考时序比对,是否需要代码调整以便协调两者步调一致。

使用特权

评论回复
板凳
xiaosi204|  楼主 | 2009-10-9 14:07 | 只看该作者
专用寄存器配置没错;延时我也加了很大了(原则上RDY为低电平时,数据就转换完成了);参考电压也没问题;时钟我都是严格按照时序图来写的(24个时钟的下降沿)。可是结果还是不对。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

22

帖子

0

粉丝