ADI 技术
直播中

胡文娅

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

AD7708设备重新上电,CPU采集到AD7708输出的码值为全0或都32767

使用AD7708时发现,偶尔设备重新上电,CPU采集到AD7708输出的码值为全0或都32767.不知道是怎么回事,大部份时间芯片能正常工作,就是上电的时候会出现所有通道采集到的值都不变,一直是0或32767.以下是硬件和程序。断电后重新启动故障消失,芯片工作正常。

这是硬件连接,基准电压是2.5V,单端方式工作。

INT8U channel2[10] = {0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0xef,0xff};  //0-10v==0-65535
void SpiWrite (unsigned int data,unsigned char s )
{
  unsigned char i;
  //chop_select();//片选
  //spi_clk_hi();
  if(s == 0) s = 8;
  else s = 16;
  for(i=0;i   {
  spi_clk_lo();//低时钟
  nop();
  nop();
  nop();
  nop();
  WDR();
  if(data&0x80)
  spi_data_hi();
  else
  spi_data_lo();
  spi_clk_hi();
  nop();
  nop();
  nop();
  nop();
  WDR();

  data = data << 1;
  }
   //chop_unselect();
}
unsigned int SpiRead (unsigned char s)
{
  int i,data=0;
  //chop_select();//片选
  //spi_clk_hi();
  if(s == 0) s = 8;
  else s = 16;
  for(i=0;i   {
    data = data << 1;
  spi_clk_lo();
  WDR();
  nop();
  nop();
  nop();
  nop();
  if(AD7708_DATA)
  data |=  0x01;
  else
  data &= ~0x01;
  spi_clk_hi();
  nop();
  nop();
  nop();
  nop();
  WDR();

   }
   //chop_unselect();
   return(data);
}
void AD7708Init ( void )
{
  chop_select();//片选
  nop();
  nop();
  nop();
  nop();
  SpiWrite(0x07,0);//write I/O Control Register
  SpiWrite(0x30,0);
  SpiWrite(0x03,0);//write Filter Register
  SpiWrite(0x0D,0);
  SpiWrite(0x02,0);//ADC Control Register
  SpiWrite(0x0F,0);
  SpiWrite(0x01,0);//write Mode Register
  SpiWrite(0x02,0);//
  nop();
  chop_unselect();
}
void Start(unsigned char data)
{
  SpiWrite(0X01,0);//write Mode Register
  SpiWrite(0x02,0);//
  SpiWrite(0x02,0);//ADC控制寄存器
  SpiWrite(channel2[data],0);
}


unsigned int GegAdcValuea (unsigned char data)
{
  unsigned int i,temp_data = 0;
  //AD7708Init();
  chop_select();
  nop();
  Start(data);
  WDR();
  while(!AD7708_READY)
  WDR();
  SpiWrite(DATA_REG_R,0);//5
  temp_data = SpiRead(1);
  chop_unselect();
  return (temp_data);
}

回帖(3)

胡文娅

2018-12-24 15:12:41
从现象上看,感觉就像是AD芯片死机了一样。
举报

袁飞

2018-12-24 15:27:41
有可能是上电顺序导致的,最好上电后重新再reset一下,看看有没有改善
举报

胡文娅

2018-12-24 15:41:52

好的,谢谢, 我再去按你的方法试一下。
举报

更多回帖

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