电路设计论坛
直播中

王艳

8年用户 1372经验值
私信 关注
[问答]

使用模数芯片AD7490时发现DOUT引脚始终没有输出是为什么?

ADI工程师:
       您好!今天在使用模数芯片AD7490时发现,DOUT引脚始终没有输出,供电电压5V,基准电压2.5V,我都量过,没有问题!
      程序代码如下:
//IO操作函数  

AD7490数据转换  
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
viint16_t ad7490_ convert( int16_ t频道)
{
i, tmp; yint8_ ti, tmp; i, tmp; yint8_ ti, tmp; i, tmp; yint8_ ti, tmp; i, tmp; yint8_t i, tmp;
viint16_t  config_data, get_data; 配置数据,获取数据;
获得数据=0;
//WRITE SEQ ADD3 ADD2 ADD1 ADD0 PM1 PM0 SHADOW WEAK/TRI RANGE CODING
config_ data = 0x8310; // 1000 0011000010000
config_data = config_data|(channel<<10);

//CS下降沿启动上一次转化和配置下一次转换的通道
spi_cs=1;
延迟_us(2);
spi_cs=0;
延迟_us(1);
spi_sclk=1;
延迟_us(1);
//配置下一次转换的通道
for (i=0; i<16; i++)
{
  if (i < 12)
  {
((配置数据 0x8000) = 0)
spi_dout=0; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 。
其它
spi_dout=1;
  }
  
  config_data = config_data << 1;
spi_sclk=0; 缩略语
延迟_us(2);
Tmp = SPI_IN;
(tmp = 0)
GE_data = 0xFFFE; 数据= 0xFFFE; 数据= 0xFFFE; 数据= 0xFFFE; 数据= 0xFFFE;
其它
获得数据  0x0001;
    get_data = get_data << 1;
  
spi_sclk=1;
延迟_us(2);
}
spi_cs=1;
a. 延迟_us(10);

返回获得数据 0x0FFF;

}
主程序如下:
主要
{
和(1)
  {
   LED0=!LED0;   //闪烁LED,提示系统正在运行.
   LED1=!LED1;   //闪烁LED,提示系统正在运行.
延迟_ms(1);
aa= ad7490_ convert( 0x00);
complortstopc(aa) ; 调制(aa) ;
  }
}

蓝色波形为时钟(16个脉冲),黄色波形就是DOUT引脚输出的,感觉不对啊,读回来的数据全为0XFFF.感觉像是芯片没工作!
      希望你们能够提供技术支持,谢谢了!

更多回帖

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